Skip to content

Commit 9b6c6ae

Browse files
author
Codex
committed
fix: resolve merge conflicts, keep both gift card providers and privacy features
2 parents 44d404b + f4e3f7a commit 9b6c6ae

598 files changed

Lines changed: 77365 additions & 10674 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/IMPLEMENTATION_NOTES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Issue Resolution Summary - Type Safety & Testing Improvements
4242

4343
Next Steps
4444
----------
45-
- Integrate @synchro/shared into client, backend, and sdk package.json
45+
- Integrate @syncro/shared into client, backend, and sdk package.json
4646
- Migrate existing type definitions to use shared package
4747
- Update DTO transformation functions to use shared types
4848
- Remove duplicate type definitions across layers

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug or unexpected behavior in SYNCRO.
4+
title: "[BUG] "
5+
labels: ["status/triage", "type/bug"]
6+
assignees: ""
7+
---
8+
19
## Bug Report
210

11+
### Taxonomy (For Triagers)
12+
- **Area:** [e.g., area/client, area/backend, area/contracts, area/supabase, area/sdk, area/shared, area/docs, area/scripts, area/governance, area/ops]
13+
- **Risk:** [risk/low | risk/medium | risk/high]
14+
- **Priority:** [priority/P0 | priority/P1 | priority/P2 | priority/P3]
15+
16+
---
17+
318
### Description
419
Describe the issue clearly.
520

@@ -23,6 +38,7 @@ What actually happens?
2338
---
2439

2540
### Environment
41+
- Workspace / Area: [e.g., client, backend, sdk, etc.]
2642
- OS:
2743
- Node version:
2844
- Browser:

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
1+
---
2+
name: Feature Request
3+
about: Propose a new feature or enhancement for SYNCRO.
4+
title: "[FEAT] "
5+
labels: ["status/triage", "type/feature"]
6+
assignees: ""
7+
---
8+
19
## Feature Request
210

11+
### Taxonomy (For Triagers)
12+
- **Area:** [e.g., area/client, area/backend, area/contracts, area/supabase, area/sdk, area/shared, area/docs, area/scripts, area/governance, area/ops]
13+
- **Risk:** [risk/low | risk/medium | risk/high]
14+
- **Priority:** [priority/P0 | priority/P1 | priority/P2 | priority/P3]
15+
16+
---
17+
318
### Description
419
What feature would you like to see?
520

