Skip to content

Commit e4389b0

Browse files
LynxLynxxdt-iohkdamian-molinski
authored
feat(cat-voices): mobile support (#3316)
* feat(cat-voices): update android config (#3298) * feat: android app name * chore: update gradle * feat: transform groove to kotlin * feat: adding icons * feat: update background in loading in app splash for mobile * feat: update app flavor and env selection * feat: update grade-wrapper * feat: use specific sdk version * feat: update key derivation android config * feat: update remote_widgets android config * feat: update bundle id * fix: spelling * feat(cat-voices): update recommended settings and readme (#3321) * feat: update recommended settings and readme * fix: format * fix: format * feat: remove flavor from name * feat(cat-voices): ios config (#3315) * feat: podfile update * feat: update icons * feat: update pod file * feat: update catalyst key derivation * feat: update remote_widgets * chore: remove Podfile.lock from tracking and to gitignore * chore: update build targets * chore: add files to earthlyignore * refactor(cat-voices): split catalyst platform into operating system and form factor enums (#3317) * refactor: split catalyst platform into os and form factor * chore: cleanup * refactor: unify mobile detection * feat: allow embed builders on web only * chore: cleanup tests * chore: cleanup * refactor: simplify the expression * refactor: use data widget builder * docs: clarify int constraints * refactor: migrate api * feat(cat-voices): permission handler (#3337) * chore: adding dependencies * feat: adding permission for android * feat: permission handler factory * feat: exporting models * feat: adding dependencies * fix: android manifest format * feat: adding catalyst operating system * feat: adding catalyst operating system * feat: refactor to used rationale and explanation exception * feat: adding queue * chore: remove android manifest permission * fix: remove white space and sort intl * chore: change location of permission_mixin * chore: remove unused file * feat(cat-voices): native drift (mobile) db (#3371) * define native database and its paths * docs: update README * chore: markdown formatting * fix: readme * feat(cat-voices): io downloader (#3361) * chore: adding dependencies * feat: adding permission for android * feat: permission handler factory * feat: exporting models * feat: adding dependencies * fix: android manifest format * feat: adding catalyst operating system * feat: adding catalyst operating system * feat: refactor to used rationale and explanation exception * feat: adding queue * chore: remove android manifest permission * fix: remove white space and sort intl * feat: io downloader implementation * chore: remove comments * fix: spelling * feat: extracting common logic * chore: update logic for downloader class * chore: remove unused mixin * fix: format * chore: review update * chore: set default strategy * chore: remove files * chore: added permission * chore: remove old files * feat(cat-voices): uploader service (#3376) * feat: uploader service * chore: review update * feat(cat-voices): Discovery Page mobile screen adjustment (#3380) * feat: adjust discovery page to mobile screen * feat: adding responsive_sized_box * chore: review update * chore: update docs * feat(cat-voices): proposals page - mobile (#3377) * single out single_select_dropdown.dart and clean up imports * refactor: making ProposalsOrderDropdown little more flexible * wrapping order dropdown * fix selector List problem * fix: divider and spacings * chore: PaginatedGridView response alignment * feat: response header and content padding * chore: cleanup imports * ripple borders * feat(cat-voices): registration mobile - part 1 (#3393) * chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog * add fullscreenDialog parameter * chore: split RegistrationDialog into smaller widgets * move constraints directly to Dialog parameter * refactor: upload dialog splitted into smaller widgets * chore: use spacing instead of separatedBy * use Visibility.maintain * use SizeBox-es instead of paddings * chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox * wip * chore: vertical panels * cleanup info container * chore: update VoicesPanelsDialog docs and make it more generic * Remove ResponsiveBreakpointKey.other * loose constrains for mobile * PR review updates * chore: typo * feat(cat-voices): Mobile support for category detail page (#3392) * feat: initial screen adjustements * feat: mobile support category detail page * chore: review update * chore: use sizeOf * feat: registration mobile - part 2 (#3395) * chore: rename VoicesTwoPaneDialog to VoicesTwoPanelDialog * add fullscreenDialog parameter * chore: split RegistrationDialog into smaller widgets * move constraints directly to Dialog parameter * refactor: upload dialog splitted into smaller widgets * chore: use spacing instead of separatedBy * use Visibility.maintain * use SizeBox-es instead of paddings * chore: VoicesAlertDialog now uses BoxConstraints instead of SizedBox * wip * chore: vertical panels * cleanup info container * chore: update VoicesPanelsDialog docs and make it more generic * Remove ResponsiveBreakpointKey.other * loose constrains for mobile * PR review updates * chore: typo * chore: remove scroll from dialog vertical panels impl * chore: registration is web only * Enable importing SeedPhrase * chore: minor adjustments * fix: SeedPhrase test * chore: cleanup func name * feat(cat-voices): responsive account page (#3396) * revert ResponsiveStateResolver to use width instead of shortestSide * ColumnsRow updates * AccountPage tiles responsive adjustments * learn more button * cleanup dialogs * more adjustments * discovery deleted confirm * fix: failing test * remove buttons global _launch in favour of LaunchUrlMixin * simplify keychain delete low * remove covariant * fix proposals page for small screens (#3405) * feat(cat-voices): workspace responsiveness (#3401) * feat: adding responsiveness to workspace * chore: remove unused param * chore: review update * feat(cat-voices): catalyst compression with rust (#3370) * chore: upgrade CI * chore: generate code * feat: generate catalyst_compression_native with flutter_rust_bridge * feat: signatures for rust functions * chore: regenerate * feat: implement brotli decoder * feat: add zstd algorithm * chore: replace catalyst_compression with native rust implementation * refactor: rename frb crates * chore: rename compression native to compression * refactor: cleanup unnecessary web prefix * fix: web prefix * feat: add wasm_bindgen module name * fix: add missing param * feat: update flutter_rust_bridge * chore: pin flutter_rust_bridge to git hosted version * feat: custom thread pool * feat: custom thread pool in key derivation package * chore: generated files * feat: config * chore: generate code * chore: cleanup + lints * chore: add compression rust tests * chore: sync missing files * chore: allow github repo * chore: sync configs * chore: fix lints, add code generation to pre-push * chore: cleanup and lint issues * chore: generate code * fix: wrong type * chore: docs and syntax fix * fix: lint issues, regenerate * fix: wasm_bindgen name * fix: lint issues, missing docs * fix: pre-push command fixes * refactor: align naming with other targets * fix: melos issues * chore: cleanup * fix: earthly targets * fix: update pre-push tasks to avoid using melos * chore: spelling * chore: reformat * feat(cat-voices): voting page responsiveness (#3407) * fix(cat-voices): Ada symbol does not render on android (#3409) * fix: google fonts unable to display ada symbol * chore: reformat * chore: reformat * feat(cat-voices): proposal page responsiveness (#3410) * feat: proposal responsiveness * chore: review update * feat(cat-voices): versioning from tags (#3399) * test * tag version without handling suffixes * handling build_name suffixes * remove debug prints * docs * refactor(cat-voices): responsive builder best matching breakpoint (#3421) * refactor: attempt to find best matching breakpoint * refactor: responsive builder usage and responsive padding * refactor: remove other or fallback from responsive widgets * chore: tests * chore: cleanup * refactor: reimplement responsive to allow const constructors * chore: cleanup * chore: reformat * chore: cleanup * chore: more tests * feat(cat-voices): proposal builder responsiveness (#3432) * feat: adding responsiveness * chore: review update * chore: remove unused widget * feat(cat-voices): Responsive app bar (#3434) * refactor: split into more widgets * chore: reformat code * feat: responsive appbar action buttons * feat: update button ui * fix(cat-voices): Running unit tests in earthly on macos (#3477) * fix: running unit tests in earthly in mac on arm64 * fix: cleanup * feat(cat-voices): switch to flutter_rust_bridge iohk fork (#3478) * feat: switch to iohk fork of flutter_rust_bridge * chore: sync cfg * feat: update flutter_rust_bridge version * feat: update flutter rust bridge * feat: lock wasm-bindgen last working version * fix: update flutter_rust_bridge version * fix: ignore unused deps * feat: regenerate code * fix: running unit tests in earthly in mac on arm64 * fix: cleanup * chore: cleanup * chore: sync-cfg * chore(cat-voices): update README with added Platforms mentioned (#3486) * chore: update README with added Platforms mentioned * chore: fix check-markdown * fix: sentry auth token in docker target (#3487) * chore: switch ci to versioned release --------- Co-authored-by: Dominik Toton <[email protected]> Co-authored-by: Dominik Toton <[email protected]> Co-authored-by: Damian Moliński <[email protected]> Co-authored-by: Damian Molinski <[email protected]>
1 parent 46b083f commit e4389b0

File tree

748 files changed

+15544
-11345
lines changed

Some content is hidden

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

748 files changed

+15544
-11345
lines changed

.config/dictionaries/project.dic

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ addrof
66
addrr
77
adminer
88
afinet
9+
allprojects
910
androidx
1011
anypolicy
1112
apirequest
@@ -67,6 +68,7 @@ codepoints
6768
collabs
6869
commitlog
6970
concatcp
71+
configureondemand
7072
coproposers
7173
COSE
7274
coti
@@ -102,6 +104,7 @@ dorny
102104
dotenv
103105
dotenvy
104106
dotglob
107+
downloadsfolder
105108
drep
106109
dreps
107110
dt-iohk
@@ -269,6 +272,7 @@ Pozhylenkov
269272
Precache
270273
Precertificate
271274
preprod
275+
proguard
272276
projectcatalyst
273277
Prokhorenko
274278
proptest
@@ -337,6 +341,7 @@ subchain
337341
Subkey
338342
submiting
339343
subosito
344+
subprojects
340345
svgs
341346
syncable
342347
SYSROOT

.earthlyignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,6 @@
3333
# Rust related
3434

3535
**/target
36+
37+
# iOS related
38+
**/Podfile.lock

.vscode/launch.recommended.json

Lines changed: 183 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,157 +6,285 @@
66
"version": "0.2.0",
77
"configurations": [
88
{
9-
"name": "Catalyst Voices [macOS][DEV]",
9+
"name": "Catalyst [Web][DEV][debug]",
1010
"cwd": "catalyst_voices/apps/voices",
1111
"request": "launch",
1212
"type": "dart",
1313
"flutterMode": "debug",
14-
"program": "lib/configs/main_dev.dart"
14+
"deviceId": "chrome",
15+
"program": "lib/configs/main_web.dart",
16+
"args": [
17+
"--dart-define",
18+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
19+
"--web-header",
20+
"Cross-Origin-Opener-Policy=same-origin",
21+
"--web-header",
22+
"Cross-Origin-Embedder-Policy=require-corp",
23+
"--dart-define=ENV_NAME=dev"
24+
// "--web-port",
25+
// "55555"
26+
]
1527
},
1628
{
17-
"name": "Catalyst Voices [Web][DEV]",
29+
"name": "Catalyst [Web][DEV][profile]",
1830
"cwd": "catalyst_voices/apps/voices",
1931
"request": "launch",
2032
"type": "dart",
21-
"flutterMode": "debug",
33+
"flutterMode": "profile",
34+
"deviceId": "chrome",
2235
"program": "lib/configs/main_web.dart",
2336
"args": [
2437
"--dart-define",
25-
// prod, preprod, dev, relative
26-
"ENV_NAME=dev",
27-
// flutter_rust_bridge: https://cjycode.com/flutter_rust_bridge/manual/miscellaneous/web-cross-origin#when-flutter-run
28-
// drift: https://drift.simonbinder.eu/platforms/web/#additional-headers
38+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
2939
"--web-header",
3040
"Cross-Origin-Opener-Policy=same-origin",
3141
"--web-header",
32-
"Cross-Origin-Embedder-Policy=require-corp"
42+
"Cross-Origin-Embedder-Policy=require-corp",
43+
"--dart-define=ENV_NAME=dev"
3344
]
3445
},
3546
{
36-
"name": "Catalyst Voices [DEV][Debug]",
47+
"name": "Catalyst [Web][DEV][release]",
3748
"cwd": "catalyst_voices/apps/voices",
3849
"request": "launch",
3950
"type": "dart",
40-
"program": "lib/configs/main_dev.dart",
41-
"args": ["--flavor", "dev"]
51+
"flutterMode": "release",
52+
"deviceId": "chrome",
53+
"program": "lib/configs/main_web.dart",
54+
"args": [
55+
"--dart-define",
56+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
57+
"--web-header",
58+
"Cross-Origin-Opener-Policy=same-origin",
59+
"--web-header",
60+
"Cross-Origin-Embedder-Policy=require-corp",
61+
"--dart-define=ENV_NAME=dev"
62+
]
4263
},
4364
{
44-
"name": "Catalyst Voices [DEV][Profile]",
65+
"name": "Catalyst [Web][PREPROD][debug]",
66+
"cwd": "catalyst_voices/apps/voices",
67+
"request": "launch",
68+
"type": "dart",
69+
"flutterMode": "debug",
70+
"deviceId": "chrome",
71+
"program": "lib/configs/main_web.dart",
72+
"args": [
73+
"--dart-define",
74+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
75+
"--web-header",
76+
"Cross-Origin-Opener-Policy=same-origin",
77+
"--web-header",
78+
"Cross-Origin-Embedder-Policy=require-corp",
79+
"--dart-define=ENV_NAME=preprod"
80+
]
81+
},
82+
{
83+
"name": "Catalyst [Web][PREPROD][profile]",
4584
"cwd": "catalyst_voices/apps/voices",
4685
"request": "launch",
4786
"type": "dart",
4887
"flutterMode": "profile",
49-
"program": "lib/configs/main_dev.dart",
50-
"args": ["--flavor", "dev"]
88+
"deviceId": "chrome",
89+
"program": "lib/configs/main_web.dart",
90+
"args": [
91+
"--dart-define",
92+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
93+
"--web-header",
94+
"Cross-Origin-Opener-Policy=same-origin",
95+
"--web-header",
96+
"Cross-Origin-Embedder-Policy=require-corp",
97+
"--dart-define=ENV_NAME=preprod"
98+
]
5199
},
52100
{
53-
"name": "Catalyst Voices [DEV][Release]",
101+
"name": "Catalyst [Web][PREPROD][release]",
54102
"cwd": "catalyst_voices/apps/voices",
55103
"request": "launch",
56104
"type": "dart",
57105
"flutterMode": "release",
58-
"program": "lib/configs/main_dev.dart",
59-
"args": ["--flavor", "dev"]
106+
"deviceId": "chrome",
107+
"program": "lib/configs/main_web.dart",
108+
"args": [
109+
"--dart-define",
110+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
111+
"--web-header",
112+
"Cross-Origin-Opener-Policy=same-origin",
113+
"--web-header",
114+
"Cross-Origin-Embedder-Policy=require-corp",
115+
"--dart-define=ENV_NAME=preprod"
116+
]
60117
},
61118
{
62-
"name": "Catalyst Voices [QA][Debug]",
119+
"name": "Catalyst [Web][PROD][debug]",
63120
"cwd": "catalyst_voices/apps/voices",
64121
"request": "launch",
65122
"type": "dart",
66-
"program": "lib/configs/main_qa.dart",
67-
// Some storages(like db) are bound to port so if you want to keep using same ones onces between builds add --web-port
68-
// "args": ["--web-port", "55555"]
123+
"flutterMode": "debug",
124+
"deviceId": "chrome",
125+
"program": "lib/configs/main_web.dart",
69126
"args": [
70-
"--flavor",
71-
"qa",
72-
// flutter_rust_bridge: https://cjycode.com/flutter_rust_bridge/manual/miscellaneous/web-cross-origin#when-flutter-run
73-
// drift: https://drift.simonbinder.eu/platforms/web/#additional-headers
127+
"--dart-define",
128+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
74129
"--web-header",
75130
"Cross-Origin-Opener-Policy=same-origin",
76131
"--web-header",
77-
"Cross-Origin-Embedder-Policy=require-corp"
132+
"Cross-Origin-Embedder-Policy=require-corp",
133+
"--dart-define=ENV_NAME=prod"
78134
]
79135
},
80136
{
81-
"name": "Catalyst Voices [QA][Profile]",
137+
"name": "Catalyst [Web][PROD][profile]",
82138
"cwd": "catalyst_voices/apps/voices",
83139
"request": "launch",
84140
"type": "dart",
85141
"flutterMode": "profile",
86-
"program": "lib/configs/main_qa.dart",
87-
// Some storages(like db) are bound to port so if you want to keep using same ones onces between builds add --web-port
88-
// "args": ["--web-port", "55555"]
142+
"deviceId": "chrome",
143+
"program": "lib/configs/main_web.dart",
89144
"args": [
90-
"--flavor",
91-
"qa",
92-
// flutter_rust_bridge: https://cjycode.com/flutter_rust_bridge/manual/miscellaneous/web-cross-origin#when-flutter-run
93-
// drift: https://drift.simonbinder.eu/platforms/web/#additional-headers
145+
"--dart-define",
146+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
94147
"--web-header",
95148
"Cross-Origin-Opener-Policy=same-origin",
96149
"--web-header",
97-
"Cross-Origin-Embedder-Policy=require-corp"
150+
"Cross-Origin-Embedder-Policy=require-corp",
151+
"--dart-define=ENV_NAME=prod"
98152
]
99153
},
100154
{
101-
"name": "Catalyst Voices [QA][Release]",
155+
"name": "Catalyst [Web][PROD][release]",
102156
"cwd": "catalyst_voices/apps/voices",
103157
"request": "launch",
104158
"type": "dart",
105159
"flutterMode": "release",
106-
"program": "lib/configs/main_qa.dart",
107-
"args": ["--flavor", "qa"]
160+
"deviceId": "chrome",
161+
"program": "lib/configs/main_web.dart",
162+
"args": [
163+
"--dart-define",
164+
"SENTRY_DSN=REPLACE_WITH_SENTRY_DSN_URL",
165+
"--web-header",
166+
"Cross-Origin-Opener-Policy=same-origin",
167+
"--web-header",
168+
"Cross-Origin-Embedder-Policy=require-corp",
169+
"--dart-define=ENV_NAME=prod"
170+
]
108171
},
109172
{
110-
"name": "Catalyst Voices [PROD][Debug]",
173+
"name": "Catalyst [DEV][debug]",
111174
"cwd": "catalyst_voices/apps/voices",
112175
"request": "launch",
113176
"type": "dart",
114-
"program": "lib/configs/main_prod.dart",
115-
"args": ["--flavor", "prod"]
177+
"deviceId": "",
178+
"flutterMode": "debug",
179+
"program": "lib/configs/main_dev.dart",
180+
"args": [
181+
"--flavor",
182+
"dev"
183+
]
116184
},
117185
{
118-
"name": "Catalyst Voices [PROD][Profile]",
186+
"name": "Catalyst [DEV][profile]",
119187
"cwd": "catalyst_voices/apps/voices",
120188
"request": "launch",
121189
"type": "dart",
190+
"deviceId": "",
122191
"flutterMode": "profile",
123-
"program": "lib/configs/main_prod.dart",
124-
"args": ["--flavor", "prod"]
192+
"program": "lib/configs/main_dev.dart",
193+
"args": [
194+
"--flavor",
195+
"dev"
196+
]
125197
},
126198
{
127-
"name": "Catalyst Voices [PROD][Release]",
199+
"name": "Catalyst [DEV][release]",
128200
"cwd": "catalyst_voices/apps/voices",
129201
"request": "launch",
130202
"type": "dart",
203+
"deviceId": "",
131204
"flutterMode": "release",
132-
"program": "lib/configs/main_prod.dart",
133-
"args": ["--flavor", "prod"]
205+
"program": "lib/configs/main_dev.dart",
206+
"args": [
207+
"--flavor",
208+
"dev"
209+
]
134210
},
135211
{
136-
"name": "Catalyst Voices [PRE:PROD][Debug]",
212+
"name": "Catalyst [PREPROD][debug]",
137213
"cwd": "catalyst_voices/apps/voices",
138214
"request": "launch",
139215
"type": "dart",
216+
"deviceId": "",
217+
"flutterMode": "debug",
140218
"program": "lib/configs/main_preprod.dart",
141-
"args": ["--flavor", "preprod"]
219+
"args": [
220+
"--flavor",
221+
"preprod"
222+
]
142223
},
143224
{
144-
"name": "Catalyst Voices [PRE:PROD][Profile]",
225+
"name": "Catalyst [PREPROD][profile]",
145226
"cwd": "catalyst_voices/apps/voices",
146227
"request": "launch",
147228
"type": "dart",
229+
"deviceId": "",
148230
"flutterMode": "profile",
149231
"program": "lib/configs/main_preprod.dart",
150-
"args": ["--flavor", "preprod"]
232+
"args": [
233+
"--flavor",
234+
"preprod"
235+
]
151236
},
152237
{
153-
"name": "Catalyst Voices [PRE:PROD][Release]",
238+
"name": "Catalyst [PREPROD][release]",
154239
"cwd": "catalyst_voices/apps/voices",
155240
"request": "launch",
156241
"type": "dart",
242+
"deviceId": "",
157243
"flutterMode": "release",
158244
"program": "lib/configs/main_preprod.dart",
159-
"args": ["--flavor", "preprod"]
245+
"args": [
246+
"--flavor",
247+
"preprod"
248+
]
249+
},
250+
{
251+
"name": "Catalyst [PROD][debug]",
252+
"cwd": "catalyst_voices/apps/voices",
253+
"request": "launch",
254+
"type": "dart",
255+
"deviceId": "",
256+
"flutterMode": "debug",
257+
"program": "lib/configs/main_prod.dart",
258+
"args": [
259+
"--flavor",
260+
"prod"
261+
]
262+
},
263+
{
264+
"name": "Catalyst [PROD][profile]",
265+
"cwd": "catalyst_voices/apps/voices",
266+
"request": "launch",
267+
"type": "dart",
268+
"deviceId": "",
269+
"flutterMode": "profile",
270+
"program": "lib/configs/main_prod.dart",
271+
"args": [
272+
"--flavor",
273+
"prod"
274+
]
275+
},
276+
{
277+
"name": "Catalyst [PROD][release]",
278+
"cwd": "catalyst_voices/apps/voices",
279+
"request": "launch",
280+
"type": "dart",
281+
"deviceId": "",
282+
"flutterMode": "release",
283+
"program": "lib/configs/main_prod.dart",
284+
"args": [
285+
"--flavor",
286+
"prod"
287+
]
160288
}
161289
]
162-
}
290+
}

0 commit comments

Comments
 (0)