Commit graph

5084 commits

Author SHA1 Message Date
56ab67f804 Split image endpoints into API v3 and v4 2024-12-12 15:59:07 +01:00
8a5daeec97
Only accept database connection by uri (#5254)
* Only accept database connection by uri

* lint

* fix docker configs
2024-12-10 10:15:54 -05:00
Integral
9e17c517fe
refactor: replace static with const for global constants (#5250) 2024-12-09 10:31:07 +01:00
5e7b30ac6a
Reorganize api endpoints (fixes #2022) (#5216)
* Reorganize api endpoints (fixes #2022)

* scopes

* move message rate limit

* move rate limit

* apply suggestions

* move my_user to separate endpoint

* remove taglines and custom emojis from siteview

* routes for api v3 and v4

* remove new features from api v3

* js client

* replace occurences of `v3`, fix routes

* replace getSite().my_user with getMyUser()

* update

* update config

* remove web::

* update

* prettier

* lockfile

* v

* fix settings

* move block endpoints

* more changes

* fmt

* update

* change some routes

* lockfile

* Add comment about deprecation
2024-12-07 14:06:33 -07:00
adadb45ace
Add comment about upgrading Rust version (#5248) 2024-12-04 08:30:42 -05:00
flamingos-cant
ff2bbf41ca
Use magic number to detemine file type (#5225)
* Revert "Guess image mime type from file extension (fixes #5196) (#5212)"

This reverts commit 63ea99d38a.

* Use magic numbers to determine file type.

* fmt

* Don't wrap response in an option

* Regen Cargo.lock

* Clean-up + guess mime type from extension if server is unresponsive

* Move some things about.

* Some cleanup.

* Removing comment lines.

---------

Co-authored-by: Dessalines <tyhou13@gmx.com>
2024-12-04 08:29:50 -05:00
Dessalines
f4cd569a98
Updating to rasky's lemmy-cross-toolchain v0.5.0 for rust 1.81 (#5247)
- Fixes #5159
2024-12-04 10:22:43 +01:00
f065215e74
Add test cases for community with non-ascii name (ref #5239) (#5246)
* Add test cases for community with non-ascii name (ref #5239)

* fmt

* Update run-federation-test.sh
2024-12-03 12:19:01 -05:00
dcf1cfca9b
Return content of removed comments for admins (ref #5232) (#5245)
* Return content of removed comments for admins (ref #5232)

* fmt

* remove dbg
2024-12-02 17:06:39 -05:00
Mikoto
9505d1d205
feat: add PKCE (#5189)
Co-authored-by: Nutomic <me@nutomic.com>
2024-12-02 16:47:03 -05:00
ba3e6b482b
Add note wrapper (fixes #2657) (#5221) (#5236)
* Add note wrapper (fixes #2657)  (#5221)

* Add note wrapper (fixes #2657)

* fix activity list

* fmt

* add comment

* fix api tests

* backwards compat

* remove comment

* no todo, deprecated

* wip

* make it work

* fmt

* now really working

* fixes

* add comments
2024-12-02 05:28:23 -05:00
renovate[bot]
5085d1c3e3
Update Rust crate diesel-async to v0.5.2 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-30 20:14:07 -05:00
renovate[bot]
44f584b414
Update Rust crate diesel to v2.2.5 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-30 19:57:32 -05:00
Dessalines
e3fccb3f81
Fixing woodpecker secrets warning. (#5237) 2024-11-29 10:35:03 +01:00
3d7fbde091
Allow bypassing image proxy for specific domains (#5223)
* Allow bypassing proxy for some domains with ProxyAllImages

* remove web::

* remove expect

* bypass imgur by default

* correct imgur domain

* restore processing, cleanup

---------

Co-authored-by: sunaurus <sander@saarend.com>
2024-11-28 18:23:18 -05:00
66a63df152
Instance blocks with mod log entry and expiration (fixes #2506) (#5214)
* Instance blocks with mod log entry and expiration (fixes #2506)

* separate table for instance block mod log

* fix tests

* fix ts

* modlog entry for allow instance

* fix test cleanup

* add back test

* clippy

* fix check

* more changes

* move files

* update

* sql fmt

* partly working

* fix setup

* cleanup

* fixes

* prettier

* try catch

* address comments
2024-11-28 18:21:43 -05:00
f6de3b0388
Enable site languages for new user (fixes #5234) (#5235)
* Enable site languages for new user (fixes #5234)

* test coverage
2024-11-28 18:03:14 -05:00
5a403bc250 Revert " Add note wrapper (fixes #2657) (#5221)"
This reverts commit 7304ef3261.
2024-11-28 11:14:04 +01:00
7304ef3261
Add note wrapper (fixes #2657) (#5221)
* Add note wrapper (fixes #2657)

* fix activity list

* fmt

* add comment

* fix api tests

* backwards compat

* remove comment

* no todo, deprecated
2024-11-26 10:37:19 +01:00
Dessalines
7ee7b069af
Move up clippy and cargo test in CI. (#5229)
- Clippy is usually the most likely CI test to fail, and it currently
  takes > 5m to reach it, wasting CPU resources.
2024-11-26 09:39:14 +01:00
c0d7d76570
Remove getrandom dependency (#5226)
* Remove getrandom dependency

* fix
2024-11-25 18:20:45 -05:00
bb26a701bc
Proxy pictrs healthz endpoint (#5224) 2024-11-25 11:43:34 -05:00
Dessalines
ba3d574d92
Add report_counts to post and comment aggregate tables. (#5219)
* Add report_counts to post and comment aggregate tables.

- This adds a report_count and unresolved_report_count to
  the post and comment aggregate tables.
- Useful for front-ends wishing to show report links.
- Fixes #4163

* Updating the historical counts.

* Switching from bigint to smallint.

* Using dullbananas create_trigger function.
2024-11-25 11:24:57 +01:00
Dessalines
41bd830389
Fixing a few clippy recommendations on 1.84 nightly. (#5222) 2024-11-25 10:06:39 +01:00
b8dda06f5b
More test coverage for private community, fix some bugs (#5207)
* More test coverage for private community, fix some bugs

* fmt

* stuff

* attempted fix

* fix tests

* api tests passing

* fix tests

* apub lib
2024-11-22 10:49:56 -05:00
2848c076af
Add helper method for caching function results (#5220)
* Add helper method for caching function results

* fmt
2024-11-22 09:33:35 -05:00
63ea99d38a
Guess image mime type from file extension (fixes #5196) (#5212)
* Guess image mime type from file extension (fixes #5196)

* Mime check fixes. (#5213)

* Mime check fixes.

* Adding back comment.

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-11-19 09:48:44 -05:00
Dessalines
417e18e819
Upgrading diesel and a few other deps. (#5203)
* Upgrading diesel and a few other deps.

* Update crates/db_schema/src/utils.rs

Co-authored-by: dullbananas <dull.bananas0@gmail.com>

---------

Co-authored-by: dullbananas <dull.bananas0@gmail.com>
2024-11-18 10:23:02 -07:00
556358f53e
Dont sanitize RSS content manually (fixes #5171) (#5174) 2024-11-18 09:58:31 -05:00
797aac7281
Check for error when fetching link metadata (fixes #5127) (#5129)
* Check for error when fetching link metadata (fixes #5127)

* use error_for_status everywhere

* dont ignore errors

* enable lint

* fixes

* review

* more review
2024-11-15 09:13:43 -05:00
Dessalines
fa4825b524
Removing a few expects from production and test code. (#5193)
* Removing a few expects from production and test code.

- Fixes #5192

* Using if let filter for admin emails.

* Fixing unused error.

* Adding expect_used = deny to clippy lints.

* Update src/lib.rs

Co-authored-by: Nutomic <me@nutomic.com>

* Update crates/utils/src/settings/structs.rs

Co-authored-by: Nutomic <me@nutomic.com>

* Update crates/utils/src/settings/mod.rs

Co-authored-by: Nutomic <me@nutomic.com>

* Some more cleanup.

* Fix clippy

---------

Co-authored-by: Nutomic <me@nutomic.com>
2024-11-15 08:18:52 -05:00
Dessalines
231cce9350
Cleanup post action forms (#5197)
* Removing a few SuccessResponses for PostHide and MarkPostAsRead.

- This also removes the pointless multiple post_ids. These can be done
  as individual calls on the front end anyway.
- Fixes #4755

* Fixing federation tests.

* Upgrading lemmy-js-client deps.

* Add ability to mark several posts as read.

Context:

- https://github.com/LemmyNet/lemmy/pull/5043
- https://github.com/LemmyNet/lemmy/issues/4755
- https://github.com/LemmyNet/lemmy/pull/5160

* Simplifying forms.

* Fixing forms.

* Cleanup post action forms by using derive_new defaults.

- Fixes #5195

* Fix ntfy to notify on success builds also.

* Removing pointless naive_now function.

* Running taplo fmt.
2024-11-15 11:21:08 +01:00
Dessalines
7f4e26e29e
Add ability to mark multiple posts as read. (#5178)
* Removing a few SuccessResponses for PostHide and MarkPostAsRead.

- This also removes the pointless multiple post_ids. These can be done
  as individual calls on the front end anyway.
- Fixes #4755

* Fixing federation tests.

* Upgrading lemmy-js-client deps.

* Add ability to mark several posts as read.

Context:

- https://github.com/LemmyNet/lemmy/pull/5043
- https://github.com/LemmyNet/lemmy/issues/4755
- https://github.com/LemmyNet/lemmy/pull/5160

* Fix ntfy to notify on success builds also.

* Addressing PR comments.
2024-11-14 09:03:39 -05:00
Dessalines
a9d6d4e6e0
Add user setting to auto-mark fetched posts as read. (#5160)
* Add user setting to auto-mark fetched posts as read.

- Rather than apps collecting up viewed posts ids, and sending many
  mark as read requests, users can now turn this setting on, and any
  results from /post/list will be auto-marked as read.
- Fixes #5144

* Adding list_post request option to auto-mark as read.

* Moving db_perf to before federation tests.

* Fixing lemmyerrortype import.

* Fixing ts_option.

* Fix clippy.

* Fix override logic.

* Revert "Fix override logic."

This reverts commit 923d7f0eca.

* Changing name to mark_as_read
2024-11-13 10:05:16 -05:00
Dessalines
c4d864878f
Change "mark post as read", "hide post" api calls to take single post instead of multiple (#5043)
* Removing a few SuccessResponses for PostHide and MarkPostAsRead.

- This also removes the pointless multiple post_ids. These can be done
  as individual calls on the front end anyway.
- Fixes #4755

* Fixing federation tests.

* Upgrading lemmy-js-client deps.

* Simplifying forms.

* Fixing forms.

* Removing indexing slicing from a test.
2024-11-13 09:36:18 -05:00
Dessalines
faf62de4e3
Fixing cors origin wildcard. (#5194)
* Fixing cors origin wildcard.

- Fixes #5185

* Add other allows to specified origin block.

* Fix clippy.
2024-11-13 09:45:17 +01:00
f916309df8
Always assign default language before checking if language is allowed (#5132)
* Always assign default language before checking if language is allowed (fixes #5131)

* handle all logic in same fn

* fix test

* rename
2024-11-12 14:52:39 -05:00
542e59bcae
Fetch community mods synchronously (#5169)
* Fetch community mods synchronously

* fix

* fix

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-11-12 12:43:24 -05:00
dce6c6bbf0
Move aggregates to replaceable_schema, fix error (fixes #5186) (#5190)
* Move aggregates to replaceable_schema, fix error (fixes #5186)

* fmt

* r prefix
2024-11-12 12:03:30 -05:00
SleeplessOne1917
a8fb55d6c8
Simplify regex for user/community name validation (#5164)
* Add lowercase only check for community names

* Lint

* Remove redundant check

* Lint

* Add newline escape tests

* Eliminate confounding factor in community name test

* Use same check for user names and community names

* Use min/max length check

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
2024-11-12 05:54:23 -05:00
Dessalines
7d5cb9de49
Cleanup URL tracking tests. (#5181) 2024-11-12 10:35:15 +01:00
dullbananas
2e8687e203
Combine action tables (#4459)
* Update comment_report_view.rs

* Update comment_report_view.rs

* Update post_view.rs

* Update utils.rs

* Update schema.rs

* stuff

* stuff

* fix actions

* PostLike

* fmt

* more post stuff (partial)

* remove uplete

* returning

* rename read_comments field

* PersonPostAggregates

* a

* fix usage of read_comments_amount

* comment

* community

* community_block

* instance_block

* LocalUser::export_backup

* person_block

* person

* stuff (partial)

* update cargo.lock

* fix lemmy_db_schema

* post_view

* comment_report_view

* comment_view

* post_report_view

* find and replace some selected values

* private_message_view

* vote_view

* comment_reply_view

* some action views

* action_query, find_action

* community_view

* block views

* person_mention_view

* remove struct update

* refactor actions function

* actions_alias

* clean up return types and trait bounds

* fix all rust code

* fmt

* clippy fix

* Migrate tables

* migrate indexes and contraints, and add statistics

* fix what appears to be a messed up merge

* commented thing

* Create uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update up.sql

* Update comment.rs

* Update Cargo.toml

* Update comment.rs

* Update post.rs

* Update comment_view.rs

* Update post_view.rs

* Update comment_reply_view.rs

* Update person_mention_view.rs

* Update Cargo.toml

* Update utils.rs

* Update comment.rs

* Update utils.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update comment.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update comment_view.rs

* Update post_view.rs

* Update triggers.sql

* Update triggers.sql

* Update triggers.sql

* Update comment_reply_view.rs

* Update person_mention_view.rs

* Update person_mention_view.rs

* Update comment_reply_view.rs

* Update uplete.rs

* start removing post_id column

* Update down.sql

* Update schema.rs

* Update comment.rs

* Update comment.rs

* Update comment.rs

* Update schema.rs

* Update comment.rs

* Update like.rs

* Update comment.rs

* Update up.sql

* Update down.sql

* Update down.sql

* Update up.sql

* Update up.sql

* Update down.sql

* Update comment.rs

* Update vote_view.rs

* Update vote_view.rs

* Update comment_aggregates.rs

* Update person_aggregates.rs

* Update comment_view.rs

* Update vote_view.rs

* Update mod.rs

* Update create.rs

* Update comment.rs

* Update community.rs

* Update community.rs

* Update up.sql

* Update uplete.rs

* Update uplete.rs

* revert to UpleteCount

* Update comment.rs

* Update traits.rs

* Update comment.rs

* Update community.rs

* Update community_block.rs

* Update community.rs

* Update instance_block.rs

* Update instance.rs

* Update community_block.rs

* Update person.rs

* Update person_block.rs

* Update person.rs

* Update person_block.rs

* Update person.rs

* Update instance.rs

* Update instance_block.rs

* Update instance.rs

* Update person.rs

* Update post.rs

* Update comment.rs

* Update community.rs

* Update person.rs

* Update post_view.rs

* Update comment.rs

* reduce diff

* revert some changes in views

* Update post_view.rs

* Update comment.rs

* Update post.rs

* fix missing cfg_attr

* rewrite uplete

* Update Cargo.toml

* Update Cargo.toml

* Update uplete.rs

* add `pub` to structs that appear in trait bounds

* optional = true

* Update uplete.rs

* Update community.rs

* Update comment.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* something is wrong with me

* use new uplete function everywhere

* fmt

* fmt

* Keep post_id when comment_actions::liked is not null

* Update up.sql

* Update up.sql

* clean up up.sql

* clean up down.sql

* fix

* Update person_aggregates.rs

* fmt

* Update uplete.rs

* fmt

* Update uplete.rs

* Update community.rs

* Update uplete.rs

* Update local_user.rs

* fmt

* fix

* fix

* fmt

* improve uplete api

* Update uplete.rs

* fix

* fix

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* Update uplete.rs

* fix

* fix test

* fix db_views_actor imports

* fix uplete import in post_view test

* rerun ci

* fix AllNull syntax error

* fix DynColumn

* Fix rust syntax

* fmt

* fix iter

* pain

* Update community_moderators.rs

* Update community_moderator_view.rs

* Update uplete.rs

* Fix mistake found by chatgpt

* revert debugging stuff, change migration date, refactor constraint

* Update down.sql

* Update down.sql

* fmt

* make things added to db_schema::utils more understandable

* update rust version for woodpecker

* finish merge

* Fix index that checked read_comments twice instead of also checking read_comments_amount

* fix

* uplete: test_count, test_generated_sql_setting_one_column_null, test_count_methods

* refactor uplete sql test

* test setting both columns to null in uplete

* make AllNull generic

* test AllNull

* Merge remote-tracking branch 'upstream/main' into smoosh-tables-together

---------

Co-authored-by: phiresky <phireskyde+git@gmail.com>
2024-11-11 11:34:10 +01:00
SleeplessOne1917
05c3eae016
Bump versions used in compose (#5180) 2024-11-08 17:43:44 -05:00
Dessalines
70b0d39475
Upping default max_image_size from 256 to 512. (#5177)
- Context: https://github.com/LemmyNet/lemmy-ui/issues/2796
2024-11-08 07:29:48 -05:00
Dessalines
39eeb2cbb3
Allow disabling private messages. Fixes #3640 (#4094)
* Allow disabling private messages. Fixes #3640

* Fix typo.

* Fixing local user check in apub code.

* Removing pointless local check.
2024-11-07 22:16:28 -05:00
Dessalines
441b8518fa
Increase speed check limit. (#5175) 2024-11-07 12:30:58 -05:00
ad90cd77f9
Implement private communities (#5076)
* add private visibility

* filter private communities in post_view.rs

* also filter in comment_view

* community follower state

* remove unused method

* sql fmt

* add CommunityFollower.approved_by

* implement api endpoints

* api changes

* only admins can create private community for now

* add local api tests

* fix api tests

* follow remote private community

* use authorized fetch for content in private community

* federate community visibility

* dont mark content in private community as public

* expose ApprovalRequired in api

* also check content fetchable for outbox/featured

* address private community content to followers

* implement reject activity

* fix tests

* add files

* remove local api tests

* dont use delay

* is_new_instance

* single query for is_new_instance

* return subscribed type for pending follow

* working

* need to catch errors in waitUntil

* clippy

* fix query

* lint for unused async

* diesel.toml comment

* add comment

* avoid db reads

* rename approved_by to approver_id

* add helper

* form init

* list pending follows should return items for all communities

* clippy

* ci

* fix down migration

* fix api tests

* references

* rename

* run git diff

* ci

* fix schema check

* fix joins

* ci

* ci

* skip_serializing_none

* fix test

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2024-11-07 05:49:05 -05:00
Dessalines
917e408735
Fix postgres connection options causing slow query speed. (#5150)
* Adding a query speed check.

* Fixing slow queries due to connection config options.

* Remove pointless set_config sql function.

* Removing pointless bool.

* Removing comment

* Removing test.sh changes.

* Add analyze to speed up query

* Trying to fix DB perf connection try #1

* Try encoding option

* Fix woodpecker

* Try to use path character.

* Fixing lemmy config location.

* Removing pointless connection options.

* Use OnceLock to create a once-init psql connection.

* Fixing comment.

* Fix host encoding for dev DB.

* Address PR comments.

* Revert query mut change.
2024-11-06 10:58:40 -05:00
Dessalines
a55e7fd9fe
Trying to use w3.org as a sample site to fix tests. (#5170)
- #5167
2024-11-06 10:20:30 -05:00
Dessalines
df664d9d9a
Upgrading ts_rs to 10.0.0 (#5163)
* Upgrading ts_rs to 10.0.0

* Adding ts_option directives, and woodpecker test.

* Fixing ts_options.
2024-11-06 15:50:13 +01:00