Commit Graph

1193 Commits

Author SHA1 Message Date
Jasper Van 6ad1563acc feat(image-hosting): automate Cloudflare domain setup (#530) 2026-07-28 01:03:56 -04:00
Jasper Van 1d58d5b80d feat(image-hosting): add configurable custom domain providers (#529)
* feat(image-hosting): add custom domain providers

* test(image-hosting): cover custom domain provider flows
2026-07-27 22:52:18 -04:00
Jasper Van b2859ec944 refactor(storage): remove legacy custom host downloads (#528)
* refactor(storage): remove custom host downloads

* test(download): cover private signed URLs end to end
2026-07-27 20:00:43 -04:00
Jasper Van ece5f413be fix(download): force browser-downloadable files to save (#527)
* fix(download): force browser-downloadable files to save

* fix(storage): require signed upload CORS headers

* fix(storage): keep upload metadata out of signatures

* fix(storage): sign bare upload commands

* revert: keep upload metadata in signed commands
2026-07-27 18:47:52 -04:00
Jasper Van a5c281b26a refactor(api)!: make site routes RESTful (#526)
Move site configuration under settings, model analytics and licensing as resources, and isolate scheduler runs under the internal API.

BREAKING CHANGE: site email, branding, analytics, licensing, WebDAV verification, and scheduler endpoint paths have changed.

Refs #451
2026-07-27 15:22:28 -04:00
Jasper Van 5473db9be1 fix(downloads): separate list data from task details (#525)
* fix(downloads): separate list items from task details

* fix(downloads): scope task list to downloader

* fix(downloads): stabilize table data
2026-07-27 10:22:47 -04:00
Jasper Van ad0f21bb39 fix: unify list pagination and realtime updates (#524)
* fix!: unify pagination and realtime change delivery

Replace offset paging on affected unbounded collections with signed keyset tokens and infinite loading. Persist scoped resource changes so one global SSE connection can resume and invalidate query caches safely.

BREAKING CHANGE: migrated list APIs now accept pageToken and return nextPageToken instead of page and total fields.

Refs #450

* fix: keep page tokens at the HTTP boundary

Move signed page-token handling out of the pure domain layer so dependency-cruiser architecture checks pass without changing behavior.

* fix: route background job stats through usecase

Keep the HTTP boundary from reaching directly into repository ports and cover the new usecase wrapper.

* fix: align clients and checks with cursor pagination

* refactor: unify pagination boundaries and infinite loading
2026-07-27 02:02:53 -04:00
saltbo 5c3d5a71a5 chore(openapi): regenerate object list model 2026-07-26 22:09:07 -04:00
saltbo 7957295ac9 test(objects): remove invalid spec breadcrumbs 2026-07-26 22:05:32 -04:00
saltbo 321545dea1 perf(files): lazily load sidebar folder tree 2026-07-26 22:03:01 -04:00
saltbo a41d31a974 perf(webdav): reuse directory snapshots 2026-07-26 19:13:56 -04:00
saltbo 7fa8b0c277 perf(reads): collapse database round trips 2026-07-26 18:42:50 -04:00
saltbo 9b402c5413 fix(webdav): preserve single-query cold resolution 2026-07-26 17:38:16 -04:00
saltbo ed94193e2f perf(webdav): coalesce workspace route lookups 2026-07-26 17:34:40 -04:00
saltbo c0b979c750 perf(downloads): collapse metering writes 2026-07-26 17:30:46 -04:00
saltbo b719974ecc chore(webdav): trace download latency phases 2026-07-26 17:25:07 -04:00
saltbo a6a9b1ea0e fix(auth): keep API key writes out of Workers KV 2026-07-26 17:18:15 -04:00
saltbo 318ed5eae2 perf(webdav): reuse resolved matter for uploads 2026-07-26 17:13:00 -04:00
saltbo ca000a415d perf(webdav): collapse metadata write round trips 2026-07-26 17:06:28 -04:00
saltbo 076b74a29b perf(webdav): parallelize API key identity checks 2026-07-26 16:56:00 -04:00
saltbo 7c16915de0 perf(webdav): collapse repeated path lookups 2026-07-26 16:51:06 -04:00
saltbo 05f41ef606 perf(auth): use Better Auth API key storage 2026-07-26 16:03:56 -04:00
saltbo e7e7c4481b perf(auth): use Better Auth hot-path features 2026-07-26 15:55:44 -04:00
saltbo 67623d0238 perf(http): bypass image domains for app routes 2026-07-26 14:38:01 -04:00
saltbo ae6417878b perf(webdav): cache verified auth bursts 2026-07-26 14:34:29 -04:00
saltbo f9c15a0858 fix(deploy): build worker before upload 2026-07-26 14:26:33 -04:00
saltbo c1a1aa9a3e perf(webdav): skip unused PROPFIND state queries 2026-07-26 14:24:57 -04:00
saltbo d8222ec757 perf(cache): add multi-runtime layered caching 2026-07-26 14:15:17 -04:00
saltbo 3921d9c00d perf(webdav): reduce hot-path database work 2026-07-26 13:51:02 -04:00
saltbo 1a61b6d9e2 fix(downloader): serialize attempt ledger updates 2026-07-26 10:39:27 -04:00
saltbo 5f4f8979b2 chore(release): v2.8.1 v2.8.1 2026-07-24 17:18:51 -04:00
saltbo 07fb7c3a50 perf(database): reduce D1 write amplification 2026-07-24 15:15:03 -04:00
saltbo ef78e20261 docs(changelog): add v2.7.4 and v2.8.0 release notes 2026-07-24 14:54:59 -04:00
saltbo ae9273ce01 feat(auth): remember last login method v2.8.0 2026-07-24 12:33:36 -04:00
saltbo 5d0215d66d chore(release): v2.8.0 2026-07-24 12:22:25 -04:00
saltbo 4ec1fb5785 fix(downloader): restore idle heartbeat interval 2026-07-24 11:49:51 -04:00
saltbo b8041c021c fix(analytics): make pie chart legend scrollable 2026-07-24 11:32:59 -04:00
saltbo 8924660339 fix(downloads): preserve integer event fields in D1 2026-07-24 11:06:41 -04:00
Jasper Van d6d811f41c feat(public): redesign profile and share pages (#522)
* feat(public): redesign profile and share pages

* fix(openapi): regenerate Go client

* test(share): cover README validation boundaries
2026-07-24 08:35:05 -04:00
saltbo 0550e41868 feat(shares)!: make landing shares public by default
Replace opt-in profile listings with an opt-out private flag and a unified privacy endpoint.

BREAKING CHANGE: showOnProfile, listedAt, and the profile-listing endpoints are replaced by private and PUT /api/shares/:token/privacy.
2026-07-24 01:07:01 -04:00
saltbo 10602e5a50 chore(branding): remove deprecated SVG assets 2026-07-24 00:48:50 -04:00
agent-kanban[bot] 526d237a4e feat: connect curated shares to public profiles (#519)
* feat: connect curated shares to public profiles

Agent-Profile: https://agent-kanban.dev/agents/1dc839c09b5ee5e5

* chore: retry CI after tunnel failure

Agent-Profile: https://agent-kanban.dev/agents/1dc839c09b5ee5e5

---------

Co-authored-by: Marina Zhou <marina-zhou@mails.agent-kanban.dev>
2026-07-24 00:39:25 -04:00
saltbo 9ccea6c846 fix(e2e): redeem credits from workspace billing 2026-07-23 20:21:03 -04:00
saltbo 2123810e26 fix(e2e): configure public tunnel origin 2026-07-23 19:53:21 -04:00
saltbo 948b628449 fix(e2e): unbind cloud license bindings 2026-07-23 19:26:55 -04:00
saltbo 5611d82420 test(e2e): wait for cloud license cleanup 2026-07-23 19:10:37 -04:00
dependabot[bot] 46f802a8e2 chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates (#516)
Bumps the npm_and_yarn group with 2 updates in the / directory: [@hono/node-server](https://github.com/honojs/node-server) and [hono](https://github.com/honojs/hono).


Updates `@hono/node-server` from 1.19.13 to 2.0.10
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](https://github.com/honojs/node-server/compare/v1.19.13...v2.0.10)

Updates `hono` from 4.12.25 to 4.12.27
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.12.25...v4.12.27)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 2.0.10
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: hono
  dependency-version: 4.12.27
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: agent-kanban[bot] <295243365+agent-kanban[bot]@users.noreply.github.com>
2026-07-23 19:06:36 -04:00
saltbo 10b6883061 feat(profile): add public profile menu link 2026-07-23 19:03:56 -04:00
saltbo 83c635c791 fix(e2e): seed enabled storage semantics 2026-07-23 18:55:33 -04:00
saltbo 2c1d797df8 fix(e2e): update storage with PATCH 2026-07-23 18:36:54 -04:00