Evan Jarrett
e886192aeb
update seamark theme, add 'delete all untagged' option on record page. add garbage collection flag for untagged
2026-03-16 20:26:56 -05:00
Evan Jarrett
136c0a0ecc
billing refactor, move billing to appview, move webhooks to appview
2026-02-26 22:28:09 -06:00
Evan Jarrett
f90a46e0a4
begin implement supporter badges, clean up lexicons, various other changes
2026-02-20 22:12:18 -06:00
Evan Jarrett
2df5377541
more did:plc fixes, more vulnerability scanner fixes
2026-02-15 22:28:36 -06:00
Evan Jarrett
abefcfd1ed
let appview work with did:plc based storage servers
2026-02-15 14:20:02 -06:00
Evan Jarrett
e3843db9d8
Implement did:plc support for holds with the ability to import/export CARs.
...
did:plc Identity Support (pkg/hold/pds/did.go, pkg/hold/config.go, pkg/hold/server.go)
The big feature — holds can now use did:plc identities instead of only did:web. This adds:
- LoadOrCreateDID() — resolves hold DID by priority: config DID > did.txt on disk > create new
- CreatePLCIdentity() — builds a genesis operation, signs with rotation key, submits to PLC directory
- EnsurePLCCurrent() — on boot, compares local signing key + URL against PLC directory and auto-updates if they've drifted (requires rotation key)
- New config fields: did_method (web/plc), did, plc_directory_url, rotation_key_path
- GenerateDIDDocument() now uses the stored DID instead of always deriving did:web from URL
- NewHoldServer wired up to call LoadOrCreateDID instead of GenerateDIDFromURL
CAR Export/Import (pkg/hold/pds/export.go, pkg/hold/pds/import.go, cmd/hold/repo.go)
New CLI subcommands for repo backup/restore:
- atcr-hold repo export — streams the hold's repo as a CAR file to stdout
- atcr-hold repo import <file>... — reads CAR files, upserts all records in a single atomic commit. Uses a bulkImportRecords method that opens a delta session, checks each record for
create vs update, commits once, and fires repo events.
- openHoldPDS() helper to spin up a HoldPDS from config for offline CLI operations
Admin UI Fixes (pkg/hold/admin/)
- Logout changed from GET to POST — nav template now uses a <form method=POST> instead of an <a> link (prevents CSRF on logout)
- Removed return_to parameter from login flow — simplified redirect logic, auth middleware now redirects to /admin/auth/login without query params
Config/Deploy
- config-hold.example.yaml and deploy/upcloud/configs/hold.yaml.tmpl updated with the four new did:plc config fields
- go.mod / go.sum — added github.com/did-method-plc/go-didplc dependency
2026-02-14 15:17:53 -06:00
Evan Jarrett
8048921f5e
show attestation details
2026-02-13 19:40:05 -06:00
Evan Jarrett
92c31835e2
implement the ability to promote a hold as a successor as a way to migrate users to a new storage server
2026-02-12 20:14:19 -06:00
Evan Jarrett
8e45b2eee5
remove unused function
2026-02-10 22:24:00 -06:00
Evan Jarrett
b251c8857f
change to transactions for database
2026-02-10 20:58:24 -06:00
Evan Jarrett
7ba42080c5
more admin panel fixes, allow for fallback relays and jetstreams, improve star lexicon to allow for repo_page backlinks
2026-02-09 21:53:02 -06:00
Evan Jarrett
4d9452bb75
update configs, fix foreign key issues
2026-02-07 23:28:42 -06:00
Evan Jarrett
834bb8d36c
libsql instead of sqlite for turso/bunnydb replicated sqlite
2026-02-05 20:43:04 -06:00
Evan Jarrett
d6114cf549
implementation of syft/grype scanner as a separate binary
2026-02-04 09:53:04 -06:00
Evan Jarrett
055b34af71
varies fixes for indigo xrpc calls, avatars broken on bsku profile change, opengraph card fixes, other ui improvements
2026-01-14 23:14:43 -06:00
Evan Jarrett
b1767cfb6b
publish xrpc endpoint lexicons. fix backfill and jetstream to actually validate records match schema
2026-01-12 21:11:55 -06:00
Evan Jarrett
3409af6c67
implement hold discovery dropdown in settings. implement a data privacy export feature
2026-01-07 22:41:14 -06:00
Evan Jarrett
56dd522218
more lint cleanup
2026-01-06 23:08:37 -06:00
Evan Jarrett
efef46b15a
various linting fixes
2026-01-04 22:02:01 -06:00
Evan Jarrett
506d8b002b
fix unit tests
2026-01-02 15:25:09 -06:00
Evan Jarrett
347db5c391
begin support for helm-charts
2026-01-02 13:09:04 -06:00
Evan Jarrett
045aeb2de5
add index table to mst so listRecords is more efficient
2026-01-01 21:19:38 -06:00
Evan Jarrett
1df1bb57a4
clean up logs, delete cached data when atproto account is deleted
2025-12-31 12:21:17 -06:00
Evan Jarrett
f19dfa2716
move download stats to the hold account so it can persist across different appviews
2025-12-31 11:04:15 -06:00
Evan Jarrett
d11356cd18
more improvements on repo page rendering. allow for repo avatar image uploads (requires new scopes)
2025-12-21 21:51:44 -06:00
Evan Jarrett
b18e4c3996
implement io.atcr.repo.page. try and fetch from github,gitlab,tangled README.md files if source exists.
2025-12-20 16:32:41 -06:00
Evan Jarrett
044d408cf8
deployment fixes. add open graph
2025-12-18 11:19:49 -06:00
Evan Jarrett
4063544cdf
cleanup view around attestations. credential helper self upgrades. better oauth support
2025-12-18 09:33:31 -06:00
Evan Jarrett
4d5182e2b2
fix jetstream using wrong manifest key
2025-11-07 11:06:51 -06:00
Evan Jarrett
5a41f876ff
fix unit tests
2025-10-30 22:33:07 -05:00
Evan Jarrett
9d773d484a
dark mode! fixes #1
2025-10-28 22:05:37 -05:00
Evan Jarrett
b0799cd94d
unit tests
2025-10-28 17:40:11 -05:00
Evan Jarrett
93b1d0d4ba
add identity invalidation to logstream. refresh avatar urls on login
2025-10-28 10:12:34 -05:00
Evan Jarrett
e62ebdaa53
clean up duplicate functions
2025-10-28 09:43:43 -05:00
Evan Jarrett
4cfe6f221d
create identity resolver to reduce duplicate lookups
2025-10-26 23:08:03 -05:00
Evan Jarrett
0b22082f89
lower cached plc hits to 8 hours
2025-10-26 22:50:42 -05:00
Evan Jarrett
6bc929f2dc
fix up ser creation logic when user doesn't have a bluesky profile record
2025-10-26 09:36:12 -05:00
Evan Jarrett
c79d0ac3ab
more slogggggggg
2025-10-25 13:38:39 -05:00
Evan Jarrett
bf93dfba03
slog slog slog slog slog
2025-10-25 13:30:07 -05:00
Evan Jarrett
f75d9ceafb
big scary refactor. sync enable_bluesky_posts with captain record. implement oauth logout handler. implement crew assignment to hold. this caused a lot of circular dependencies and needed to move functions around in order to fix
2025-10-24 23:51:32 -05:00
Evan Jarrett
9eb69e2ea7
more linting fixes
2025-10-24 01:05:19 -05:00
Evan Jarrett
751fa1a3f0
post to bluesky when manifests uploaded. linting fixes
2025-10-23 12:24:04 -05:00
Evan Jarrett
26c1b4e28e
fix backfilling manifests in the correct order, not just digest order
2025-10-22 12:03:44 -05:00
Evan Jarrett
3e9a496a5d
refactor how annotations are stored. add ability to create bsky profile for hold user
2025-10-22 11:08:13 -05:00
Evan Jarrett
a118904cb8
refactor jetstream code to unify shared functionality between that and backfill. add tests
2025-10-22 00:08:21 -05:00
Evan Jarrett
16f354b7b9
fix some backfill and db queries
2025-10-21 20:52:51 -05:00
Evan Jarrett
abf48407cc
clean up db migrations and schema. implement a way to fetch readmes for documentation
2025-10-21 10:28:48 -05:00
Evan Jarrett
ce7160cdca
add backlinks to tags
2025-10-21 09:29:40 -05:00
Evan Jarrett
965e73881b
try and support multi-arch manifest types. add more unit tests. add scope for oras blobs for future proofing
2025-10-19 22:26:47 -05:00
Evan Jarrett
70e802764b
crazy refactor to start using holds embedded pds for crew/captain validation
2025-10-16 00:05:45 -05:00