Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
367 commits
Select commit Hold shift + click to select a range
410200b
Don't vacuum on background task start, fixes crash
tmolitor-stud-tu Jul 27, 2024
609be9c
Add links to faq and considerations for server administrators
tmolitor-stud-tu Jul 27, 2024
d6e58c9
Fix split view on phablets in landscape mode
tmolitor-stud-tu Jul 27, 2024
b6390a5
Emphasize digital sovereignty in onboarding texts
tmolitor-stud-tu Jul 27, 2024
bddff54
Centralize filename sanitization
tmolitor-stud-tu Jul 27, 2024
417d4cd
Make delayable timer unreachables mere alpha-only error notifications
tmolitor-stud-tu Jul 28, 2024
db989ad
Improve onboarding layout
tmolitor-stud-tu Jul 28, 2024
2358273
Add new block types
tmolitor-stud-tu Jul 29, 2024
dd64357
Add pubsub workaround for ejabberd <= 23.01
tmolitor-stud-tu Jul 29, 2024
b0c8fed
Fix flickering of intro screens
tmolitor-stud-tu Jul 27, 2024
a8eaec6
Improve handling of xmpp: uris when already in roster
tmolitor-stud-tu Jul 29, 2024
d650e22
Create description.txt
nautilusx Jul 28, 2024
0d59cf4
Create keywords.txt
nautilusx Jul 28, 2024
7523654
Add missing appstore metadata
tmolitor-stud-tu Jul 29, 2024
00c2aa3
6.4.2-rc1 (#1154)
tmolitor-stud-tu Jul 29, 2024
3c7cb32
Revert "Use an uncompressed PNG if image upload quality is set to 100%"
tmolitor-stud-tu Jul 29, 2024
4237a1f
Add setting to send images as original
tmolitor-stud-tu Jul 29, 2024
ec6fb3f
6.4.2-rc1 (#1155)
tmolitor-stud-tu Jul 29, 2024
d544325
Fix fastlane metadata bugs in beta and stable workflows
tmolitor-stud-tu Jul 30, 2024
af73e74
Make message deletion label in settings translatable
tmolitor-stud-tu Jul 30, 2024
0dafbfe
Update WebRTC lib to 126
tmolitor-stud-tu Jul 31, 2024
220abf2
6.4.2-rc2 (#1158)
tmolitor-stud-tu Jul 31, 2024
7c40dc2
Add workflow to automatically create a PR from beta to stable
tmolitor-stud-tu Jul 31, 2024
9717831
Fix beta build workflow
tmolitor-stud-tu Jul 31, 2024
f6d2fc1
6.4.2-rc2 (#1162)
tmolitor-stud-tu Jul 31, 2024
2e62651
Add beta changelog back in
tmolitor-stud-tu Jul 31, 2024
f194b05
Add setting to not link filetransfers into documents directory
tmolitor-stud-tu Jul 31, 2024
9cb55d5
6.4.2-rc3 (#1163)
tmolitor-stud-tu Jul 31, 2024
b0deefc
Try to fix workflows
tmolitor-stud-tu Jul 31, 2024
7c49311
Merge branch 'beta' into oldstable/6.4-line
tmolitor-stud-tu Aug 1, 2024
62ad804
rust: bump crates
FriedrichAltheide Aug 1, 2024
b438e49
bump webrtc-lib to 127.0.0
FriedrichAltheide Aug 1, 2024
9cee641
rust: bump quick-xml
FriedrichAltheide Aug 1, 2024
2cd3982
Add a French translation of the appstore metadata
linkmauve Aug 1, 2024
d7e810c
Appstore text - RO (#1174)
licaon-kter Aug 1, 2024
2090e5d
Description polish (#1175)
licaon-kter Aug 1, 2024
516e5e0
6.4.2-rc5 (#1173)
tmolitor-stud-tu Aug 1, 2024
a2920d4
Fix romanian language code
tmolitor-stud-tu Aug 1, 2024
d5d2bc8
Use localized appstore description as beta decription, too
tmolitor-stud-tu Aug 1, 2024
d45afe9
6.4.2-rc5 (#1178)
tmolitor-stud-tu Aug 1, 2024
4a7132d
Allow language codes without hyphen
tmolitor-stud-tu Aug 1, 2024
8e71aaf
6.4.2-rc5 (#1179)
tmolitor-stud-tu Aug 1, 2024
124b766
Fix localized beta app info default key
tmolitor-stud-tu Aug 1, 2024
e1c4365
ES (international) translation of description.txt
nemmig Aug 1, 2024
208ff92
Fix stable build workflow
tmolitor-stud-tu Aug 2, 2024
38c7c52
6.4.2-rc6 (#1181)
tmolitor-stud-tu Aug 2, 2024
054542f
Make macos review team happy
tmolitor-stud-tu Aug 2, 2024
89795ba
Fix quicksy build
tmolitor-stud-tu Aug 2, 2024
7a62461
Make sure to open the receivers chat when sharing via sharesheet
tmolitor-stud-tu Aug 2, 2024
87e8fa5
Make sure to not create deadlocks when using our active chats view stack
tmolitor-stud-tu Aug 2, 2024
ddc28b6
Don't show notifications for outgoing media files sent from 2nd device
tmolitor-stud-tu Aug 3, 2024
4ff0cd6
Fix SASL1 to SASL2 upgrade path for LDAP, fixes #1186
tmolitor-stud-tu Aug 3, 2024
0a293da
Improve monal_id_returning_void_block_t type
tmolitor-stud-tu Aug 3, 2024
bc51396
Streamline code for better SASL2 DoS protection
tmolitor-stud-tu Aug 3, 2024
c266241
6.4.3-rc1 (#1191)
tmolitor-stud-tu Aug 3, 2024
efa0b9c
only set plain_activated to true when supports_sasl2 is false
FriedrichAltheide Aug 4, 2024
04c5689
6.4.3-rc2 (#1193)
tmolitor-stud-tu Aug 4, 2024
f13caf0
Fix non-alpha build upload script
tmolitor-stud-tu Aug 4, 2024
baef718
6.4.3-rc3 (#1194)
tmolitor-stud-tu Aug 4, 2024
9b0d5a0
Allow PLAIN auth after account registration
tmolitor-stud-tu Aug 5, 2024
066ae1a
6.4.3-rc4 (#1195)
tmolitor-stud-tu Aug 5, 2024
c672b35
Quicksy - RO fastlane
licaon-kter Aug 7, 2024
83f16d6
Improve github workflows and mail2webhook script
tmolitor-stud-tu Aug 7, 2024
e1c5c1d
Fix crash on incoming filetransfers without pending notification
tmolitor-stud-tu Aug 8, 2024
563fc68
Fix opening of chats when other views are in foreground
tmolitor-stud-tu Aug 11, 2024
31a90e5
Improve SSDP handling
tmolitor-stud-tu Aug 12, 2024
f4d8e06
Fix crash on macOS when removing account or clearing history
tmolitor-stud-tu Aug 12, 2024
1cf132a
Fix semver check in quicksy workflow
tmolitor-stud-tu Aug 12, 2024
3e2c1b8
Fix omemo devicelist fetch handling
tmolitor-stud-tu Aug 12, 2024
7bbf42c
Add new kMonalOmemoFetchingStateUpdate notification
tmolitor-stud-tu Aug 12, 2024
22b2584
Show HUD while loading omemo keys the first time
tmolitor-stud-tu Aug 12, 2024
5ffb13f
Use workaround for ios bug not properly removing share intentions
tmolitor-stud-tu Aug 12, 2024
df02c01
Quicksy - RO fastlane
licaon-kter Aug 7, 2024
31a8352
Improve github workflows and mail2webhook script
tmolitor-stud-tu Aug 7, 2024
418542f
Fix crash on incoming filetransfers without pending notification
tmolitor-stud-tu Aug 8, 2024
3327a79
Fix opening of chats when other views are in foreground
tmolitor-stud-tu Aug 11, 2024
1538c8a
Improve SSDP handling
tmolitor-stud-tu Aug 12, 2024
47972ec
Fix crash on macOS when removing account or clearing history
tmolitor-stud-tu Aug 12, 2024
8ea3a4f
Fix semver check in quicksy workflow
tmolitor-stud-tu Aug 12, 2024
85f8b26
Fix omemo devicelist fetch handling
tmolitor-stud-tu Aug 12, 2024
f2ea552
Add new kMonalOmemoFetchingStateUpdate notification
tmolitor-stud-tu Aug 12, 2024
77b5642
Show HUD while loading omemo keys the first time
tmolitor-stud-tu Aug 12, 2024
cee3822
Use workaround for ios bug not properly removing share intentions
tmolitor-stud-tu Aug 12, 2024
5abfafa
Allow PLAIN for quicksy.im, too
tmolitor-stud-tu Aug 5, 2024
b3b8f08
Make sure to not warn about PLAIN, SASL2 on prosody isn't released yet
tmolitor-stud-tu Aug 11, 2024
e82f572
Fix xmpp: uri handling (qrcode or from other apps)
tmolitor-stud-tu Aug 17, 2024
7a7ea32
6.4.4-rc1 (#1210)
tmolitor-stud-tu Aug 17, 2024
dd14120
Improve PLAIN only warning message when using advanced account menu
tmolitor-stud-tu Aug 20, 2024
d2fa56f
Don't crash in oghtmlparser on big sites
tmolitor-stud-tu Aug 25, 2024
4ed5ad8
Improve the discovery of room names
lissine0 Aug 23, 2024
63ed1e6
Fix crash in app delegate
tmolitor-stud-tu Aug 28, 2024
b8f220e
Don't try to resume a non-paused timer
tmolitor-stud-tu Oct 8, 2024
e818153
Fix deadlock between @synchronized in MLStream and receiveQueue
tmolitor-stud-tu Oct 9, 2024
e3d1ca0
Fix crash when opening settings on iOS 18
matthewrfennell Sep 26, 2024
5b65ce6
Improve deadlock fix
tmolitor-stud-tu Oct 12, 2024
44f55aa
Allow adding gateway components as contacts
lissine0 Sep 20, 2024
61d4698
Make the discovery of jid type more reliable for MUCs
lissine0 Oct 9, 2024
f95b8b3
6.4.5 (#1257)
tmolitor-stud-tu Oct 12, 2024
c6103a9
Bump rust crates
tmolitor-stud-tu Oct 14, 2024
9a82628
Ditch SwiftSoup in favor of rust-based Scraper, fixes #1253
tmolitor-stud-tu Oct 14, 2024
15f7635
Use UIKitWorkaround for own OmemoKeysView
lissine0 Oct 13, 2024
6129ea8
6.4.5rc2 (#1262)
tmolitor-stud-tu Oct 14, 2024
ccf1f04
Add new github workflow to check for semvers in beta/stable PRs
tmolitor-stud-tu Oct 14, 2024
231d709
6.4.5-rc2 (#1264)
tmolitor-stud-tu Oct 14, 2024
df7bf7b
Improve PR semver check
tmolitor-stud-tu Oct 14, 2024
085f90d
6.4.5-rc2 (#1266)
tmolitor-stud-tu Oct 14, 2024
c21138b
Show timestamp of last received push in notification debug menu
tmolitor-stud-tu Oct 15, 2024
42df817
Improve bare muc handling
tmolitor-stud-tu Oct 15, 2024
1081da1
Use dedicated resource string for quicksy users
tmolitor-stud-tu Oct 16, 2024
047cd72
Fix pm bug in eb5da94afff8a27546a630988a4a92be2c6da0d6
tmolitor-stud-tu Oct 19, 2024
e688d9e
Fix unsolicited settings close
tmolitor-stud-tu Oct 20, 2024
967cf60
Fix bug in MLStream on slow connections
tmolitor-stud-tu Nov 2, 2024
530f34d
Fix bogus assertion (possibly some race condition)
tmolitor-stud-tu Nov 8, 2024
daf055a
Fix crash in MLDelayableTimer when calling invalidate
tmolitor-stud-tu Nov 9, 2024
3256769
6.4.6-rc1 (#1287)
tmolitor-stud-tu Nov 9, 2024
2535064
Use dedicated resource string for quicksy users
tmolitor-stud-tu Oct 16, 2024
55ae57a
Fix unsolicited settings close
tmolitor-stud-tu Oct 20, 2024
22ee93a
Fix bug in MLStream on slow connections
tmolitor-stud-tu Nov 2, 2024
05e87e6
Fix bogus assertion (possibly some race condition)
tmolitor-stud-tu Nov 8, 2024
306a44f
Fix crash in MLDelayableTimer when calling invalidate
tmolitor-stud-tu Nov 9, 2024
68d3029
Revert "6.4.6-rc1"
tmolitor-stud-tu Nov 9, 2024
961bbc2
6.4.6-rc2 (#1289)
tmolitor-stud-tu Nov 9, 2024
fe89a77
6.4.6-rc3 (#1290)
tmolitor-stud-tu Nov 9, 2024
b7b4a79
Fix backported code
tmolitor-stud-tu Nov 9, 2024
18f42d2
6.4.6-rc4 (#1291)
tmolitor-stud-tu Nov 9, 2024
e64a13b
Fix backported code
tmolitor-stud-tu Nov 9, 2024
944db5d
Merge branch 'beta' into oldstable/6.4-line
tmolitor-stud-tu Nov 9, 2024
c1f9a5b
6.4.6-rc1 (#1292)
tmolitor-stud-tu Nov 9, 2024
490e41d
Fix double-disconnect assertion when creating unusable account
tmolitor-stud-tu Nov 12, 2024
f09b4a6
Fix regression when doing starttls
tmolitor-stud-tu Nov 12, 2024
b31093f
6.4.6-rc2 (#1294)
tmolitor-stud-tu Nov 12, 2024
58ae3ba
Make sure to suspend the logging on app suspension
tmolitor-stud-tu Nov 20, 2024
1940a12
Add missing db transaction in DataLayer addSelfChatForAccount
tmolitor-stud-tu Nov 21, 2024
513cdec
Fix assertions for canonicalized dns names
tmolitor-stud-tu Nov 21, 2024
8294833
6.4.7-rc1 (#1303)
tmolitor-stud-tu Nov 21, 2024
655f485
Translate the appstore description to Arabic
me00001 Nov 13, 2024
68a8667
Update description.txt
me00001 Nov 13, 2024
c23aa57
Bump pods
tmolitor-stud-tu Nov 21, 2024
d9d3ef1
6.4.7-rc2 (#1305)
tmolitor-stud-tu Nov 21, 2024
ebf016b
Rename arabic language directory to proper ar-AE
tmolitor-stud-tu Nov 21, 2024
d4aa249
6.4.7-rc3 (#1307)
tmolitor-stud-tu Nov 21, 2024
a7d1670
Add debug logging to fastlane uploads
tmolitor-stud-tu Nov 23, 2024
9eca1ac
6.4.7-rc1 (#1310)
tmolitor-stud-tu Nov 23, 2024
1cb5e0a
Revert "Add debug logging to fastlane uploads"
tmolitor-stud-tu Nov 23, 2024
a0032bb
6.4.7-rc2 (#1311)
tmolitor-stud-tu Nov 23, 2024
5326d40
Try to fix beta build using our workaround in fastlane issue 28630
tmolitor-stud-tu Nov 23, 2024
56c0a39
6.4.7-rc3 (#1312)
tmolitor-stud-tu Nov 23, 2024
29ac179
Try to fix beta build workflow again
tmolitor-stud-tu Nov 23, 2024
b325c11
6.4.7-rc1 (#1314)
tmolitor-stud-tu Nov 23, 2024
d3bb98d
Revert "Try to fix beta build workflow again"
tmolitor-stud-tu Nov 24, 2024
e99bd71
Revert "Try to fix beta build using our workaround in fastlane issue …
tmolitor-stud-tu Nov 24, 2024
9268b2e
Rename arabic appstore translation to use proper language code ar-SA
tmolitor-stud-tu Nov 24, 2024
331c790
6.4.7-rc1 (#1315)
tmolitor-stud-tu Nov 24, 2024
df486cf
Fix race condition in new suspension handling
tmolitor-stud-tu Dec 1, 2024
561533d
6.4.7-rc2 (#1318)
tmolitor-stud-tu Dec 1, 2024
97c9615
Always try all omemo prekeys when importing a new bundle
tmolitor-stud-tu Dec 5, 2024
8962eae
Set low watermark of prekeys in own bundle to 90%
tmolitor-stud-tu Dec 5, 2024
61cd5ef
Improve formatting
tmolitor-stud-tu Dec 16, 2024
d0ebcae
Fix locking deadlock on app resume
tmolitor-stud-tu Dec 16, 2024
f691fcd
6.4.8-rc1 (#1329)
tmolitor-stud-tu Dec 16, 2024
1afa0dd
Fix compile time error, thanks matthew
tmolitor-stud-tu Dec 17, 2024
96735a4
6.4.8-rc1 (#1332)
tmolitor-stud-tu Dec 17, 2024
dfb88c3
Use real threads for extra runloops rather than dispatch queues
tmolitor-stud-tu Nov 27, 2024
974a840
6.4.8-rc1 (#1334)
tmolitor-stud-tu Dec 17, 2024
9c473e8
Fix backport compile error
tmolitor-stud-tu Dec 17, 2024
ee47cc7
6.4.8-rc1 (#1335)
tmolitor-stud-tu Dec 17, 2024
48744e0
Fix password migration to not enable accounts without password
tmolitor-stud-tu Dec 17, 2024
22bdd16
6.4.8-rc2 (#1336)
tmolitor-stud-tu Dec 17, 2024
ea1cfcd
Fix ui glitch in password migration ui
tmolitor-stud-tu Dec 17, 2024
ff8cead
Shorten logging when starting transaction for stanza
tmolitor-stud-tu Dec 19, 2024
3186013
Workaround for stun/turn credentials bug in ejabberd <= 24.10
tmolitor-stud-tu Dec 19, 2024
72293f3
Use christmas logo
tmolitor-stud-tu Dec 18, 2024
6b279ea
6.4.8-rc3 (#1339)
tmolitor-stud-tu Dec 22, 2024
7118cca
Strip off < and > signs in changelog to make apple happy
tmolitor-stud-tu Dec 22, 2024
870980c
6.4.8-rc3 (#1341)
tmolitor-stud-tu Dec 22, 2024
f8184da
Don't create stable pr as draft
tmolitor-stud-tu Dec 22, 2024
224c91f
Fix syntax error in build workflows
tmolitor-stud-tu Dec 22, 2024
bb2cf2e
6.4.8-rc3 (#1344)
tmolitor-stud-tu Dec 22, 2024
684e4e5
Revert "Use christmas logo"
tmolitor-stud-tu Dec 31, 2024
d798d54
Don't pile up already fired ping request delaying timers
tmolitor-stud-tu Dec 24, 2024
78f221b
Add more logging to xmpp.m
tmolitor-stud-tu Dec 24, 2024
3dbfe20
Fix weird apple foo creating a second (unusable) framer
tmolitor-stud-tu Dec 24, 2024
9dad64e
Fix KVOObserver usage in ContactEntry
tmolitor-stud-tu Dec 27, 2024
3f5e630
Fix crash on LMC replace without id (spec violation!)
tmolitor-stud-tu Dec 31, 2024
e38e8cf
Send out log messages via UDP even if global logging queue is suspended
tmolitor-stud-tu Dec 29, 2024
ab22e7c
Fix weird double shutdown bug
tmolitor-stud-tu Dec 29, 2024
63f5691
Request background task before disconnecting
tmolitor-stud-tu Dec 29, 2024
be14aa0
Ping mucs on open to make sure we are still joined
tmolitor-stud-tu Dec 29, 2024
cf9544a
Bump all rust dependencies
tmolitor-stud-tu Dec 31, 2024
5692f8c
Bump cocoapods
tmolitor-stud-tu Dec 31, 2024
38011e5
Make sure to not crash in udp logger
tmolitor-stud-tu Jan 3, 2025
4cfce1e
Fix appex reporting in crash reports
tmolitor-stud-tu Jan 3, 2025
f20e28f
Make gateway detection more reliable when generating a room address
lissine0 Jan 3, 2025
a3c09e4
Update the copyright notice to 2025
lissine0 Jan 2, 2025
318162b
Add new action to block subscription requests, fixes #1320
tmolitor-stud-tu Jan 4, 2025
5a0f76a
Improve UDP logging while logger queue is suspended
tmolitor-stud-tu Dec 31, 2024
6fda990
Fix ios 14 compatibility
tmolitor-stud-tu Jan 4, 2025
1df1685
Revert "Use christmas logo"
tmolitor-stud-tu Dec 31, 2024
e73cfe1
Don't pile up already fired ping request delaying timers
tmolitor-stud-tu Dec 24, 2024
214a942
Add more logging to xmpp.m
tmolitor-stud-tu Dec 24, 2024
1735d39
Fix weird apple foo creating a second (unusable) framer
tmolitor-stud-tu Dec 24, 2024
d0d3c90
Fix KVOObserver usage in ContactEntry
tmolitor-stud-tu Dec 27, 2024
b494a6f
Fix crash on LMC replace without id (spec violation!)
tmolitor-stud-tu Dec 31, 2024
7443af1
Send out log messages via UDP even if global logging queue is suspended
tmolitor-stud-tu Dec 29, 2024
caf0279
Fix weird double shutdown bug
tmolitor-stud-tu Dec 29, 2024
fb037e6
Request background task before disconnecting
tmolitor-stud-tu Dec 29, 2024
adc278e
Ping mucs on open to make sure we are still joined
tmolitor-stud-tu Dec 29, 2024
d2e8308
Bump all rust dependencies
tmolitor-stud-tu Dec 31, 2024
2404dab
Bump cocoapods
tmolitor-stud-tu Dec 31, 2024
6e87d59
Make sure to not crash in udp logger
tmolitor-stud-tu Jan 3, 2025
24b8c55
Fix appex reporting in crash reports
tmolitor-stud-tu Jan 3, 2025
5507708
Make gateway detection more reliable when generating a room address
lissine0 Jan 3, 2025
0a7c23f
Update the copyright notice to 2025
lissine0 Jan 2, 2025
733f7d5
Add new action to block subscription requests, fixes #1320
tmolitor-stud-tu Jan 4, 2025
de58c0d
Improve UDP logging while logger queue is suspended
tmolitor-stud-tu Dec 31, 2024
a47d13e
Fix ios 14 compatibility
tmolitor-stud-tu Jan 4, 2025
04186f6
6.4.9-rc1 (#1359)
tmolitor-stud-tu Jan 4, 2025
d7550ff
Fix backported code
tmolitor-stud-tu Jan 4, 2025
7d83e64
6.4.9-rc1 (#1361)
tmolitor-stud-tu Jan 4, 2025
d59c3dd
Let stable pr creation workflow properly trigger our semver test
tmolitor-stud-tu Jan 4, 2025
e23fe84
Don't flush ddlog when flushing stdout or stderr stream redirector
tmolitor-stud-tu Jan 4, 2025
4851c91
Don't lock up app on close on macos
tmolitor-stud-tu Jan 4, 2025
b834631
6.4.9-rc2 (#1364)
tmolitor-stud-tu Jan 8, 2025
ced71b5
Fix termination logging
tmolitor-stud-tu Jan 8, 2025
47261ac
6.4.9-rc2 (#1365)
tmolitor-stud-tu Jan 8, 2025
593140f
Fix crash on bootup termination
tmolitor-stud-tu Jan 9, 2025
d39c644
6.4.9-rc3 (#1368)
tmolitor-stud-tu Jan 9, 2025
9c28f1d
Remove invalid XML characters before sending a message
lissine0 Jan 22, 2025
79229f2
Add a debug setting to invalidate all account states
lissine0 Jan 22, 2025
399d18c
6.4.10-rc1 (#1378)
tmolitor-stud-tu Jan 23, 2025
a75bf0e
Restrict all permissions for eligible workflows
matthewrfennell Jan 19, 2025
fe7973c
Specify permissions for build-push workflows
matthewrfennell Jan 19, 2025
5de61c6
Specify permissions for develop-push
matthewrfennell Jan 19, 2025
0004baa
Specify permissions for publish-stable-release
matthewrfennell Jan 19, 2025
951c7e5
Specify permissions for create-stable-pr
matthewrfennell Jan 19, 2025
6957d64
Specify permissions for update-translations
matthewrfennell Jan 21, 2025
25a63bb
Use xcbeautify in build script
matthewrfennell Jan 23, 2025
3880290
Use xcbeautify in localization script
matthewrfennell Jan 23, 2025
276e67d
6.4.10-rc1 (#1379)
tmolitor-stud-tu Jan 23, 2025
710f53b
Fix ssdp separator
tmolitor-stud-tu Jan 23, 2025
8217159
Improve account reset implementation accessible from debug menu
tmolitor-stud-tu Jan 24, 2025
40a4970
6.4.10-rc2 (#1383)
tmolitor-stud-tu Jan 24, 2025
d09d07d
Fix many macro bugs
tmolitor-stud-tu Jan 25, 2025
705ce81
6.4.10-rc2 (#1384)
tmolitor-stud-tu Jan 25, 2025
f01657a
Fix reset button improvement in 8217159de6d1595a17ff1dbd13167d918fc5005f
tmolitor-stud-tu Jan 25, 2025
fc1bc7c
6.4.10-rc2 (#1385)
tmolitor-stud-tu Jan 25, 2025
b1e30bf
Fix character filtering
tmolitor-stud-tu Jan 26, 2025
9696aff
6.4.10-rc3 (#1386)
tmolitor-stud-tu Jan 26, 2025
57c4c0b
Fix invalid xml filtering
tmolitor-stud-tu Jan 26, 2025
c44acab
6.4.10-rc3 (#1387)
tmolitor-stud-tu Jan 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 81 additions & 8 deletions .github/workflows/beta.build-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:

workflow_dispatch:

permissions: {}

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
Expand All @@ -27,6 +29,9 @@ jobs:
EXPORT_OPTIONS_CATALYST_APPSTORE: "../scripts/exportOptions/Stable_Catalyst_ExportOptions.plist"
EXPORT_OPTIONS_CATALYST_APP_EXPORT: "../scripts/exportOptions/Beta_Catalyst_ExportOptions.plist"
EXPORT_OPTIONS_IOS: "../scripts/exportOptions/Beta_iOS_ExportOptions.plist"
permissions:
actions: write # needed to upload artifacts
contents: write # needed for git push
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
Expand All @@ -39,9 +44,16 @@ jobs:
lfs: true
- name: Checkout submodules
run: git submodule update -f --init --remote
- name: Check for proper semantic versioning
run: |
version="$(git log -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1/g')"
if ! [[ "$version" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$ ]]; then
echo "Invalid semver: '$version'!"
exit 1
fi
- name: Get last build tag and increment it
run: |
oldBuildNumber=$(git tag --sort="v:refname" |grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
oldBuildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | grep -v "Quicksy_Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
buildNumber=$(expr $oldBuildNumber + 1)
echo "New buildNumber is $buildNumber"
git tag Build_iOS_$buildNumber
Expand All @@ -64,7 +76,10 @@ jobs:
printf("\n")
}'
}
buildNumber="$(git tag --sort="v:refname" | grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')"
function replace_unwanted_chars {
sed -e 's/>=/greater or equal than/g' -e 's/<=/lower or equal than/g' -e 's/>/greater than/g' -e 's/</lower than/g'
}
buildNumber="$(git tag --sort="v:refname" | grep "Build_iOS" | grep -v "Quicksy_Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')"
version="$(git log -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1/g')"
mkdir -p /Users/ci/releases
OUTPUT_FILE="/Users/ci/releases/$buildNumber.output"
Expand All @@ -83,11 +98,11 @@ jobs:
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "notes_ios<<__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*MACOS_ONLY.*$' | sed -E 's/^[\t\n ]*IOS_ONLY[\t\n ]?(.*)$/\1/g' | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*MACOS_ONLY.*$' | sed -E 's/^[\t\n ]*IOS_ONLY[\t\n ]?(.*)$/\1/g' | replace_unwanted_chars | tee /dev/stderr >> "$OUTPUT_FILE"
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

echo "notes_macos<<__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*IOS_ONLY.*$' | sed -E 's/^[\t\n ]*MACOS_ONLY[\t\n ]?(.*)$/\1/g' | tee /dev/stderr >> "$OUTPUT_FILE"
echo "$(git log -n 1 --merges --pretty=format:%b)" | repairNotes | grep -v '^[\t\n ]*IOS_ONLY.*$' | sed -E 's/^[\t\n ]*MACOS_ONLY[\t\n ]?(.*)$/\1/g' | replace_unwanted_chars | tee /dev/stderr >> "$OUTPUT_FILE"
echo "__EOF__" | tee /dev/stderr >> "$OUTPUT_FILE"

cat "$OUTPUT_FILE" >> "$GITHUB_OUTPUT"
Expand Down Expand Up @@ -124,14 +139,65 @@ jobs:
run: xcrun altool --validate-app --file ./Monal/build/ipa/Monal.ipa --type ios --asc-provider S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
- name: Push beta tag to repo
run: |
buildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
buildNumber=$(git tag --sort="v:refname" | grep "Build_iOS" | grep -v "Quicksy_Build_iOS" | tail -n1 | sed 's/Build_iOS_//g')
git push origin Build_iOS_$buildNumber
# - name: Create fastlane whatsNew hash in environment
# id: buildinfo
# env:
# CHANGELOG_IOS: ${{ steps.releasenotes.outputs.notes_ios }}
# CHANGELOG_MACOS: ${{ steps.releasenotes.outputs.notes_macos }}
# run: |
# get_changelog() {
# local escaped=$(printf '%s\n' "$1" | jq -sRr @json)
# local json="{\"default\": {\"whats_new\": $escaped},"
# # for dir in ./appstore_metadata/*/; do
# # dir="$(basename "$dir")"
# # if [[ -d "./appstore_metadata/$dir" ]]; then
# # json="$json\"${dir%/}\": {\"whats_new\": $escaped},"
# # fi
# # done
# json="${json%,}}"
# echo "$json"
# }
# echo "buildinfo_ios<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# echo "$(get_changelog "$CHANGELOG_IOS")" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
#
# echo "buildinfo_macos<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# echo "$(get_changelog "$CHANGELOG_MACOS")" | tee /dev/stderr >> "$GITHUB_OUTPUT"
# echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
- name: Create fastlane localized_app_info hash in environment
id: appinfo
run: |
build_appinfo_entry() {
local escaped_marketing_url=$(cat ./appstore_metadata/$1/marketing_url.txt | jq -sRr @json)
local escaped_privacy_policy_url=$(cat ./appstore_metadata/$1/privacy_url.txt | jq -sRr @json)
local escaped_description=$(cat ./appstore_metadata/$1/description.txt | jq -sRr @json)
local json="{\"feedback_email\": \"[email protected]\", \"marketing_url\": $escaped_marketing_url, \"privacy_policy_url\": $escaped_privacy_policy_url, \"description\": $escaped_description}"
echo "$json"
}

json="{"
json="$json\"default\": $(build_appinfo_entry "en-US"),"
for dir in ./appstore_metadata/*/; do
dir="$(basename "$dir")"
if [[ -d "./appstore_metadata/$dir" ]]; then
json="$json\"${dir%/}\": $(build_appinfo_entry "${dir%/}"),"
fi
done
json="${json%,}}"

echo "appinfo<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "$json" | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
- name: Publish ios to appstore connect
#run: xcrun altool --upload-app -f ./Monal/build/ipa/Monal.ipa --type ios --asc-provider S8D843U34Y --team-id S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)"
env:
#PILOT_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_ios }}
PILOT_LOCALIZED_APP_INFO: ${{ steps.appinfo.outputs.appinfo }}
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_ios }}
run: |
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" ipa:"./Monal/build/ipa/Monal.ipa" distribute_external:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" ipa:"./Monal/build/ipa/Monal.ipa" distribute_external:true notify_external_testers:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
- name: Notarize catalyst
run: xcrun notarytool submit ./Monal/build/app/Monal.zip --wait --team-id S8D843U34Y --key "/Users/ci/appstoreconnect/apiKey.p8" --key-id "$(cat /Users/ci/appstoreconnect/apiKeyId.txt)" --issuer "$(cat /Users/ci/appstoreconnect/apiIssuerId.txt)"
- name: staple
Expand All @@ -152,13 +218,18 @@ jobs:
path: Monal/build/app/Monal.pkg
if-no-files-found: error
- name: Upload new catalyst beta to monal-im.org
run: ./scripts/uploadNonAlpha.sh beta
env:
UPLOAD_TYPE: beta
buildNumber: ${{ steps.releasenotes.outputs.buildNumber }}
run: ./scripts/uploadNonAlpha.sh
- name: Publish catalyst to appstore connect
#run: xcrun altool --upload-app --file ./Monal/build/app/Monal.pkg --type macos --asc-provider S8D843U34Y -u "$(cat /Users/ci/apple_connect_upload_mail.txt)" -p "$(cat /Users/ci/apple_connect_upload_secret.txt)" --primary-bundle-id org.monal-im.prod.catalyst.monal
env:
#PILOT_LOCALIZED_BUILD_INFO: ${{ steps.buildinfo.outputs.buildinfo_macos }}
PILOT_LOCALIZED_APP_INFO: ${{ steps.appinfo.outputs.appinfo }}
PILOT_CHANGELOG: ${{ steps.releasenotes.outputs.notes_macos }}
run: |
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" pkg:"./Monal/build/app/Monal.pkg" distribute_external:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
fastlane run upload_to_testflight api_key_path:"/Users/ci/appstoreconnect/key.json" team_id:"S8D843U34Y" pkg:"./Monal/build/app/Monal.pkg" distribute_external:true notify_external_testers:true groups:"Internal Pre-Beta Testers","Public Beta" reject_build_waiting_for_review:true submit_beta_review:true
- name: Release
uses: softprops/action-gh-release@v2
with:
Expand All @@ -184,6 +255,8 @@ jobs:
APP_NAME: "Monal"
APP_DIR: "Monal.app"
BUILD_TYPE: "Beta"
permissions:
contents: write # needed for git push in updateLocalization
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
Expand Down
135 changes: 135 additions & 0 deletions .github/workflows/create-stable-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: Create Pull Request from Beta to Stable

on:
push:
branches: [ beta ]
workflow_dispatch:

permissions: {}

jobs:
create-pull-request:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Checkout Beta Branch
uses: actions/checkout@v4
with:
clean: true
submodules: true
fetch-depth: 100
fetch-tags: true
show-progress: true
lfs: true
ref: beta
- name: Checkout Stable Branch
run: |
git fetch --all
git checkout stable
git branch
- name: Get Merge Commits from Beta not in Stable
id: get_commits
run: |
function repairNotes {
sed 's/\r//g' | awk '{
if (NR == 1) {
printf("%s", $0)
} else {
if ($0 ~ /^[\t ]*(-|IOS_ONLY[\t ]*-|MACOS_ONLY[\t ]*-).*$/) {
printf("\n%s", $0)
} else {
printf(" %s", $0)
}
}
}
END {
printf("\n")
}'
}
echo "Extracting merge commit texts..."
version="$(git log beta -n 1 --merges --pretty=format:%s | sed -E 's/^[\t\n ]*([^\n\t ]+)[\t\n ]+\(([^\n\t ]+)\)[\t\n ]*$/\1/g')"
echo "version=$version" | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "buildVersion=$(echo "$version" | grep -oE '^[0-9]+(\.[0-9]+){0,2}')" | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "description<<__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "$(git log stable..beta --merges --pretty=format:%b)" | repairNotes | tee /dev/stderr >> "$GITHUB_OUTPUT"
echo "__EOF__" | tee /dev/stderr >> "$GITHUB_OUTPUT"
- name: Find Existing Pull Request
id: find_pr
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
const { data: pullRequests } = await github.rest.pulls.list({
owner,
repo,
state: 'open',
head: 'beta',
base: 'stable'
});
const existingPR = pullRequests.find(pr => pr.labels.some(label => label.name === 'automated-pr'));
console.log(`Existing PR: `, existingPR);
if(existingPR)
return existingPR.number;
else
return null;
- name: Create or Update Pull Request
id: create_or_update_pr
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
const prNumber = ${{ steps.find_pr.outputs.result }};
let pullRequest;
if(prNumber)
{
console.log(`Updating old PR #${prNumber}...`);
pullRequest = await github.rest.pulls.update({
owner,
repo,
pull_number: prNumber,
title: `${{ steps.get_commits.outputs.buildVersion }}`,
body: `${{ steps.get_commits.outputs.description }}`,
});
console.log(`Updated pull request #${prNumber}`);
}
else
{
console.log(`Creating new PR...`);
pullRequest = await github.rest.pulls.create({
owner,
repo,
head: 'beta',
base: 'stable',
draft: false,
title: `${{ steps.get_commits.outputs.buildVersion }}`,
body: `${{ steps.get_commits.outputs.description }}`,
});
console.log(`Created pull request #${pullRequest.data.number}`);
//update pr after creation to trigger our pr-semver-title workflow
pullRequest = await github.rest.pulls.update({
owner,
repo,
pull_number: pullRequest.data.number,
title: `${{ steps.get_commits.outputs.buildVersion }}`,
body: `${{ steps.get_commits.outputs.description }}`,
});
console.log(`Updated pull request #${pullRequest.data.number}`);
}
return pullRequest.data.number;
- name: Add Label to Pull Request
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
const pullNumber = ${{ steps.create_or_update_pr.outputs.result }};
await github.rest.issues.addLabels({
owner,
repo,
issue_number: pullNumber,
labels: ['automated-pr']
});
console.log(`Added label to pull request #${pullNumber}`);
4 changes: 4 additions & 0 deletions .github/workflows/develop-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:

workflow_dispatch:

permissions: {}

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
Expand All @@ -27,6 +29,8 @@ jobs:
ALPHA_UPLOAD_SECRET: ${{ secrets.ALPHA_UPLOAD_SECRET }}
EXPORT_OPTIONS_CATALYST_APP_EXPORT: "../scripts/exportOptions/Alpha_Catalyst_ExportOptions.plist"
EXPORT_OPTIONS_IOS: "../scripts/exportOptions/Alpha_iOS_ExportOptions.plist"
permissions:
actions: write # needed to upload artifacts
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v4
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/pr-semver-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Check PR title for proper semver

on:
pull_request:
branches:
- beta
- stable

workflow_dispatch:
inputs:
pr_number:
description: "Pull request number to check"
required: true
type: number

permissions: {}

jobs:
check-pr-semver-title:
runs-on: ubuntu-latest
name: Validate PR Title

steps:
- name: Get PR details
id: find_pr
run: |
if [ -z "${{ github.event.inputs.pr_number }}" ]; then
prNumber=${{ github.event.pull_request.number }}
else
prNumber=${{ github.event.inputs.pr_number }}
fi
echo "prNumber=$prNumber" | tee /dev/stderr >> "$GITHUB_OUTPUT"
- name: Fetch pull request title
id: pr_title
uses: actions/github-script@v7
with:
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split("/");
const prNumber = ${{ steps.find_pr.outputs.prNumber }};
const { data: pull_request } = await github.rest.pulls.get({
owner: owner,
repo: repo,
pull_number: prNumber
});
return pull_request.title;
- name: Check PR title format
run: |
version="${{ steps.pr_title.outputs.result }}"
if ! [[ "$version" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$ ]]; then
echo "Invalid semver: '$version'!"
exit 1
fi
echo "Version is proper semver: $version"

Loading
Loading