512 Commits

Author SHA1 Message Date
Jan
37ff73e6a4 feat(mobile): add ios 2022-06-22 22:21:18 +02:00
Jan
70a1ad5412 feat(mobile): add android 2022-06-22 21:38:21 +02:00
Jan
7611099d6d feat: add capacitor.js 2022-06-22 21:36:30 +02:00
Paul Makles
95ebd935ed fix: duct-tape fix the bot edit issues
fixes #629
2022-06-21 11:14:51 +01:00
Paul Makles
3b7c1cbe20 chore(ci): allow any tag [skip ci] 2022-06-21 11:14:04 +01:00
Paul Makles
cb0a521473 fix: no client context on ModifyAccount
fix: no reactivity on account settings

closes #706
fixes #683
fixes #702
2022-06-21 10:57:58 +01:00
Paul Makles
aa9974149c fix: bump @revoltchat/ui 2022-06-18 17:13:00 +01:00
Paul Makles
569864167e fix: consider whether alert is present in height calc 2022-06-18 17:05:05 +01:00
Paul Makles
f185dec461 feat: handle system alerts and poll rate changes 2022-06-18 17:03:04 +01:00
Paul Makles
03e177f865 feat(modal): implement new server identity modal
closes #172
2022-06-18 15:54:17 +01:00
Paul Makles
f685352963 fix: temporarily hack in mention to profile flow 2022-06-18 15:06:24 +01:00
Paul Makles
6755217ad2 feat(modal): port ModifyAccount and PendingRequest 2022-06-18 15:02:59 +01:00
Paul Makles
211ff2058a chore: remove legacy Redux migration 2022-06-18 14:49:59 +01:00
Paul Makles
b7be9f8c03 feat(modal): port LinkWarning 2022-06-18 14:19:31 +01:00
Paul Makles
241b9cd27b feat(modal): port Clipboard 2022-06-18 12:33:22 +01:00
Paul Makles
d10bd96900 feat(modal): port Error and ShowToken 2022-06-18 12:25:56 +01:00
Paul Makles
374be319c4 feat(modals): port SignedOut and SignOutSessions 2022-06-18 11:56:05 +01:00
Paul Makles
0ee7b73d61 feat: re-work modal behaviour to be more natural 2022-06-18 11:22:37 +01:00
Paul Makles
63d5f6bb7d fix: show update button on native if frame off 2022-06-17 16:57:13 +01:00
Leda
34e6995d86 fix: modify account, and create bot forms not being submitted (#697) 2022-06-17 16:51:10 +01:00
Paul Makles
a1ef1dce5e fix: remove status request
closes #685
closes #643
2022-06-17 16:50:48 +01:00
Paul Makles
a190a51d0b fix(qr): render the QR code consistently 2022-06-14 18:01:19 +01:00
Paul Makles
c9127d6cf3 fix(css): please let the torture stop 2022-06-14 17:21:52 +01:00
div2005
f0d2e31b17 fix: bottom nav alignment is wrong (#684)
Co-authored-by: div2005 <div2005@tuta.io>
Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-06-14 17:19:18 +01:00
Paul Makles
220a28a151 fix: bottom nav button alignment
fixes #679
2022-06-14 17:16:18 +01:00
Paul Makles
b44779c89a fix: user picker checkbox + width
fixes #657
fixes #681
2022-06-14 17:10:59 +01:00
Paul Makles
5835064219 chore: fix merge conflicts 2022-06-14 16:30:42 +01:00
Paul Makles
b9da79bc11 chore: bump preact-context-menu 2022-06-14 16:27:46 +01:00
Leda
ba99cbaf2a fix: bug in user/channel mention when query text is empty (#659) 2022-06-14 15:24:13 +01:00
Leda
fc0c7611d4 fix: bug where channel icon scales with channel name (#661)
Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-06-14 15:23:58 +01:00
Leda
2e9c013ed8 fix: display voice channel as link in messages (#658)
* fix: display voice channel as link in messages

* chore: format
2022-06-14 15:17:00 +01:00
Leda
3e40a61624 fix: bug in join server button when in light theme (#660) 2022-06-14 15:13:31 +01:00
Paul Makles
4e22ccb2f7 chore: duct-tape fix for semver library breaking 2022-06-12 22:24:29 +01:00
Paul Makles
00718245f9 fix: make the changelog button in settings work 2022-06-12 22:21:23 +01:00
Paul Makles
cd8ab6739b feat: add changelog modal 2022-06-12 22:19:41 +01:00
Paul Makles
5eabd2861f chore: unlink components 2022-06-12 21:19:27 +01:00
Paul Makles
a404ff7fe0 feat: add auto-update and out-of-date indicator 2022-06-12 21:16:42 +01:00
Paul Makles
7680931f5f chore: i18n 2022-06-12 21:11:23 +01:00
Paul Makles
c1324108e3 fix(eslint): rules included deprecated plugin 2022-06-12 19:38:29 +01:00
Paul Makles
56770d40df chore: bump language submodule 2022-06-12 19:29:17 +01:00
Paul Makles
64f19ec2c0 chore: display error on load if present 2022-06-12 19:27:18 +01:00
Paul Makles
dbb1c1e8fa feat: finalise 2FA login 2022-06-12 19:24:59 +01:00
Paul Makles
c686e85d37 feat: add MFA recovery codes 2022-06-12 16:30:37 +01:00
Paul Makles
8eefc87b05 chore(refactor): clean up component folder structure 2022-06-12 15:24:00 +01:00
Paul Makles
645e1af6db chore: refactor account UI 2022-06-12 15:07:30 +01:00
Paul Makles
8103cc03cf chore: move "resend verification" button 2022-06-12 12:16:15 +01:00
Paul Makles
bdc527ebbe chore(ci): re-enable mirroring 2022-06-10 18:50:14 +01:00
Paul Makles
8a2826da91 fix: use class in markdown rendering 2022-06-10 17:36:59 +01:00
Paul Makles
bd50378234 feat: add account deletion confirmation route 2022-06-10 17:20:31 +01:00
Paul Makles
71f8fc86a4 chore: fix build errors 2022-06-10 17:00:37 +01:00
Paul Makles
277eaa685d chore(ci): stop mirroring to GitLab [skip ci] 2022-06-10 16:53:02 +01:00
Paul Makles
e81b8ed472 feat: new modal renderer + mfa flow modal 2022-06-10 16:52:12 +01:00
Paul Makles
6be0807433 feat: add disable / delete funct; bump revolt-api 2022-06-10 14:32:21 +01:00
Paul Makles
e0ca1681bd chore(refactor): move and re-organise types folder 2022-06-10 14:11:38 +01:00
Paul Makles
ebcbe4bd4b chore: read version from package.json 2022-06-10 12:18:02 +01:00
Paul Makles
ec8b51f559 chore: repository clean-up 2022-06-09 14:58:39 +01:00
Paul Makles
72e60b7528 chore: clean up build errors 2022-06-09 14:50:05 +01:00
Paul Makles
3399991824 merge: pull request #650 from revoltchat/chore/component-migration 2022-06-09 14:49:17 +01:00
Paul Makles
6497e11fb0 Merge branch 'master' into chore/component-migration 2022-06-09 14:48:45 +01:00
Paul Makles
7544c78360 chore: prepare account management buttons 2022-06-09 14:47:53 +01:00
Paul Makles
040c4367f7 chore: clean up code 2022-06-09 14:47:33 +01:00
Paul Makles
ee80dfd3c8 fix: pull Client into state early
(should fix empty server list)
2022-06-09 14:40:54 +01:00
Paul Makles
67c8418c31 fix: actually resolve the error from requests 2022-06-07 17:00:11 +01:00
Paul Makles
2056232759 fix: build errors 2022-05-30 16:46:07 +01:00
Paul Makles
81bf325990 feat: add column element 2022-05-30 16:15:52 +01:00
Paul Makles
906f15f103 fix: use shape="circle" for friend component 2022-05-30 15:54:55 +01:00
Paul Makles
ea106a3902 chore: bump @revoltchat/ui 2022-05-30 15:48:33 +01:00
Paul Makles
41e533ab59 feat(@ui): port Modal component 2022-05-30 15:45:14 +01:00
Paul Makles
68b9d5ea79 feat(@ui): migrate category / overline and header 2022-05-30 14:42:09 +01:00
Paul Makles
673efc0586 fix: make context menu line divider compact 2022-05-30 12:57:30 +01:00
Paul Makles
74f8c552ed feat(@ui): port category button 2022-05-30 12:56:47 +01:00
Paul Makles
f3bdbe52d9 feat(@ui): migrate textarea and tip 2022-05-30 12:47:13 +01:00
Paul Makles
b4777e9816 feat(@ui): migrate line divider, preloader and save status 2022-05-30 12:40:01 +01:00
Paul Makles
ab77d4a812 feat(@ui): migrate radio 2022-05-30 12:29:56 +01:00
Paul Makles
1d243d4762 feat(@ui): migrate input box 2022-05-30 12:26:16 +01:00
Paul Makles
2f9bfbf83f chore: remove Masks component 2022-05-30 12:19:32 +01:00
Paul Makles
c2547b3ead feat(@ui): migrate icon button 2022-05-30 12:01:47 +01:00
Paul Makles
a64fe61199 feat(@ui): migrate date divider and details 2022-05-29 16:40:02 +01:00
Paul Makles
1bd138d6ef feat(@ui): migrate colour swatches and combo box 2022-05-29 16:38:09 +01:00
Paul Makles
4bcfa601a5 feat(@ui): migrate checkbox component 2022-05-29 16:34:54 +01:00
Paul Makles
20d31babce feat(@ui): migrate Banner component 2022-05-29 15:43:36 +01:00
Paul Makles
12b9716043 fix: open last opened server channel instead of first 2022-05-27 22:32:06 +01:00
Paul Makles
e2d9e41a58 chore: bump revolt.js and @revoltchat/ui 2022-05-27 22:31:12 +01:00
Paul Makles
bdf741e0ee feat: add "ordering" data store 2022-05-27 21:21:42 +01:00
Paul Makles
588cb7c019 feat: finish reimplementation of server list 2022-05-27 21:21:42 +01:00
Paul Makles
94dd4b464a chore: server list integration test 2022-05-27 21:21:42 +01:00
Paul Makles
1e3fe45075 fix: unlink @revoltchat/ui 2022-05-25 16:47:30 +01:00
Paul Makles
9e948175b3 chore: update and add new languages 2022-05-25 16:43:59 +01:00
Paul Makles
6eee71ddab chore: add config.yml [skip ci] 2022-05-24 16:18:38 +01:00
Paul Makles
7e245df179 fix: correct naming error [skip ci] 2022-05-24 13:18:47 +01:00
Paul Makles
2e13685998 chore: add build / publish script [skip ci] 2022-05-24 13:17:30 +01:00
Paul Makles
0f3b1b0491 chore: bump language submodule 2022-05-24 12:53:51 +01:00
Jan
8efe3ecbc0 feat: add warning on self-hosted instances (#645)
* feat: add warning on self-hosted instances

* update text
2022-05-24 12:53:06 +01:00
Paul Makles
a35e68799a chore: update language submodule 2022-05-23 21:22:22 +01:00
Paul Makles
be12c6da20 chore: migrate Button to @revoltchat/ui (#617)
* chore: start moving Button over

* fix: convert ServerIdentityModal

* fix: modal button styling

* fix: popover styles

* fix: clean up references to ui/*.*

* fix: button sizing

Co-authored-by: Ed L <beartechtalks@gmail.com>
2022-05-23 21:21:29 +01:00
Jan
6fdd701b38 feat: Add option to show Send button on Desktop (#628) 2022-05-23 21:19:55 +01:00
kaname-png
e46a6d55d6 chore: minor ui fixes for mybots page 2022-05-23 21:14:56 +01:00
kaname-png
32d37777f2 fix(components): wrong calculation of dimensions of embeds layouts 2022-05-23 21:14:56 +01:00
Paul Makles
6fcdbd1cef fix: remove explicit cast to string for msg.content 2022-05-21 16:59:34 +01:00
Paul Makles
73d51a3e29 fix: edit bot av / bg 2022-05-19 13:49:38 +01:00
Paul Makles
5d7b8f1851 fix: add overflow to attachment grid 2022-05-19 13:42:06 +01:00
Paul Makles
dc110ca082 chore: bump deps. 2022-05-19 13:37:33 +01:00
Paul Makles
97ab6c075d feat: add lightspeed.tv support 2022-05-19 13:37:24 +01:00
Paul Makles
744afe2f6a feat: GIF and Video embed support 2022-05-19 13:34:19 +01:00
Paul Makles
e74c3a5f80 fix: return correct error 2022-05-17 21:10:47 +01:00
Paul Makles
f8e67af962 fix: allow viewing text files > 100kB
closes #35
2022-05-16 19:32:58 +01:00
Paul Makles
0e5f64afd6 revert: "chore(deps-dev): bump prismjs from 1.24.1 to 1.27.0" (#625) 2022-05-11 12:11:13 +01:00
dependabot[bot]
ee899e795c chore(deps-dev): bump prismjs from 1.24.1 to 1.27.0 (#620)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 12:30:36 +01:00
Paul Makles
8f0c69f528 chore: remove super and subtext (closes #438) 2022-05-10 12:27:44 +01:00
Paul Makles
e1e3e55dc7 feat: add minimise to tray option 2022-05-10 12:26:57 +01:00
Paul Makles
cca97f9bb9 fix: remove un-used dep 2022-05-09 22:14:13 +01:00
Paul Makles
9e90ce6854 fix: override backdrop-filter if transparency effects are off
closes #550
2022-05-09 22:05:57 +01:00
Paul Makles
81e9774cc0 fix: re-sort member sidebar on channel change
closes #593
2022-05-09 22:00:17 +01:00
Paul Makles
e9cba5b4e2 fix: allow selecting text on profiles
closes #433
2022-05-09 21:58:08 +01:00
Jan
e9258d7c23 fix: #614 breaks in desktop client :trollface: (#616) 2022-05-08 22:17:36 +01:00
Jan
7345172271 fix: don't open new tab to download attachment (#614) 2022-05-08 21:53:07 +01:00
Paul Makles
4f48e3d176 chore: remove files that are being moved [skip ci] 2022-05-08 12:53:22 +01:00
Paul Makles
eb1bd27ec0 feat: add ban list search (closes #579) 2022-05-08 10:40:45 +01:00
Paul Makles
0ce128b108 fix: handle null relationship; fixes #607
not sure if this was intended from the API side
2022-05-08 10:19:33 +01:00
Daesun
ac0c100846 feat(sessions): Add confirmation prompt (#575)
Reopening of issue #572
Fixes issue #42
Translations added on PR 31 of revolt/translations

Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-05-07 21:31:53 +01:00
Jan
93ba922536 fix: permission lists show wrong permissions (#603) 2022-05-07 21:31:18 +01:00
Paul Makles
1590c5abab chore: use conventional issue title 2022-05-07 20:35:44 +01:00
Paul Makles
dbbe66def6 chore: use conventional issue title 2022-05-07 20:35:35 +01:00
Paul Makles
2d5128fca8 chore: bump lang 2022-05-07 16:58:01 +01:00
Paul Makles
7ffa0744c0 fix: don't cast message.content 2022-05-07 16:55:46 +01:00
Paul Makles
ce5dedcecf chore: bump revolt.js 2022-05-07 16:41:53 +01:00
Paul Makles
0818c32895 chore: add defaults 2022-05-07 15:42:00 +01:00
Paul Makles
567888a223 chore: update lang 2022-05-07 15:24:37 +01:00
Paul Makles
0de941394d feat: show 'bridge' badge for masqueraded bot messages 2022-05-07 15:24:12 +01:00
Paul Makles
4c08483848 feat: add message / block for bots 2022-05-07 15:24:00 +01:00
Paul Makles
08e1db6d35 feat: show that permissions / roles are not editable
closes #594
2022-04-30 15:54:27 +01:00
Paul Makles
4ccfaea973 feat: add a preloader for members list 2022-04-30 15:22:06 +01:00
Paul Makles
a66e96677f revert: #588 2022-04-30 14:45:57 +01:00
Paul Makles
b2a9cfd987 feat: "modernise" Docker image and use alpine 2022-04-29 16:17:31 +01:00
Paul Makles
f3cf4f01ca chore(ci): go in the opposite direction 2022-04-29 15:49:05 +01:00
Paul Makles
37a5e3af5f chore(ci): try to fix memory issues 2022-04-29 15:32:19 +01:00
Evilhotdog
4c87bc54a8 feat: add sounds when user joins/leaves call (#587) 2022-04-29 15:22:18 +01:00
Freeplay
2b8b9c959f fix: bottom padding in settings (#588) 2022-04-29 15:21:53 +01:00
Omkaar
988a703837 fix: typo #570 (#576)
This commit fixes a typo.
2022-04-29 13:58:18 +01:00
Paul Makles
37d5ba24c5 merge: branch 'quark/permissions' 2022-04-29 13:48:38 +01:00
Paul Makles
d876f52346 fix: bump revolt.js to fix perm calculation 2022-04-28 17:53:27 +01:00
Paul Makles
14a2f4882e chore: refactor permission checks 2022-04-28 15:02:22 +01:00
Paul Makles
b217571325 chore: translations for role page 2022-04-28 14:51:34 +01:00
Paul Makles
c20f630d10 chore: bump lang submodule 2022-04-27 20:19:11 +01:00
Paul Makles
d31237e9e1 chore: clean up 2022-04-27 20:18:51 +01:00
Paul Makles
890cb94acb fix: use working esm package for UI 2022-04-24 14:10:23 +01:00
Paul Makles
147880a447 chore: update README 2022-04-23 17:25:33 +01:00
Paul Makles
eee1d4060f feat: new permissions menus
closes #322
2022-04-22 21:06:12 +01:00
Paul Makles
4aad0493ae fix: add padding to message box when no file perm
closes #84
2022-04-21 19:35:45 +01:00
Paul Makles
36051b3374 chore: bump revolt.js 2022-04-21 19:14:05 +01:00
Paul Makles
48558dd5e4 chore: split content into content, system 2022-04-21 17:46:14 +01:00
Paul Makles
d129d9816d fix(invites): use new invite handling 2022-04-09 19:02:41 +01:00
Paul Makles
7b7f3c3af8 fix(state): save state on reset 2022-04-09 19:02:33 +01:00
Paul Makles
6915186738 fix: actually close error modal 2022-04-09 19:02:22 +01:00
Paul Makles
56f59d132b fix: don't paste file anyways if too large 2022-04-09 19:02:10 +01:00
Paul Makles
b2f4411850 feat: switch to revolt.js@6.0.0 + new revolt-api 2022-04-09 15:47:04 +01:00
Daesun
002cb5e6c1 fix(login): Fix render of welcome and subtitle text per page (#573) 2022-04-05 23:42:32 +01:00
Daesun
777d06f469 fix(voice channel): Fix overflow and scrolling (#574) 2022-04-05 23:42:15 +01:00
Ed L
3f9e6fc2e2 feat: notify user of aup when creating server (#495) 2022-04-05 23:38:59 +01:00
Paul Makles
5d4ef8b178 chore: update language definitions 2022-03-29 21:23:34 +01:00
Alyxia Sother
c3f4ad8f8d improvement(plugins-page) Use more i18 components 2022-03-29 20:50:43 +01:00
Alyxia Sother
cdc077ffa1 improvement(plugins-page): Refactor using card
I've (hackily so) written my own plugin card to replace the previous
usage of the `Checkbox` component.
Beware, ye who tread these lands, for they are decrepid.
2022-03-29 20:50:43 +01:00
Alyxia Sother
0d6720e3b1 improvement(plugins-page): Use i18n Text
Note that, since the translation PR has not been made yet, this patch
was used to test the changes: https://public.alyxia.dev/revolt/lang.diff
2022-03-29 20:50:43 +01:00
Alyxia Sother
07439bd5f6 feat: Implement a plugins page 2022-03-29 20:50:43 +01:00
Reinis Mazeiks
8021169131 feat: prevent accidental send while in code block (#557) 2022-03-29 20:49:25 +01:00
Avis Orsetti
b4c7fe543f chore: add "OpenDyslexic" font (#529)
Co-authored-by: Ed L <beartechtalks@gmail.com>
2022-03-29 20:49:16 +01:00
Ed L
28efdd0ea4 fix: fix iOS regex (#519) 2022-03-29 20:47:54 +01:00
Ed L
c8c470d383 chore: specify yarn 1 for corepack (#551) 2022-03-29 20:47:35 +01:00
Ed L
83c9c36e16 chore: remove highlight.js, use node 16 for ci (#511) 2022-03-29 20:47:19 +01:00
Paul Makles
ca240fb6d7 chore: clean up the patch from yesterday 2022-03-29 19:23:46 +01:00
Paul Makles
cf049bd4ee fix: don't delete, set undefined 2022-03-28 09:51:35 +01:00
Paul Makles
b3be822568 feat(experiment): basic plugin API 2022-03-27 21:45:54 +01:00
Paul Makles
f9f0d5c55a fix: pre-cache to not include extra files 2022-03-25 11:17:04 +00:00
Paul Makles
3a12f92867 fix(ci): running out of memory, need to remove ARM 2022-03-24 18:23:53 +00:00
Reinis Mazeiks
e93db2345f feat: add Latvian to the language list (#556) 2022-03-16 15:00:41 +00:00
Paul Makles
ce643a5a09 chore: remove commit section from template 2022-03-09 21:36:47 +00:00
Paul Makles
d01b9cae40 fix: re-enable callouts 2022-03-06 19:52:24 +00:00
Paul Makles
8e1031cf91 fix(iOS): disable touch callouts globally 2022-03-06 19:39:21 +00:00
Paul Makles
f65c9bdd5e fix: context menus are now bound by spread 2022-03-06 19:13:12 +00:00
Paul Makles
6a465c1c08 fix: bump preact-context-menu 2022-03-05 15:06:18 +00:00
Paul Makles
009565f0cc fix(iOS): fix image / video uploads from iOS
closes #477
2022-03-05 14:56:19 +00:00
Paul Makles
18761e2181 fix(iOS): actually fix context menus
closes #138
2022-03-05 14:41:41 +00:00
Paul Makles
3e045cf8a8 fix(ios): try to accept all content types
for #477
2022-03-05 12:07:57 +00:00
Paul Makles
4692dda8f3 fix(iOS): bump preact-context-menu
closes #138
2022-03-05 12:07:13 +00:00
Paul Makles
20060a029d feat(vite): support legacy browsers 2022-03-04 23:42:20 +00:00
Paul Makles
741c937bb7 chore: add our signing key to assetlinks 2022-03-04 18:28:53 +00:00
Paul Makles
dc3925c003 fix(invites): handle invites correctly 2022-03-04 18:26:36 +00:00
Paul Makles
d95070d8c7 fix(modals): make text input full width 2022-03-04 16:53:10 +00:00
Paul Makles
498e76b535 fix(home): fix the create group button
closes #546
2022-03-04 16:46:50 +00:00
Paul Makles
0f8be1767d fix: delete singleton renderer on channel delete 2022-03-04 16:45:57 +00:00
Paul Makles
542c0482c5 fix: improve handling of inactive channels
(closes #432)
2022-03-04 16:45:44 +00:00
Paul Makles
d83455c759 chore: outage over, flick the switch 2022-03-01 19:44:38 +00:00
Paul Makles
d3220d7c70 fix: fix the link 2022-03-01 10:21:28 +00:00
Paul Makles
094be08bbf fix(status bar): calculate height correctly 2022-03-01 10:15:57 +00:00
Paul Makles
b1a7a94d26 feat: push temporary outage information 2022-03-01 10:12:45 +00:00
Paul Makles
041c039827 feat(permission): implement new server / channel permission menus 2022-02-27 23:44:29 +00:00
Paul Makles
3632b6b351 fix(theme): better still just, handle it optionally 2022-01-31 01:05:06 +00:00
Paul Makles
edaf2256d5 fix(theme): don't crash the app on invalid fonts 2022-01-31 01:04:13 +00:00
Paul Makles
334e54146b chore: clean up stray console.log 2022-01-29 11:45:56 +00:00
Paul Makles
b4642b1efe chore: bump revolt.js
fixes #528
2022-01-29 11:11:19 +00:00
Paul Makles
27f6420da2 fix: just re-enable context menu for now 2022-01-29 10:25:57 +00:00
Paul Makles
c5286071ff chore: update language definitions 2022-01-29 09:42:15 +00:00
Paul Makles
1089651cb0 fix(member sidebar): more aggressively check if we need to update 2022-01-29 09:42:04 +00:00
trashtemp
6020d94c3a fix: changed anim name 2022-01-22 17:13:06 +01:00
Paul Makles
a81645090e chore: update language definitions 2022-01-21 23:18:10 +00:00
Paul Makles
e4b1be591c fix(theme): use alternative contrast algorithm 2022-01-21 23:17:55 +00:00
trashtemp
50b0e0f5f2 fix: added flex shrink to mention 2022-01-21 09:47:18 +01:00
trashtemp
2c321bf0f1 fix: added flex shrink to message reply 2022-01-21 09:46:11 +01:00
trashtemp
074057b481 fix: added animation to jumpbar 2022-01-21 09:15:31 +01:00
trashtemp
4d769f42e1 fix(settings): added bezier curve to animations 2022-01-21 09:06:55 +01:00
trashtemp
622f2b2bca fix(messagebox): fixed z-index 2022-01-21 08:30:54 +01:00
trashtemp
e959f29eae fix(reply): used var instead of fixed hex 2022-01-21 00:26:06 +01:00
trashtemp
344519de00 fix: added string to toggle 2022-01-21 00:13:13 +01:00
trashtemp
ad40197df9 fix: flex shrink 2022-01-21 00:04:44 +01:00
trashtemp
0de078a794 feat: new replies 2022-01-21 00:02:55 +01:00
trashtemp
6e89e10461 fix(jumpbar): fixed collision on mobile 2022-01-20 15:26:58 +01:00
trashtemp
68acfe26de fix(messagebox): mobile button increased width 2022-01-20 11:38:12 +01:00
trashtemp
13f119942c fix(settings): fixed small issues with mobile 2022-01-20 11:03:47 +01:00
trashtemp
4ea97e0209 chore: updated vite-plugin-pwa, fixes 2022-01-16 17:22:06 +01:00
trashtemp
da5d82537d fix(voice): fixed header style 2022-01-16 13:44:00 +01:00
trashtemp
59fb8a3c0f fix(userprofile): entry style touch up 2022-01-15 23:00:12 +01:00
trashtemp
e6684b8f78 fix(message): re-added click to usericon 2022-01-15 22:50:29 +01:00
trashtemp
2bef311f9a fix(modals): finally fixed width 2022-01-15 22:19:29 +01:00
trashtemp
cc458453d3 fix(button): removed z-index 2022-01-15 20:59:14 +01:00
trashtemp
0dec90f53d chore: added fonts and weights, removed font
+ added new font-weight for Open Sans
+ added "Bitter" font
- bye bye Bree Serif :'(
2022-01-15 20:56:00 +01:00
trashtemp
79114d72b8 fix(serverheader): fixed positioning of header 2022-01-15 17:40:34 +01:00
trashtemp
8fa6f87dc2 fix(messagebox): fixed padding 2 2022-01-15 17:37:56 +01:00
trashtemp
c5461f3134 fix(messagebox): fixed padding 2022-01-15 17:31:57 +01:00
Paul Makles
196bbe2634 fix(embed): exclusively use markdown renderer for text embeds 2022-01-15 16:06:41 +00:00
Paul Makles
8eb2f4e7e3 fix(messaging): bring cursor pointer back for av. 2022-01-15 15:59:25 +00:00
Paul Makles
271a126a3f fix(bottom nav): replace path instead of going back 2022-01-15 15:46:48 +00:00
Paul Makles
05266790ae fix(state): sync locale correctly 2022-01-15 15:43:32 +00:00
Paul Makles
3ce04f543f chore: update language definitions 2022-01-15 15:23:12 +00:00
Paul Makles
dc527467d5 chore(locale): add languages (Bengali, Catalonian, Danish, Esperanto) 2022-01-15 15:23:03 +00:00
Paul Makles
45b9c355a7 chore: update language definitions 2022-01-15 14:47:41 +00:00
Paul Makles
60cd17d673 feat(context menu): add "mark as unread" 2022-01-15 14:46:19 +00:00
Paul Makles
a58372fc42 chore: add sippy (emote) 2022-01-15 14:43:59 +00:00
Paul Makles
4996a4d785 feat(fonts): add Lexend 2022-01-15 14:42:35 +00:00
Paul Makles
56f2411652 feat(messaging): add basic support for text embeds 2022-01-15 14:11:08 +00:00
Paul Makles
4526a696c6 chore: get rid of scss warnings for snow 2022-01-15 13:49:43 +00:00
Paul Makles
b5189a769f fix(build): type errors with revolt-api 2022-01-15 13:41:02 +00:00
ayntgl
2c5467c189 fix(components): convert .systemIcon to non-clickable (#498) 2022-01-15 13:37:08 +00:00
trashtemp
afa76f0623 Merge branch 'master' of https://github.com/revoltchat/revite 2022-01-15 14:33:26 +01:00
trashtemp
8566cd613d fix(messagebox): fixed broken padding 2022-01-15 14:33:14 +01:00
Paul Makles
e67f8f95cd fix(messaging): prevent message overlay from sticking after finishing edit 2022-01-15 13:00:27 +00:00
Paul Makles
bb5f940ad1 chore: bump revolt.js 2022-01-15 12:54:18 +00:00
Paul Makles
ba40da2a15 fix: don't show unread indicator on active channel 2022-01-15 12:54:18 +00:00
Paul Makles
2c8bbe7d1f feat(messaging): add message overlay logic 2022-01-15 12:54:16 +00:00
Paul Makles
7e4f4cf001 fix(messaging): hide overlay on mobile 2022-01-15 12:53:15 +00:00
Paul Makles
8bda3123da fix(unreads): allow dynamic unread changes 2022-01-15 12:53:15 +00:00
trashtemp
200db35c25 fix(msgbar): removed IconButton dependency 2022-01-15 13:33:04 +01:00
trashtemp
b4555fd028 fix(import): used root path instead 2022-01-15 13:22:20 +01:00
trashtemp
a3005cfcd8 fix(msgbar): use vertical dots 2022-01-15 13:16:27 +01:00
trashtemp
4a58a4082b fix(msgbar): added support for keyboard focus 2022-01-15 12:55:23 +01:00
trashtemp
79550cb2ad fix(sidebar): changed server sidebar width 2022-01-15 12:36:50 +01:00
trashtemp
8029f39c4e fix(discover): height 2022-01-15 10:56:02 +01:00
trashtemp
62335e4902 fix: added shadow on hover 2022-01-14 23:06:47 +01:00
trashtemp
0c9c712ee0 fix(msgbar): improved design, added actions 2022-01-14 22:52:19 +01:00
Paul Makles
ddbef13a12 feat(tooltip): add new tooltip animation 2022-01-14 21:04:29 +00:00
KuhnChris
f509acbe80 feat(messaging): quick action bar (#493)
Co-authored-by: Kuhn Chris <kuhnchris+github@kuhnchris.eu>
Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-01-14 21:03:52 +00:00
trashtemp
fe382f9532 fix: rtl padding 2022-01-14 21:16:37 +01:00
trashtemp
f01943c681 fix(typindicator): some design tweaks 2022-01-14 20:53:09 +01:00
Paul Makles
3fd56e4fdc feat: add sc minification + display class names 2022-01-14 18:51:03 +00:00
Paul Makles
8dd18c9fb4 fix: enable tooltip on status in user buttons 2022-01-14 18:51:02 +00:00
trashtemp
2dcfc340fa fix: increased margin between username and bot tag 2022-01-14 19:17:17 +01:00
trashtemp
c77213f02f fix(markdown): used padding-inline-left for RTL 2022-01-14 18:43:32 +01:00
trashtemp
9c8de2b454 fix(discover): changed background color on load 2022-01-14 18:32:03 +01:00
trashtemp
d6a541f380 Merge branch 'master' of https://github.com/revoltchat/revite 2022-01-14 18:14:05 +01:00
trashtemp
43c66a4e22 fix(discover): fixed discover background on load 2022-01-14 18:13:52 +01:00
Jan
dd39e13623 fix: make member search case insensitive (#506) 2022-01-14 16:54:34 +00:00
Ed L
5a46c50b81 fix: properly detect ipados (#504) 2022-01-14 16:53:53 +00:00
ayntgl
eea4d49743 fix(components): add padding-right to markdown code element (#499) 2022-01-14 16:49:32 +00:00
KuhnChris
4224f83035 chore(project management): Pull Request Template (#491)
Co-authored-by: Ed L <beartechtalks@gmail.com>
Co-authored-by: Kuhn Chris <kuhnchris+github@kuhnchris.eu>
2022-01-14 16:37:40 +00:00
trashtemp
2415e98fbe fix(appearance): new strings for discover button 2022-01-14 17:16:11 +01:00
trashtemp
d3ffe8e6f6 fix(sidebar): removed top margin 2022-01-14 17:04:14 +01:00
trashtemp
b93f274db5 fix(embed): resolved embed width 2022-01-13 22:52:52 +01:00
trashtemp
6aaabb4815 fix(app): font sizing, better system msgs 2022-01-13 22:31:35 +01:00
Paul Makles
5a49bc7d20 fix: fix server last section state 2022-01-13 19:44:02 +00:00
trashtemp
07870c849d fix(tooltips): fixed light mode tooltip 2022-01-13 20:02:30 +01:00
trashtemp
59685a961a fix: fixed positioning 2022-01-13 20:00:53 +01:00
trashtemp
a21436479c fix(mention): bolder text on mention badge 2022-01-13 19:56:49 +01:00
trashtemp
6c244d2ae7 fix(sidebar): added new settings button 2022-01-13 19:50:15 +01:00
trashtemp
8a1f20615e fix(sidebar): decreased vertical spacing 2022-01-13 19:30:42 +01:00
trashtemp
a7c63c639e chore(tooltips): reworked tooltip design 2022-01-13 17:31:15 +01:00
trashtemp
3b4227d4ba fix(header): fixed comp name 2022-01-11 23:17:57 +01:00
trashtemp
3d68dab0b4 feat(search): started work on new search 2022-01-11 23:15:18 +01:00
trashtemp
7da7bc8ef7 fix(discover): fixed border radius 2022-01-11 21:26:22 +01:00
trashtemp
1cdc6b51df fix(sidebar): hide discover button on mobile 2022-01-11 21:24:02 +01:00
Paul Makles
8fcda5a6de feat: add a way to toggle offline users list 2022-01-10 23:40:47 +00:00
Paul Makles
c6cc1f3672 chore: disable offline users in lounge server 2022-01-10 23:25:48 +00:00
Paul Makles
af8cc984a9 fix: temporary fix for bad member list performance 2022-01-10 23:02:00 +00:00
Paul Makles
90a53452e8 fix: ignore bot and server invites in layout paths 2022-01-10 20:38:13 +00:00
Paul Makles
5768ff7c2f fix: remove theme shop from settings 2022-01-10 20:37:20 +00:00
Paul Makles
645221b384 fix(invite): fix invite embed logic 2022-01-10 20:23:06 +00:00
Paul Makles
0255c3167a feat: clean up invite bot page 2022-01-10 20:16:06 +00:00
Paul Makles
bf82c24281 fix: add description to settings button 2022-01-10 20:00:29 +00:00
Paul Makles
599aab9a31 chore: update home buttons 2022-01-10 18:53:10 +00:00
Paul Makles
450b404ec5 feat: handle discover last path properly 2022-01-10 18:43:27 +00:00
Paul Makles
1d26beee10 fix: change Discover remote 2022-01-10 18:28:23 +00:00
Paul Makles
9e48c8f022 chore: update language defintions 2022-01-10 18:18:52 +00:00
Paul Makles
540c851d8f feat: full discovery integration 2022-01-10 18:18:43 +00:00
trashtemp
600ea42c0f fix(tooltip): added new tag to discover 2022-01-10 17:56:48 +01:00
trashtemp
733926dfd3 fix(discovery): added border radius 2022-01-10 10:02:17 +01:00
Paul Makles
03f44c5bed chore: bump language definitions 2022-01-10 00:57:15 +00:00
Paul Makles
abecd0ec11 feat: add Revolt discover (note: has CORS issues) 2022-01-10 00:57:00 +00:00
Paul Makles
56925b3ea2 fix: use config for client in login 2022-01-08 16:51:34 +00:00
Paul Makles
fc046936aa fix: use config for initial configuration fetch 2022-01-08 16:38:38 +00:00
Paul Makles
8d1e26d03e fix: fix build errors 2022-01-07 21:43:00 +00:00
Paul Makles
81af91fa1f fix: enable auto reconnect 2022-01-06 17:06:04 +00:00
Ryan Alexander
cf55921077 fix: App soft crash when deleting servers (#492)
Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-01-06 10:35:07 +00:00
Paul Makles
8c1f5dfb68 chore: important fix 2022-01-05 22:58:37 +00:00
Paul Makles
188f682094 chore: add gigachad 2022-01-05 22:47:31 +00:00
Paul Makles
76c1f78ba6 chore: fix emoji path 2022-01-05 22:45:26 +00:00
Ed L
28c07e7046 meta: add issue forms (#414) 2022-01-05 21:49:09 +00:00
wefnib3rygewundib8g374v
e40420b7e9 chore: remove duplicate email provider (#368)
Co-authored-by: o8z <88407406+o8z@users.noreply.github.com>
2022-01-05 21:43:30 +00:00
Paul Makles
e13edcbb76 fix: contain emojis; also add more 2022-01-05 15:05:29 +00:00
Ryan Alexander
6c6f6396e4 Merge pull request #487 from ryanalexander/dont-embed-discovery
fix: Don't embed discovery links
2022-01-05 17:38:03 +10:00
Ryan
c28c6134c1 fix: Don't embed discovery links 2022-01-05 10:28:30 +10:00
Paul Makles
2edf122b34 fix(settings): fix mobile scrollbar padding 2022-01-04 23:11:58 +00:00
Paul Makles
cad1c2fc3a chore: bump language definitions 2022-01-04 22:56:27 +00:00
Paul Makles
a5a6833c2c fix: bump revolt.js and add pong timeout 2022-01-04 22:56:20 +00:00
trashtemp
dfd9043ca0 fix(app): tweaked glass value for few components 2022-01-04 20:00:06 +01:00
trashtemp
62b7ba2e4d fix(settings): fixed mobile settings padding 2022-01-04 19:49:37 +01:00
Paul Makles
dbf681c2e9 fix: fix again the thing above i cant be asked to write commit messages anymore 2022-01-04 15:07:46 +00:00
Paul Makles
a09fbe685d fix: finally fix the members sidebar (real) 2022-01-04 15:01:53 +00:00
Paul Makles
00764b8cc3 fix(sidebar): use autorun instead of reaction 2022-01-04 14:47:39 +00:00
Paul Makles
b745cdd4d7 fix: show full member list on update 2022-01-04 14:40:03 +00:00
Paul Makles
270624d5ec patch: prevent re-render on member list render 2022-01-04 14:35:08 +00:00
Paul Makles
0543e56678 fix(context menu): adjust transparency to account for Firefox 2022-01-04 14:02:07 +00:00
Paul Makles
e7e8dbf23d fix: fixed jump to bottom bar positioning 2022-01-04 14:01:45 +00:00
Paul Makles
136faadcec fix: try to avoid freezing UI due to members sidebar (at least after first load) 2022-01-04 13:58:24 +00:00
Paul Makles
0609b40f81 fix: assume attachment URL is volatile 2022-01-04 13:40:52 +00:00
Paul Makles
fc91a75acb fix(sidebar): don't keep refetching server members 2022-01-04 13:37:19 +00:00
Paul Makles
3baf82ca94 fix: don't assume roles exist when rendering 2022-01-04 13:35:55 +00:00
Ed L
d328c9e61b feat(profile): add link to username settings (#364) 2022-01-04 13:26:42 +00:00
Paul Makles
21cd3f4558 fix: add hover effects to system message usernames
closes #411
closes #463
2022-01-04 11:12:57 +00:00
Ayyan
202a70b91f feat(UserProfile): add button to cancel outgoing friend request (#461) 2022-01-04 11:11:11 +00:00
3nt3
42771f7137 feat: make kick and ban red in the context menu (#350)
Co-authored-by: Paul Makles <paulmakles@gmail.com>
2022-01-04 11:03:39 +00:00
Ryan Alexander
5735020013 feat: add markdown formatting for messages containing timestamps (#482) 2022-01-04 10:53:12 +00:00
Paul Makles
69b430d886 chore: update language definitions 2022-01-02 23:48:28 +00:00
Paul Makles
c26ef4c2b2 chore: merge branch 'ui/glass-header' 2022-01-02 23:48:19 +00:00
Paul Makles
f3c3017e0c fix(vite): remove "second" compression pass 2022-01-02 16:08:26 +00:00
Paul Makles
67936f53ed revert: "fix(vite): remove "second" compression pass"
This reverts commit 096e0c84c1.
2022-01-02 16:07:47 +00:00
Paul Makles
1d4eed872b chore: clean up code 2022-01-02 15:46:51 +00:00
Paul Makles
1b6275d1b5 fix(mobx): save stores on first load 2022-01-02 15:43:13 +00:00
Paul Makles
d92c50fdb8 fix(mobx): ignore lack of sync object 2022-01-02 15:41:43 +00:00
Paul Makles
a688063d96 feat: add better debugging flags 2022-01-02 15:33:58 +00:00
Paul Makles
bdb1d939e7 chore: fix build errors 2022-01-02 13:12:22 +00:00
Paul Makles
096e0c84c1 fix(vite): remove "second" compression pass 2022-01-02 13:09:03 +00:00
insertish
668963e7a0 ci: Synced local '.github/workflows/triage_pr.yml' with remote 'workflows/triage_pr.yml' 2021-12-31 17:32:42 +00:00
insertish
0a1deb5289 ci: Synced local '.github/workflows/triage_pr.yml' with remote 'workflows/triage_pr.yml' 2021-12-31 14:50:30 +00:00
Paul Makles
73dfc0ace6 feat: add stop-gap emoji solution 😎 2021-12-31 00:49:59 +00:00
Paul Makles
7c120685d4 fix: change header borders depending on whether in server 2021-12-30 19:56:41 +00:00
Paul Makles
4773b76ea9 fix(channel header): fix action callbacks 2021-12-30 19:44:15 +00:00
Paul Makles
b065fba6a4 fix: change conditions for corners on header 2021-12-30 19:14:21 +00:00
Paul Makles
85bd84713e fix: allow home button to be flush with background by removing border when not in server 2021-12-30 19:00:41 +00:00
trashtemp
504d882df8 fix(settings): removed obscure string 2021-12-30 19:53:52 +01:00
trashtemp
b936d4462d Merge branch 'ui/glass-header' of https://github.com/revoltchat/revite into ui/glass-header 2021-12-30 19:42:23 +01:00
trashtemp
14ee357ac8 fix(serverlist): adjusted design 2021-12-30 19:42:12 +01:00
Paul Makles
a921e8ed0d fix: apply border when sidebar collapsed 2021-12-30 18:35:13 +00:00
Paul Makles
b5789126f8 chore: clean up server banner code 2021-12-30 18:27:22 +00:00
Paul Makles
bad7458560 feat: provide and consume scroll offsets 2021-12-30 18:15:31 +00:00
Paul Makles
9387575372 fix(bottom navigation): change logic to avoid getting trapped in heck (friends list) 2021-12-30 18:04:47 +00:00
Paul Makles
e758b23ac3 feat: implement logic for status changer in mobile settings 2021-12-30 18:04:08 +00:00
Paul Makles
66d3e7c616 fix(context menu): position above all elements 2021-12-30 17:23:24 +00:00
Paul Makles
6693f826fd fix: apply reasonable defaults to all scrollbar thumbs 2021-12-30 15:33:13 +00:00
Paul Makles
7496f484e1 fix: add template to new msg bar translation 2021-12-30 15:12:38 +00:00
trashtemp
5417632f87 fix(mobile): hide indexheader 2021-12-30 14:53:51 +01:00
trashtemp
4034e17e0d fix(mobile): cleanup 2021-12-30 14:48:13 +01:00
trashtemp
bf6b996c09 fix(mobile): send button fixed 2021-12-30 14:47:32 +01:00
trashtemp
b7ec4a8b78 fix(settings): scrollbar 2021-12-30 14:44:33 +01:00
trashtemp
fdbd931ea7 fix(app): fixed broken scrollbar on mobile 2021-12-30 14:37:56 +01:00
trashtemp
c0bf3fbc0b feat(home): added temporary text 2021-12-30 14:35:44 +01:00
trashtemp
ee3f6bede7 fix(settings): fixed scrollbar for mobile 2021-12-30 14:16:31 +01:00
trashtemp
672b657f58 fix(details): fixed for glass header 2021-12-30 14:13:25 +01:00
trashtemp
675992bbc1 fix(scrollbar): fixed scrollbar 2021-12-30 14:07:41 +01:00
trashtemp
fc0224562f fix(friends): fixed friends tab
* you can deny requests on mobile now
* fixed menu to work with glass header
2021-12-30 14:02:00 +01:00
trashtemp
b34ed4c24c fix(friends): small fixes 2021-12-29 23:58:36 +01:00
trashtemp
9052ada1c7 chore: removed mention 2021-12-29 23:57:41 +01:00
trashtemp
dec4315892 feat(emoji): added funny short codes 2021-12-29 23:04:42 +01:00
trashtemp
9c78e0912d fix(friends): fix for friends menu 2021-12-29 16:46:57 +01:00
trashtemp
086ab7b3bc fix(channel): last update before master merge 2021-12-29 16:39:35 +01:00
Paul Makles
cc531705b4 feat(theme): add transparency effects toggle 2021-12-29 00:18:00 +00:00
trashtemp
5974a2b83b fix(typindicator): fixed var color 2021-12-29 00:35:26 +01:00
trashtemp
94520bf064 feat(typindicator): added glass effect 2021-12-29 00:34:02 +01:00
trashtemp
45762e4bf6 feat(contextmenu): glass effect on context menu 2021-12-29 00:10:17 +01:00
Paul Makles
a4155a1153 fix: apparently fix app jumping around 2021-12-28 22:58:19 +00:00
trashtemp
d20fa9e3ea fix(jumpbar): started css rewrite 2021-12-28 23:42:50 +01:00
trashtemp
e4159e1c6d hotfix(jumpbar): jump bar fixed on mobile 2021-12-28 23:40:07 +01:00
Paul Makles
17a2ca773b feat: dynamically calculate header translucency and clamp minimum opacity 2021-12-28 21:59:09 +00:00
trashtemp
d3b78ebc48 fix(messagebox): fixed padding on action button 2021-12-28 21:42:09 +01:00
trashtemp
03ec5275ee fix(header): padding 2021-12-28 21:04:18 +01:00
trashtemp
e8784946ae chore(header): deprecated old header code 2021-12-28 20:43:42 +01:00
trashtemp
37c15eaa3e fix(header): fixed header background 2021-12-28 20:38:57 +01:00
trashtemp
e814064001 fix(developer): fixed height issue in dev tab 2021-12-28 17:06:04 +01:00
trashtemp
ef0644074c fix(group): fixed height in members list 2021-12-28 16:30:25 +01:00
trashtemp
614ec68622 fix(settings): added design for account header 2021-12-28 16:08:05 +01:00
Paul Makles
b5077b62ff fix(invite): allow logged out users to view invites 2021-12-28 12:24:35 +00:00
trashtemp
855b3739e6 fix(homescreen): fixed height 2021-12-27 16:07:13 +01:00
trashtemp
bbe1e0d178 fix(header): fixed header in settings 2021-12-27 16:05:33 +01:00
trashtemp
32182b1803 fix(settings): fixing header in mobile settings 2021-12-27 15:58:30 +01:00
trashtemp
356291cc4f fix(header): added mobile support 2021-12-27 15:48:31 +01:00
trashtemp
850d685175 fix(header): header fixes 2021-12-27 15:47:06 +01:00
trashtemp
93925834cc fix(header): header rewrite complete 2021-12-27 15:38:49 +01:00
trashtemp
a396e511ec fix(header): changed class names 2021-12-27 15:15:37 +01:00
trashtemp
c655a59979 fix(header): server header rewrite 2021-12-27 15:13:36 +01:00
trashtemp
3a92cf06c3 fix(header): fixed default header color 2021-12-27 15:11:37 +01:00
trashtemp
746d017142 fix(header): rewrite of server header 2021-12-27 15:10:02 +01:00
trashtemp
7241498f87 fix(header): added text overflow 2021-12-27 14:44:02 +01:00
trashtemp
2ce4136a52 fix(sidebars): fixed sidebar margins 2021-12-27 14:20:17 +01:00
Paul Makles
ce3be17b74 fix(login): make login form an observer of server config 2021-12-26 23:22:15 +00:00
Paul Makles
3999dbbe66 fix: hydrating server config should always be null if not present 2021-12-26 23:12:49 +00:00
Paul Makles
336e2ddeb7 chore: allow state to be visible globally 2021-12-26 23:04:14 +00:00
trashtemp
63e52fe69c fix(friends): respect header padding 2021-12-26 23:57:09 +01:00
trashtemp
64df7edf9b fix(header): new unread bar fixed on mobile 2021-12-26 23:43:07 +01:00
trashtemp
4d59bb96b2 fix(header): fixed voice dialog 2021-12-26 23:38:01 +01:00
trashtemp
2a4d0c3311 fix(header): commented out server banner until fix 2021-12-26 23:35:05 +01:00
trashtemp
83f38d71ce feat(header): new glass header on channel view 2021-12-26 22:26:27 +01:00
Paul Makles
f0c2829c58 fix: change invite routing order 2021-12-26 19:56:46 +00:00
trashtemp
e20c3ee518 fix(home): fixed grid on home screen 2021-12-26 20:47:34 +01:00
trashtemp
716edb3318 feat(servers): added new icons to server sidebar 2021-12-26 20:28:48 +01:00
Paul
5797eb3686 fix(home / seasonal): correctly read state 2021-12-26 15:04:35 +00:00
Paul
bb707fb287 fix(settings): persist false-y values 2021-12-26 15:03:44 +00:00
Paul
301070a3cb fix(reply): mention toggle would not persist 2021-12-26 15:00:50 +00:00
Paul
5737b32271 fix(mobx): use correct key for saving sync options 2021-12-26 14:45:18 +00:00
Paul
d73772929d feat(native): overlay titlebar on login srceen 2021-12-25 23:38:21 +00:00
Paul
84c5c3abe9 chore: bump language definitions 2021-12-25 23:18:56 +00:00
Paul Makles
e4440f127a feat(login): new login screen design #466 2021-12-25 23:18:37 +00:00
Paul
55930d30e3 chore: pre-merge submodule update 2021-12-25 23:17:59 +00:00
trashtemp
ba82ff9f39 feat(login): animated hand wave 2021-12-25 22:48:00 +01:00
Paul
1b644d450d fix: allow invite screen to properly load while signed out 2021-12-25 20:43:54 +00:00
trashtemp
d439d63a91 fix(login): remove bold text 2021-12-25 21:29:44 +01:00
trashtemp
029bff3d68 fix(login): added polish 2021-12-25 21:21:29 +01:00
Paul
7f586e6f8c chore: bump revolt.js to fix issue 2021-12-25 20:12:51 +00:00
trashtemp
b14ea73663 fix(login): general cleanup 2021-12-25 20:51:11 +01:00
trashtemp
68e83a4e47 fix(login): added accent color links 2021-12-25 19:59:30 +01:00
trashtemp
a07a17d892 fix(login): finished new login screen 2021-12-25 19:48:48 +01:00
Paul
896cc13812 fix: verification / password reset broken
force create new client
2021-12-25 16:44:29 +00:00
Paul
a23230850a feat(error): add button to reset app data 2021-12-25 16:41:57 +00:00
Paul
064f223c78 fix: catch errors from redux migration 2021-12-25 16:37:39 +00:00
Paul
028a8660c1 feat: handle errors for message renderer separately 2021-12-25 16:03:05 +00:00
Paul
c96b09bb81 fix: pre-emptive render without valid user 2021-12-25 15:56:47 +00:00
Paul
b7429e47b0 chore: update language definitions 2021-12-25 15:42:59 +00:00
Paul
318177b414 fix: don't fail if channel is null on reply 2021-12-25 15:42:13 +00:00
trashtemp
7844c84fbe fix(login): changed logo back to wideSVG 2021-12-25 16:40:27 +01:00
trashtemp
5c59f187bd feat(login): new login screen design 2021-12-25 16:01:19 +01:00
Paul
b955f2820c fix: hide new message bar on jump to bottom 2021-12-25 14:49:31 +00:00
Paul
de1b947b7d feat: add global error handling and reporting 2021-12-25 14:32:28 +00:00
Paul
56126fa303 fix: handle invalid channels even when sidebar is closed 2021-12-25 13:20:20 +00:00
Paul
d7f52fb6f4 fix(sidebar): force open on mobile devices 2021-12-25 11:00:51 +00:00
Paul
8a0033699d chore(dev): setup chrome user data directory 2021-12-25 10:37:48 +00:00
trashtemp
d1e1449f99 fix(channel): mobile jump bar fixed 2021-12-25 11:33:30 +01:00
trashtemp
7e02979560 fix(channel): jump to beginning bar 2021-12-25 11:20:44 +01:00
Paul
56ab2a2917 feat(sidebar): show DMs under home button 2021-12-24 23:53:26 +00:00
trashtemp
3b3ec69edd fix(header): fixed icons cutting off in header 2021-12-25 00:47:42 +01:00
trashtemp
6b11248364 fix(servers): fixed server text font size 2021-12-25 00:01:15 +01:00
trashtemp
245c7a46ed fix(settings): more work on server settings pages 2021-12-24 23:27:35 +01:00
trashtemp
9b4619cbd1 fix(settings): improved server settings tabs 2021-12-24 22:54:46 +01:00
Paul
5169066772 chore: bump revolt.js to fix bug with empty servers 2021-12-24 20:44:24 +00:00
trashtemp
6bed278fe8 chore(settings): added new translation strings 2021-12-24 21:22:01 +01:00
trashtemp
73b6da4e1e fix(channel): added string to new message bar 2021-12-24 19:01:55 +01:00
trashtemp
c53f74abbf fix(modals): fixed design of modals 2021-12-24 18:55:39 +01:00
trashtemp
18f7f91ff0 fix(settings): more settings fixes pt. 2 2021-12-24 18:36:40 +01:00
Paul
af3eb754f7 feat(messaging): hide new message bar on esc or sent message 2021-12-24 17:20:05 +00:00
Paul
b2c24d33ed fix: make the create group button do the correct thing 2021-12-24 17:15:39 +00:00
trashtemp
bdc84b1d98 fix(settings): started settings cleanup 2021-12-24 17:39:25 +01:00
Paul
739dd53637 fix: add margin to theme selector 2021-12-24 15:51:11 +00:00
Paul
c64906051d fix: hide new messages bar on click 2021-12-24 14:49:21 +00:00
Paul
f1a9c889b8 fix(messaging): only show date if date changes 2021-12-24 14:41:33 +00:00
Paul
3b6519c530 fix: use contrasting colour for new message divider 2021-12-24 14:35:37 +00:00
Paul
3d723574f4 feat(messaging): show last read message divider 2021-12-24 14:32:04 +00:00
Paul
46c652d54c chore: update language definitions 2021-12-24 14:15:56 +00:00
Paul
fee56d8f54 chore: clean up contrasting colours code 2021-12-24 14:13:10 +00:00
Paul
a46fbcf409 feat(sidebar): change swoosh colour depending on sidebar collapse 2021-12-24 13:06:52 +00:00
Paul
d8d002cc4a feat(header): add chevron / unified sidebar collapse 2021-12-24 13:02:49 +00:00
Paul
e263b627aa fix(settings): display index header only on mobile and show user 2021-12-24 12:45:28 +00:00
Paul
63164fe2d0 feat(theme): add toggle for seasonal theme 2021-12-24 12:41:07 +00:00
Paul
5029d0ac86 fix: avoid writing mobx data to localforage 2021-12-24 12:06:11 +00:00
Paul
189d0b5ff9 fix(mobx): properly persist login state 2021-12-24 12:00:24 +00:00
Paul
ef1ddb7771 chore: bump language defintions 2021-12-24 11:46:12 +00:00
Paul
e380534d2a Merge branch 'mobx' 2021-12-24 11:45:49 +00:00
Paul
c31bcd0200 fix(auth): block render while logging in 2021-12-24 11:32:59 +00:00
Paul
74430b1a8f feat(mobx): migrate legacy data 2021-12-24 11:19:02 +00:00
Paul
e89bbb7455 feat(mobx): add sync back (do not look at the code) 2021-12-24 02:05:18 +00:00
Paul
cc0e45526c feat(mobx): refactor and remove (react-)redux 2021-12-23 21:43:11 +00:00
Paul
6e1bcab92b feat(mobx): migrate unreads to revolt.js 2021-12-23 19:37:19 +00:00
Paul
136238f62e chore: exclude revolt.js from pre bundling 2021-12-23 12:21:00 +00:00
Paul
f7be9df980 chore(mobx): add legacy redux migations 2021-12-21 12:31:14 +00:00
Paul Makles
68578d2620 feat(mobx): start work on migrations 2021-12-20 12:01:45 +00:00
Paul Makles
89dda8fe82 feat(mobx): migrate trusted links 2021-12-17 10:20:55 +00:00
Paul Makles
120e6a35d8 feat(mobx): migrate audio settings 2021-12-16 22:05:31 +00:00
Paul
c7df0088fc feat(mobx): rewrite appearance menu 2021-12-15 18:23:05 +00:00
Paul Makles
65be047dc6 feat(mobx): continue implementing themes; performance work on settings 2021-12-13 17:27:30 +00:00
Paul Makles
bd4369cf29 feat(mobx): start implementing theme store 2021-12-13 17:27:06 +00:00
Paul
26a34032f9 feat(mobx): start work on settings store 2021-12-12 23:55:58 +00:00
Paul
fef2c5997f chore(mobx): write jsdoc for auth / mqueue 2021-12-12 15:47:15 +00:00
Paul
faca4ac32b feat(mobx): add message queue store 2021-12-12 15:33:47 +00:00
Paul
ec83230c59 chore(mobx): write jsdoc for notif opt. 2021-12-12 12:26:45 +00:00
Paul
413bf6949b feat(mobx): server notification options + data store 2021-12-11 23:34:46 +00:00
Paul
f8b8d96d3d feat(mobx): migrate auth and config 2021-12-11 21:04:12 +00:00
Paul
bc799931a8 feat(mobx): add persistence 2021-12-11 16:24:23 +00:00
Paul
2b55770ecc chore(mobx): refactor into interfaces 2021-12-11 14:36:26 +00:00
Paul
a8491267a4 feat(mobx): add layout (paths + sections) 2021-12-11 14:34:12 +00:00
Paul
f87ecfcbd7 feat(mobx): add experiments store 2021-12-11 13:23:01 +00:00
Paul
830b24a393 chore(mobx): clean up documentation 2021-12-11 12:08:43 +00:00
Paul
49f45aa5aa chore(mobx): remove extra util class 2021-12-11 11:59:26 +00:00
Paul
b36cde771e feat(mobx): expose application state to window 2021-12-11 11:58:07 +00:00
Paul
87a9841885 feat(mobx): implement locale options 2021-12-11 11:56:33 +00:00
Paul Makles
89748d7044 feat(mobx): start working on notif options, create blank files 2021-12-10 17:00:34 +00:00
Paul Makles
185f76d850 feat(mobx): write experiments, lastOpened and localeOptions stores 2021-12-10 13:55:05 +00:00
Paul Makles
5a41c25e3c feat(mobx): add drafts and state context 2021-12-10 12:53:41 +00:00
Paul Makles
66bfc658c3 chore: notes 2021-12-08 20:42:20 +00:00
434 changed files with 25245 additions and 14435 deletions

1
.babelrc Normal file
View File

@@ -0,0 +1 @@
{ "plugins": [["@babel/plugin-proposal-decorators", { "legacy": true }]] }

View File

@@ -5,3 +5,6 @@ dist_injected
node_modules node_modules
.env .env
.env.local .env.local
Dockerfile
.dockerignore

2
.github/FUNDING.yml vendored
View File

@@ -1,2 +0,0 @@
ko_fi: insertish
custom: https://insrt.uk/donate

66
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View File

@@ -0,0 +1,66 @@
name: Bug report
description: File a bug report
title: "bug: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: What did you expect to happen?
validations:
required: true
- type: dropdown
id: branch
attributes:
label: Branch
description: What branch of Revolt are you using?
options:
- Production (app.revolt.chat)
- Nightly (nightly.revolt.chat)
validations:
required: true
- type: textarea
id: commit-hash
attributes:
label: Commit hash
description: What is your commit hash? You can find this at the bottom of Settings, next to the branch name.
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: What browsers are you seeing the problem on?
multiple: true
options:
- Firefox
- Chrome
- Safari
- Microsoft Edge
- Other (please specify in the "What happened" form)
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. (To get this, press `CTRL`- or `CMD`-`SHIFT`-`I` and navigate to the "Console" tab.)
render: shell
- type: checkboxes
id: desktop
attributes:
label: Desktop
description: Is this bug specific to [the desktop client](https://github.com/revoltchat/desktop)? (If not, leave this unchecked.)
options:
- label: Yes, this bug is specific to Revolt Desktop and is *not* an issue with Revolt Desktop itself.
required: false
- type: checkboxes
id: pwa
attributes:
label: PWA
description: Is this bug specific to the PWA (i.e. "installing" the web app on iOS or Android)? (If not, leave this unchecked.)
options:
- label: Yes, this bug is specific to the PWA.
required: false

7
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
contact_links:
- name: Lounge Chat
url: https://rvlt.gg/Testers
about: Ask questions and discuss with others.
- name: Discussions
url: https://github.com/orgs/revoltchat/discussions
about: For larger feature requests and general question & answer.

24
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Feature request
description: Make a feature request
title: "feature request: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Before you start, a lot of bigger features may be better suited as [API issues](https://github.com/revoltchat/delta/issues/new) or [centralised discussions](https://github.com/revoltchat/revolt/discussions/new).
- type: textarea
id: your-idea
attributes:
label: What do you want to see?
description: Describe your idea in as much detail as possible - if applicable, screenshots/mockups are really useful.
validations:
required: true
- type: checkboxes
id: pwa
attributes:
label: PWA
description: Is this feature request specific to the PWA (i.e. "installing" the web app on iOS or Android)? (If not, leave this unchecked.)
options:
- label: Yes, this feature request is specific to the PWA.
required: false

24
.github/SECURITY.md vendored
View File

@@ -1,24 +0,0 @@
# Security
## Reporting a Vulnerability
If you would like to report a security vulnerability,
please email **[security@revolt.chat](mailto:security@revolt.chat)**,
this will open a new ticket in ticket system, you should receive a response
within the next couple of days, potentially within a few minutes if someone
is currently active.
To help us best triage the issue, please provide:
- The type of issue at hand
- The name of the relevant project affected
- Reproduction steps
- Reference to any relevant source file(s) that you may suspect are causing the issue
- Any extra information about your configuration.
- Description of potential ways this can be exploited, if you can list any
For revoltchat/revite in particular:
- Please include the commit hash of the client, it is visible in settings under the log out button.
Thank you for helping Revolt.

View File

@@ -19,7 +19,7 @@ runs:
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v2 uses: actions/setup-node@v2
with: with:
node-version: 15 node-version: 16
cache: "yarn" cache: "yarn"
- name: Install Dependencies and Build - name: Install Dependencies and Build

7
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,7 @@
## Please make sure to check the following tasks before opening and submitting a PR
* [ ] I understand and have followed the [contribution guide](https://github.com/revoltchat/revolt/discussions/282)
* [ ] I have tested my changes locally and they are working as intended
* [ ] These changes do not have any notable side effects on other Revolt projects
* [ ] (optional) I have opened a pull request on [the translation repository](https://github.com/revoltchat/translations)
* [ ] I have included screenshots to demonstrate my changes

View File

@@ -5,7 +5,7 @@ on:
branches: branches:
- "master" - "master"
tags: tags:
- "v*" - "*"
paths-ignore: paths-ignore:
- ".github/**" - ".github/**"
- "!.github/workflows/docker.yml" - "!.github/workflows/docker.yml"
@@ -100,7 +100,7 @@ jobs:
with: with:
context: . context: .
push: true push: true
platforms: linux/amd64,linux/arm64,linux/arm/v7 platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache/linux/amd64 cache-from: type=local,src=/tmp/.buildx-cache/linux/amd64

View File

@@ -4,7 +4,6 @@ on:
push: push:
branches: branches:
- "master" - "master"
- "production"
jobs: jobs:
to_gitlab: to_gitlab:

View File

@@ -1,72 +1,72 @@
name: Add PR to Board name: Add PR to Board
on: on:
pull_request_target: pull_request_target:
types: [opened, synchronize, ready_for_review, review_requested] types: [opened, synchronize, ready_for_review, review_requested]
jobs: jobs:
track_pr: track_pr:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Get project data - name: Get project data
env: env:
GITHUB_TOKEN: ${{ secrets.PAT }} GITHUB_TOKEN: ${{ secrets.PAT }}
run: | run: |
gh api graphql -f query=' gh api graphql -f query='
query { query {
organization(login: "revoltchat"){ organization(login: "revoltchat"){
projectNext(number: 3) { projectNext(number: 3) {
id id
fields(first:20) { fields(first:20) {
nodes { nodes {
id id
name name
settings settings
} }
} }
} }
} }
}' > project_data.json }' > project_data.json
echo 'PROJECT_ID='$(jq '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV echo 'PROJECT_ID='$(jq '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
echo 'INCOMING_OPTION_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Incoming PRs") |.id' project_data.json) >> $GITHUB_ENV echo 'INCOMING_OPTION_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Incoming PRs") |.id' project_data.json) >> $GITHUB_ENV
- name: Add PR to project - name: Add PR to project
env: env:
GITHUB_TOKEN: ${{ secrets.PAT }} GITHUB_TOKEN: ${{ secrets.PAT }}
PR_ID: ${{ github.event.pull_request.node_id }} PR_ID: ${{ github.event.pull_request.node_id }}
run: | run: |
item_id="$( gh api graphql -f query=' item_id="$( gh api graphql -f query='
mutation($project:ID!, $pr:ID!) { mutation($project:ID!, $pr:ID!) {
addProjectNextItem(input: {projectId: $project, contentId: $pr}) { addProjectNextItem(input: {projectId: $project, contentId: $pr}) {
projectNextItem { projectNextItem {
id id
} }
} }
}' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectNextItem.projectNextItem.id')" }' -f project=$PROJECT_ID -f pr=$PR_ID --jq '.data.addProjectNextItem.projectNextItem.id')"
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
echo 'ITEM_ID='$item_id >> $GITHUB_ENV - name: Set fields
env:
- name: Set fields GITHUB_TOKEN: ${{ secrets.PAT }}
env: run: |
GITHUB_TOKEN: ${{ secrets.PAT }} gh api graphql -f query='
run: | mutation (
gh api graphql -f query=' $project: ID!
mutation ( $item: ID!
$project: ID! $status_field: ID!
$item: ID! $status_value: String!
$status_field: ID! ) {
$status_value: String! set_status: updateProjectNextItemField(input: {
) { projectId: $project
set_status: updateProjectNextItemField(input: { itemId: $item
projectId: $project fieldId: $status_field
itemId: $item value: $status_value
fieldId: $status_field }) {
value: $status_value projectNextItem {
}) { id
projectNextItem { }
id }
} }' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=${{ env.INCOMING_OPTION_ID }} --silent
}
}' -f project=$PROJECT_ID -f item=$ITEM_ID -f status_field=$STATUS_FIELD_ID -f status_value=${{ env.INCOMING_OPTION_ID }} --silent

5
.gitignore vendored
View File

@@ -7,6 +7,11 @@ dist-ssr
*.log *.log
/.idea /.idea
.yarn/cache
.yarn/install-state.gz
public/assets public/assets
public/assets_* public/assets_*
!public/assets_default !public/assets_default
.vscode/chrome_data

View File

@@ -1,40 +0,0 @@
image: node:14-buster
variables:
GIT_SUBMODULE_STRATEGY: recursive
cache:
paths:
- node_modules
# Fetch dependencies and setup project for compilation.
install:
stage: prepare
script:
- yarn
# Type check the project
typecheck:
stage: test
needs:
- install
dependencies:
- install
script:
- yarn typecheck
# Lint the project and check prettier output.
lint:
stage: test
allow_failure: true
needs:
- install
dependencies:
- install
script:
- yarn lint
- yarn --check 'src/**/*.{js,jsx,ts,tsx}'
stages:
- prepare
- test

View File

@@ -4,10 +4,12 @@ module.exports = {
jsxBracketSameLine: true, jsxBracketSameLine: true,
importOrder: [ importOrder: [
"preact|classnames|.scss$", "preact|classnames|.scss$",
"^@revoltchat",
"/(lib)", "/(lib)",
"/(redux|mobx)", "/(redux|mobx)",
"/(context)", "/(context)",
"/(ui|common)|.svg|.webp|.png|.jpg$", "/(ui|common)$",
".svg|.webp|.png|.jpg$",
"^[./]", "^[./]",
], ],
importOrderSeparation: true, importOrderSeparation: true,

17
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "pwa-chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://local.revolt.chat:3000",
"webRoot": "${workspaceFolder}",
"runtimeExecutable": "/usr/bin/chromium",
"userDataDir": "${workspaceFolder}/.vscode/chrome_data"
}
]
}

View File

@@ -1,5 +1,4 @@
{ {
"editor.defaultFormatter": "esbenp.prettier-vscode", "editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true, "editor.formatOnSave": true
"compile-hero.disable-compile-files-on-did-save-code": true
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

785
.yarn/releases/yarn-3.2.0.cjs vendored Executable file

File diff suppressed because one or more lines are too long

11
.yarnrc.yml Normal file
View File

@@ -0,0 +1,11 @@
nodeLinker: node-modules
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
- path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
spec: "@yarnpkg/plugin-typescript"
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
spec: "@yarnpkg/plugin-workspace-tools"
yarnPath: .yarn/releases/yarn-3.2.0.cjs

View File

@@ -1,18 +1,15 @@
FROM node:16-buster AS builder FROM node:16-buster AS builder
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY package*.json ./
RUN yarn --no-cache
COPY . . COPY . .
COPY .env.build .env COPY .env.build .env
RUN yarn add --dev @babel/plugin-proposal-decorators
RUN yarn typecheck
RUN yarn build
RUN npm prune --production
FROM node:16-buster RUN yarn install --frozen-lockfile
RUN yarn typecheck
RUN yarn build:highmem
RUN yarn workspaces focus --production --all
FROM node:16-alpine
WORKDIR /usr/src/app WORKDIR /usr/src/app
COPY --from=builder /usr/src/app . COPY --from=builder /usr/src/app .

View File

@@ -4,6 +4,16 @@
This is the web client for Revolt, which is also available live at [app.revolt.chat](https://app.revolt.chat). This is the web client for Revolt, which is also available live at [app.revolt.chat](https://app.revolt.chat).
## Pending Rewrite
The following code is pending a partial or full rewrite:
- `src/components`: components are being migrated to [revoltchat/components](https://github.com/revoltchat/components)
- `src/styles`: needs to be migrated to [revoltchat/components](https://github.com/revoltchat/components)
- `src/context/intermediate`: modal system is being rewritten from scratch
- `src/context/revoltjs`: client state management needs to be rewritten and include support for concurrent clients
- `src/lib`: this needs to be organised
## Stack ## Stack
- [Preact](https://preactjs.com/) - [Preact](https://preactjs.com/)
@@ -38,19 +48,22 @@ yarn
yarn dev yarn dev
``` ```
You can now access the client at http://local.revolt.chat:3000.
## CLI Commands ## CLI Commands
| Command | Description | | Command | Description |
| ------------------- | -------------------------------------------- | | --------------------------------------- | -------------------------------------------- |
| `yarn pull` | Setup assets required for Revite. | | `yarn pull` | Setup assets required for Revite. |
| `yarn dev` | Start the Revolt client in development mode. | | `yarn dev` | Start the Revolt client in development mode. |
| `yarn build` | Build the Revolt client. | | `yarn build` | Build the Revolt client. |
| `yarn preview` | Start a local server with the built client. | | `yarn preview` | Start a local server with the built client. |
| `yarn lint` | Run ESLint on the client. | | `yarn lint` | Run ESLint on the client. |
| `yarn fmt` | Run Prettier on the client. | | `yarn fmt` | Run Prettier on the client. |
| `yarn typecheck` | Run TypeScript type checking on the client. | | `yarn typecheck` | Run TypeScript type checking on the client. |
| `yarn start` | Start a local sirv server with built client. | | `yarn start` | Start a local sirv server with built client. |
| `yarn start:inject` | Inject a given API URL and start server. | | `yarn start:inject` | Inject a given API URL and start server. |
| `yarn lint \| egrep "no-literals" -B 1` | Scan for untranslated strings. |
## License ## License

View File

@@ -1 +0,0 @@
0.5.3-1

96
android/.gitignore vendored Normal file
View File

@@ -0,0 +1,96 @@
# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
# Built application files
*.apk
*.aar
*.ap_
*.aab
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# release/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml
# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/
# Google Services (e.g. APIs or Firebase)
# google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
# Version control
vcs.xml
# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/
# Android Profiling
*.hprof
# Cordova plugins for Capacitor
capacitor-cordova-android-plugins
# Copied web assets
app/src/main/assets/public

2
android/app/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/build/*
!/build/.npmkeep

51
android/app/build.gradle Normal file
View File

@@ -0,0 +1,51 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "chat.revolt.mobile"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
// Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
flatDir{
dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
implementation project(':capacitor-android')
testImplementation "junit:junit:$junitVersion"
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
implementation project(':capacitor-cordova-android-plugins')
}
apply from: 'capacitor.build.gradle'
try {
def servicesJSON = file('google-services.json')
if (servicesJSON.text) {
apply plugin: 'com.google.gms.google-services'
}
} catch(Exception e) {
logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
}

View File

@@ -0,0 +1,19 @@
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies {
}
if (hasProperty('postBuildExtras')) {
postBuildExtras()
}

21
android/app/proguard-rules.pro vendored Normal file
View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1,26 @@
package com.getcapacitor.myapp;
import static org.junit.Assert.*;
import android.content.Context;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.getcapacitor.app", appContext.getPackageName());
}
}

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="chat.revolt.mobile">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:name="chat.revolt.mobile.MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBarLaunch"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>
</application>
<!-- Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

View File

@@ -0,0 +1,9 @@
{
"appId": "chat.revolt.mobile",
"appName": "Revolt",
"webDir": "dist",
"bundledWebRuntime": false,
"server": {
"hostname": "app.revolt.chat"
}
}

View File

@@ -0,0 +1 @@
[]

View File

@@ -0,0 +1,5 @@
package chat.revolt.mobile;
import com.getcapacitor.BridgeActivity;
public class MainActivity extends BridgeActivity {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeColor="#00000000"
android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>

View File

@@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path
android:fillColor="#26A69A"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#FFFFFF</color>
</resources>

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Revolt</string>
<string name="title_activity_main">Revolt</string>
<string name="package_name">chat.revolt.mobile</string>
<string name="custom_url_scheme">chat.revolt.mobile</string>
</resources>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:background">@null</item>
</style>
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
<item name="android:background">@drawable/splash</item>
</style>
</resources>

View File

@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<widget version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<access origin="*" />
</widget>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path name="my_images" path="." />
<cache-path name="my_cache_images" path="." />
</paths>

View File

@@ -0,0 +1,18 @@
package com.getcapacitor.myapp;
import static org.junit.Assert.*;
import org.junit.Test;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() throws Exception {
assertEquals(4, 2 + 2);
}
}

29
android/build.gradle Normal file
View File

@@ -0,0 +1,29 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.1'
classpath 'com.google.gms:google-services:4.3.5'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
apply from: "variables.gradle"
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

View File

@@ -0,0 +1,3 @@
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
include ':capacitor-android'
project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor')

24
android/gradle.properties Normal file
View File

@@ -0,0 +1,24 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

Binary file not shown.

View File

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

185
android/gradlew vendored Executable file
View File

@@ -0,0 +1,185 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"

89
android/gradlew.bat vendored Normal file
View File

@@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

5
android/settings.gradle Normal file
View File

@@ -0,0 +1,5 @@
include ':app'
include ':capacitor-cordova-android-plugins'
project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/')
apply from: 'capacitor.settings.gradle'

14
android/variables.gradle Normal file
View File

@@ -0,0 +1,14 @@
ext {
minSdkVersion = 21
compileSdkVersion = 30
targetSdkVersion = 30
androidxActivityVersion = '1.2.0'
androidxAppCompatVersion = '1.2.0'
androidxCoordinatorLayoutVersion = '1.1.0'
androidxCoreVersion = '1.3.2'
androidxFragmentVersion = '1.3.0'
junitVersion = '4.13.1'
androidxJunitVersion = '1.1.2'
androidxEspressoCoreVersion = '3.3.0'
cordovaAndroidVersion = '7.0.0'
}

13
capacitor.config.ts Normal file
View File

@@ -0,0 +1,13 @@
import { CapacitorConfig } from "@capacitor/cli";
const config: CapacitorConfig = {
appId: "chat.revolt.mobile",
appName: "Revolt",
webDir: "dist",
bundledWebRuntime: false,
server: {
hostname: "app.revolt.chat",
},
};
export default config;

6
disabled-js.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg width="225" height="161" viewBox="0 0 225 161" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M69.6951 15.0002L20.9951 63.7002L69.6951 112.4L81.7601 100.325L45.1301 63.6952L81.7601 27.0652L69.6951 15.0002ZM132.955 112.39L181.655 63.6902L132.955 14.9902L120.89 27.0652L157.52 63.6952L120.89 100.325L132.955 112.39Z" fill="white"/>
<path d="M197 73H137C133.686 73 131 75.6863 131 79V139C131 142.314 133.686 145 137 145H197C200.314 145 203 142.314 203 139V79C203 75.6863 200.314 73 197 73Z" fill="#242424"/>
<path d="M191 79H143C139.686 79 137 81.6863 137 85V133C137 136.314 139.686 139 143 139H191C194.314 139 197 136.314 197 133V85C197 81.6863 194.314 79 191 79Z" fill="#D14F4F"/>
<path d="M181.5 95.5L153.5 123.5M153.5 95.5L181.5 123.5L153.5 95.5Z" stroke="white" stroke-width="5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 828 B

2
external/lang vendored

View File

@@ -1,10 +1,13 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en" background="#191919">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<!--App Title-->
<title>Revolt</title> <title>Revolt</title>
<meta name="apple-mobile-web-app-title" content="Revolt" /> <meta name="apple-mobile-web-app-title" content="Revolt" />
<!--App Scaling-->
<meta <meta
name="viewport" name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=no" content="width=device-width, initial-scale=1.0, user-scalable=no"
@@ -69,14 +72,72 @@
media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image" rel="apple-touch-startup-image"
/> />
<!--CSS for noscript screen-->
<style>
noscript {
background: #242424;
color: white;
position: fixed;
top: 0;
left: 0;
width: 100vw;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
user-select: none;
}
noscript > div {
padding: 12px;
display: flex;
font-family: "Open Sans", sans-serif;
flex-direction: column;
justify-content: center;
text-align: center;
}
noscript > div > h1 {
margin: 8px 0;
text-transform: uppercase;
font-size: 20px;
font-weight: 700;
}
noscript > div > p {
margin: 4px 0;
font-size: 14px;
}
noscript > div > a {
align-self: center;
margin-top: 20px;
padding: 8px 10px;
font-size: 14px;
width: 80px;
font-weight: 600;
background: #ed5151;
border-radius: 4px;
text-decoration: none;
color: white;
transition: background-color 0.2s;
}
noscript > div > a:hover {
background-color: #cf4848;
}
noscript > div > a:active {
background-color: #b64141;
}
</style>
</head> </head>
<body onContextMenu="return false" ontouchstart=""> <body>
<div id="app"></div> <div id="app"></div>
<script type="module" src="/src/main.tsx"></script> <script type="module" src="/src/main.tsx"></script>
<noscript>
<div>
<img src="disabled-js.svg" />
<h1>Well, this is really awkward...</h1>
<p>Seems like your JavaScript is disabled.</p>
<p>You'll need to enable JavaScript to run this app.</p>
<a href="https://app.revolt.chat" target="_blank">Reload</a>
</div>
</noscript>
</body> </body>
<style>
html {
background-color: #191919;
}
</style>
</html> </html>

9
ios/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
App/build
App/Pods
App/Podfile.lock
App/App/public
DerivedData
xcuserdata
# Cordova plugins for Capacitor
capacitor-cordova-ios-plugins

View File

@@ -0,0 +1,402 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = "<group>"; };
50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = "<group>"; };
504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = "<group>"; };
AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = "<group>"; };
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
504EC3011FED79650016851F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
27E2DDA53C4D2A4D1A88CE4A /* Frameworks */ = {
isa = PBXGroup;
children = (
AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
504EC2FB1FED79650016851F = {
isa = PBXGroup;
children = (
504EC3061FED79650016851F /* App */,
504EC3051FED79650016851F /* Products */,
7F8756D8B27F46E3366F6CEA /* Pods */,
27E2DDA53C4D2A4D1A88CE4A /* Frameworks */,
);
sourceTree = "<group>";
};
504EC3051FED79650016851F /* Products */ = {
isa = PBXGroup;
children = (
504EC3041FED79650016851F /* App.app */,
);
name = Products;
sourceTree = "<group>";
};
504EC3061FED79650016851F /* App */ = {
isa = PBXGroup;
children = (
50379B222058CBB4000EE86E /* capacitor.config.json */,
504EC3071FED79650016851F /* AppDelegate.swift */,
504EC30B1FED79650016851F /* Main.storyboard */,
504EC30E1FED79650016851F /* Assets.xcassets */,
504EC3101FED79650016851F /* LaunchScreen.storyboard */,
504EC3131FED79650016851F /* Info.plist */,
2FAD9762203C412B000D30F8 /* config.xml */,
50B271D01FEDC1A000F3C39B /* public */,
);
path = App;
sourceTree = "<group>";
};
7F8756D8B27F46E3366F6CEA /* Pods */ = {
isa = PBXGroup;
children = (
FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */,
AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
504EC3031FED79650016851F /* App */ = {
isa = PBXNativeTarget;
buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */;
buildPhases = (
6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */,
504EC3001FED79650016851F /* Sources */,
504EC3011FED79650016851F /* Frameworks */,
504EC3021FED79650016851F /* Resources */,
9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = App;
productName = App;
productReference = 504EC3041FED79650016851F /* App.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
504EC2FC1FED79650016851F /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 0920;
TargetAttributes = {
504EC3031FED79650016851F = {
CreatedOnToolsVersion = 9.2;
LastSwiftMigration = 1100;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 504EC2FB1FED79650016851F;
productRefGroup = 504EC3051FED79650016851F /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
504EC3031FED79650016851F /* App */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
504EC3021FED79650016851F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */,
50B271D11FEDC1A000F3C39B /* public in Resources */,
504EC30F1FED79650016851F /* Assets.xcassets in Resources */,
50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
504EC30D1FED79650016851F /* Main.storyboard in Resources */,
2FAD9763203C412B000D30F8 /* config.xml in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-App-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
504EC3001FED79650016851F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
504EC3081FED79650016851F /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
504EC30B1FED79650016851F /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
504EC30C1FED79650016851F /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
504EC3101FED79650016851F /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
504EC3111FED79650016851F /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
504EC3141FED79650016851F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
504EC3151FED79650016851F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
504EC3171FED79650016851F /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = chat.revolt.mobile;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
504EC3181FED79650016851F /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = App/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = chat.revolt.mobile;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */ = {
isa = XCConfigurationList;
buildConfigurations = (
504EC3141FED79650016851F /* Debug */,
504EC3151FED79650016851F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */ = {
isa = XCConfigurationList;
buildConfigurations = (
504EC3171FED79650016851F /* Debug */,
504EC3181FED79650016851F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 504EC2FC1FED79650016851F /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:App.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:App.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,60 @@
import UIKit
import Capacitor
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
// Called when the app was launched with a url. Feel free to add additional processing here,
// but if you want the App API to support tracking app url opens, make sure to keep this call
return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
}
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
// Called when the app was launched with an activity, including Universal Links.
// Feel free to add additional processing here, but if you want the App API to support
// tracking app url opens, make sure to keep this call
return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
let statusBarRect = UIApplication.shared.statusBarFrame
guard let touchPoint = event?.allTouches?.first?.location(in: self.window) else { return }
if statusBarRect.contains(touchPoint) {
NotificationCenter.default.post(name: .capacitorStatusBarTapped, object: nil)
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Some files were not shown because too many files have changed in this diff Show More