Commit graph

1193 commits

Author SHA1 Message Date
Mouse Reeve d828ba0bc6 Give admins option to test if a theme loads correctly
If a theme is uploaded incorrectly or has errors in it, users can still
select the theme but it will cause a 500 error on every page, making the
app unusable and also making it impossible for them to switch to a
functional theme.

A better fix would be to fail gracefully, but in lieu of that, this will
at least let admins confirm if a theme is broken safely.
2023-11-20 09:56:51 -08:00
Mouse Reeve d94b27b723
Merge branch 'main' into user-migration 2023-11-19 19:18:22 -08:00
Adeodato Simó 8dbfba17d6
Merge from 'main' into stable_dates 2023-11-19 15:09:52 -03:00
Hugh Rundle 2ba0e3d7ff
Allow removing followers and fix follow rejections
* adds the ability to remove a user from your followers list
* fixes verbs.Reject to process reject activities for previously accepted follows in both directions

fixes #2635
2023-11-19 20:03:48 +11:00
Adeodato Simó 01d4381898
Create notifications for incoming invite requests
Closes: #2066
2023-11-14 07:09:04 -03:00
Hugh Rundle bbc78f03ae
fix DB migrations (#3111)
fix migrations and linting
2023-11-14 07:21:27 +11:00
Hugh Rundle d5762f1d52
Merge branch 'main' into user-migration 2023-11-13 21:17:07 +11:00
Hugh Rundle 891b72c79c
update user export file to use ActivityPub objects where possible. (#3109)
* add more context to user export page
* fix BookData fields wrong for files
* use to_activity and to_model where possible
* fixes for import and export
- use AP JSON where possible
- minor template wording updates
* import fixes and updates tests
* minor cleanup
* remove todo for mastodon
2023-11-13 21:14:03 +11:00
Adeodato Simó 99a9dbe5f4
Create NotificationType as class, not through API
This way, we need not list every value again to create the enum.

N.B.: enum values are now accessed as `models.NotificationType.FOO`,
instead of `models.Notification.FOO`.
2023-11-09 22:43:36 -03:00
Adeodato Simó edfa6b18a1
Rename utils.sealed_date module (and tests) to utils.partial_date 2023-11-09 14:00:44 -03:00
Adeodato Simó fa80aa54a9
SealedDate renames, pt. 2
• SealedDate -> PartialDate
• MonthSeal  -> MonthParts
• YearSeal   -> YearParts
2023-11-09 14:00:44 -03:00
Adeodato Simó 0e4c5ed439
SealedDate renames, pt. 1
• SealedDateField      -> PartialDateModel
• SealedDateFormField  -> PartialDateFormField
• SealedDateDescriptor -> PartialDateDescriptor
2023-11-09 14:00:44 -03:00
Adeodato Simó e928027e16
Merge from main for up-to-date migrations 2023-11-09 14:00:14 -03:00
Adeodato Simó dccac11527
PartialDateField: allow incoming dates without timezone 2023-11-09 13:04:09 -03:00
Mouse Reeve 0bb4b0d71d Changes to how images are serialized
I'm just going to see if any tests fail?
2023-11-08 15:24:47 -08:00
Mouse Reeve ee88c3b914
Merge pull request #3081 from bookwyrm-social/handle-isbn-error
Fix error produced when an unexpected ISBN format is used
2023-11-06 11:06:46 -08:00
Hugh Rundle d34b70cb7b
remove pointless viewer_aware 2023-11-06 16:01:34 +11:00
Mouse Reeve ee6e3ed7eb Adds a database field for is_deleted on user 2023-11-05 20:28:23 -08:00
Mouse Reeve 27d99a0094 Removes failsafe that was overzealous 2023-11-05 19:47:32 -08:00
Hugh Rundle d2f06e804f
update references to bookwyrm models in export job 2023-11-06 12:07:40 +11:00
Mouse Reeve d3668e413d Removes updates fields that was causing problems 2023-11-05 09:59:49 -08:00
Mouse Reeve f353b49d36 Another linting issues 2023-11-05 09:53:57 -08:00
Mouse Reeve 4de9907456 Adds migration tests 2023-11-05 09:26:49 -08:00
Mouse Reeve 61caeed5a3 Adds migration and more tests 2023-11-05 08:51:42 -08:00
Mouse Reeve 5e42afd85a Pass args and kwargs through status deletion 2023-11-05 08:10:03 -08:00
Mouse Reeve 93a7dd9cf3 Erase user data and statuses on account deletion 2023-11-05 08:00:29 -08:00
Mouse Reeve 9e9e9a9f85 Uses explicit imports to avoid circular import in migrations code 2023-11-05 07:04:05 -08:00
Mouse Reeve 67822d3cb0
Merge branch 'main' into user-migration 2023-11-05 06:52:48 -08:00
Mouse Reeve 116a838eef Fixes typo that confuses isbn 10 and 13 2023-11-02 19:37:58 -07:00
Mouse Reeve f839038c8f Add test for normalizing isbns in book model
Turns out this was actually working as expected
2023-11-02 19:12:46 -07:00
Mouse Reeve ae51dcec63
Merge pull request #3039 from dato/ap_image_url
Fix creation of covers for ActivityPub imports
2023-11-02 14:44:44 -07:00
Mouse Reeve 621cfa7ed2
Merge pull request #2970 from hughrun/move
Add `Move` activity for user migration
2023-11-01 17:14:34 -07:00
Hugh Rundle 6f3b1b565f
fixes to move layout and notifs
- make Move notifications less complicated
- moved users cannot do anything other than unmove or log out
- refactor translations for moved users
2023-10-27 22:00:04 +11:00
Adeodato Simó 737ac8e908
Implement PartialDateField using SealedDate and a custom descriptor 2023-10-24 17:30:15 -03:00
Hugh Rundle 5592a8e08b
Merge pull request #3061 from hughrun/user-migrate
minor pylint and mypy fixes
2023-10-23 21:32:36 +11:00
Hugh Rundle f30555be0f
minor pylint and mypy fixes 2023-10-23 21:30:17 +11:00
Hugh Rundle f662e4e049
Merge pull request #3060 from hughrun/user-migrate
Fix texts & linting plus minor bugfixes
2023-10-23 20:54:41 +11:00
Hugh Rundle e29c93a1e9
complete jobs more sensibly
- fix tuple in tar export I accidentally broke by following pylint blindly
- just use job.set_status to complete jobs since it does everything we need
- fix/avoid Celery "not JSON deserializable" error by not saving whole job including user value
2023-10-23 20:44:52 +11:00
Hugh Rundle ddec2dbaa9
fix tar types notification docstring 2023-10-23 20:43:49 +11:00
Hugh Rundle 8477d0b89d
Merge branch 'main' into user-migration 2023-10-22 18:47:41 +11:00
Hugh Rundle b6b55b2e65
once more into the linting breach! 2023-10-22 17:49:26 +11:00
Hugh Rundle 07ef12ce8e
fix tests and linting 2023-10-22 17:26:27 +11:00
Hugh Rundle 6222088f15
Merge branch 'user-migrate' of github.com:hughrun/bookwyrm into user-migrate 2023-10-22 16:53:32 +11:00
Hugh Rundle fd1ebf5f71
formatting and pylint fixes 2023-10-22 16:52:29 +11:00
Hugh Rundle c0a5e55f7f
Merge branch 'user-migration' into user-migrate 2023-10-22 15:38:06 +11:00
Hugh Rundle b34a491172
run black 2023-10-22 15:34:25 +11:00
Hugh Rundle a27c652501
admin view for user imports
- makes user_import_time_limit a site setting rather than a value in settings.py (note this applies to exports as well as imports)
- admins can change user_import_time_limit from UI
- admins can cancel stuck user imports
- disabling new imports also disables user imports
2023-10-22 15:07:49 +11:00
Hugh Rundle 20114b0059
add notifs and error handling for user export/import 2023-10-22 09:03:28 +11:00
Hugh Rundle 781b01a007
add error handling and status for user exports
* fix Safari not downloading with the correct filename
* add FAILED status
* don't provide download link for stopped jobs
2023-10-21 19:43:44 +11:00
Mouse Reeve 2237a7eb9e
Merge pull request #3008 from dato/author_in_citation
Cite author in quotations and alt text
2023-10-18 17:31:55 -07:00
Adeodato Simó 3251ef0bf5
Fix creation of covers for ActivityPub imports
`cover` comes as a JSON dict, but the code was looking for URL as
an attribute.

(This commit leaves the attribute access in place, just in case
`cover` is updated to serialize as Document proper.)
2023-10-16 17:43:04 -03:00
Adeodato Simó c02306a66b
Default to Jan 1st too on incomplete dates received from ActivityPub 2023-10-15 19:59:51 -03:00
Adeodato Simó c066d11eb1
Bugfix: default missing date components to 1, not today's
Fixes: #2660.
2023-10-15 19:49:00 -03:00
Adeodato Simó 8f0f3e6ace
ImportItem: preserve parsed timezones in date_started, date_read
This is a follow-up to b564e514f ("Handle parsed dates that already
have a timezone on import"), which was applied to `date_added` only.

(Appart from consistency, this will allow to apply future parsing fixes
more easily.)
2023-10-15 19:48:02 -03:00
Hugh Rundle f07d730e03
Merge pull request #2980 from CSDUMMI/upstream2
Complete Migrations of Bookwyrm Accounts across instances

Merging this into `user-migration` branch to enable final work on this within the main Bookwyrm repository. We will pull in the final PR from there into `main` when ready.

Thanks to @CSDUMMI and the crew for this huge job.
2023-10-15 15:19:01 +11:00
Hugh Rundle a4bfcb34d5
fix tests and clean up
* cleans up some test logging
* cleans up some commented-out code
* adds export_job model tests
* reconsiders some tests in export user view tests
2023-10-15 15:09:19 +11:00
Joeri de Ruiter d4088ac854
Merge branch 'main' into mypy-utils 2023-09-28 09:43:40 +02:00
Hugh Rundle 088b9ab555
Merge branch 'main' into move 2023-09-26 08:10:18 +10:00
Adeodato Simó 7cfdf235bc
Include author in cover image alt text 2023-09-25 16:03:16 -03:00
Adeodato Simó 80a1180090
Include author name when serializing Quotation 2023-09-25 16:03:16 -03:00
Hugh Rundle d67903fd4b
fix tests and templates 2023-09-25 15:49:25 +10:00
Hugh Rundle 01a56540d0
cleanup 2023-09-25 15:29:01 +10:00
Hugh Rundle c95f160216
fix MoveUser errors and clean up
- minor template fixes
- notification logic fixes
- don't dedupe on moved_to or also_known_as
- add migration
2023-09-25 15:14:21 +10:00
Adeodato Simó cc05cabcb5
Note content: use italics for book titles + em-dash for Quotation 2023-09-23 17:49:38 -03:00
Hugh Rundle 5b051631ec
Move MVP
* update User model to allow for moved_to and also_known_as values
* allow users to add aliases (also_known_as) in UI
* allow users to move account to another one (moved_to)
* redirect webfinger to the new account after a move
* present notification to followers inviting to follow at new account

Note: unlike Mastodon we're not running any unfollow/autofollow action here: users can decide for themselves
This makes undoing moves easier.

TODO

There is still a bug with incoming Moves, at least from Mastodon.
This seems to be something to do with Update activities (rather than Move, strictly).
2023-09-18 21:21:04 +10:00
Adeodato Simó ce3885d4f6
Use endposition when serializing Quotation 2023-09-17 15:18:48 -03:00
Adeodato Simó 1322a0c693
Substitute “p.” for “page” in page progress serialization 2023-09-17 15:18:21 -03:00
Adeodato Simó 25fd7276ea
pure_content() refactor: shorter conditionals 2023-09-17 15:01:04 -03:00
Joeri de Ruiter 6e9f64262c
Merge branch 'main' into mypy-utils 2023-09-08 08:53:38 +02:00
CSDUMMI 688978369f Implement self-contained archives to import and export entire users between instances (#38)
Co-authored-by: Daniel Burgess <developerdannymate@gmail.com>
Co-authored-by: Hugh Rundle <hugh@hughrundle.net>
Co-authored-by: dannymate <dannymate@noreply.codeberg.org>
Co-authored-by: hughrun <hughrun@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/GuildAlpha/bookwyrm/pulls/38
Co-authored-by: CSDUMMI <csdummi.misquality@simplelogin.co>
Co-committed-by: CSDUMMI <csdummi.misquality@simplelogin.co>
2023-09-07 22:37:28 +02:00
Mouse Reeve c2196fb704
Merge pull request #2948 from bookwyrm-social/populate-sort-title
Pre-populate sort title in edit book form if not provided
2023-09-01 17:01:41 -07:00
Hugh Rundle e7ba6a3141
initial work to add 'Move' activity 2023-08-29 21:07:41 +10:00
Joeri de Ruiter 567c103e59
Merge branch 'main' into mypy-utils 2023-08-22 11:40:48 +02:00
Joeri de Ruiter 0686926048 Type annotations for bookwyrm.importers 2023-08-21 16:58:16 +02:00
Joeri de Ruiter ff8e4597e5 Type annotations for utils 2023-08-21 12:56:32 +02:00
Mouse Reeve 1e0fe6d7c8 Remove duplicate if statement 2023-08-19 15:06:57 -07:00
Mouse Reeve d9f6449767 Pre-populate sort title in edit book form if not provided
It's confusing to edit a book when this isn't set, so this provides the
best-guess version of the sort title if there isn't one provided, and
allows the user to change it as needed.
2023-08-06 17:57:57 -07:00
Mouse Reeve a166af9990
Merge branch 'main' into report-actions 2023-08-06 16:00:59 -07:00
axiomizer 83ad45644b Make hyphenated ISBN a property on the book model 2023-08-03 18:01:02 -04:00
Mouse Reeve 9d69f2fb3e
Merge pull request #2905 from bookwyrm-social/broken-editions
Adds management command to repair editions in bad state
2023-08-01 21:08:43 -07:00
Mouse Reeve 455b0c82ea Fixes typo and outdated comment 2023-08-01 20:53:06 -07:00
Mouse Reeve acafa0b417
Merge pull request #2925 from jderuiter/mypy-connectors
Type annotations and related changes for connectors
2023-08-01 20:46:56 -07:00
Joeri de Ruiter f07d7b02f1 Type annotations and related changes for bookwyrm.connectors 2023-07-28 17:43:32 +02:00
Joeri de Ruiter 8736f2c6ef Remove '@' from the beginning of hashtag names in activity 2023-07-28 11:20:08 +02:00
Mouse Reeve c4d72829e9
Merge pull request #2879 from bookwyrm-social/reactivation-bug
Don't allow invalid account reactivation
2023-07-20 19:07:18 -07:00
Wesley Aptekar-Cassels 3e78e398c0 Switch from priority queues to function-based queues
Fixes: #2907
2023-07-20 12:25:30 -04:00
Mouse Reeve ccf3a4c5c1 Skip trying to match editions
It's rare that it will be useful, and it was a huge hassle.
2023-07-18 19:33:39 -07:00
Mouse Reeve 8b88de624d Adds test and fixes logic errors 2023-07-17 20:00:45 -07:00
Mouse Reeve eee4e30e25 Adds managment command to repair editions in bad state 2023-07-17 11:22:59 -07:00
Mouse Reeve 0818d5aabb
Merge branch 'main' into report-actions 2023-07-16 07:13:42 -07:00
Mouse Reeve 6a949c24e2 Typo fix 2023-06-21 15:52:32 -07:00
Mouse Reeve 11f1a4662e Don't allow invalid account reactivation 2023-06-21 15:47:20 -07:00
Mouse Reeve 4f6a235d77 Reverses order of report action list 2023-06-21 15:05:02 -07:00
Jascha Ezra Urbach a601be4708
Merge branch 'main' into 2678 2023-06-01 16:53:28 +02:00
Mouse Reeve 9056a5d9e7
Merge pull request #2842 from bookwyrm-social/set-remote-server
Set remote servers synchonously where possible
2023-05-30 10:51:39 -07:00
Mouse Reeve a4ccd45537
Merge pull request #2812 from hughrun/gts
Fix federation with GoToSocial and inconsistent KeyId in headers
2023-05-29 19:54:00 -07:00
Mouse Reeve b3a519c082 Converts report "comments" into broader "actions" table
This table will now track all actions taken on a report, like resolving
it, re-opening it, suspending the reported user, et cetera, in addition
to comments. When there are multiple admins, this change will make it
easier to understand what actions have been taken by whom on a report.
2023-05-16 11:00:33 -07:00
Mouse Reeve ab146f652a Adds action types to report comments table 2023-05-16 09:02:43 -07:00
Mouse Reeve bfb29c0d74 Set remote servers synchonously where possible 2023-05-07 09:24:45 -07:00
Zach Flanders 3f205f1b10 Merge branch '2678' of https://github.com/zachflanders/bookwyrm into 2678 2023-04-25 21:06:13 -05:00