Commit graph

110 commits

Author SHA1 Message Date
Dessalines c883a49a40
First pass at invite-only migration. (#1949)
* First pass at invite-only migration.

* Implement email verification (fixes #219)

* remove unwrap

* Adding views and functionality to registration application. #209

* Add private instance site column, and back end checks.

* Adding some message fields to LoginResponse

* Adding private instance to site setup.

* A few additions:

- Add a DeleteAccount response.
- RegistrationApplicationView now has the safe LocalUserSettings.
- Adding VerifyEmail to websocket API, added a proper response type.

* Adding and reorganizing some email helpers.

* A few fixes for private sites:

- Added a check_registration_application function.
- Only send a verification email if its been changed.
- VerifyEmail now returns LoginResponse.
- Deleting the old tokens after a successful email verify.
- If port is missing on email config, display a better error message.

* Version 0.15.0-rc.3

* Adding published to email_verification table.

* Adding fixes from comments.

* Version 0.15.0-rc.4

* Adding modlog private site check.

* Version 0.15.0-rc.6

Co-authored-by: Felix Ableitner <me@nutomic.com>
2021-12-15 14:49:59 -05:00
Dessalines 1410c5659c
Upgrading deps (#1995) 2021-12-14 13:30:37 +00:00
Riley 0ed3856ef1
Remove awc (#1979)
* Remove unused awc dep

* Replace awc pict-rs client with reqwest

* Reinstate 30 second pict-rs timeout
2021-12-08 10:56:43 -05:00
Riley 35cbae61bc
Don't drop error context when adding a message to errors (#1958)
* Respond directly with LemmyError

Instrument Perform implementations for more precise traces
Use ApiError to format JSON errors when messages are present
Keep SpanTrace output in LemmyError Display impl

* Hide SpanTrace debug output from LemmyError

* Don't log when entering spans, only when leaving

* Update actix-web

* Update actix-rt

* Add newline after error info in LemmyError Display impl

* Propogate span information to blocking operations

* Instrument apub functions

* Use skip_all for more instrument attributes, don't skip 'self' in some api actions

* Make message a static string

* Send proper JSON over websocket

* Add 'message' to LemmyError display if present

* Use a quieter root span builder, don't pretty-print logs

* Keep passwords and emails out of logs

* Re-enable logging Login

* Instrument feeds

* Emit our own errors

* Move error log after status code recording

* Make Sensitive generic over the inner type

* Remove line that logged secrets
2021-12-06 09:54:47 -05:00
Dessalines ad76c75821
Trying to add docker:latest. Fixes #1959 (#1960)
* Trying to add docker:latest. Fixes #1959

* Version 0.14.4-rc.3

* Trying to fix clippy on crate build

* Version 0.14.4-rc.4
2021-11-26 12:38:55 +00:00
Dessalines 97b8b9c255 Version 0.14.3 2021-11-23 14:39:55 -05:00
Dessalines 7f01d8cde6 Version 0.14.2 2021-11-23 11:48:49 -05:00
Dessalines b1f7bad0a3 Version 0.14.2-rc.1 2021-11-23 11:12:46 -05:00
Riley 3fea5645f8
Add tracing (#1942) 2021-11-23 12:16:47 +00:00
Felix Ableitner e88106cef4 Use once_cell instead of lazy_static 2021-11-22 19:58:31 +01:00
Alexander Batischev d53d229c49
Change NodeInfo links to an array
NodeInfo spec[1] says that _.well-known/nodeinfo_ is a JSON Resource
Descriptor (JRD) document. That is specified in RFC 7033, where §4.4[2]
mandates that `links` is an array.

1. https://nodeinfo.diaspora.software/protocol.html
2. https://datatracker.ietf.org/doc/html/rfc7033#section-4.4
2021-11-21 20:10:39 +03:00
Felix Ableitner da89ea22fb Fix Smithereen webfinger, remove duplicate webfinger impl (fixes #1916) 2021-11-18 19:28:53 +01:00
Dessalines f4616789a7 Version 0.14.1 2021-11-17 16:25:50 -05:00
Dessalines c29366328e Version 0.14.0 2021-11-17 11:28:16 -05:00
Dessalines dc3858c82d Version 0.14.0-rc.2 2021-11-17 09:14:54 -05:00
Felix Ableitner 579ca37ddf Make webfinger standard compliant 2021-11-16 18:03:09 +01:00
Dessalines 497564359b Version 0.14.0-rc.1 2021-11-11 14:57:25 -05:00
Felix Ableitner 9a1fe154db Remove header guard for activitypub routes 2021-11-10 15:08:33 +01:00
Dessalines 40264c17a0 Version 0.13.5-rc.7 2021-10-22 13:26:00 -04:00
Dessalines 23731cd49c
Trying out rust-musl-builder for cargo publish (#1856)
* Trying out rust-musl-builder for cargo publish

* Version 0.13.5-rc.1

* Try rust:nightly

* Version 0.13.5-rc.2

* Try rust slim

* Version 0.13.5-rc.3

* Try rust 1.51

* Version 0.13.5-rc.4

* Trying another nightly

* Version 0.13.5-rc.5

* Trying another fix

* Version 0.13.5-rc.6
2021-10-21 13:26:01 -04:00
Felix Ableitner f24999027e Merge crates db_schema and db_queries 2021-10-20 12:28:08 +02:00
Tmpod e9d9bc82d8
Add cargo metadata to all crates (#1853) 2021-10-19 13:03:43 -04:00
Nutomic f4c783cba5
Fix clippy warnings added in nightly (#1833) 2021-10-12 12:46:26 -04:00
Dessalines a99ba2de24 Version 0.13.0 2021-09-29 16:16:46 -04:00
Dessalines 5a281445a3
Upgrade deps (#1799)
* Upgrade deps

* Fix web::scope
2021-09-29 14:50:00 -04:00
Dessalines 37bd9e0e6c Version 0.13.0-rc.1 2021-09-28 10:59:29 -04:00
Dessalines 8708ad1b44 Moving settings and secrets to context. 2021-09-27 11:25:26 +02:00
Felix Ableitner cf214ff583 Move jwt secret from config to database (fixes #1728) 2021-09-27 11:25:09 +02:00
Nutomic e84e1193fc
Dont pass accept-encoding header to pictrs (ref #1734) (#1738)
* Allow image upload in docker/dev/ (replaces #1765)

* Dont pass accept-encoding header to pictrs (ref #1734)

* Fix clippy errors
2021-09-17 11:44:20 -04:00
Dessalines e9891977ee Version 0.12.2-rc.1 2021-09-05 13:59:28 -04:00
Dessalines df997dff49 Version 0.12.0 2021-09-03 09:23:50 -04:00
Dessalines e19349343a Version 0.12.0-rc.2 2021-09-03 08:28:26 -04:00
Dessalines 2c8003a9fa
Upgrading deps (#1735) 2021-08-26 08:37:10 -04:00
Dessalines da5fdae006 Version 0.12.0-rc.1 2021-08-25 17:28:42 -04:00
Dessalines af225a42d0
Fix prod deploy script and clippy (#1724)
* Updating lemmy-js-client.

* Fix prod deploy script and clippy

* Try using buster.

* Using more generic and updated images.

* again.

* again.

* Try alternate env

* again.

* again.

* Version 0.11.4-rc.24

* again.

* Better old_tag

* Version 0.11.4-rc.27

* Updating cargo.lock

* Trying to run a cargo check to update the lock

* Version 0.11.4-rc.28
2021-08-25 17:26:10 -04:00
Dessalines 73449c09a7
Fix image uploads. Fixes #1725 (#1734)
* Fix image uploads. Fixes #1725

* Adding comment on awc dep.
2021-08-25 16:33:45 +00:00
Felix Ableitner 251e0d3b82 Move resolving of activitypub objects to separate api endpoint (fixes #1584) 2021-08-20 12:35:50 +02:00
Dessalines 1f64db6a33 Upgrading deps 2021-08-17 16:31:16 -04:00
Felix Ableitner a44b5c9c36 publish to crates.io with normal release script 2021-08-09 18:44:18 +02:00
Felix Ableitner af6aa3c0bf Distribute Lemmy via crates.io 2021-08-09 17:29:32 +02:00
Dessalines 7b8cbbba85
Simplify config using macros (#1686)
Co-authored-by: Felix Ableitner <me@nutomic.com>
2021-08-04 21:13:51 +00:00
Dessalines 9840f5c1c1
Upgrading deps, running clippy fix on nightly 1.55.0 (#1638)
* Upgrading deps, running clippy fix on nightly 1.55.0

* Running clippy --fix

* Trying to fix transform

* Trying to fix another transform

* Upgrading http-signature-normalization-actix

* Fix app_data

* Fix pictrs uploading

* Fix unwrap
2021-07-06 13:26:46 +00:00
Dessalines f54209c451
Running clippy --fix (#1647) 2021-07-05 16:07:26 +00:00
Dessalines 880c51687a Merge branch 'main' into feature/mark_post_as_read 2021-04-26 10:44:19 -04:00
Dessalines 5b2be6f9df Add show_read_posts filter. Fixes #1561 2021-04-24 18:26:50 -04:00
Dessalines f8cd6fd445 Making more fields optional in the API.
- Fixes #1569
2021-04-23 02:30:13 -04:00
Nutomic efee2062dd
Mark accounts as bot nutomic (#1565)
* Mark account as bot. Fixes #1357

* Fix clippy

* Federate bot status using actor `type` field

* fix clippy

Co-authored-by: Dessalines <tyhou13@gmx.com>
2021-04-21 17:41:14 -04:00
Felix Ableitner 249fcc5066 Split api crate into api_structs and api 2021-03-25 20:19:40 +01:00
Dessalines 05b485b678 Merge branch 'Mart-Bogdan-1462-jwt-revocation-on-pwd-change' into jwt_revocation_dess 2021-03-19 00:31:49 -04:00
Dessalines c3efb9f7cf Strictly typing DB id fields. Fixes #1498 2021-03-18 16:25:21 -04:00
Dessalines 8ee624a542 Some changes
- Changing claim name to local_user_id to facilitate logout.
- Changing AddAdmin back to using person_id
2021-03-15 14:02:27 -04:00
Dessalines 7c039340ed 2nd pass. JWT now uses local_user_id 2021-03-11 17:47:44 -05:00
Dessalines ddf4a667b1 ~80% done 2021-03-10 17:33:55 -05:00
Dessalines a1c7584875 Remove extra category_id s . Fixes #1429 2021-03-03 23:44:07 -05:00
Andrew Yoon e78ba38e94
Use URL type in most outstanding struct fields (#1468)
* Use URL type in most outstanding struct fields

This fixes all known remaining cases where url fields are stored as
plain strings, with the exception of form fields where empty strings
are used as sentinels (see `diesel_option_overwrite_to_url`).

Tested for regressions in the federated docker setup attempting to
exercise all changed fields, including through apub federation.

Fixes #1385

* Add migration to fix blank-string post.url values to be null

This also then fixes #602

* Address review feedback

- Fixed some unwraps and err message formatting
- Bumped the `url` library to 2.2.1 to fix a bug with serde error
  messages
- Add unit tests for the two diesel option override functions
- Fix migration teardown by adding a no-op

* Rename lemmy_db_queries::Url to lemmy_db_queries::DbUrl

* fix compile error

* box PostOrComment variants
2021-03-02 12:41:48 +00:00
Dessalines 462c4a2954
Rewrite settings implementation. Fixes #1270 (#1433)
* A first attempt at using deser-hjson. Fixes #1270

* Trying to fix tests, try 1

* Trying to fix tests, try 2

* A few fixes to deser_hjson

- Removing unwrap_or_defaults, using impl functions.
- Reorganized settings

* Make clippy happy

* hjson list strings must be quoted.

* Adding support for env vars.

* Moving to structs and defaults file.

* Moving settings default and struct.
2021-03-01 17:24:11 +00:00
Felix Ableitner 3bdd78f341 Rename lemmy_structs to lemmy_api_structs 2021-03-01 14:08:41 +01:00
Andrew Yoon 600ae662a5 Support plain cargo test and disable unused doctests for speed
Since DB tests execute diesel migrations automatically, concurrent
execution causes flaky failures from simultaneous migrations. This can
be worked around using `cargo test --workspace -- --test-threads=1`,
which is what the CI config does, but this is not intuitive for
newcomer developers and unnecessarily slows down the test suite for
the majority of tests which are safe to run concurrently. This fixes
this issue by integrating with the small test crate `serial_test` and
using it to explicitly mark DB tests to run sequentially while
allowing all other tests to run in parallel.

Additionally, this greatly improves the speed of `cargo test` by
disabling doc-tests in all crates, since these are aren't currently
used and cargo's doc-test pass, even when no doc-tests exist, has
significant overhead. On my machine, this change significantly
improves test suite times by about 85%, making it much more practical
to develop with tools like `cargo watch` auto-running tests.
2021-02-25 15:44:30 -05:00
Dessalines 37ad9e9a09 Change RSS feeds to use lemmy URL for the rss link. Fixes #1378 2021-02-10 15:43:03 -05:00
Felix Ableitner 999d9f4d6c Move routes into separate crate to speed up compilation 2021-02-09 19:34:36 +01:00