* Switch to library for rate limit (fixes#5550, fixes#5548)
* move debug rate limit logic
* move to file
* various rate limit methods
* move to utils crate
* use new code
* delete old rate limit code
* live updates
* live updates working
* clippy
* use binary keys
* clippy
* remove error
* cleanup
* Add incoming activity hook
* async working
* remove generic
* update with references
* remove insert_received_activity
* remove todo
* use crates.io dep
* some test data in migration tests after initial setup (40 migrations)
* - fixed migration rollbacks creating NOT NULL fields without DEFAULT value
- added couple of checks
* fix sql fmt
* fix sql fmt
* allow indexing and unwrapping in tests
* Implement multi-community (fixes#818, fixes#5340)
* db methods
* add api methods
* ts opt
* wip
* sql queries
* cleanup
* wip: federation
* query by name
* add ap_id column
* add read_apub, compiles now
* validate multi-comm name
* disallow removed, deleted, private
* scheduled task
* remove piefed test
* resolve_object with workaround
* review
* avoid db read
* api client
* fix api test fetch
* wip: test cases
* wip
* add max elements, array_remove comments
* simplify post view query
* mvoe structs
* fix api test
* fix api test
* rename to suggested_communities, add api param
* filter removed/deleted
* check_api_elements_count
* filter out removed/deleted during update
* inner join
* add listing type suggested
* db schema changes
* transaction
* address some review comments
* separate methods for create, delete entry
* update js client
* get multi
* remove CommunityOrMulti
* check helper, other stuff
* fix api test
* change get multi comm return type
* Replace MultiCommunityView with GetMultiCommunityResponse
* get rid of todo
* add local column, admins can edit local multi-comm
* implement multi-comm follow (db and api)
* api for multi-comm follow
* move and rename MultiCommunityApub
* move multi-comm to apub-objects
* move multi-comm url to top-level
* list multi-comms followed by user
* add todo
* remove param
* update local follows
* update query
* db functions and tests
* cleanup
* fix api test
* add entry limit
* rewrite links
* federation changes
* wip federation
* simplify generate_activity_id
* more wip
* more wip
* multi-comm follow
* federate changes
* cleanup
* clippy
* test fixes
* fmt
* fix
* wip: update follows after federated multi-comm change
* remove scheduled task
* update follows after multi update
* fmt
* fixes
* review comments
* indexes
* remove MultiCommunityApub
* fix test
* ts fix
* review
* db schema for local_site.multi_comm_follower
* adjust code and tests
* fixes
* cleanup, comment
* fix tests
* fix
* remove more test code
* fix new install
* add index
* fix api tests
* fix
* remove index
* more fix
* Implement multi-community search (fixes#5778) (#5779)
* Implement multi-community search (fixes#5778)
* fixes
* search title and description
* MultiCommunityView
* rename fields
* revert test change
- This takes 12 minutes, and its a waste of time.
- I'm adding it to the lemmy-js-client copy script which needs to
do this build there anyway, so errors will be found while devving.
* Refactor Taglines
* Include crate ts-rs dependencies when needed, move some views to account_management views
* Re export NotePerson from lemmy_api_common
* Remove unused "full" feature from lemmy_db_views_tagline
* Replace "full" feature in lemmy_api_common with "ts-rs"
* Remove newly added db_views crates and put structs in existing db_views crates
* Fix assumption that is_err always means the local site doesn't exst, which may cause things like keypairs to be overwritten
* remove use of unstable feature
* fix map_err
* exists query and transaction
* Upgrading ts-rs, and adding feature flag.
- Lets us remove all the ts-optionals on every field.
- Should speed up compilation, and this feature is only needed for
lemmy-js-client.
- Fixes#5741
* Removing ts_optional_fields from enums
* Updating translations.
* Fix tests
* Fixing translations
* Adding ts-rs feature to ts_bindings script
* Consolidating optional fields and export to one line.
* Dont export federation_queue_state
* Adding ability to make a note for a given person.
- This comes back with PersonActions.note, already on post and comment
views.
- Also adds person_actions to PersonView, so that the read person API
action can return the note.
- Fixes#2353
* Adding unit test for person_view read.
* Fixing bindings check
* Addressing PR comments
* Moving API action to person/note
* Adding migration for renaming timestamps to at
* Running format.
* Updating code to _at
* Fix replaceable schema
* Fixing scheduled tasks.
* Fixing and cleaning up api tests.
* Fixing cargo shear.
* Resolve objects as part of search api call (fixes#5740)
* clippy
* use search response, cleanup test
* update api tests
* fix error handling
* another fix
* Specify Rust version 1.81
* fix ci
* Update extism and other deps
* Extism code changes
* main branch
* fix compile, no default features
* enable default
* Move EditCommunity
* Move more community stuff
* Finish moving community related structs to db views
* Move comment structs to db views
* Move person structs to db views
* Forgot to add file to staged changes
* Move custom emoji structs to db views
* Move post structs to db views
* Move private message structs to db views
* Finish moving structs out of lemmy_api_common
* Re-export post, comment, and community structs from lemmy_api_common
* Export person structs from lemmy_api_common
* Re-export custom emoji structs
* Re-export private message structs
* Re-export federation, media, moderation, search, and site structs
* Re-export most of everything
* Handle re-exports that weren't already covered (except errors)
* Add error types, reorganize some more
* Another once over to make sure I missed nothing
* Finish re-arranging re-exports for draft PR
* Update email translations submodule
* Ensure that exporting typescript bindings works
* Run taplo fmt and cargo fmt
* Move API structs into relevantly grouped crates instead of having 1 crate per struct
* Fix compilation error
* Fix broken cargo shear CI step
* fix SuccessResponse::default
* set publish false
---------
Co-authored-by: Felix Ableitner <me@nutomic.com>
* Adding proper NSFW filtering to search, based on user settings.
- This works just like `list_posts`, and can be overridden via the API
call.
- Fixes#3014
- Fixes#5528
* Filter out comments and posts in NSFW communities.
* Throw error if the removed code_migrations.rs needed to run but didn't
* support postgresql 15
* improve error message
---------
Co-authored-by: Dessalines <dessalines@users.noreply.github.com>