This website requires JavaScript.
550b258c59
fix: give covers their own 10 MiB byte cap (#71 ) (#112 )
v1.4.3
sulthan
2026-08-17 12:06:14 +07:00
ac50c428a9
fix: give covers their own 10 MiB byte cap (#71 )
fix/71-cover-byte-cap
sulthan
2026-08-17 12:05:42 +07:00
3ac865cd08
chore: remove graphify (#111 )
sulthan
2026-08-17 11:43:15 +07:00
d168cf1ad0
chore: remove graphify
chore/remove-graphify
sulthan
2026-08-17 11:17:51 +07:00
f568fb5e8c
fix: an asleep browser Lane is not a stalled one on the admin page (#110 )
v1.4.2
sulthan
2026-08-16 22:04:18 +07:00
5f9cfbb27e
fix: an asleep browser Lane is not a stalled one on the admin page
fix/asleep-browser-lane-not-stalled
sulthan
2026-08-16 22:03:57 +07:00
20fff588cc
fix: don't read Cloudflare's injected jsd script as a refusal (#109 )
v1.4.1
sulthan
2026-08-16 21:17:29 +07:00
81631ef08f
fix: don't read Cloudflare's injected jsd script as a refusal
fix/demonic-interstitial-false-positive
sulthan
2026-08-16 21:17:10 +07:00
ba679223b2
Sightings: a Reader report defers a Poll of a solitary Series (#103 ) (#108 )
v1.4.0
sulthan
2026-08-16 20:10:59 +07:00
2b597921f4
review: clear stale attribution, gate numberless PUTs, cite the ADR
feat/103-sightings
sulthan
2026-08-16 16:36:31 +07:00
56afb9f237
feat: a Reader's Sighting defers a Poll of a solitary Series (#103 )
sulthan
2026-08-16 15:17:30 +07:00
1e6f1e985d
Owner-only admin page: Reader roster plus Poll Lane status (#102 ) (#107 )
sulthan
2026-08-16 15:02:13 +07:00
2be9256e5e
chore: refresh the graphify map after the #102 review fixes
feat/102-admin-page
sulthan
2026-08-16 14:31:11 +07:00
58014eb8dd
review: verdigris patina, honest Lane figures, tests that can fail (#102 )
sulthan
2026-08-16 14:31:00 +07:00
d878580df8
chore: refresh the graphify map for the admin page (#102 )
sulthan
2026-08-16 14:18:08 +07:00
0b946ee2c4
test, docs: admin page gate tests and the page's written rules (#102 )
sulthan
2026-08-16 14:17:36 +07:00
e69da2a99b
web: owner-only /admin with the Reader roster and Poll Lane status (#102 )
sulthan
2026-08-16 14:17:30 +07:00
d555f54529
latest: report each Poll Lane's last pass to the owner's page (#102 )
sulthan
2026-08-16 14:17:22 +07:00
cdd4eb7c25
store: Sighting counters and the owner's clear control (#102 )
sulthan
2026-08-16 14:17:10 +07:00
3303a55b20
feat: one Poll Lane per Site, replacing the shared pace (#100 ) (#106 )
sulthan
2026-08-16 13:16:19 +07:00
90ce14aec6
feat: one Poll Lane per Site, replacing the shared pace (#100 )
feat/100-poll-lanes
sulthan
2026-08-16 12:51:01 +07:00
ddbd57070d
Poll comix.to through the browser sidecar (#98 ) (#105 )
sulthan
2026-08-16 12:13:59 +07:00
55ecb29b81
docs: make the comix DNS-hijack note resolver-conditional, not machine-local
comix-browser-site
sulthan
2026-08-16 12:11:29 +07:00
82a11f255b
chore: refresh the code graph for the comix browser path
sulthan
2026-08-16 12:08:39 +07:00
f000cc7eaa
docs(latest): correct the browser-site comments the comix change made stale
sulthan
2026-08-16 12:08:28 +07:00
86160c164a
feat(latest): poll comix through the browser sidecar (#98 )
sulthan
2026-08-16 12:05:11 +07:00
3f53c79cf4
docs: add Poll Lane and Sighting to the shared vocabulary (#104 )
sulthan
2026-08-16 11:42:16 +07:00
3e097a3cdf
chore: refresh the graphify knowledge graph
docs/poll-lane-and-sighting-vocabulary
sulthan
2026-08-16 11:32:06 +07:00
dc26993847
docs: add Poll Lane and Sighting to the shared vocabulary
sulthan
2026-08-16 11:31:31 +07:00
17ee0bd3f8
docs: correct the bot-score claims behind the browser poller (#99 )
sulthan
2026-08-12 09:32:07 +07:00
1f5d0695ad
docs: correct the bot-score claims behind the browser poller
docs/cloudflare-bot-score-correction
sulthan
2026-08-12 09:29:27 +07:00
c62c3bb07b
chore: drop asuracomic.net from the userscript, CORS allowlist and docs (#97 )
v1.3.0
sulthan
2026-08-12 05:53:17 +07:00
21615be2bd
feat: one registry entry per Site, one shared Series-page read (#95 )
sulthan
2026-08-12 05:43:37 +07:00
672c16ffbf
Remove the client latest-chapter scan for lightnovelworld (#91 ) (#93 )
sulthan
2026-08-11 20:58:18 +07:00
e7e22a12a5
lightnovelworld Series identity is read from the chapter page (#80 ) (#92 )
sulthan
2026-08-11 18:21:50 +07:00
90d8ab72ad
chore: refresh graphify map and tidy AGENTS.md (#84 )
sulthan
2026-08-11 11:19:47 +07:00
c400c91a80
Implement a batch of tickets through per-ticket subagents (#82 )
sulthan
2026-08-11 10:08:09 +07:00
f1eb7d514c
Record the lightnovelworld series-identity decision (#77 ) (#81 )
sulthan
2026-08-11 09:34:26 +07:00
1ee5eb67ea
Clear the stale Chrome singleton lock at browser boot (#76 )
v1.2.1
sulthan
2026-08-10 19:11:24 +07:00
b22ae82897
Restore the novel script's lost module-scope constants (#74 ) (#75 )
v1.2.0
sulthan
2026-08-10 18:12:03 +07:00
7c7d597019
Delete the kagane-specific cover path (#63 ) (#73 )
sulthan
2026-08-10 18:02:47 +07:00
78234f3c19
Browser-backed Sites join the Cover pipeline (#62 ) (#72 )
sulthan
2026-08-10 11:06:36 +07:00
b9220b3dfc
The Poll fills blank Covers for every Site and both Libraries (#70 )
sulthan
2026-08-10 10:14:27 +07:00
e2c054e7ce
Covers render in the userscript panel, from a public route (#60 ) (#69 )
sulthan
2026-08-10 08:52:57 +07:00
92eba07da7
A newly bookmarked Series acquires its Cover at creation (#59 ) (#68 )
sulthan
2026-08-10 04:07:53 +07:00
b6b88bde8a
feat(latest): extract per-site covers (#58 ) (#67 )
sulthan
2026-08-10 01:43:57 +07:00
9d6d3bde72
Add gated cover byte fetcher (#66 )
sulthan
2026-08-10 00:45:55 +07:00
e8d1cba6c5
Move cover bytes to content-addressed filesystem storage (#65 )
sulthan
2026-08-10 00:11:20 +07:00
30c57bd39c
Define Cover and record hosting its bytes (#47 ) (#64 )
sulthan
2026-08-09 23:19:37 +07:00
8081a0a5d8
Give the Tailscale ACL step a working policy file (#53 )
sulthan
2026-08-09 16:12:03 +07:00
2a3bb6922d
Move the browser off the VPS to its own unit (#46 ) (#52 )
v1.1.0
sulthan
2026-08-09 15:28:21 +07:00
d1800d0707
Prefetch Kagane covers during latest polling (#51 )
sulthan
2026-08-09 14:58:59 +07:00
84cfd1b2c1
Make browser sidecar on-demand (#44 ) (#50 )
sulthan
2026-08-09 07:39:07 +07:00
bfae84c5c3
Persist kagane covers in Postgres (#49 )
sulthan
2026-08-09 06:52:02 +07:00
cd3a7e3d01
feat(latest): split browser poll cooldown (#48 )
sulthan
2026-08-09 06:25:48 +07:00
741b23322b
Fix comix titles and covers, kagane volume chapters, and kagane cover rendering (#37 )
v0.1.2
sulthan
2026-08-08 23:27:32 +07:00
2ef769d421
Open registration to guild members (#27 ) (#36 )
sulthan
2026-08-08 20:23:17 +07:00
c2b47eb05b
Offer the userscripts as a download for mobile Violentmonkey (#26 ) (#35 )
sulthan
2026-08-08 16:39:30 +07:00
1b1820d85a
Cut production over: runbook corrections, env contract, Discord OAuth endpoint fix (#26 ) (#34 )
sulthan
2026-08-08 16:06:47 +07:00
2cc1e69f5d
Prove the import against a copy of the real library (#25 ) (#33 )
sulthan
2026-08-08 15:15:33 +07:00
27cf0955de
Per-Reader userscript credential with UI install and rotation (#24 ) (#32 )
sulthan
2026-08-08 14:54:03 +07:00
bcc6b45515
feat(backend): Discord OAuth login with DB-backed sessions (#23 ) (#31 )
sulthan
2026-08-08 08:51:22 +07:00
8cebb94b92
Give every Bookmark an owner (Reader table) (#30 )
sulthan
2026-08-08 08:05:17 +07:00
3f7664ef9b
feat(backend): give every Bookmark an owner (Reader table) (#22 )
feat/reader-ownership
sulthan
2026-08-08 07:59:40 +07:00
984965ed9f
Split Series from Bookmark, keeping the wire format flat (#21 ) (#29 )
sulthan
2026-08-08 07:19:54 +07:00
a48aba67b8
feat(backend)!: split Series from Bookmark, keeping the wire format flat
feat/db-change
sulthan
2026-08-08 07:11:43 +07:00
08749df050
feat(backend)!: run on Postgres with a migration-owned schema (#28 )
sulthan
2026-08-08 06:52:20 +07:00
b9f9aea82c
docs: secure-coding rules for agents, and refresh stale AGENTS.md top-matter (#16 )
sulthan
2026-08-06 20:07:34 +07:00
5d4d890c34
docs: propagate novel library + new sites into stale AGENTS.md top-matter
docs/agent-security-rules
sulthan
2026-08-06 18:16:05 +07:00
91565252d5
docs: add Go and userscript secure-coding rules to AGENTS.md
sulthan
2026-08-06 18:11:35 +07:00
4229c179b0
rebrand: MangaBM → BookmarkManager, add novel library support (#15 )
sulthan
2026-08-06 03:58:23 +07:00
c545b1b92e
chore: address final review must-fix items
feat/rebrand-novelSupport
sulthan
2026-08-06 03:34:41 +07:00
50e4d6a6e2
feat: serve novel-bookmark.user.js and allow the novel sites' origins
sulthan
2026-08-06 03:29:24 +07:00
c9a2fd4614
feat(userscript): add novel-bookmark.user.js for novelfull and lightnovelworld
sulthan
2026-08-06 03:26:03 +07:00
51fcd8732b
feat(userscript): stamp and filter by kind in the manga script
sulthan
2026-08-06 03:22:28 +07:00
d465028443
feat(web): split the UI into manga and novel libraries
sulthan
2026-08-06 03:19:49 +07:00
f24924031e
feat(web): apply design snapshot — libswitch, novel site colours, login art
sulthan
2026-08-06 03:15:36 +07:00
92f1fbf6ec
feat(latest): poll novelfull via headless browser, lightnovelworld via TLS
sulthan
2026-08-06 03:10:50 +07:00
c81e50c7f1
feat(latest): parse newest chapter for novelfull and lightnovelworld
sulthan
2026-08-06 03:07:22 +07:00
d9d7a1c00d
feat(api): validate kind on PUT /bookmarks
sulthan
2026-08-06 03:05:14 +07:00
dcec12ae72
feat(store): add kind column splitting manga and novel libraries
sulthan
2026-08-06 03:01:07 +07:00
44a8df43e1
refactor: rebrand compose, env and docs to BookmarkManager
sulthan
2026-08-06 02:55:46 +07:00
d41a1d2c0b
refactor: rebrand userscript storage keys, hosts and wordmark
sulthan
2026-08-06 02:47:33 +07:00
f30d4cc7cb
refactor: rename Go module to bookmarkmanager
sulthan
2026-08-06 02:44:43 +07:00
3149dc0c26
chore: pre-flight baseline for novel-support plan
sulthan
2026-08-06 02:43:29 +07:00
c445762244
Merge pull request 'docs: split CLAUDE.md into per-directory guidance' (#14 ) from docs/split-claude-md into main
sulthan
2026-08-04 20:35:16 +07:00
7a4afcc73e
Merge remote-tracking branch 'origin/main' into docs/split-claude-md
sulthan
2026-08-04 19:55:19 +07:00
4ee0b0f092
docs: split CLAUDE.md into per-directory guidance, add opencode agents
sulthan
2026-08-04 19:51:33 +07:00
180ee78b1f
Add comix.to and kagane.to support (#13 )
sulthan
2026-08-03 19:53:45 +07:00
0725b11275
docs: sync AGENTS.md to current architecture (internal/, Cinder, confirm-gated, edge-tab)
sulthan
2026-08-03 19:52:40 +07:00
d8c6074559
fix: extend CORS origins to comix and kagane, preserve progress on unparseable chapters
sulthan
2026-08-03 18:32:49 +07:00
ba23411a74
fix: address issues found in end-to-end verification
sulthan
2026-08-03 18:21:25 +07:00
877d3df010
feat(web): add comix and kagane site colours
sulthan
2026-08-03 17:55:50 +07:00
3adbfb7ad9
fix: scope headless-shell to a dedicated network, off the Traefik proxy network
sulthan
2026-08-03 17:52:34 +07:00
2c7b4952f3
feat: wire headless-shell sidecar for challenge-gated polling
sulthan
2026-08-03 17:46:29 +07:00
1d9b1200bb
feat(latest): add chromedp browser fetcher for challenge-gated sites
sulthan
2026-08-03 17:29:21 +07:00
89eaef70d4
feat(latest): allow comix and kagane, route kagane to a browser fetcher
sulthan
2026-08-03 17:23:10 +07:00
2fcf882c49
feat(latest): parse comix SSR state and kagane API for latest chapter
sulthan
2026-08-03 17:18:38 +07:00
48c2d57d7e
feat(userscript): match comix and kagane, add panel chips
sulthan
2026-08-03 17:15:41 +07:00
076e8bb5d8
feat(userscript): refresh kagane latest chapters through its API
sulthan
2026-08-03 17:12:22 +07:00