Repository navigation
Expand file tree
/
Copy pathpubspec.yaml
More file actions
174 lines (155 loc) · 5.96 KB
/
Copy pathpubspec.yaml
File metadata and controls
174 lines (155 loc) · 5.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
name: nym_bar
description: "Experience the future of decentralized communication with Nymchat, a sleek and secure shell app that wraps around our powerful PWA, delivering instant notifications and seamless external browsing for an uncompromised user experience."
publish_to: "none"
version: 3.75.545+625
environment:
sdk: ^3.13.0
flutter: ">=3.47.1"
dependencies:
flutter:
sdk: flutter
cupertino_icons: any
# State management
flutter_riverpod: ^2.5.1
riverpod_annotation: ^2.3.5
# Nostr / crypto
bip340: ^0.3.0
# Native libsecp256k1 BIP340 verification (~100× the pure-Dart bip340 verify
# speed); coinlib_flutter bundles the shared library per platform. Pure-Dart
# bip340 remains the signing path and the verify fallback (see
# core/crypto/native_schnorr.dart).
coinlib: ^5.0.0
coinlib_flutter: ^5.0.1
# Direct FFI binding of secp256k1_ecdh (the library coinlib bundles) for
# NIP-44's raw-X ECDH — coinlib's own ecdh() hashes the point, which NIP-44
# can't use (see core/crypto/native_ecdh_ffi.dart).
ffi: ^2.1.0
pointycastle: ^3.9.1
cryptography: ^2.7.0
elliptic: ^0.4.0
convert: ^3.1.1
crypto: ^3.0.5
bech32: ^0.2.2
# Networking
web_socket_channel: ^3.0.1
http: ^1.0.0
# Storage
shared_preferences: ^2.5.5
sqflite_sqlcipher: ^3.4.1
path_provider: ^2.1.6
path: ^1.9.0
flutter_secure_storage: ^9.2.2
# Media / files
gal: ^2.0.0
image_picker: ^1.2.3
file_picker: ^11.0.3
file_selector: ^1.1.0
cached_network_image: ^3.4.1
flutter_cache_manager: ^3.4.1
share_plus: ^12.0.2
url_launcher: any
# Inline video playback for video messages / galleries (PWA <video>).
video_player: ^2.14.0
record: ^7.1.1
camera: ^0.12.1
image: ^4.10.1
# Realtime media
flutter_webrtc: ^1.6.2+hotfix.4
# Notifications
flutter_local_notifications: ^22.3.1
permission_handler: ^12.0.1
# Foreground playback of the synthesized notification tones (notifications.js
# Web Audio equivalent — we feed it the rendered WAV bytes).
audioplayers: ^6.8.1
# QR (generation only — the PWA has no camera QR-scanning, so the
# mobile_scanner plugin was unused; it was also the sole driver of the iOS
# 15.5 deployment floor that broke the CocoaPods install).
qr_flutter: ^4.1.0
# Geolocation — the GPS source for proximity channel sort (the PWA's
# `navigator.geolocation.getCurrentPosition`, app.js:3917). permission_handler
# already gates the grant; geolocator fetches the actual coordinates.
geolocator: ^14.0.2
# Auth / biometrics
local_auth: ^3.0.2
google_sign_in: ^7.2.0
sign_in_with_apple: ^8.2.0
# UI helpers
flutter_svg: ^2.3.0
app_links: ^7.2.1
emoji_picker_flutter: ^4.5.4
visibility_detector: ^0.4.0+2
# Scroll-to-index for the message list (jump-to-quoted-message), since a plain
# ListView can't land on an off-screen, lazily-built item.
scrollable_positioned_list: ^0.3.8
# Utils
intl: ^0.20.3
collection: ^1.18.0
uuid: ^4.5.1
bluetooth_low_energy: ^6.2.1
dev_dependencies:
flutter_test:
sdk: flutter
fake_async: any
flutter_lints: any
flutter_launcher_icons: any
riverpod_generator: ^2.4.0
build_runner: ^2.4.13
riverpod_lint: ^2.3.13
sqflite_common_ffi: '>=2.3.7+1 <2.4.0'
# Imported directly by wallpaper_cache_test's fake path provider. They arrive
# transitively via path_provider, but a direct import needs a direct
# dependency (`depend_on_referenced_packages`) or the version it compiles
# against is whatever another package happens to pull in.
path_provider_platform_interface: any
plugin_platform_interface: any
flutter:
uses-material-design: true
assets:
- assets/images/
- assets/text/
- assets/data/
# Filter packs, the same JSON the PWA serves from /data/filter-packs.
# Bundled rather than fetched so a phone filters while offline. Flutter
# does not recurse into asset subdirectories, so this line is required
# even though assets/data/ is already listed.
- assets/data/filter-packs/
# Pre-translated interface packs, one per language. Bundled rather than
# fetched so a language switch is instant and works with no network — see
# assets/i18n/README.md. Flutter loads an asset only when it is asked for,
# so carrying 132 of them costs bundle size, not memory.
- assets/i18n/
# Bundled Roboto for the primary UI sans — guarantees correct line metrics on
# any device (including de-Googled / minimal Android builds whose system font
# set Flutter can't reach). Emoji and symbol glyphs are rendered by the OS's
# native fallback (Apple Color Emoji on iOS, Noto Color Emoji on Android),
# which Flutter resolves automatically — bundling NotoColorEmoji.ttf is too
# large for App Store builds (~24MB) and unnecessary on platforms with a
# native color-emoji font.
fonts:
- family: Roboto
fonts:
- asset: assets/fonts/Roboto-Thin.ttf
weight: 100
- asset: assets/fonts/Roboto-Regular.ttf
- asset: assets/fonts/Roboto-Medium.ttf
weight: 500
- asset: assets/fonts/Roboto-Bold.ttf
weight: 700
# Bundled broad TEXT sans fallback so glyphs the primary Roboto lacks still
# resolve instead of tofu boxes — the bitcoin sign ₿ (U+20BF), extra currency
# / punctuation / dashes, Greek / Cyrillic. Deliberately a plain text sans
# with NO emoji-range glyphs: a monochrome SYMBOL font here would shadow the
# OS COLOUR emoji for dual-presentation codepoints (⚡ ★ ☂ ❤ …), painting them
# as black outlines. Colour emoji stay on the OS native font (Apple Color
# Emoji on iOS) to match the PWA and avoid an ~11MB binary bump. Also drives
# the satoshi ₿ / matrix watermark TextPainter (cosmetics.dart).
- family: Noto Sans
fonts:
- asset: assets/fonts/NotoSans-Regular.ttf
flutter_launcher_icons:
android: true
ios: true
image_path: assets/images/NYM-favicon.png
remove_alpha_ios: true
adaptive_icon_foreground: assets/images/NYM-circle.png
adaptive_icon_background: "#0A0A0F"