f020108024
strip session-added comments
CI / Check / Test (push) Has been cancelled
CI / Check / Test (pull_request) Has been cancelled
2026-10-26 10:32:38 +01:00
a270632e87
adapters install rustls ring provider before reqwest client; tui keyring deps to workspace; doc fixes
CI / Check / Test (push) Has been cancelled
CI / Check / Test (pull_request) Has been cancelled
2026-10-26 05:24:25 +01:00
f76559356a
docs: build notes (default-members, deps policy, docker caching)
2026-10-26 04:57:53 +01:00
be6a81ea67
ci: Swatinem rust-cache; buildx gha cache for docker
2026-10-26 04:57:05 +01:00
699f7b7128
rename rss crate to rss-adapter (chef fingerprint clash); drop thin lto; CONTRIBUTING guards
2026-10-26 04:53:08 +01:00
0486f4881f
Dockerfile: cargo-chef + cargo cache mounts; drop manifest guard
2026-10-26 04:49:21 +01:00
01ea36bce9
release profile: thin lto, cgu=1, strip
2026-10-26 04:40:39 +01:00
9973b79fa3
make guards: fail if cargo tree fails
2026-10-26 04:31:55 +01:00
525fb23849
make: feature-flag dep guards (federation-off, nats, no actix/aws-lc), wired in check+CI
2026-10-26 04:31:24 +01:00
5f2d60cb06
tracing-subscriber: restore tracing-log+smallvec
2026-10-26 04:29:28 +01:00
9215f3db69
workspace deps hygiene: minimal features, default-members sans tui; drop utoipa-scalar + /scalar; ci test --workspace; .sqlx dockerignore
2026-10-26 04:25:43 +01:00
ae0c04a4f3
sqlx: no default features (derive+migrate); drop SQLX_OFFLINE
2026-10-26 04:06:10 +01:00
0b80e48622
k-ap 0.5.1; reqwest ring-only, sqlx no tls; bootstrap installs ring provider
2026-10-26 03:52:49 +01:00
b9cdb54340
tombstone gate all user paths; cleanup deletes late follower rows; spa self-delete to /; adr 0016 + purge comment
2026-10-26 03:22:13 +01:00
caab63596a
webhook tokens of tombstoned users rejected
2026-10-26 03:17:00 +01:00
c9e74d9cc3
purge: redact user from global wrap-up reports
2026-10-26 03:16:12 +01:00
9d0166f5cb
service actor undeletable: domain const, 403, hide delete UI
2026-10-26 03:15:27 +01:00
3861d99e1f
admin delete copy, anon form assertion
2026-10-26 03:03:18 +01:00
9fd1eadc95
docs: adr 0016 account deletion
2026-10-26 03:03:18 +01:00
bc3c9e3d23
fix: invalid-credentials code, no refresh on wrong pw
2026-10-26 02:58:55 +01:00
4714216093
feat: spa account deletion
2026-10-26 02:54:36 +01:00
6aebad1f0f
feat: classic ui account deletion
2026-10-26 02:51:52 +01:00
0beedfbf0a
feat: account deletion endpoints
2026-10-26 02:49:07 +01:00
54c8433c78
purge: erase only finished outbox rows; cleanup waits for unfinished events
2026-10-26 02:43:11 +01:00
80dbdec107
purge: skip broadcasts of deleted authors, purge outbox log, guards, 410 inbox test
2026-10-26 02:39:06 +01:00
51a70b5260
feat: account purge handler, tombstone cleanup, AP tombstone signing + 410
2026-10-26 02:30:09 +01:00
9a03de8956
mark_deleted: atomic last-admin guard; review minors
2026-10-26 02:16:35 +01:00
0b5d18c4ee
feat: account deletion request and active-user check
2026-10-26 02:12:29 +01:00
83bb5d9847
chore: lockfile for activitypub tokio dev-dep
2026-10-26 02:04:08 +01:00
31f5d5f337
feat: user tombstone and retired usernames
2026-10-26 02:03:36 +01:00
bde8040cc3
watchlist add: event only if inserted; adr 0015 jetstream/relay accuracy; drop vacuous assert
2026-10-26 01:56:38 +01:00
d0568d7933
relay: sink failure defers + pauses w/ backoff, no attempt spent
2026-10-26 01:53:31 +01:00
fe9f284531
sqlite ack/nack/defer only if claim still held; use shared backoff
2026-10-26 01:52:28 +01:00
dfa5e1a4db
nats nak w/ shared retry_backoff, exhausted log; no 'will retry' lie
2026-10-26 01:52:28 +01:00
56f3d1ac1b
fix: preserve consumer config on update, warn not abort; adr accuracy
2026-10-26 01:43:22 +01:00
0908b7046a
fix(sqlite): concurrent migrate retries
2026-10-26 01:40:40 +01:00
6ae3f54a36
docs: adr 0015 transactional outbox
2026-10-26 01:39:01 +01:00
2fb577af65
fix: apply dedup window + max_deliver to existing jetstream stream/consumer
2026-10-26 01:35:33 +01:00
818ab893a1
fix: real AP id tests, exact poster key check, exists port, list_movies fake
2026-10-26 01:33:29 +01:00
4cb2972f63
feat: idempotent handlers, deterministic activity ids
2026-10-26 01:27:03 +01:00
7f9c252d35
fix: NewRemoteReview param struct, atomic review+orphan movie delete
2026-10-26 01:19:09 +01:00
9a4d0c1714
feat: atomic social local writes, remote review enrichment
...
SocialCommand methods take events. Local follow ops = one FollowCommand::apply
tx (rows + events). k_ap path (remote, block/unblock): best-effort publish in
CompositeSocialAdapter after k_ap write; not atomic, k_ap owns tx.
save_remote_review takes events, enqueued in same tx via
sqlite::persistence::enqueue_events. Deps drop event_publisher: social
command, ReviewObjectHandler.
Remaining .publish( sites:
announce-only: users/delete_account UserDeleted, person/get + get_credits
PersonEnrichmentRequested, jobs/enrichment_staleness, http-axum search,
ImageStored (sync_poster, poster_sync_handler, image-converter backfill,
update_profile; object storage), federation_event_bridge (handler reaction),
nats relay (transport).
non-atomic by necessity: CompositeSocialAdapter::announce (k_ap-owned write).
Everything else rides its write.
2026-10-26 01:12:58 +01:00
6c295866a0
feat: atomic wrapup, movie, integration writes
...
Ride writes: WrapUpRequested/Completed (wrapup create/set_complete),
MovieDiscovered (resolve upsert, new+ext id only), PosterSynced (poster
handler upsert), MovieDeleted (delete_movie), WatchEventIngested (save).
Deps drop event_publisher: wrapup, ingest, delete_review, watchlist add,
review logger.
Remaining .publish( sites:
announce-only: users/delete_account UserDeleted, person/get +
get_credits PersonEnrichmentRequested, jobs/enrichment_staleness,
http-axum search, movies/sync_poster + poster_sync_handler +
image-converter backfill + users/update_profile ImageStored (object
storage), activitypub federation_event_bridge (reacting to events).
rides write, deferred: social/execute (see report),
activitypub review_handler MovieEnrichmentRequested (after
save_remote_review).
2026-10-26 01:02:34 +01:00
2f133afb96
fix: honest review update rollback test, goal delete NotFound fake, read before write
2026-10-26 00:52:45 +01:00
62ad9f4017
feat: atomic goal, watchlist, profile writes
2026-10-26 00:49:28 +01:00
c8a1e8bfe4
feat: atomic review writes with events
2026-10-26 00:40:43 +01:00
0236a488fa
fix: defer blocked deliveries, claim owner token
2026-10-26 00:33:29 +01:00
53892847f2
fix: per-handler claim lease in ledger, nats max_deliver, pin handler names
2026-10-26 00:24:56 +01:00
5681d0c034
feat: processed-event ledger, idempotent dispatch
2026-10-26 00:17:28 +01:00
fa8e94817a
fix: relay shutdown, claim lease, dead-letter undecodable, dedup window
2026-10-26 00:11:06 +01:00
c06d3d9207
feat: worker relays outbox to nats
2026-10-26 00:06:11 +01:00
32dfc84697
feat: event ids, outbox identity migration
2026-10-25 23:57:24 +01:00
c31aa033cc
test: harden claim race test
2026-10-25 23:40:43 +01:00
98ad1a8fe7
docs: adr 0013 accuracy
2026-10-25 23:39:04 +01:00
b96f03f86f
fix(sqlite): dedup clears old external id before canonical upsert
2026-10-25 23:39:04 +01:00
d073922308
fix(sqlite): atomic event queue claim
2026-10-25 23:39:04 +01:00
b7e69b69dc
refactor: drop postgres leftovers, narrow bootstrap api
2026-10-25 23:25:16 +01:00
ec2760fd48
chore: drop unused deps
2026-10-25 23:19:19 +01:00
980de9697a
refactor: rename application AppConfig to AppSettings
2026-10-25 23:19:18 +01:00
cb5ffe2797
fix: log targets in image defaults and docs
2026-10-25 23:18:21 +01:00
7c6dff7f70
docs: fix config table, test-location claims
2026-10-25 23:07:14 +01:00
80072eb463
docs: update for new crate layout
2026-10-25 22:58:46 +01:00
b76f5996da
chore: dockerfile manifest guard
2026-10-25 22:58:46 +01:00
a1c3f7760d
test: move http-axum tests to tests/
...
Drop bootstrap dev-dep. Extractor + api handler + app-context tests (need full AppState via build_deps) -> bootstrap/tests/http_handlers/. forms tests -> http-axum/tests/log_review_form_test.rs.
Federation collection tests now go through public federation::html_routes().
Kept inline (private fns): api/social social_actor_to_dto (4), federation/blocklist_api social_actor_to_blocked_dto (1), html/social social_actor_to_template (1), router slow_down/api_governor (2).
2026-10-25 22:52:41 +01:00
07c8b011d8
fake user store: list_with_stats sorted by email
2026-10-25 22:52:41 +01:00
5c5a8c3326
test: move tui tests to tests/
...
Kept inline: tui src/client.rs tests::{api_client_builds_versioned_urls,api_client_update_url} - ApiClient::api/url private.
2026-10-25 22:49:11 +01:00
08a97c9ee9
test: move api-types, event-payload tests to tests/
2026-10-25 22:48:43 +01:00
52bbb85980
test: move importer tests to tests/ (via DocumentParser)
2026-10-25 22:48:30 +01:00
760acb1f9f
test: move image-converter tests to tests/
2026-10-25 22:48:29 +01:00
74674b157c
test: move small adapter tests to tests/
...
event-publisher, export, rss, media-server, object-storage, nats(config).
Kept inline (private fn, no public path): nats src/subject.rs
tests::{review_logged_subject,review_updated_subject,movie_discovered_subject,
consumer_subject_filter_appends_wildcard} - event_to_subject/consumer_subject_filter private.
object-storage build_local_store tests rewritten via StorageConfig::from_config.
2026-10-25 22:47:54 +01:00
fdf4df38af
test: get_users use case
...
Fake list_with_stats now returns stored users (was always empty).
2026-10-25 22:41:54 +01:00
ec22ac1d75
test: move sqlite-federation tests to tests/
...
No inline exceptions.
2026-10-25 22:41:31 +01:00
5118bf4700
test: move activitypub tests to tests/
...
Assert via serialized JSON (fields pub(crate)); normalize_hashtag covered via review tags. No inline exceptions.
2026-10-25 22:41:26 +01:00
f6383d6c04
test: move sqlite tests to tests/
...
No inline exceptions; migrate via sqlite::migrate, renamed diary/social tests.
2026-10-25 22:40:53 +01:00
8526b77f18
test: move application tests to tests/
...
test_support/test_helpers -> tests/support; watched_at unified w/ domain test_watched_at (2024-03-15).
Kept inline: users::diary_filter tests (feed_sort_to_direction_all_variants, paged_user_filter_builds_correctly) - pub(super) helpers in private module.
Dropped stale never-compiled users/tests/get_users.rs (old execute signature).
2026-10-25 22:36:52 +01:00
a2c713c1fa
test: move domain tests to tests/
...
Self dev-dep w/ test-helpers for domain::testing. Also moved social blanket-impl + InMemoryStore tests (public API only). No private-item exceptions.
2026-10-25 22:34:08 +01:00
1e6e9ddf6b
test: test app from bootstrap, prune wiring tests
2026-10-25 22:30:47 +01:00
5256c6e851
test: refusing fakes, failure-path tests, shared panic stubs
2026-10-25 22:25:36 +01:00
06eec2feae
test: cascading in-memory store
2026-10-25 22:19:24 +01:00
51d92e08a7
test: shared factories and command builders
2026-10-25 22:08:17 +01:00
2ac1d4e0cf
refactor: Upload extractor, 429 refusal test, stricter contract test
2026-10-25 21:59:31 +01:00
c8d9138349
refactor: single refusal shape with openapi contract test
2026-10-25 21:55:38 +01:00
816d39ffd6
chore: check-http-adapter-deps guard, README layout
2026-10-25 21:46:03 +01:00
614aec8df9
refactor: http-axum split into api/html/federation modules, router.rs, templates per page group
2026-10-25 21:46:03 +01:00
a931fb548f
refactor: presentation becomes http-axum adapter, absorbs templates
2026-10-25 21:34:09 +01:00
2875594ed9
test: seed ready wrapups, federation-off gate target
2026-10-25 21:30:01 +01:00
d7bac4aec3
test: classic route and openapi characterization
2026-10-25 21:27:13 +01:00
b5bfdadcd9
refactor: merge media-server parsers, move poster sync and event payload
2026-10-25 21:22:59 +01:00
57c70afead
fix: bootstrap log directives, empty DATABASE_URL test
2026-10-25 21:20:37 +01:00
a00a5dc655
fix: config empty values unset, drop adapter from_vars
2026-10-25 21:18:16 +01:00
9bf9342fc0
refactor: bootstrap crate, thin server/worker binaries
2026-10-25 21:16:38 +01:00
04f9c13625
refactor: adapters configured from config crate
2026-10-25 21:07:19 +01:00
1f724bb064
fix: config file parse errors not reported as missing DATABASE_URL
2026-10-25 21:02:35 +01:00
8bdf55cfe1
feat: config crate with legacy env names
2026-10-25 21:00:42 +01:00
ab4e4c3138
refactor: sqlite repositories per aggregate
2026-10-25 20:55:33 +01:00
67597ec9a6
refactor: merge sqlite adapter family into one crate
2026-10-25 20:48:30 +01:00
1ece8032ff
test: track pre_merge.db fixture
2026-10-25 20:44:46 +01:00
f8fe49f739
test: pin migration ledger
2026-10-25 20:44:10 +01:00
79cce2a740
docs: fix presentation feature comment, dedupe readme
2026-10-25 20:42:08 +01:00
3a05b83320
docs: adr 0012 sqlite only
2026-10-25 20:39:47 +01:00
1b7384386a
refactor: collapse feature flags to federation+nats
2026-10-25 20:37:37 +01:00
933400e1c2
refactor: drop postgres backend
2026-10-25 20:34:07 +01:00
59238a36d8
refactor: typed errors in rss/import ports
2026-10-25 20:30:28 +01:00
18c179e14c
chore: gate test helpers, code style, stricter clippy
2026-10-25 20:26:50 +01:00