jubnl
5c8decd3ea
refactor(assignments, public-api, accommodations, places): async DB-touching methods; transactions through UnitOfWork
2026-09-22 05:21:48 +02:00
jubnl
3a8b54d761
fix(server): the journey hooks are awaited by their callers, not detached
2026-09-22 04:38:12 +02:00
jubnl
845320e0a4
refactor(journey, oidc, place-enrichment, tokens, trip-members): async DB-touching methods; transactions through UnitOfWork
2026-09-22 04:16:07 +02:00
jubnl
ad6e1ce8f0
fix(vacay): type the loop accumulators the async sweep introduced
2026-09-22 03:44:48 +02:00
jubnl
cb177ce655
refactor(vacay, admin, doc-sync): async DB-touching methods; transactions through UnitOfWork
2026-09-22 03:29:33 +02:00
jubnl
567593a259
chore(server): lint rule also refuses a Promise handed to expect() without resolves/rejects
2026-09-22 02:32:59 +02:00
jubnl
37992de7ab
refactor(memories, photos, packing, share): async DB-touching methods; transactions through UnitOfWork
2026-09-22 02:21:06 +02:00
jubnl
6b755314d8
refactor(collab, collections, maps): async DB-touching methods; transactions through UnitOfWork
2026-09-22 01:49:18 +02:00
jubnl
fdb12aed1e
test(files): upload filters fail closed on an excluded or unresolvable type
2026-09-22 01:21:57 +02:00
jubnl
fc49c0c768
refactor(tokens): async DB-touching methods; the auth token handlers await them
2026-09-22 01:21:29 +02:00
jubnl
4700bb38a5
test(server): suites await the methods earlier sweep groups made async
2026-09-22 01:16:50 +02:00
jubnl
7940b7ff84
refactor(auth, files): async DB-touching methods; transactions through UnitOfWork
2026-09-22 01:08:22 +02:00
jubnl
4df2d83137
refactor(notifications, place-photos, backup): async DB-touching methods; transactions through UnitOfWork
2026-09-22 00:22:11 +02:00
jubnl
fac181f45b
chore(plugins): drop gate-only asyncs; observe the scheduler's rejection; async event-sink stub
2026-09-22 00:12:56 +02:00
jubnl
5d590ca5b1
chore(server): db-call-graph --sync stops its transitive walk at an async callee
2026-09-22 00:04:19 +02:00
jubnl
e28dc6de28
refactor(plugins): async DB-touching methods; transactions through UnitOfWork
2026-09-22 00:00:53 +02:00
jubnl
e413308227
refactor(llm-parse, mcp-shared, oauth, place-shadow, route-usage, storage, todo, trip-invite): async DB-touching methods; transactions through UnitOfWork
2026-09-21 23:27:01 +02:00
jubnl
bb390a5407
chore(server): db-call-graph --unawaited lists calls to async methods whose result is used without await
2026-09-21 22:55:02 +02:00
jubnl
7daf98cf70
test(oauth): controller suite awaits the async service
2026-09-21 22:41:35 +02:00
jubnl
aa587e2fb6
refactor(budget, common, day-notes, days): async DB-touching methods; transactions through UnitOfWork
2026-09-21 22:39:11 +02:00
jubnl
8bdc730b20
test(server): suites await the methods Task 1's forced edits made async
2026-09-21 21:54:19 +02:00
jubnl
d73215f7f6
chore(server): lint rule refusing a Promise used as a plain value, and the misses it found
2026-09-21 21:39:39 +02:00
jubnl
953e2526bb
refactor(atlas, school-holidays, settings): async DB-touching methods; transactions through UnitOfWork
2026-09-21 21:23:10 +02:00
jubnl
f6c17938c3
test(doc-sync): unit suites await the methods the async sweep made async
2026-09-21 21:11:01 +02:00
jubnl
8de5171a8e
fix(server): observe every promise the async sweep left unobserved (timer, handshake, plugin-runtime test)
2026-09-21 21:04:19 +02:00
jubnl
0cf99a9939
refactor(realtime, systemNotices, addons, airports, audit, categories, permissions, query-helpers, tags, transit, trip-membership): async DB-touching methods; transactions through UnitOfWork
2026-09-21 20:48:03 +02:00
jubnl
27d044f9e8
chore(server): promise safety net and sweep tooling for the async migration
2026-09-21 19:01:38 +02:00
jubnl
ef184ec7c2
test(server): ORM suites open the schema snapshot; RESET_TABLES derived from the schema
2026-09-21 18:12:07 +02:00
jubnl
f4fe27a3f8
fix(db): dialect helpers dispatch on the platform; lint gate for the repository layer
2026-09-21 18:12:07 +02:00
jubnl
d7c7afea1b
test(server): coverage's uncovered-file pass goes through the SWC transform
2026-09-21 11:06:42 +02:00
jubnl
2c7a5fcda6
test(server): websocket suites boot on the migrated schema snapshot
2026-09-21 11:03:16 +02:00
jubnl
f0c6cd18b3
test(db): coverage ratchet entries for the ORM foundation
2026-09-21 11:01:44 +02:00
jubnl
418bd1c6b5
fix(test): route MikroORM's dynamic imports through vitest from the setup file, not the ORM config
2026-09-21 10:35:16 +02:00
jubnl
2bc9e927be
test(server): snapshot harness keeps the legacy id semantics
2026-09-21 10:22:18 +02:00
jubnl
e846c91a16
test(server): integration suites boot on the migrated schema snapshot
2026-09-21 10:13:40 +02:00
jubnl
d7f39916d5
feat(db): request-context and unit-of-work helpers for the ORM, with concurrency tests
2026-09-21 10:01:36 +02:00
jubnl
443dc35c03
fix(db): repositories mirror the statement's column set and guard their row types
2026-09-21 09:54:15 +02:00
jubnl
229f4890df
feat(db): snake_case entity shape and the first three repositories (Days, DayNotes, Trips)
2026-09-21 09:39:40 +02:00
jubnl
479e2cb0a5
test(db): dialect helper refuses malformed column references and day counts
2026-09-21 09:27:05 +02:00
jubnl
5691f966af
feat(db): dialect helper is the one place SQL functions are spelled
2026-09-21 09:19:47 +02:00
jubnl
565f72740b
test(db): createTestOrm binds an ORM to a suite's own SQLite handle
2026-09-21 09:17:17 +02:00
jubnl
9ca9ca9644
feat(db): discover entities from an explicit list instead of a glob
2026-09-21 08:50:56 +02:00
jubnl
4ba43d6cd5
feat(db): DbTimestampType keeps DATETIME columns as the CURRENT_TIMESTAMP text
2026-09-21 08:50:56 +02:00
jubnl
57decad494
Merge remote-tracking branch 'origin/dev' into feat/orm
2026-09-20 21:45:48 +02:00
jubnl
70e970453e
migrations + seeders
2026-09-20 21:38:32 +02:00
Maurice
bf0507ddb5
fix(planner): Google hours that share a half of the day convert whole to 24h
...
Google writes a range that stays in one half of the day with the meridiem on
the closing time only, "1:00 – 3:00 PM" for one to three in the afternoon.
The 24-hour conversion only saw times carrying their own AM/PM, so the
opener stayed "1:00" beside a converted "15:00". The closing meridiem is
handed back to an opener that has none before converting; a range spelled
on both sides, the 12h display and lines without a meridiem are untouched.
Closes #2412
2026-09-20 20:28:23 +02:00
Maurice
9bd9ff4a80
style(collab): a link chip's title takes its width first, the host gets the rest
2026-09-20 20:11:10 +02:00
Maurice
8845f73eb9
style(collab): the host gives way before the title does, all of it
2026-09-20 20:09:22 +02:00
Maurice
6b09a8bc11
style(collab): the title of a link chip gives way last
...
Two to a row, the title and the host were shrinking together into two
ellipses. The host shrinks first now, the open glyph takes the favicon's
place on hover instead of room of its own, and the actions are a touch
smaller.
2026-09-20 20:07:39 +02:00
jubnl
55ad55e90b
rename entities
2026-09-20 20:05:18 +02:00