Commit graph

36 commits

Author SHA1 Message Date
Your Name
d01f1411c5 fix: make the most recently saved route win on path conflicts
The matcher loop kept the last match instead of the first. Since
routes[verb] is ordered by updated_at DESC, that meant the OLDEST
route won when two routes matched the same path. Break on first
match so the most recently saved route wins.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 22:28:19 -04:00
Your Name
14f9ec3160 refactor: decompose render pipeline into decorate() + source value
Replace the one branchy bootstrapTemplateWithHTMXetc (six positional
args, five jobs) with small pure functions: headChrome, blissAttrs,
decoratePage, decorateFragment, and a decorate() entry point. The
route/clone/copy provenance triple becomes a single `source` value
({structureId, routeId, copyUrl}) threaded through render — the same
data the inspector roadmap needs.

Collapse the four copy-pasted render sites (res.render, ws.render,
template preview, scaffold preview) onto renderTemplate + decorate,
and dedupe the per-structure route() closure into makeRoute().

Emitted HTML (head chrome + data-bliss-* attributes) is unchanged;
verified full-page and htmx-fragment output.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 22:22:00 -04:00
Your Name
ae51fc763c chore: cleanup of code 2026-08-02 22:14:02 -04:00
HRG @ SCExC
28a441d98a feat: add route helper to handler context 2025-02-12 00:46:39 +09:00
my name
71a902a939 feat: add timeout stuff to handlers 2025-02-04 01:54:56 -05:00
my name
2c494d9c52 feat: add fetch to handlers 2025-02-04 00:23:03 -05:00
Your Name
91c1d30674 fix: try something claude said to see if we can get session in the ws req 2025-02-02 17:55:13 -05:00
Your Name
b8d3dbfa39 fix: catch errors in ws on handlers 2025-02-01 01:14:32 -05:00
Your Name
19a9d63d6c feat: add file lib to routes, abstract out file upload functionality 2025-02-01 01:14:32 -05:00
Your Name
a680ff9120 fix: don't rethrow exception
can't catch it there pal! crashes the server
2025-01-31 01:59:05 -05:00
Your Name
7e0025cfac chore: remove console logs 2025-01-21 18:14:15 -05:00
Your Name
308df5a5e6 feat: add persistent connections to ws 2025-01-21 18:13:31 -05:00
Your Name
a23aee5d21 feat: wip previews for non-get routes 2025-01-21 02:38:24 -05:00
Your Name
ee0b9e597a feat: support inspector on ws swapped elems 2025-01-20 12:53:52 -05:00
Your Name
df42cd8a8b feat: add ability to ws.render from websocket 2025-01-20 11:49:54 -05:00
Your Name
73779a32ad refactor: call ws stuff outside of vm script 2025-01-20 11:04:25 -05:00
HRG @ SCExC
c6fe03db7a feat: add web push 2025-01-12 12:07:08 -05:00
HRG @ SCExC
a7c679e610 fix: return 500 for exceptions 2025-01-12 11:56:17 -05:00
HRG @ SCExC
66911677f0 feat: support async handlers 2025-01-12 11:56:17 -05:00
HRG @ SCExC
9d625b0fd5 fix: updte templte fix, json bodyprser 2025-01-12 11:56:17 -05:00
HRG @ SCExC
bf37f91a34 fix: register templte bug 2025-01-12 11:56:17 -05:00
HRG @ SCExC
38b9c0e538 fix: logs bug where it was repeating due to flaw in most recent id query 2025-01-12 11:56:17 -05:00
HRG @ SCExC
7a5a1a5e9d chore: format 2025-01-12 11:56:15 -05:00
HRG @ SCExC
305bf8b571 feat: add logs 2025-01-09 15:42:51 -05:00
HRG @ SCExC
c40bdcbbed websocket support and route fixes 2024-06-08 18:41:33 -04:00
HRG @ SCExC
897dd38151 add head injection 2024-06-08 15:30:28 -04:00
HRG @ SCExC
d2ad994716 more stuff 2024-06-08 14:07:38 -04:00
HRG @ SCExC
835c5fdd66 add cloning logic 2024-06-08 09:25:42 -04:00
HRG @ SCExC
365b297397 add support for mounting existing dbs by id 2024-06-04 01:21:32 -04:00
HRG @ SCExC
7aac7aabdd add file stuff 2024-06-03 20:24:21 -04:00
HRG @ SCExC
c33a49e817 add templater 2024-06-02 10:25:57 -04:00
HRG @ SCExC
7720135395 nice 2024-06-02 01:41:44 -04:00
HRG @ SCExC
23414c7b66 wow 2024-06-02 00:39:30 -04:00
HRG @ SCExC
e335c65506 hmm 2024-02-24 11:12:14 -05:00
HRG @ SCExC
f370a2fe68 nice 2024-02-04 10:11:47 -05:00
HRG @ SCExC
80c6db1abd hello 2024-02-03 13:22:50 -05:00