.github/labels.yml

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
# GitHub Issue Labels Taxonomy
2+
# This file defines the canonical label set for the SYNCRO repository.
3+
# Format: Array of objects with name, color, and description.
4+
5+
# Area Labels: Map to directory ownership boundaries
6+
- name: "area/client"
7+
color: "0072F5"
8+
description: "Issues related to the client application (frontend UI/UX)"
9+
10+
- name: "area/backend"
11+
color: "13C18A"
12+
description: "Issues related to the Express/Node API backend"
13+
14+
- name: "area/contracts"
15+
color: "7828C8"
16+
description: "Issues related to Stellar/Soroban smart contracts"
17+
18+
- name: "area/supabase"
19+
color: "F5A524"
20+
description: "Database migrations, RLS policies, schemas, and seeds"
21+
22+
- name: "area/sdk"
23+
color: "000000"
24+
description: "Stellar reminder SDK and utility logger modules"
25+
26+
- name: "area/shared"
27+
color: "71717A"
28+
description: "Shared types and utility code across workspaces"
29+
30+
- name: "area/docs"
31+
color: "0284C7"
32+
description: "Technical documentation, markdown guides, API references"
33+
34+
- name: "area/scripts"
35+
color: "E11D48"
36+
description: "Automation, devops tooling, local environment helpers"
37+
38+
- name: "area/governance"
39+
color: "F43F5E"
40+
description: "Repository workflows, triage policies, backlog management"
41+
42+
- name: "area/ops"
43+
color: "10B981"
44+
description: "CI/CD pipelines, deployment workflows, staging/production environments"
45+
46+
# Priority Labels
47+
- name: "priority/P0"
48+
color: "E11D48"
49+
description: "Critical blocker. Immediate action required. Outages or hotfixes."
50+
51+
- name: "priority/P1"
52+
color: "F97316"
53+
description: "High priority. Core backlog items for current milestone."
54+
55+
- name: "priority/P2"
56+
color: "EAB308"
57+
description: "Medium priority. Standard features and fixes for next milestone."
58+
59+
- name: "priority/P3"
60+
color: "3B82F6"
61+
description: "Low priority. Non-urgent requests, minor polish, or nice-to-haves."
62+
63+
# Type Labels
64+
- name: "type/bug"
65+
color: "D946EF"
66+
description: "An unexpected error, failure, or incorrect behavior"
67+
68+
- name: "type/feature"
69+
color: "06B6D4"
70+
description: "A new feature request or enhancements to existing capabilities"
71+
72+
- name: "type/refactor"
73+
color: "8B5CF6"
74+
description: "Structural code changes that improve maintainability without adding features"
75+
76+
- name: "type/chore"
77+
color: "64748B"
78+
description: "Tooling updates, dependency bumps, or repository maintenance"
79+
80+
- name: "type/security"
81+
color: "EF4444"
82+
description: "Security auditing, vulnerability patching, or access control fixes"
83+
84+
- name: "type/documentation"
85+
color: "0EA5E9"
86+
description: "Additions, corrections, or updates to documentation"
87+
88+
- name: "type/performance"
89+
color: "10B981"
90+
description: "Changes targeting bundle size, response time, or SQL optimization"
91+
92+
# Risk Labels
93+
- name: "risk/low"
94+
color: "10B981"
95+
description: "Isolated impact, zero DB migrations, simple validation path"
96+
97+
- name: "risk/medium"
98+
color: "F59E0B"
99+
description: "Moderate impact, touches multiple components, API/SDK interface updates"
100+
101+
- name: "risk/high"
102+
color: "EF4444"
103+
description: "Major impact, database migrations, breaking changes, auth/RLS updates"
104+
105+
# Status Labels
106+
- name: "status/triage"
107+
color: "EC4899"
108+
description: "New issue. Awaiting triage and verification."
109+
110+
- name: "status/backlog"
111+
color: "6366F1"
112+
description: "Triaged and scheduled. Ready for assignment."
113+
114+
- name: "status/in-progress"
115+
color: "0EA5E9"
116+
description: "Active development currently underway"
117+
118+
- name: "status/in-review"
119+
color: "8B5CF6"
120+
description: "Development complete. Pull request awaiting approval."
121+
122+
- name: "status/blocked"
123+
color: "F43F5E"
124+
description: "Development stalled due to external dependency or dependency task"
125+
126+
- name: "status/wontfix"
127+
color: "94A3B8"
128+
description: "Rejected, duplicate, out-of-scope, or resolved by other means"
129+
130+
- name: "status/done"
131+
color: "10B981"
132+
description: "Fully completed and merged"
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Accessibility Tests
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
workflow_dispatch:
9+
inputs:
10+
force_full_run:
11+
description: 'Force a full accessibility run'
12+
type: boolean
13+
default: false
14+
15+
jobs:
16+
changes:
17+
runs-on: ubuntu-latest
18+
outputs:
19+
client: ${{ steps.filter.outputs.client }}
20+
force_full_run: ${{ github.event.inputs.force_full_run || 'false' }}
21+
steps:
22+
- uses: actions/checkout@v7
23+
- uses: dorny/paths-filter@v4
24+
id: filter
25+
with:
26+
filters: |
27+
client:
28+
- 'client/**'
29+
- 'shared/**'
30+
- '.github/workflows/accessibility.yml'
31+
32+
a11y-tests:
33+
name: Axe Accessibility Checks
34+
runs-on: ubuntu-latest
35+
needs: changes
36+
if: ${{ needs.changes.outputs.force_full_run == 'true' || needs.changes.outputs.client == 'true' }}
37+
38+
steps:
39+
- name: Checkout repository
40+
uses: actions/checkout@v7
41+
42+
- name: Set up Node.js
43+
uses: actions/setup-node@v6
44+
with:
45+
node-version: "20"
46+
cache: "npm"
47+
cache-dependency-path: client/package-lock.json
48+
49+
- name: Install dependencies
50+
working-directory: client
51+
run: npm ci --legacy-peer-deps
52+
53+
- name: Install Playwright browsers
54+
working-directory: client
55+
run: npx playwright install --with-deps chromium
56+
57+
- name: Build client
58+
working-directory: client
59+
env:
60+
NEXT_PUBLIC_SUPABASE_URL: ${{ secrets.NEXT_PUBLIC_SUPABASE_URL }}
61+
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${{ secrets.NEXT_PUBLIC_SUPABASE_ANON_KEY }}
62+
NEXT_PUBLIC_API_URL: http://localhost:3000
63+
run: npm run build
64+
65+
- name: Run accessibility tests
66+
working-directory: client
67+
env:
68+
E2E_BASE_URL: http://localhost:3000
69+
run: |
70+
npm start &
71+
npx wait-on http://localhost:3000 --timeout 60000
72+
npm run test:a11y
73+
74+
- name: Upload accessibility report
75+
if: always()
76+
uses: actions/upload-artifact@v7
77+
with:
78+
name: a11y-report
79+
path: client/playwright-report/
80+
retention-days: 14

.github/workflows/bundle-size.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414

1515
steps:
1616
- name: Checkout repository
17-
uses: actions/checkout@v6
17+
uses: actions/checkout@v7
1818

1919
- name: Setup Node
2020
uses: actions/setup-node@v6

0 commit comments

Comments
 (0)