Commit Graph
584 Commits
Author SHA1 Message Date
Darko Gjorgjijoski 975d14d86f fix(schema): prune the replaced migration rows when the consolidation is recorded
An upgraded install otherwise keeps 150 recorded rows (plus the one
2.4.x-only name) for migration files that no longer exist on disk. The SKIP
path now deletes exactly the replaced set plus that superseded name, by
explicit list only, before recording itself; module rows and any other
foreign history survive. Found by the upgrade rehearsals.
2026-08-22 14:27:26 +02:00
Darko Gjorgjijoski 0de0126d94 fix(updater): never sweep the live sqlite database as a stale file
The cleanup step deletes any file the shipped manifest does not list outside
the protected prefixes. A SQLite database kept under database/ (a path the
installer accepts) is user state that can never appear in a manifest, so an
update destroyed it. The keep-list now always includes the resolved database
file of every in-installation SQLite connection, plus its -wal/-shm/-journal
side files. Found by the 3.0.0-alpha.2 -> alpha.3 upgrade rehearsal.
2026-08-22 13:21:40 +02:00
Darko Gjorgjijoski 59d3f2a869 feat(modules): fresh admin controller and resource 2026-08-21 14:16:22 +02:00
Darko Gjorgjijoski 45cd5a412c chore(modules): remove the admin controller and resource retaining legacy attribution 2026-08-21 14:16:22 +02:00
Darko Gjorgjijoski 08320d95a7 refactor(adapters): restate the legacy-era member reference sweep 2026-08-21 14:16:22 +02:00
Darko Gjorgjijoski 7d5f29a1d4 feat(app): fresh module-platform, provider, middleware, rule and support implementation 2026-08-21 14:15:49 +02:00
Darko Gjorgjijoski 56cb653a2d chore(app): remove legacy-era module-platform, provider, middleware, rule and support sources 2026-08-21 14:15:49 +02:00
Darko Gjorgjijoski 10b76da90d refactor(platform,adapters): rewrite legacy-era regions of the modules controller, resource, routes and rate recorders in place 2026-08-21 14:15:48 +02:00
Darko Gjorgjijoski 28281a250f feat(pdf): fresh template command 2026-08-21 11:16:05 +02:00
Darko Gjorgjijoski 5499448913 chore(pdf): remove the template command retaining legacy attribution 2026-08-21 11:16:05 +02:00
Darko Gjorgjijoski fc8f55cf87 refactor(platform): restate the legacy-era mail rules and backup docblock 2026-08-21 11:16:05 +02:00
Darko Gjorgjijoski c35999aa9b feat(platform): fresh mail, pdf and storage implementation 2026-08-21 11:15:24 +02:00
Darko Gjorgjijoski a7b272c731 chore(platform): remove legacy-era mail, pdf and storage sources 2026-08-21 11:15:24 +02:00
Darko Gjorgjijoski 373b5c0579 refactor(platform): rewrite legacy-era regions of the mail request, template command, storage provider and routes in place 2026-08-21 11:15:24 +02:00
Darko Gjorgjijoski 68fe86e316 refactor(reporting): restate the legacy-era dashboard route 2026-08-21 10:51:41 +02:00
Darko Gjorgjijoski cbd739db0f feat(reporting): fresh reporting implementation 2026-08-21 10:51:26 +02:00
Darko Gjorgjijoski 923a383ec5 chore(reporting): remove legacy-era reporting sources 2026-08-21 10:51:26 +02:00
Darko Gjorgjijoski 8e3dc1f447 refactor(reporting): rewrite legacy-era regions of the statement requests, provider and routes in place 2026-08-21 10:51:26 +02:00
Darko Gjorgjijoski e3ed1ef075 refactor(metadata): restate the legacy-era note gate definitions 2026-08-21 10:27:32 +02:00
Darko Gjorgjijoski 5a443a6b5c feat(metadata): fresh metadata implementation 2026-08-21 10:27:22 +02:00
Darko Gjorgjijoski 167c504b21 chore(metadata): remove legacy-era metadata sources 2026-08-21 10:27:22 +02:00
Darko Gjorgjijoski 6372373e81 refactor(metadata): rewrite legacy-era regions of the value writer and routes in place 2026-08-21 10:27:21 +02:00
Darko Gjorgjijoski 791a11478d refactor(purchases): restate the legacy-era bulk-delete gate definition 2026-08-21 09:56:09 +02:00
Darko Gjorgjijoski b1c40e7566 feat(purchases): fresh purchases implementation 2026-08-21 09:55:56 +02:00
Darko Gjorgjijoski 76a4218e1e chore(purchases): remove legacy-era purchases sources 2026-08-21 09:55:56 +02:00
Darko Gjorgjijoski d115710bb1 refactor(purchases): rewrite the legacy-era region of the domain routes in place 2026-08-21 09:55:56 +02:00
Darko Gjorgjijoski 4e69f8d3a6 feat(receivables): fresh payment pdf controller 2026-08-21 09:39:20 +02:00
Darko Gjorgjijoski 19c391f9fa chore(receivables): remove the payment pdf controller retaining legacy attribution 2026-08-21 09:39:20 +02:00
Darko Gjorgjijoski e0bd029e54 refactor(receivables): restate the legacy-era pdf-share and gate definitions 2026-08-21 09:39:20 +02:00
Darko Gjorgjijoski 95984bd39c feat(receivables): fresh receivables implementation 2026-08-21 09:38:43 +02:00
Darko Gjorgjijoski d593cccccf chore(receivables): remove legacy-era receivables sources 2026-08-21 09:38:43 +02:00
Darko Gjorgjijoski c7130e1e17 refactor(receivables): rewrite legacy-era regions of the allocation model, requests, pdf controller and routes in place 2026-08-21 09:38:43 +02:00
Darko Gjorgjijoski c4c816b0ed feat(sales): fresh support services and provider 2026-08-21 01:38:55 +02:00
Darko Gjorgjijoski 096d34248e chore(sales): remove the support services and provider retaining legacy attribution 2026-08-21 01:38:55 +02:00
Darko Gjorgjijoski ba09d78f9c refactor(sales): rewrite legacy-era regions of the credit-note, item and balance services and the provider in place 2026-08-21 01:38:55 +02:00
Darko Gjorgjijoski 56d12c204d feat(sales): fresh document services and invoices controller 2026-08-21 01:27:48 +02:00
Darko Gjorgjijoski 7c48bead58 chore(sales): remove the document services and invoices controller retaining legacy attribution 2026-08-21 01:27:48 +02:00
Darko Gjorgjijoski 5269344458 feat(sales): fresh sales implementation 2026-08-21 01:26:48 +02:00
Darko Gjorgjijoski e5dc314b68 chore(sales): remove legacy-era sales sources 2026-08-21 01:26:48 +02:00
Darko Gjorgjijoski 7170ba8241 refactor(sales): rewrite legacy-era regions of the document services, controllers, credit-note request and routes in place 2026-08-21 01:26:47 +02:00
Darko Gjorgjijoski 28ce4ed264 feat(accounts): fresh admin companies and profile controllers 2026-08-20 23:48:38 +02:00
Darko Gjorgjijoski b4b25ee5d2 chore(accounts): remove the admin companies and profile controllers retaining legacy attribution 2026-08-20 23:48:38 +02:00
Darko Gjorgjijoski d5dc446b24 feat(accounts): fresh accounts implementation 2026-08-20 23:48:22 +02:00
Darko Gjorgjijoski 973fda1df6 chore(accounts): remove legacy-era accounts sources 2026-08-20 23:48:22 +02:00
Darko Gjorgjijoski bc213966ff refactor(accounts): rewrite legacy-era regions of the provider, admin companies, profile controller and routes in place 2026-08-20 23:48:22 +02:00
Darko Gjorgjijoski 3f5238bc43 feat(contacts): fresh portal dashboard and profile controllers 2026-08-20 21:51:21 +02:00
Darko Gjorgjijoski f220185a40 chore(contacts): remove the portal controllers retaining legacy attribution 2026-08-20 21:51:21 +02:00
Darko Gjorgjijoski a4460b585b refactor(catalog,contacts): restate the legacy-era bulk-delete gate definitions 2026-08-20 21:51:12 +02:00
Darko Gjorgjijoski a93d13a188 feat(catalog,contacts): fresh catalog and contacts implementation 2026-08-20 21:50:34 +02:00
Darko Gjorgjijoski b5b4e2c978 chore(catalog,contacts): remove legacy-era catalog and contacts sources 2026-08-20 21:50:34 +02:00