Skip to content

Commit 9b5feec

Browse files
authored
Merge pull request #321 from MeshJS/preprod
Release: deploy-migrations Node 22 fix (unblocks prod migrations) + roadmap refresh
2 parents f888b8d + 23945e9 commit 9b5feec

2 files changed

Lines changed: 44 additions & 10 deletions

File tree

.github/workflows/deploy-migrations.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
- prisma/migrations/**
66
branches:
77
- main
8+
# Allow manual runs so a migration can be applied without a fresh push under prisma/migrations/**
9+
workflow_dispatch:
810

911
jobs:
1012
deploy-migrations:
@@ -16,7 +18,7 @@ jobs:
1618
- name: Setup Node.js
1719
uses: actions/setup-node@v6
1820
with:
19-
node-version: '18'
21+
node-version: '22'
2022
cache: 'npm'
2123

2224
- name: Install dependencies

ROADMAP.md

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,37 +44,61 @@ Status of M1 tasks. Last updated 2026-04-23.
4444

4545
## Month 2 — June 2026
4646

47-
**Focus:** Mesh 2.0 upgrade and CI improvements.
47+
**Focus:** Mesh 2.0 migration groundwork, signing/auth reliability, in-app governance voting, and platform UX + CI hardening.
4848

4949
**Quirin**
5050

5151
| Task | Issues |
5252
|------|--------|
53-
| Mesh 2.0 upgrade — migrate to Mesh SDK 2.0 | |
53+
| Mesh 2.0 migration groundwork — Prisma 7 + Next 16 base, tx-builder hardfork-ready, consolidate wallet ops onto a single bridge (runtime stays on Mesh 1.9 until cutover) | #268, #269 |
54+
| Signing & auth reliability — bech32 normalization, Mesh-1.9 `signData` arg order, core-cst witness/body-hash merge, stuck-"Loading…" recovery, cross-instance import | |
55+
| In-app governance voting — Ekklesia/Hydra budget voting for multisig DReps, DRep-registration detection, ballot UX, proposal cards + DB-cached tallies | #122 |
56+
| IPFS reliability + rationale drafting/caching + ballot CSV | |
57+
| Platform UX foundations — mobile viewport/touch/dialogs/inputs, skeleton/empty states, error toasts, landing + SEO + theme overhaul | |
5458

5559
**Andre**
5660

5761
| Task | Issues |
5862
|------|--------|
59-
| CI improvements | |
63+
| CI improvements — real-chain smoke system, deploy-migrations on Node 22, dependency/security hardening | #213 |
64+
| Email notification service — signature-required emails via Resend, notification center + outbox/worker, per-wallet settings, email verification | |
65+
66+
### Progress
67+
68+
Mid-month snapshot. Last updated 2026-06-17.
69+
70+
| Task | Status | Evidence |
71+
|------|--------|----------|
72+
| Mesh 2.0 migration groundwork | In progress | Prisma 7.8 + Next 16 on `preprod`; tx-builder hardfork upgrade ([#268](https://github.com/MeshJS/multisig/pull/268)) and Prisma 7 + mesh-2.0 staging merge ([#269](https://github.com/MeshJS/multisig/pull/269)); wallet ops consolidated on the Mesh 1.9 bridge with an ESLint guardrail ([#278](https://github.com/MeshJS/multisig/pull/278)) as cutover groundwork. Runtime still on `@meshsdk/core@^1.9`; full 2.0 cutover carries into July |
73+
| Signing & auth reliability | Done | bech32 normalization ([#273](https://github.com/MeshJS/multisig/pull/273)), Mesh-1.9 `signData` arg order ([#277](https://github.com/MeshJS/multisig/pull/277)), stuck-"Loading…" recovery ([#281](https://github.com/MeshJS/multisig/pull/281)/[#282](https://github.com/MeshJS/multisig/pull/282)), core-cst witness/body-hash merge ([#286](https://github.com/MeshJS/multisig/pull/286)), cross-instance mobile import ([#274](https://github.com/MeshJS/multisig/pull/274)) |
74+
| In-app governance voting | Done | Ekklesia/Hydra budget voting ([#272](https://github.com/MeshJS/multisig/pull/272)), DRep-registration detection ([#279](https://github.com/MeshJS/multisig/pull/279)), segmented ballot UX + type chips ([#296](https://github.com/MeshJS/multisig/pull/296)/[#297](https://github.com/MeshJS/multisig/pull/297)), proposal cards + DB-cached tallies ([#302](https://github.com/MeshJS/multisig/pull/302)). Closes the metadata hash-mismatch ([#122](https://github.com/MeshJS/multisig/issues/122)) ahead of its planned month |
75+
| IPFS + rationale + ballot CSV | Done | Reliable IPFS proxy, rationale caching, ballot CSV ([#300](https://github.com/MeshJS/multisig/pull/300)); ReDoS hardening in `extractCidPath` ([#315](https://github.com/MeshJS/multisig/pull/315)) |
76+
| Platform UX foundations | Done | Mobile foundations ([#287](https://github.com/MeshJS/multisig/pull/287)[#291](https://github.com/MeshJS/multisig/pull/291)), skeleton/empty states ([#289](https://github.com/MeshJS/multisig/pull/289)), error toasts ([#292](https://github.com/MeshJS/multisig/pull/292)), pagination/labels/assets ([#293](https://github.com/MeshJS/multisig/pull/293)[#295](https://github.com/MeshJS/multisig/pull/295)), landing + SEO + theme ([#298](https://github.com/MeshJS/multisig/pull/298)/[#299](https://github.com/MeshJS/multisig/pull/299)/[#308](https://github.com/MeshJS/multisig/pull/308)[#318](https://github.com/MeshJS/multisig/pull/318)) |
77+
| CI improvements | Done | Real-chain smoke system closed ([#213](https://github.com/MeshJS/multisig/issues/213)); deploy-migrations moved to Node 22 + manual dispatch ([#319](https://github.com/MeshJS/multisig/pull/319)); pg pool cap ([#284](https://github.com/MeshJS/multisig/pull/284)); npm override for brace-expansion ReDoS ([#301](https://github.com/MeshJS/multisig/pull/301)) |
78+
| Email notification service | In progress | Built on `feature/email-notification-center` (Resend email channel, notification center + outbox/worker, tRPC router, per-wallet settings UI, email verification, tests, plan doc); not yet merged to `preprod` |
79+
80+
**Carryover into July:** complete the Mesh 2.0 runtime cutover; land the Node-22 deploy-migrations fix on `main` and apply the pending `ProposalTally` migration to production (governance tallies error until it exists); review the Supabase RLS advisory on the seven `rls_enabled: false` tables.
6081

6182
---
6283

6384
## Month 3 — July 2026
6485

65-
**Focus:** On-chain wallet discovery and FROST kickoff.
86+
**Focus:** Mesh 2.0 cutover, on-chain wallet discovery (Wallet V2), and FROST research kickoff.
6687

6788
**Quirin**
6889

6990
| Task | Issues |
7091
|------|--------|
71-
| FROST research kickoff | #220 |
92+
| Mesh 2.0 runtime cutover — move `@meshsdk/core`/`core-cst` off the 1.9 bridge to 2.0, byte-preserving signing so co-signers still sign identical bytes; drop the 1.9 ESLint guardrail once complete (carryover from June) | |
93+
| FROST research kickoff — survey Cardano-compatible FROST libraries + protocol readiness, draft the native-script vs threshold-Schnorr trade-off note, scope a PoC | #220 |
94+
| Production hardening follow-through — land the Node-22 deploy-migrations fix on `main`, apply the pending `ProposalTally` migration, review the Supabase RLS advisory | #319 |
7295

7396
**Andre**
7497

7598
| Task | Issues |
7699
|------|--------|
77-
| Wallet V2 — on-chain registration and discovery | #33 |
100+
| Wallet V2 — on-chain registration and discovery — design the on-chain registration record + discovery index, define the data model, prototype lookup by signer/policy | #33 |
101+
| CI/maintenance baseline — keep smoke + unit/tRPC suites green on Node 22, dependency/security updates | |
78102

79103
---
80104

@@ -303,12 +327,18 @@ Aggregated view of the 12-month roadmap split by contributor. Each task has a si
303327
- [M1] Fix transaction loading bug (#211)
304328
- [M1] Handle external PR — Summon API routes (PR #212)
305329
- [M1] Fix legacy wallet compatibility bug
306-
- [M2] Mesh 2.0 upgrade — migrate to Mesh SDK 2.0
330+
- [M2] Mesh 2.0 migration groundwork — Prisma 7 + Next 16 base, tx-builder hardfork-ready, wallet-bridge consolidation (#268, #269)
331+
- [M2] Signing & auth reliability — bech32 normalization, signData arg order, core-cst witness/body-hash, stuck-loading recovery
332+
- [M2] In-app governance voting — Ekklesia/Hydra budget voting, DRep-registration detection, ballot UX, DB-cached tallies (#122)
333+
- [M2] IPFS reliability + rationale caching + ballot CSV
334+
- [M2] Platform UX foundations — mobile, skeleton/empty states, error toasts, landing + SEO + theme
335+
- [M3] Mesh 2.0 runtime cutover (carryover from M2)
307336
- [M3] FROST research kickoff (#220)
337+
- [M3] Production hardening follow-through — Node-22 migration CI on `main`, apply `ProposalTally`, RLS review (#319)
308338
- [M4–5] Document Sign-Off MVP — data model, routes, CIP-8 enforcement, proof export
309339
- [M6] Document Sign-Off v1 — Provenance (history, diff & rollback, audit export)
310340
- [M6] FROST research — deliver findings, PoC, go/no-go (#220)
311-
- [M7] Governance metadata fix (#122)
341+
- [M7] Governance metadata fix (#122) — ✅ closed early in June
312342
- [M7] dApp connector — external dApps request multi-sig transactions
313343
- [M8] Proxy voting polish and documentation
314344
- [M8] Transaction builder & tRPC integration tests (#255)
@@ -323,8 +353,10 @@ Aggregated view of the 12-month roadmap split by contributor. Each task has a si
323353
- [M1] Improve repository infrastructure — preprod environment and comprehensive smoke CI
324354
- [M1] CI smoke tests on real chain (#213)
325355
- [M1] Handle external PR — capability-based metadata (PR #208)
326-
- [M2] CI improvements
356+
- [M2] CI improvements — real-chain smoke system, deploy-migrations on Node 22, dependency/security hardening (#213)
357+
- [M2] Email notification service — signature-required emails via Resend, notification center + outbox/worker, per-wallet settings, email verification
327358
- [M3] Wallet V2 — on-chain registration and discovery (#33)
359+
- [M3] CI/maintenance baseline — keep suites green on Node 22, dependency/security updates
328360
- [M4–5] Document Sign-Off MVP — Documents UI, six-state lifecycle, signer review, diffs
329361
- [M6] Hardware wallet support — Ledger/Trezor (#44)
330362
- [M7] Pending transactions on homepage (#125)

0 commit comments

Comments
 (0)