Compare commits

...

557 Commits
v1.0.3 ... main

Author SHA1 Message Date
balzack
9b7065a88e moving design assets to .design folder
Some checks failed
CI / CI (push) Has been cancelled
2025-04-13 08:37:21 -07:00
cozats
3c9930a6de
UI Design Update (#156)
Some checks failed
CI / CI (push) Has been cancelled
* Add files via upload

* UI Design

* Rename design to design.md

* Update design.md
2025-04-12 14:07:01 -07:00
Roland Osborne
da63685e90 creating folder to design assets
Some checks failed
CI / CI (push) Has been cancelled
2025-04-11 15:07:32 -07:00
cozats
4fc547f47c
Create design (#155) 2025-04-11 15:03:37 -07:00
Roland Osborne
4e6af56d00 adjusting text input style
Some checks failed
CI / CI (push) Has been cancelled
2025-03-28 15:21:39 -07:00
Roland Osborne
5d0f6638b1 fix logout error 2025-03-28 13:31:27 -07:00
Roland Osborne
7468e72f0a setting cursor color only for android 2025-03-28 09:52:57 -07:00
Roland Osborne
b677aa1fa4 fix time format in message header 2025-03-27 16:54:24 -07:00
Roland Osborne
3c12cc6065 styling topic message box 2025-03-27 13:35:32 -07:00
balzack
d0e69246cc fixing url pattern on mobile 2025-03-26 23:15:06 -07:00
Roland Osborne
38a637e5cb styling of thread message input 2025-03-26 15:48:48 -07:00
balzack
5249ffda99 pretty format 2025-03-24 16:48:17 -07:00
balzack
ae9a72b8d6 fixing lint errors 2025-03-24 16:43:06 -07:00
balzack
6c4f0f1181 fixed lint warnings 2025-03-24 14:22:27 -07:00
Pierre Balzack
1c93ad161f
Update backlog.md 2025-03-20 20:48:37 -07:00
Roland Osborne
60f20748be fixing missing call indicator in tablet layout 2025-03-18 13:59:24 -07:00
Roland Osborne
8cc71831f8 adding mobile support for svg 2025-03-18 11:37:20 -07:00
Roland Osborne
26198f4794 fixing share sheet share of gif 2025-03-14 14:52:38 -07:00
Roland Osborne
aab6293c49 fixing animated gif support 2025-03-14 14:28:36 -07:00
Roland Osborne
2ef440c4ee tweak for animated gif render 2025-03-14 13:50:20 -07:00
Roland Osborne
39248f60e5 adjust modal style to fix android rendering 2025-03-14 11:17:22 -07:00
Roland Osborne
ad58f41502 fixed some modal overflow visible on tablet 2025-03-14 10:52:26 -07:00
Roland Osborne
fa2905e82c fixing message color 2025-03-14 10:19:35 -07:00
balzack
29ba7cbc55 adding welcome screen to small mobile layout 2025-03-13 15:40:59 -07:00
balzack
43aa246605 fixing channel detail structure mismatch
Some checks failed
CI / CI (push) Has been cancelled
2025-03-11 22:33:26 -07:00
Pierre Balzack
367df58b52
Update backlog.md 2025-03-11 22:12:35 -07:00
Roland Osborne
cf89dd48e5 adding default route for webapp
Some checks failed
CI / CI (push) Has been cancelled
2025-03-09 22:53:10 -07:00
Pierre Balzack
7b3c490858
Update ci.yml 2025-03-09 22:41:10 -07:00
Pierre Balzack
78792e3edf
Update ci.yml 2025-03-09 22:32:14 -07:00
balzack
2abfc42148 extending ring test 2025-03-09 22:30:27 -07:00
balzack
b12f7e2883 fixing unit test
Some checks are pending
CI / CI (push) Waiting to run
2025-03-09 09:22:47 -07:00
Pierre Balzack
09d4f03c54
Update ci.yml 2025-03-09 09:05:36 -07:00
Pierre Balzack
42e996920f
Update ci.yml 2025-03-09 08:58:15 -07:00
Pierre Balzack
cf1823e298
Update ci.yml 2025-03-09 08:52:44 -07:00
Pierre Balzack
e2822f2db6
running sdk tests 2025-03-09 08:39:37 -07:00
balzack
8c43bd18be adding ring test
Some checks are pending
CI / CI (push) Waiting to run
2025-03-08 20:40:17 -08:00
balzack
1dd09a1632 incrementing sdk build
Some checks failed
CI / CI (push) Has been cancelled
2025-03-07 16:45:55 -08:00
Roland Osborne
732553c3ee added service test, fixed others 2025-03-07 16:38:35 -08:00
balzack
5f57f4b0f6 styling attach media buttons
Some checks are pending
CI / CI (push) Waiting to run
2025-03-06 21:19:45 -08:00
Roland Osborne
0b483272d9 avoid overlap of loading indicator
Some checks are pending
CI / CI (push) Waiting to run
2025-03-06 11:47:15 -08:00
balzack
93d7d9aeb5 removed typo
Some checks are pending
CI / CI (push) Waiting to run
2025-03-05 21:53:31 -08:00
balzack
dcc1ad31d0 style improvements to thread asset rendering 2025-03-05 21:46:10 -08:00
balzack
078ca0f623 fixing default value for audio input
Some checks are pending
CI / CI (push) Waiting to run
2025-03-05 21:14:58 -08:00
balzack
0eb3cf023c making label clickable on switch control
Some checks are pending
CI / CI (push) Waiting to run
2025-03-05 12:58:48 -08:00
balzack
2253784dd7 correcting target of text button in settings 2025-03-05 12:35:56 -08:00
balzack
50eed2cbe5 adding helper function for contact connect, styling text inputs in mobile app
Some checks are pending
CI / CI (push) Waiting to run
2025-03-04 21:37:33 -08:00
balzack
869b3be540 copy over sdk, will attempt incremental merge in branch
Some checks are pending
CI / CI (push) Waiting to run
2025-03-03 22:04:16 -08:00
Roland Osborne
b025061682 updating cors to work with local dev webapp servers
Some checks failed
CI / CI (push) Has been cancelled
2025-02-27 12:21:13 -08:00
Michael Baumgarten
63611f2a6e
use sh as interpreter for transform scripts (#149) 2025-02-06 10:45:01 -08:00
Lucian I. Last
2b3052ac3f
Better dev docker containers, Simpler production docker file, caddy for ssl (#136)
* Better dev docker containers, Simpler production docker file, caddy for ssl

* Fix repeater docker image

* Add depends on

* Use recommended caddy volumes & change to using databag image

* move to using examples folder for installation

* lint

* Tested example linux on bare metal

* Add DATABAG_PORT env and fix caddy

* Add dev_database for local sqlite testing

* incorrect use -z

* Add platform goarch goos optional envs

* Add more caching for faster rebuilds
2025-02-05 12:04:29 -08:00
Roland Osborne
69755d1fea #146 - using url specific santizer, than you @mbaum0 for reporting! 2025-02-04 11:55:56 -08:00
mhbd
c992259541
Update README.md Adding figma file (#145)
Adding figma file.
2025-01-30 16:33:18 -08:00
Pierre Balzack
d71862b23e
Update ci.yml 2025-01-30 12:50:39 -08:00
Michael Baumgarten
651fdbe50f
make text selectable (#143) 2025-01-27 07:49:56 -08:00
Pierre Balzack
25b7286a3a
Update backlog.md 2025-01-24 12:52:27 -08:00
Pierre Balzack
88f31578de
Update backlog.md 2025-01-24 12:51:26 -08:00
Pierre Balzack
95a9b06135
Updating installation instructions; thank you @Sengachi 2024-12-29 22:28:42 -08:00
chamdim
f6e70e983e
Greek translation addition for web Strings.js (#130)
* Greek translation addition for web Strings.js

* Update Strings.js
2024-12-20 15:19:59 -08:00
chamdim
5735a2372e
Greek translation addition Strings.js (#128) 2024-12-14 22:06:45 -08:00
Pierre Balzack
8f0c88c277
Update backlog.md 2024-12-14 22:01:56 -08:00
Zafer Aydoğan
688f63064c
Update Strings.js (#123)
Update german translation.  Match with web translation.
2024-11-01 08:46:57 -07:00
Nicholas Wehr
51b8b9efae
feat: added certbot so that we get https certs automatically on server (#122)
* feat: added certbot so that we get https certs automatically on server

* feat: added readme heading
2024-10-29 12:10:47 -07:00
Roland Osborne
b49b22ed68 #117 fix regex on clickable url match 2024-10-22 13:11:23 -07:00
Roland Osborne
0ad996969c #119 fix for lost formatting on message 2024-10-21 13:05:41 -07:00
Pierre Balzack
2637306211
Update backlog.md 2024-10-20 15:09:56 -07:00
Roland Osborne
f074bfe5b9 simplifying url pattern regex 2024-10-20 09:05:56 -07:00
Roland Osborne
3141ba09e9 adding systemd service entry 2024-09-16 21:30:44 +00:00
balzack
3ad8034b73 using latest go version 2024-09-15 21:36:07 -07:00
Roland Osborne
1554600a27 using repeater for new fcm endpoint 2024-09-15 21:32:40 -07:00
Roland Osborne
c8a743558f moving firebase objects to global 2024-09-16 04:31:02 +00:00
root
bf1fed34b6 adding payload to notification endpoint 2024-09-15 17:15:28 +00:00
Roland Osborne
f2cc1d79c0 adding repeater to accomodate the fcm legacy api deprecation 2024-09-15 09:11:46 -07:00
Pierre Balzack
d3b47a0ad6
Update README.md 2024-06-30 10:14:34 -07:00
Roland Osborne
0f57cb00bd updating to latest go version for critical security fix 2024-06-20 13:03:06 -07:00
Roland Osborne
76512cfe88 fixing contact acceptance error 2024-06-20 12:41:05 -07:00
Roland Osborne
f7001136e6 using sha1 as default mfa algorithm 2024-06-15 08:31:00 -07:00
Pierre Balzack
1e3290cedc
Update backlog.md 2024-06-13 14:35:47 -07:00
Pierre Balzack
96b470d880
Update backlog.md 2024-06-12 22:04:04 -07:00
Roland Osborne
27acf58e1f using latest container for dev 2024-06-12 16:35:13 -07:00
Roland Osborne
141106f844 renaming tmp file for shared asset 2024-06-11 12:48:50 -07:00
balzack
f9538c0927 file extension cleanup 2024-06-10 23:22:24 -07:00
Roland Osborne
8c609d2f9d revert back to share button for ios 2024-06-10 16:49:54 -07:00
Roland Osborne
2592c07e00 fixing folder name for android 2024-06-10 13:47:05 -07:00
Roland Osborne
8d473b342b show popup msg on download 2024-06-10 13:33:58 -07:00
balzack
b192e8a939 adding download button to all asset types 2024-06-09 22:01:23 -07:00
Roland Osborne
fcbce7c58a setting extension for scan path 2024-06-09 10:26:22 -07:00
Roland Osborne
b4ebb20897 fixing scan path for download 2024-06-09 10:17:20 -07:00
Roland Osborne
b5b8c8e2cb fixing download path 2024-06-09 10:04:43 -07:00
Roland Osborne
b2d8332b7b renaming file as jpg 2024-06-09 09:46:44 -07:00
balzack
3e4233b8df avoid unmaintained lib for download 2024-06-09 09:15:56 -07:00
Roland Osborne
b9cb687cf1 fixing scan path on image download 2024-06-07 22:31:02 -07:00
Roland Osborne
2e6b892791 fix unit test 2024-06-07 18:16:17 -07:00
Roland Osborne
3b35640e68 defaulting new accounts to searchable 2024-06-07 17:01:22 -07:00
Roland Osborne
bb043e7520 moving back to picture dir 2024-06-07 16:17:44 -07:00
Roland Osborne
03d83b6be4 using download dir for downloaded images 2024-06-07 16:00:42 -07:00
Roland Osborne
0430403e01 finess download of images for android, seems very brittle 2024-06-07 15:32:47 -07:00
Roland Osborne
15ab5cb2e9 switching share to save for android 2024-06-06 18:20:53 -07:00
Pierre Balzack
d4b1eb2100
Update backlog.md 2024-06-05 18:59:37 -07:00
Roland Osborne
c006ee22ec fixing unit test 2024-06-05 18:46:12 -07:00
Roland Osborne
26ef4b6800 adding browser push notifiication support 2024-06-05 18:41:42 -07:00
Pierre Balzack
054284a6ed
Update README.md 2024-06-04 16:15:05 -07:00
balzack
8a93d123ad Merge branch 'cloudrtc' 2024-06-03 22:29:53 -07:00
Roland Osborne
b61f3da878 hide ice service option when not supported 2024-06-03 12:55:40 -07:00
Roland Osborne
094be15b05 updating service field type for future flexibility 2024-06-03 12:39:03 -07:00
Roland Osborne
66c4d5255c re-label turn service params 2024-06-02 09:37:15 -07:00
balzack
5663e2761d adding cloudflare turn service option 2024-06-02 09:28:54 -07:00
Pierre Balzack
fabbc79364
Update pizero.md 2024-06-01 09:58:21 -07:00
Roland Osborne
cd801a7679 defaulting to udp transport 2024-05-31 23:36:44 -07:00
Roland Osborne
3318048ce3 generate access from within server to avoid distributing api token 2024-05-31 14:57:56 -07:00
Roland Osborne
3e2b70c5ed ice config on accept 2024-05-30 14:48:23 -07:00
Roland Osborne
0f51f7b5d4 configuring cloudlare turn service 2024-05-29 23:43:16 -07:00
Roland Osborne
2804de9972 hide mfa option if using older server 2024-05-24 15:03:28 -07:00
Roland Osborne
f83cf8d25e reset fail count after error window 2024-05-24 13:37:56 -07:00
Roland Osborne
8a9216a934 support backward compatibility with admin login 2024-05-24 12:42:32 -07:00
Roland Osborne
5bd9d80258 fixing unit test 2024-05-23 22:05:51 -07:00
balzack
459732df1d fixing lint error 2024-05-23 18:17:52 -07:00
balzack
17dfdeeb0b fixing lint error 2024-05-23 18:14:08 -07:00
Roland Osborne
901c615459 enabling admin mfa login 2024-05-23 17:01:02 -07:00
Roland Osborne
2b61d25726 adding mfa login for admin 2024-05-22 16:49:08 -07:00
Roland Osborne
f469aff9f6 adding mfa to mobile dashboard 2024-05-22 16:01:06 -07:00
Roland Osborne
df8d2806e6 apply temporary lock only when mfa enabled 2024-05-22 15:52:19 -07:00
Roland Osborne
0001f6c8c9 integrated admin login with mfa 2024-05-21 15:54:29 -07:00
Roland Osborne
51306e92c4 adding mfa to admin login 2024-05-21 00:56:25 -07:00
balzack
53bfc32d4f adjusting background color on audio 2024-05-19 12:31:27 -07:00
Roland Osborne
ff8d0955d6 adjusting mfa modal layout 2024-05-18 09:06:12 -07:00
Pierre Balzack
6c4853822e
Update README.md 2024-05-18 08:57:53 -07:00
balzack
03ba44a84b hide qr code until refreshed 2024-05-18 08:53:54 -07:00
Roland Osborne
0960c00c72 updating mfa modal layout 2024-05-18 08:50:23 -07:00
Roland Osborne
9c83347162 fix lint warnings 2024-05-18 08:42:59 -07:00
balzack
047f5b364f adjust mfa dialog 2024-05-18 08:29:16 -07:00
balzack
caf46172c8 fixing layout of otp modal 2024-05-18 00:32:16 -07:00
balzack
a1041fb225 adding mobile mfa settings control 2024-05-17 20:01:19 -07:00
Roland Osborne
97f375472e adding mfa login for mobile 2024-05-17 13:42:41 -07:00
balzack
0d9fd2724e preparing mobile support for totp 2024-05-16 22:20:53 -07:00
Roland Osborne
5336d19608 allow for login with MFA token 2024-05-16 18:45:48 -07:00
Roland Osborne
810009f7aa sending mfa qr code for setup 2024-05-16 15:11:39 -07:00
Roland Osborne
e5fe393b43 invoke mfa in browser 2024-05-15 18:49:14 -07:00
Roland Osborne
19248eee7c adding server support for mfa 2024-05-15 14:48:38 -07:00
Roland Osborne
f5461cf870 adding totp support through api 2024-05-14 15:20:00 -07:00
Roland Osborne
1d271d2eb8 fix handling of failed posts 2024-05-10 13:01:53 -07:00
Roland Osborne
0ac7dffd29 adding download button to viewing assets 2024-05-08 17:21:08 -07:00
Pierre Balzack
169bf5906a
fix typo on connect label 2024-05-06 22:57:18 -07:00
balzack
73e70b19d6 use common image for dev 2024-05-06 19:30:32 -07:00
Roland Osborne
20d05ca258 allow http for android 2024-05-06 18:40:50 -07:00
Roland Osborne
bbcb973d04 Merge branch 'http' into main 2024-05-06 17:03:33 -07:00
Roland Osborne
380bc0d8a4 provide binary attachement restriction in admin config 2024-05-04 22:33:30 -07:00
Roland Osborne
948009558c restrict searching until federated name set 2024-05-03 22:38:41 -07:00
Roland Osborne
b3ad138fa3 allowing for http protocol 2024-05-03 14:32:23 -07:00
Roland Osborne
aab471eed7 detecting ip based url and use http 2024-05-03 13:25:25 -07:00
Roland Osborne
0bcb289833 allow disabling of binary attachments in mobile app 2024-05-02 17:20:20 -07:00
Roland Osborne
3b7de54be8 Revert "Typescript (#92)"
This reverts commit 71c65efa206c6d6f896f4dbcc7a0bfaf74534667.
2024-05-02 15:21:20 -07:00
Roland Osborne
8e6f1087e4 Revert "Prettier (#93)"
This reverts commit 5b2e42bc6f8435c2060dfe51c00ece4b7ed11cff.
2024-05-02 15:20:10 -07:00
Roland Osborne
55e054abb5 Revert "making databag pretty, thanks @lil5"
This reverts commit afb7632edf6298536f16501e077c4cc0d47e7ac2.
2024-05-02 15:16:20 -07:00
Roland Osborne
d38d60119b Revert "fixing unit test with custom attribute"
This reverts commit 66729cfc60000cab64780167b1a5910de9d9f2a7.
2024-05-02 15:16:16 -07:00
Pierre Balzack
89217cd441
Update backlog.md 2024-04-25 16:04:57 -07:00
Roland Osborne
66729cfc60 fixing unit test with custom attribute 2024-04-25 13:59:35 -07:00
Roland Osborne
afb7632edf making databag pretty, thanks @lil5 2024-04-25 13:29:25 -07:00
Lucian I. Last
5b2e42bc6f
Prettier (#93)
* Add ignore dsstore node_modules

* Rename to typescript

rnr -r '(.*)\.js$' '$1.ts' ./src ./test
rnr -rf '(.*)\.jsx$' '$1.tsx' ./src ./test

* Remove package lock

* Fix extension of tsx at context

* init typescript

* .

* Compiles, moved to vite

* lint new files

* Move to prettier

---------

Co-authored-by: Pierre Balzack <96387156+balzack@users.noreply.github.com>
2024-04-25 13:22:11 -07:00
Roland Osborne
04b00e02be adding dev docker compose file 2024-04-24 13:49:55 -07:00
Pierre Balzack
f5b43fef53
Update ci.yml 2024-04-24 13:33:46 -07:00
Lucian I. Last
71c65efa20
Typescript (#92)
* Add ignore dsstore node_modules

* Rename to typescript

rnr -r '(.*)\.js$' '$1.ts' ./src ./test
rnr -rf '(.*)\.jsx$' '$1.tsx' ./src ./test

* Remove package lock

* Fix extension of tsx at context

* init typescript

* .

* Compiles, moved to vite

* lint new files

* check dashboard

* Add dist to ignore file
2024-04-24 13:26:55 -07:00
Pierre Balzack
ed53e4915f
Update ci.yml 2024-04-24 13:15:16 -07:00
Roland Osborne
af3f1f070a #87: thanks @maurelio-cky, restricting range of admin field for storage and accounts 2024-04-23 13:08:20 -07:00
Roland Osborne
3fac7afe3d fixing account storage config in mobil dashboard 2024-04-22 17:11:28 -07:00
Roland Osborne
726821e29e #90: removing unused lock file, thanks @lil5 2024-04-22 12:13:07 -07:00
Roland Osborne
d00ab3ee8f added backlog item for api refactor 2024-04-21 22:36:45 -07:00
Roland Osborne
c881bc9498 added backlog item for typescript refactor 2024-04-21 22:31:36 -07:00
Roland Osborne
7ec199d992 fix for Issue #87, was not syncing storage to UI properly, thanks @maurelio-cky 2024-04-21 22:09:33 -07:00
balzack
d588347ebc reducing container size 2024-04-05 11:40:44 -07:00
Roland Osborne
f05e86e5ac upgrading golang version 2024-04-04 09:32:10 -07:00
Pierre Balzack
f05c501e6e
Update backlog.md 2024-04-03 12:20:05 -07:00
Pierre Balzack
1155258f66
Update README.md 2024-04-02 13:23:47 -07:00
Roland Osborne
c1d0c00856 removing todo file 2024-04-02 13:10:20 -07:00
Pierre Balzack
af59af5fe1
Update README.md 2024-03-27 22:16:42 -07:00
Pierre Balzack
325755add9
Update backlog.md 2024-03-27 22:09:06 -07:00
Pierre Balzack
8382db9131
Update README.md 2024-03-25 23:02:39 -07:00
Pierre Balzack
5d94ac5ba8
Update design_overview.md 2024-03-22 17:56:56 -07:00
Pierre Balzack
e6fe674e05
Update design_overview.md 2024-03-22 14:57:14 -07:00
Pierre Balzack
76b1bccd8e
Update design_overview.md 2024-03-22 14:39:02 -07:00
Pierre Balzack
96629ff26c
Update design_overview.md 2024-03-22 14:36:50 -07:00
Pierre Balzack
4ea24efd21
Update design_overview.md 2024-03-22 14:34:51 -07:00
Pierre Balzack
c6fb9ac39e
Add files via upload 2024-03-22 14:34:12 -07:00
Pierre Balzack
915e5bdf02
Add files via upload 2024-03-22 14:30:28 -07:00
Pierre Balzack
4ef3fea0dd
Update design_overview.md 2024-03-22 14:22:40 -07:00
Pierre Balzack
db144fccf2
Update README.md 2024-03-22 14:21:22 -07:00
Pierre Balzack
8aadf66933
Update design_overview.md 2024-03-22 14:13:26 -07:00
Pierre Balzack
c1ad012964
Add files via upload 2024-03-22 14:12:20 -07:00
Pierre Balzack
bb8799b55f
Update design_overview.md 2024-03-22 14:11:28 -07:00
Pierre Balzack
7f5a5dea52
Update design_overview.md 2024-03-22 14:09:11 -07:00
Pierre Balzack
91cd3c2457
Add files via upload 2024-03-22 14:06:50 -07:00
Pierre Balzack
4188a09b63
Update design_overview.md 2024-03-22 14:04:54 -07:00
Pierre Balzack
b47a4d88cf
Add files via upload 2024-03-22 14:01:29 -07:00
Pierre Balzack
4462c0d162
Add files via upload 2024-03-22 13:56:46 -07:00
Pierre Balzack
59346cf97d
Update design_overview.md 2024-03-22 13:56:25 -07:00
Pierre Balzack
2a9f4a7b5f
Add files via upload 2024-03-22 13:53:47 -07:00
Pierre Balzack
21ed521559
Update design_overview.md 2024-03-22 13:51:04 -07:00
Pierre Balzack
acc57fe67a
Add files via upload 2024-03-22 13:48:49 -07:00
Pierre Balzack
9d08d387ab
Create design_overview.md 2024-03-22 13:44:02 -07:00
Pierre Balzack
17e1e5ad57
Update README.md 2024-03-20 16:42:29 -07:00
Pierre Balzack
2ce6bf4e00
Update backlog.md 2024-03-14 21:56:47 -07:00
Pierre Balzack
665506867b
Update backlog.md 2024-03-14 16:01:17 -07:00
Pierre Balzack
9e8a3a603e
Update backlog.md 2024-03-14 12:45:51 -07:00
Pierre Balzack
1f2b683d16
Update backlog.md 2024-03-14 12:31:48 -07:00
Pierre Balzack
11ddfff957
Update backlog.md 2024-03-14 12:31:11 -07:00
Pierre Balzack
8113f01a4d
Update backlog.md 2024-03-13 21:59:24 -07:00
Pierre Balzack
02c5f0792b
Update README.md 2024-03-13 18:43:06 -07:00
Pierre Balzack
8815ebe7bd
Update backlog.md 2024-03-13 18:37:49 -07:00
Pierre Balzack
9e67d2027b
Create backlog.md 2024-03-13 18:30:19 -07:00
Roland Osborne
10ad2fd0ae Merge branch 'main' of https://github.com/balzack/databag into main 2024-03-13 14:34:21 -07:00
Roland Osborne
d7046fb531 tinting right pane for visual distinction 2024-03-13 14:30:57 -07:00
Pierre Balzack
26095d2d20
Update aws.md 2024-03-12 22:54:41 -07:00
Pierre Balzack
6389fcc069
Update aws.md 2024-03-12 22:12:22 -07:00
Pierre Balzack
d86116580c
Update aws.md 2024-03-12 22:08:19 -07:00
Pierre Balzack
673e88cc42
Update aws.md 2024-03-12 22:02:04 -07:00
Pierre Balzack
36703e7114
Update aws.md 2024-03-12 21:58:19 -07:00
Pierre Balzack
4d0e1a8c2e
Update aws.md 2024-03-12 18:09:44 -07:00
Pierre Balzack
c419b44433
Update aws.md 2024-03-12 18:08:22 -07:00
Pierre Balzack
948aeced0a
Update README.md 2024-03-12 15:30:30 -07:00
Roland Osborne
ffede893d8 fixing missing unknown count in details 2024-03-12 14:42:09 -07:00
Roland Osborne
62c48e6a8a updating dark lang for sharing list 2024-03-11 22:54:31 -07:00
Roland Osborne
a576c535e7 changes to work with xcode update 2024-03-11 14:23:55 -07:00
balzack
9b12297a00 updating ios pods 2024-03-10 22:32:36 -07:00
balzack
3d6699381a reducing docker image size further 2024-03-10 20:42:13 -07:00
balzack
fa9c08222d reducing docker image size 2024-03-08 17:54:56 -08:00
Roland Osborne
8b15004b48 adding default values for dropdowns 2024-03-08 14:38:37 -08:00
Roland Osborne
fc99b24d5d fixing a few missed translations 2024-03-08 14:08:29 -08:00
Roland Osborne
b400592d03 confirm contact disconnect or delete 2024-03-08 13:49:02 -08:00
Roland Osborne
7f8dc1a6be some styling tweaks 2024-03-07 23:35:33 -08:00
Roland Osborne
58ba4857f9 fix jest errors 2024-03-07 16:43:36 -08:00
Roland Osborne
67f7caa378 added more translations 2024-03-07 16:28:44 -08:00
Roland Osborne
b0fd1a2cd6 added notes lable translation 2024-03-07 12:31:05 -08:00
Roland Osborne
2c416d5150 adding spanish translation 2024-03-06 23:03:19 -08:00
Roland Osborne
7e39f05491 scaling video calls 2024-03-06 22:37:11 -08:00
Roland Osborne
f03ca2dbe0 adding fullscreen support to video calls 2024-03-06 13:34:00 -08:00
Roland Osborne
48baa779fb allowing for device selection with webrtc calls 2024-03-05 16:09:17 -08:00
Roland Osborne
9af0fc744f selecting webrtc device 2024-03-04 21:57:38 -08:00
Roland Osborne
0b4e7da468 translated detail component 2024-03-03 22:56:39 -08:00
Roland Osborne
e83bd155c4 styling detail modals 2024-03-03 22:34:44 -08:00
Roland Osborne
721b4d35b2 adjusting translation 2024-03-03 17:58:48 -08:00
Roland Osborne
90e4ee62cb tweaking static image name 2024-03-03 17:56:55 -08:00
Roland Osborne
8447dcd6ee styling edit subject modal 2024-03-03 17:52:53 -08:00
Roland Osborne
a43a869197 styling details component 2024-03-03 09:16:07 -08:00
Roland Osborne
06618102c9 updating text style on theme change 2024-03-02 22:25:54 -08:00
Roland Osborne
3629f30029 adding dark mode and translation to thread component 2024-03-02 21:29:18 -08:00
Roland Osborne
71d6598556 style and translate dashboard 2024-03-01 13:33:19 -08:00
Roland Osborne
2541417662 updating access screens 2024-02-29 15:16:46 -08:00
Roland Osborne
4ae70543db updating dark splash 2024-02-29 12:37:21 -08:00
Roland Osborne
5e527a65fd adding darkmode to welcome 2024-02-28 16:10:50 -08:00
Roland Osborne
bbb6d7593e adding darkmode to welcome 2024-02-28 16:10:25 -08:00
Roland Osborne
2e418db65d adding dark login splash 2024-02-28 15:49:44 -08:00
Roland Osborne
2473503a30 adding translations to contact component 2024-02-28 15:05:33 -08:00
Roland Osborne
ee3e528337 adding translations to contact component 2024-02-28 15:04:43 -08:00
Roland Osborne
5db44ebaff adding dark mode to contact page 2024-02-28 13:41:33 -08:00
Roland Osborne
d245081ecf styling listing component 2024-02-25 22:35:15 -08:00
Roland Osborne
75db9a732a updating handle format of contact 2024-02-25 09:46:03 -08:00
Roland Osborne
330b98f835 adding a card view 2024-02-25 09:21:26 -08:00
Roland Osborne
18127e2442 adjusting profile field layout 2024-02-24 10:51:10 -08:00
Roland Osborne
f2d57d6d5e translating error modal 2024-02-24 10:28:28 -08:00
Roland Osborne
bed02f2750 adding profile translation 2024-02-24 09:21:41 -08:00
Roland Osborne
82c8221f2e styling remaining profile modals 2024-02-23 23:21:58 -08:00
Roland Osborne
606b8c4122 fixing mobile layout issues 2024-02-23 16:44:10 -08:00
Roland Osborne
4288aa9cc5 translating theme names 2024-02-23 13:52:20 -08:00
Roland Osborne
1f7ad6c4bd styling profile details modal 2024-02-23 13:33:19 -08:00
Roland Osborne
d81c723801 styling profile detail modal 2024-02-23 13:06:54 -08:00
Roland Osborne
60761d3d5d styling change login modal 2024-02-23 12:50:51 -08:00
Roland Osborne
a24272db84 styling logout modal 2024-02-23 12:21:18 -08:00
Roland Osborne
ff66e8457d styling profile components 2024-02-23 09:54:50 -08:00
Roland Osborne
1cd729c820 applying app settings 2024-02-21 22:09:08 -08:00
Roland Osborne
0af52e5178 Merge branch 'darklang' of https://github.com/balzack/databag into darklang 2024-02-21 09:31:27 -08:00
Roland Osborne
ebecfe9b0c styling profile bar 2024-02-21 09:31:05 -08:00
balzack
4ca114806c making barnch todo 2024-02-19 09:51:47 -08:00
Roland Osborne
240be0db76 slide registry from right 2024-02-18 20:34:46 -08:00
Roland Osborne
24d73f7caa styling welcome screen 2024-02-16 21:10:14 -08:00
Roland Osborne
104c61b1cf styling welcome component 2024-02-16 20:47:39 -08:00
balzack
2dd07e55f3 adding dark background 2024-02-16 17:42:00 -08:00
Roland Osborne
310c6bbb2b styling add topic modal 2024-02-16 16:26:17 -08:00
Roland Osborne
19f01c57c5 updating channel component 2024-02-15 23:40:23 -08:00
Roland Osborne
a6970986d1 adding localization for identity component 2024-02-14 23:25:11 -08:00
Roland Osborne
696dace1bb adding darkmode to identity component 2024-02-13 22:29:18 -08:00
Roland Osborne
17f6eea3e8 preparing for color themes 2024-02-13 14:17:29 -08:00
balzack
253de78c82 restore folder name to match published tutorials 2024-02-06 17:20:03 -08:00
Pierre Balzack
a53b752902
Update README.md 2024-02-03 17:31:20 -08:00
Pierre Balzack
a7ad04f39f
Update README.md 2024-02-03 01:39:13 -08:00
Pierre Balzack
1f65483e1a
Update README.md 2024-02-02 18:24:21 -08:00
Pierre Balzack
21b92e7a37
Update README.md 2024-02-02 18:18:41 -08:00
Pierre Balzack
f03839661c
Update README.md 2024-02-01 16:38:43 -08:00
Pierre Balzack
9a8df8639a
Update README.md 2024-02-01 09:41:36 -08:00
Pierre Balzack
01493582db
Update README.md 2024-02-01 09:23:47 -08:00
Pierre Balzack
20211edc58
Update README.md 2024-02-01 09:20:01 -08:00
Pierre Balzack
680c5dedfa
Update README.md 2024-02-01 09:19:36 -08:00
Pierre Balzack
6c70622eb4
Update README.md 2024-01-31 21:19:03 -08:00
Pierre Balzack
e7817bb696
Update README.md 2024-01-31 21:18:36 -08:00
Pierre Balzack
55efa14d61
Update README.md 2024-01-31 15:37:18 -08:00
Pierre Balzack
7192f657a0
Update README.md 2024-01-31 15:29:17 -08:00
Pierre Balzack
dc57dc1000
Update README.md 2024-01-31 15:14:03 -08:00
Pierre Balzack
98491d3ab3
Update README.md 2024-01-31 15:09:29 -08:00
Pierre Balzack
c2c9679eb2
Update README.md 2024-01-31 13:56:52 -08:00
Pierre Balzack
810c188192
Update README.md 2024-01-31 13:54:14 -08:00
Pierre Balzack
d74e05b86d
Update README.md 2024-01-31 13:53:06 -08:00
Pierre Balzack
10f5207fde
Update README.md 2024-01-31 10:56:04 -08:00
Pierre Balzack
3798bf259c
Update README.md 2024-01-31 10:48:46 -08:00
Pierre Balzack
f3946abf68
Update README.md 2024-01-31 10:42:42 -08:00
Roland Osborne
4fd4207761 fixing build in openwrt 2024-01-30 12:56:13 -08:00
Pierre Balzack
347f263c15
Update openwrt.md 2024-01-26 14:11:11 -08:00
Pierre Balzack
08c2e0bd92
Update openwrt.md 2024-01-26 14:06:02 -08:00
Pierre Balzack
c689ecd535
Update openwrt.md 2024-01-25 22:00:25 -08:00
Pierre Balzack
94f39964c8
Update openwrt.md 2024-01-24 20:10:27 -08:00
Pierre Balzack
cacb00c121
Update README.md 2024-01-24 17:09:00 -08:00
Pierre Balzack
bb3ff450e4
Update openwrt.md 2024-01-24 14:38:08 -08:00
Pierre Balzack
5ee942ef75
Update README.md 2024-01-24 14:37:23 -08:00
Pierre Balzack
a6f5aabd3e
Update openwrt.md 2024-01-24 14:35:09 -08:00
Pierre Balzack
3200616bd2
Update README.md 2024-01-24 14:34:30 -08:00
Pierre Balzack
2eb5fdded1
Create openwrt.md 2024-01-24 14:31:57 -08:00
mms-gianni
f33ddfa134
Update README.md (#76)
Add Kubero to one click installations
2024-01-23 14:54:47 -08:00
Pierre Balzack
1ba04589b4
Update README.md 2024-01-19 16:45:44 -08:00
Pierre Balzack
65679e8e96
Update README.md 2024-01-19 16:43:44 -08:00
Pierre Balzack
271db64e0e
Update pizero.md 2024-01-19 16:41:22 -08:00
Pierre Balzack
29fcfe8119
Update aws.md 2024-01-19 16:36:41 -08:00
balzack
a689a40a6d use sealed channel when required for direct message 2024-01-18 18:01:15 -08:00
Roland Osborne
bba5a1c6de issue #73, fix unnecessary logs for cleared push tokens 2024-01-16 20:44:31 -08:00
Roland Osborne
30cabccf6c wait for device token on login 2024-01-16 14:57:24 -08:00
Roland Osborne
993434b96c avoid sleep, retry device token at login if previously failed 2024-01-16 13:07:55 -08:00
balzack
da5b12d0e7 issue #63: fix for iphone push notifiications, thanks @youngiphone & @Dinobali for reporting 2024-01-15 21:29:54 -08:00
Roland Osborne
607111071b fixing asset path 2024-01-15 10:10:28 -08:00
Pierre Balzack
fbe13f35c2
Update ci.yml 2024-01-13 23:45:31 -08:00
Roland Osborne
d6c0efcb0d fixing build 2024-01-13 23:37:18 -08:00
Roland Osborne
d8e5496ed7 Merge branch 'main' of https://github.com/balzack/databag into main 2024-01-13 23:24:20 -08:00
Roland Osborne
a9d005e287 fix build warning 2024-01-13 23:24:07 -08:00
Pierre Balzack
60f005d4d3
Update README.md 2024-01-13 23:20:08 -08:00
Roland Osborne
28bb15a248 Merge branch 'main' into openwrt 2024-01-13 23:15:29 -08:00
balzack
c4f33da48a showing allow unsealed only if transforms are available 2024-01-13 19:51:35 -08:00
Roland Osborne
25e469a639 restricitng allow unsealed if transforms not possible 2024-01-13 17:14:59 -08:00
Roland Osborne
4c386fac8e using command line switches 2024-01-13 10:46:18 -08:00
Roland Osborne
76773105ed updating args for clarity 2024-01-13 10:21:56 -08:00
Pierre Balzack
498e14346f
Update README.md 2024-01-12 14:09:11 -08:00
Pierre Balzack
3d83550921
Update openwrt.yml 2024-01-12 14:03:37 -08:00
Pierre Balzack
2b925d7771
Update README.md 2024-01-12 14:00:17 -08:00
Pierre Balzack
016a43ff89
Update openwrt.yml 2024-01-12 13:57:20 -08:00
Pierre Balzack
b809e6f750
bundling source for openwrt 2024-01-12 13:48:25 -08:00
Roland Osborne
91a249fbb9 storing openwrt integration files 2024-01-12 13:34:32 -08:00
Roland Osborne
f18bd116fd supporting device restrictions 2024-01-12 13:21:51 -08:00
Roland Osborne
560263606b fix for text shortcut when allowUnsealed not set 2024-01-08 13:05:34 -08:00
Roland Osborne
00f55bba56 fix for input blur on send/enter 2024-01-03 23:38:39 -08:00
Roland Osborne
8071db8f35 fixing not allow unsealed channel type 2024-01-03 23:30:35 -08:00
balzack
9f1b502d5b default to existing behavior for allowing unsealed 2023-12-23 10:41:04 -08:00
balzack
76246ac6eb connecting unsealed setting in admins screen 2023-12-23 08:55:14 -08:00
Roland Osborne
f5e9b5de61 respecting allowUnsealed setting in mobile app 2023-12-23 08:30:03 -08:00
root
61d2660f88 allow server to require new channels be sealed 2023-12-22 07:16:24 -08:00
root
a4deb48bba migrating to go transpiled sqlite for cross compiling 2023-12-20 21:13:00 -08:00
Zzzz
111e295f9c
Update README.md (#71)
more secure way, also added some visibility   ➡️ Click to expand ⬅️
2023-11-24 21:15:52 -08:00
balzack
0d2e35ae8e fix build 2023-10-21 08:58:30 -07:00
balzack
48f5f53f22 fixed a few translations 2023-10-21 08:51:59 -07:00
Roland Osborne
fdf8086afa fix for rendering federated registry logo 2023-10-10 15:37:00 -07:00
Roland Osborne
2f723f3759 removing channel push option 2023-10-10 13:54:45 -07:00
Roland Osborne
97ec0067fc big thanks to @mallugamer4k for reporting and debugging this admin login issue! 2023-10-08 21:58:10 -07:00
balzack
50c1e07431 changing icon indicating not-connected card 2023-10-08 08:25:54 -07:00
balzack
f1ec3f30e0 updating todo 2023-10-08 08:02:35 -07:00
balzack
2eb1f4ffb4 adding more language support 2023-10-08 00:00:55 -07:00
balzack
3f84ca6429 styling placeholders consistenlty 2023-10-07 23:36:22 -07:00
balzack
9cfa108a0c preventing activity indicator from increasing button size 2023-10-07 23:24:10 -07:00
Roland Osborne
893a0d97de good catch unit test, only clear slot on delete 2023-10-07 23:19:43 -07:00
Roland Osborne
33c6599d05 workaround for issue where sqlite not autonicrmenting after delted record 2023-10-07 23:05:05 -07:00
balzack
b86aa94d25 fix for error message not showing up 2023-10-07 22:46:41 -07:00
balzack
c57675a19f curating todo 2023-10-07 13:05:19 -07:00
balzack
cee56ed505 styling login 2023-10-06 23:52:50 -07:00
balzack
78665a87bb fixing cropped name 2023-10-06 23:36:59 -07:00
balzack
15bd17dd5f fixing connection request error 2023-10-06 23:14:56 -07:00
balzack
d02130679b more placeholder translation 2023-10-06 22:55:49 -07:00
balzack
3e2ebe7f77 translating placeholders 2023-10-06 22:49:45 -07:00
balzack
1294e80523 translating placeholder 2023-10-06 22:45:33 -07:00
Roland Osborne
a23008d4ea styling call frame 2023-10-06 18:06:20 -07:00
Roland Osborne
b974d7465a translating empty topic 2023-10-06 17:32:43 -07:00
Roland Osborne
59c17f1582 fixing build 2023-10-06 17:26:59 -07:00
Roland Osborne
30f4a2423e fixing translation 2023-10-06 17:24:36 -07:00
Roland Osborne
5075ad7363 translating welcome screen 2023-10-06 17:23:44 -07:00
Roland Osborne
132b880127 translating default subject title 2023-10-06 16:51:23 -07:00
Roland Osborne
8d7e88d12b fixing cards filter 2023-10-06 16:07:42 -07:00
Roland Osborne
fec1f9e2cf increasing keyboard offset in thread 2023-10-06 15:40:26 -07:00
Roland Osborne
c4d675cb0e centering button text 2023-10-06 14:46:14 -07:00
Roland Osborne
ae12bf4ffb fix card sort and filter 2023-10-06 14:44:27 -07:00
Roland Osborne
96d077fd66 switching to / for token separator 2023-10-06 14:36:38 -07:00
balzack
46dd40ed9c styling ringing modal 2023-10-05 23:26:24 -07:00
balzack
ffb44c1f5d updating style for light mode 2023-10-05 22:56:10 -07:00
balzack
65564c808a updating topic action modals 2023-10-05 20:03:44 -07:00
Roland Osborne
68edf63add styling terms of service for android 2023-10-05 17:05:01 -07:00
Roland Osborne
43d7c4f5ec styling for android 2023-10-05 13:35:06 -07:00
balzack
4c838361ff styling for android 2023-10-04 23:32:00 -07:00
Roland Osborne
f0dc45fe10 fixing android build 2023-10-04 22:53:32 -07:00
Roland Osborne
9c3c50c0b7 translating access screens 2023-10-04 14:22:17 -07:00
Roland Osborne
7e2ec8a6cc fixing unit test 2023-10-04 14:00:42 -07:00
Roland Osborne
602acde3f3 adding portugese translation 2023-10-04 13:48:57 -07:00
balzack
7330abb8f1 using date/time configuration for detail screen 2023-10-03 18:17:19 -07:00
balzack
bfca12a170 using configured date/time format 2023-10-03 18:09:01 -07:00
balzack
4e0b47072a styling tweaks 2023-10-03 17:53:11 -07:00
Roland Osborne
d2cec19b43 translating add topic component 2023-10-03 14:22:57 -07:00
Roland Osborne
22eafd10ff Merge branch 'uix' into main 2023-10-03 13:57:18 -07:00
balzack
c28e1ebb84 updating modal styles 2023-10-03 13:55:57 -07:00
Roland Osborne
91cbe158be fixing unit test 2023-10-03 13:36:37 -07:00
Roland Osborne
ab76125a9f fixing unit test 2023-10-03 13:30:37 -07:00
Roland Osborne
14b03f263d fixing unit test 2023-10-03 13:28:13 -07:00
Roland Osborne
405e6c2b76 styling conversation for dark mode 2023-10-02 16:30:37 -07:00
balzack
c3c979ad72 styling access screens for darkmode 2023-10-01 10:44:28 -07:00
balzack
fbfad8a3fd translating admin dashboard strings 2023-09-30 21:25:20 -07:00
balzack
f26373e99c styling admin screen for dark mode 2023-09-30 10:20:33 -07:00
balzack
fd60909768 more styling for dark mode 2023-09-29 19:05:30 -07:00
balzack
daf4732406 styling for dark mode 2023-09-29 18:44:11 -07:00
Roland Osborne
401e614ee9 styling for tablet darkmode 2023-09-29 17:02:41 -07:00
Roland Osborne
35453fc678 details for tablet layout 2023-09-25 16:42:46 -07:00
Roland Osborne
fa2927d5ba refactored details page 2023-09-25 14:35:09 -07:00
balzack
408a16f018 preparing details screen 2023-09-25 13:06:44 -07:00
balzack
8735eff6ba implemented styled channels list 2023-09-24 11:09:37 -07:00
balzack
5b5db51ad3 rendering color mode for registy 2023-09-23 10:26:08 -07:00
Roland Osborne
76237d6d1e implementing refactored contact list 2023-09-21 17:11:57 -07:00
balzack
b3828891af fixing flicker on contact drawer 2023-09-20 22:10:13 -07:00
balzack
7c9b811ca6 implementing refactored contact view for drawers 2023-09-20 17:59:45 -07:00
Roland Osborne
8c77245524 implementing refactored contact screen 2023-09-20 13:37:43 -07:00
balzack
fce0f4e630 adding actions to contacts 2023-09-19 17:49:26 -07:00
Roland Osborne
49c2aafaf4 rendering contact actions 2023-09-19 16:06:35 -07:00
balzack
7eb88452d1 building refactored contacts screen 2023-09-18 23:08:26 -07:00
Roland Osborne
35e1b55685 building out refactored contact screen 2023-09-18 17:22:06 -07:00
balzack
0ecce1da5f styling contact screen 2023-09-17 23:19:44 -07:00
balzack
d5b779a04e rebuilding contact screen 2023-09-17 23:09:10 -07:00
Roland Osborne
2711b579ba added remaining options to profile settings screen 2023-09-15 14:28:01 -07:00
balzack
72d43ca294 laying out drawer profile for tablet 2023-09-14 23:17:30 -07:00
Roland Osborne
10925079bf adding profile settings drawer for tablet 2023-09-14 15:48:31 -07:00
Roland Osborne
4e380a8e05 setting status bar color 2023-09-13 23:21:44 -07:00
balzack
5f7483c17b fixing overlay on logout modal 2023-09-13 22:59:58 -07:00
balzack
1e6a8e0e79 fixing blur modal on for settings screen in android 2023-09-13 22:50:04 -07:00
balzack
59035760de fixing typo 2023-09-13 22:28:31 -07:00
balzack
dcdee2413e fixing overlay blur for android 2023-09-13 22:25:01 -07:00
balzack
7a62d0ec82 adjust profile screen 2023-09-13 18:08:15 -07:00
Roland Osborne
376420517f scrolling description in profile screen 2023-09-13 13:36:18 -07:00
balzack
e1351459fb avoid keyboard in settings modals 2023-09-12 23:45:19 -07:00
balzack
8c1eb824e7 adjusting modal layout 2023-09-12 22:52:45 -07:00
balzack
04e4da7aa3 moving activity indicator to button 2023-09-12 22:42:46 -07:00
balzack
ef75799ed5 removed floating label from all screens 2023-09-12 22:25:50 -07:00
Roland Osborne
ac268d4a3d removing float label input, maybe related to oom crash 2023-09-12 17:43:13 -07:00
balzack
3b0677ff65 finished first pass of refactored profile screen 2023-09-11 18:19:15 -07:00
balzack
81a222a18f refactor profile screen continued 2023-09-11 00:41:57 -07:00
balzack
1c171d0372 implementing profile screen 2023-09-09 23:11:42 -07:00
balzack
57749610f8 building out refactored profile screen 2023-09-09 00:35:03 -07:00
balzack
9c4b2bfeb6 building out refactored profile 2023-09-07 23:02:57 -07:00
Roland Osborne
d0e8ef8be7 refactoring profile tab 2023-09-07 15:21:47 -07:00
balzack
bc7f919ca3 styling settings 2023-09-07 07:40:49 -07:00
balzack
f8373284bf updating modal style 2023-09-06 18:15:10 -07:00
balzack
9e6875a951 styling blocked modals 2023-09-06 17:53:21 -07:00
balzack
66c9710764 adding blocked message support to refactored settings 2023-09-06 16:53:10 -07:00
Roland Osborne
0d04c26b2a unblocking topics in refactored settings screen 2023-09-06 14:50:27 -07:00
Roland Osborne
b1557bf204 rendering blocked topics 2023-09-06 10:57:47 -07:00
balzack
3052d5e1b9 re-supporting blocked contacts 2023-09-06 00:00:22 -07:00
Roland Osborne
73adea60a3 building out blocked modals 2023-09-05 15:49:35 -07:00
Roland Osborne
fe916814ba adding reusable prompt component 2023-09-05 14:20:47 -07:00
balzack
82092bbe57 adding blocked modals 2023-09-04 21:37:10 -07:00
balzack
67221f3363 extending blocked modal stubs 2023-09-04 18:12:49 -07:00
Roland Osborne
2c03abdeb3 added stubs for blocked modals 2023-09-04 16:41:04 -07:00
balzack
32722bdc99 adjusting modal colors for light mode 2023-09-03 10:14:34 -07:00
balzack
5c233a8ce4 optimize applying push setting 2023-09-02 16:00:54 -07:00
balzack
7e77f30b9e big thanks to reddit user @perseus_1337 for all the help in modal UI 2023-09-02 14:12:51 -07:00
Roland Osborne
3072e0dec7 updating change password style based on comments 2023-09-02 12:17:01 -07:00
balzack
84165a74d6 styling settings modals 2023-09-02 11:11:56 -07:00
balzack
977916e61f using translated strings for error modal 2023-08-31 21:24:41 -07:00
balzack
3768593502 adding delete modal to new settings screen 2023-08-31 16:35:04 -07:00
Roland Osborne
bcbdfeb963 adding delete account modal to new settings screen 2023-08-31 15:56:40 -07:00
Roland Osborne
e87a5b86fb adding change login modal to new settings screen 2023-08-31 13:18:28 -07:00
Roland Osborne
894ac14a10 tying in notifications to updated settings 2023-08-30 10:14:37 -07:00
Roland Osborne
04ec4f5959 fixing delayed revision increment 2023-08-30 10:11:18 -07:00
balzack
4343c5eb33 minor tweaks to settings screen 2023-08-29 21:14:41 -07:00
Roland Osborne
1870aa16af styling seal wizard for dark mode 2023-08-29 13:08:05 -07:00
Roland Osborne
f4ad6c9a9f wrapped up first pass of sealing wizard 2023-08-29 12:04:47 -07:00
balzack
8491171b82 updating seal modal 2023-08-28 23:40:32 -07:00
Roland Osborne
1d3f4caf55 updating seal modal 2023-08-28 17:35:01 -07:00
Roland Osborne
55f8519ef7 adding sealing key modal 2023-08-28 15:52:16 -07:00
balzack
41b72427c4 updating sealing modal 2023-08-28 11:36:00 -07:00
balzack
249a96936a presist hour and date format 2023-08-25 22:19:58 -07:00
Roland Osborne
f7fe2a4308 tweaking settings layout 2023-08-25 12:55:42 -07:00
Roland Osborne
b81c55af41 adding date format option 2023-08-25 10:02:25 -07:00
balzack
d4e571e3fd pulling language from OS 2023-08-24 18:03:37 -07:00
Roland Osborne
6bd073fdf9 adjusting top safe view in settings 2023-08-24 13:24:02 -07:00
Roland Osborne
c7f993414b implementing settings screen 2023-08-24 13:14:46 -07:00
balzack
3787652777 add new settings screen separate from porfile 2023-08-23 13:59:17 -07:00
Roland Osborne
622111e697 fixing build 2023-08-22 14:38:28 -07:00
Roland Osborne
a0b07bfed8 adding interface to color mode 2023-08-22 14:34:58 -07:00
Roland Osborne
68203bad52 adding strings and color for updated ui 2023-08-22 12:43:59 -07:00
Pierre Balzack
6031ea3cc6
rough ui pass 2023-08-18 22:26:06 -07:00
balzack
8d9c5a0e4c fix for message sorting on contact messages 2023-08-15 22:29:24 -07:00
Roland Osborne
e496c75f47 using share for android as well, local folder access not friendly 2023-08-14 13:55:41 -07:00
balzack
acead8f30b show copied message when asset copied 2023-08-13 22:28:56 -07:00
Roland Osborne
6b60098ff3 download to external android path 2023-08-12 22:56:13 -07:00
balzack
e59f025e5a using share for download storage 2023-08-12 22:02:22 -07:00
balzack
f2919bface adding generic file attachment to mobile app 2023-08-12 16:31:03 -07:00
balzack
25f5a55510 fixing build 2023-08-12 00:18:29 -07:00
balzack
151773352f adding binary attachments to sealed topics 2023-08-11 23:59:10 -07:00
Roland Osborne
f3fc131138 adding binary attachements to mobile app 2023-08-11 16:04:02 -07:00
Roland Osborne
b2f1316259 fix lint warnings 2023-08-11 15:15:29 -07:00
Roland Osborne
0de1616f77 Merge branch 'main' of https://github.com/balzack/databag into main 2023-08-11 14:42:13 -07:00
Roland Osborne
221b36895c adding generic file attachement to browser app 2023-08-11 14:33:43 -07:00
Pierre Balzack
4406308139
Update README.md 2023-08-09 08:36:57 -07:00
Pierre Balzack
4722d54e1f
Update README.md 2023-08-08 22:27:58 -07:00
Pierre Balzack
425f036721
Update README.md 2023-08-08 22:12:13 -07:00
Pierre Balzack
e5616e5219
Add files via upload 2023-08-08 22:11:21 -07:00
Roland Osborne
f45750627e added copy indicator for account management 2023-08-08 09:52:00 -07:00
balzack
82424a7217 matching ios icon with android 2023-07-31 08:41:03 -07:00
Roland Osborne
c8408dfaf8 enabling monocrhome icon for android 2023-07-29 23:07:23 -07:00
Roland Osborne
3dbdd793ab Revert "adding monochrome icons"
This reverts commit 01ba153d33ea1a9e72002c39cc1ba76e6ad80332.
2023-07-28 14:13:26 -07:00
Roland Osborne
f09f2a28cf Revert "fixing adaptive description"
This reverts commit 6bf949fc8854135a5491ba74a85490cc4a53eb8c.
2023-07-28 14:13:11 -07:00
Roland Osborne
08eac2067f Revert "trying monochrome icon at 108px"
This reverts commit ec107d0d8103c214cf3d8d71b0834e00e72f6bc8.
2023-07-28 14:12:26 -07:00
balzack
ec107d0d81 trying monochrome icon at 108px 2023-07-28 13:31:50 -07:00
Roland Osborne
6bf949fc88 fixing adaptive description 2023-07-28 13:27:01 -07:00
balzack
01ba153d33 adding monochrome icons 2023-07-28 13:05:40 -07:00
balzack
32c2422290 handling gif properly if resized on expanded view 2023-07-26 13:59:46 -07:00
Pierre Balzack
ef7b71de60 Merge branch 'main' of https://github.com/balzack/databag into main 2023-07-26 13:37:08 -07:00
Pierre Balzack
f76470c860 only scale sealed image if not gif 2023-07-26 13:36:16 -07:00
Roland Osborne
244fcd5d56 Merge branch 'main' of https://github.com/balzack/databag into main 2023-07-26 11:23:08 -07:00
Roland Osborne
b3222db1f7 removing pan/zoom for now, conflicting with carousel swipe 2023-07-26 11:22:51 -07:00
Pierre Balzack
e5a34beceb
Update README.md 2023-07-24 12:41:04 -07:00
Roland Osborne
9731cc8f55 fixing typo on hint 2023-07-21 09:29:55 -07:00
Roland Osborne
ede54b1762 adjusting sql query to avoid error on some devices 2023-07-20 21:27:33 -07:00
Roland Osborne
f795a32eae adding mobile support for gif type 2023-07-20 21:22:31 -07:00
Roland Osborne
af8eccd688 avoid scaling gif for sealed topics 2023-07-20 11:54:20 -07:00
Roland Osborne
91f0b0d3ac fix server side scaling of gif images for unsealed topics 2023-07-19 22:00:51 -07:00
Roland Osborne
092e8ee8a0 rewording open access label 2023-07-18 12:10:09 -07:00
Roland Osborne
cd2501dc4b api cleanup for setting open access 2023-07-18 12:05:35 -07:00
Roland Osborne
cee9612fc0 fixing unit test 2023-07-17 22:45:44 -07:00
Roland Osborne
d28f9e08bf setting open access in admin dashboard 2023-07-17 22:39:38 -07:00
balzack
ed19501b6e updating podfile for firebase conflict 2023-07-15 09:43:11 -07:00
Roland Osborne
e54794986f Merge branch 'main' of https://github.com/balzack/databag into main 2023-07-10 22:15:18 -07:00
Roland Osborne
ead73db759 displaying storage used by accounts 2023-07-10 22:15:02 -07:00
Pierre Balzack
e918f3adf8
Update README.md 2023-07-09 11:29:01 -07:00
Pierre Balzack
36330038c1
Add files via upload 2023-07-09 11:09:36 -07:00
Pierre Balzack
7fe8d41919
Update README.md 2023-07-05 09:18:45 -07:00
Pierre Balzack
68d4c3ad4d
Update README.md 2023-07-04 08:18:46 -07:00
Roland Osborne
cbfc236807 disable carousel looping 2023-06-29 16:01:10 -07:00
Roland Osborne
75519d036d added pan/zoom on images 2023-06-29 10:57:44 -07:00
balzack
5bb3c851ca added missing un-read notification 2023-06-28 22:25:52 -07:00
Pierre Balzack
a9b1876ee6 remove pending contact when request is cancelled 2023-06-28 10:55:17 -07:00
Zzzz
1458df5481
Update README.md (#48)
fix typo
2023-06-28 09:05:58 -07:00
balzack
f42fabf08d fallback to login screen when connection not allowed 2023-06-27 22:56:05 -07:00
Pierre Balzack
4b52c477f8 force disconnection when logging out of all devices 2023-06-27 22:54:19 -07:00
balzack
766bc52965 detecting logged out state in mobile app 2023-06-27 18:40:50 -07:00
Pierre Balzack
fabad03bab fix lint warning 2023-06-27 17:55:33 -07:00
Pierre Balzack
d9beda5be9 Merge branch 'main' of https://github.com/balzack/databag into main 2023-06-27 17:50:51 -07:00
Pierre Balzack
ef0f1a2997 detect logged out state and redirect 2023-06-27 17:50:02 -07:00
Roland Osborne
725eb9bac1 fixing issue with connect to other nodes in mobile app 2023-06-27 11:11:00 -07:00
Zzzz
50af37f2c3
Update README.md (#46)
Nginx proxy config add
2023-06-26 21:09:58 -07:00
Pierre Balzack
ce0c1ad75f fix for failure to clear tokens on logout 2023-06-26 17:09:11 -07:00
Pierre Balzack
b860494ca9 enable logout from all devices in webapp 2023-06-26 17:06:55 -07:00
root
11fdcf621f supporting pasting image into topic message 2023-06-25 01:04:45 -07:00
Roland Osborne
0cd14d8bba refactored unifiedpush connector into external plugin 2023-06-13 13:59:49 -07:00
Pierre Balzack
1144bb3765
Update README.md 2023-06-10 22:59:10 -07:00
Pierre Balzack
0d6eddc88b
Update README.md 2023-06-10 10:38:58 -07:00
Pierre Balzack
a737e7dc9a
Update README.md 2023-06-10 09:12:47 -07:00
Pierre Balzack
c42f39a135
Update README.md 2023-06-10 08:42:10 -07:00
balzack
2d7bba14c0 dont request permission for ios 2023-06-09 22:07:21 -07:00
Roland Osborne
855096d0ee supporting unified push as default if detected 2023-06-09 20:27:04 -07:00
Pierre Balzack
42fedce27a
Update README.md 2023-06-08 21:33:36 -07:00
root
03ebeaa7ad supporting unified push type notification 2023-06-07 22:50:49 -07:00
balzack
627c85ed48 updating html documentation 2023-05-29 21:20:32 -07:00
3512 changed files with 105098 additions and 462527 deletions

View File

@ -1,51 +1,52 @@
# Databag Design Guidelines & Resources # Databag UI Redesign
A collection of design contribution guidelines and resources for our Databag product.
Here is the complete redesign of the UI for Databag.
I have worked closely with @balzack and we feel it's in a pretty good state with lots of work ahead.
> **All participating designers are highly encouraged to shape and evolve these guidelines!** I kept the illustrations already suggested by the community and also kept the green hues of the current design.
## Welcome I applied standard design practices in font sizes, spacing and icons.
The font selected is [Inter](https://fonts.google.com/specimen/Inter) and for icons I used [Phosphor Icons](https://phosphoricons.com).
Databag is a product targeted for the decentralized web community. It is a federeated messenger that gives people back their privacy and control of their data. ### _**The current Figma file is here**_ -->
[Databag.fig.zip](https://github.com/user-attachments/files/19713647/Databag.fig.zip)
## How to contribute design **Still missing:**
- Dark Mode
- Animations
- Overall Branding (if seen necessary)
1. Check out open [issues](https://github.com/balzack/databag/issues) here on GitHub (we label them with `design: required`)
2. Feel free to open an issue on your own if you find something you would like to contribute to the project and use the `design: idea` label for it.
3. There are no existing figma files yet, for now create new ones and share them publicly
4. Add your contributions to an issue and we promise we will review your contribution carefully and foster discussions
**We encourage you to:**
- Get in touch with the team by starting a discussion on [GitHub](https://github.com/balzack/databag/discussions). ### **Screenshots:**
### **Mobile Proposed Design**
## Target audience
The initial users are typically very technical, but hopefully this product will be embedded into consumer electronics and reach a much less technical audience. The design may benefit by exposing some technical attributes. For example, with a self-hosted product the users my be interested in knowing where their data actually lives.
## Design relevant materials
Here is a list of design relevant information and materials: <img width="1440" alt="Mobile" src="https://github.com/user-attachments/assets/78be3ac6-5f55-4b9e-a625-e758145406bc" />
### Fonts
Currently we're using Roboto everywhere.
### Colors ### **Desktop Proposed Design**
We're using shades of green deliberately staying away from the corporate blue. The current background color is (#8fbea7) with the primary button color (#448866).
### Logos
We don't really have a logo yet, and are currently just using a scaled image from the app as the [icon](https://github.com/balzack/databag/blob/main/doc/icon.png) <img width="1440" alt="Desktop" src="https://github.com/user-attachments/assets/89aaa25a-a0c3-4583-8f04-29bbc43eef9a" />
### **Style Guide**
<img width="1440" alt="Styleguide" src="https://github.com/user-attachments/assets/c5402ab4-a0fe-4594-a34f-498af4494def" />
_*There are some more screens in the figma file_
### Design Files, Screenshots, etc
We don't have any design files yet. Initially you can reference screenshots for the [browser app](https://github.com/balzack/databag/blob/main/doc/browser.png) and [mobile app](https://github.com/balzack/databag/blob/main/doc/mobile.png)
## License
All design work is licensed under the
[Apache-2.0](https://github.com/balzack/databag/blob/main/LICENSE)
[(Back to top)](#-table-of-contents)

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 523 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1020 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 MiB

View File

@ -0,0 +1,52 @@
# Databag UI Redesign
Here is the complete redesign of the UI for Databag.
I have worked closely with @balzack and we feel it's in a pretty good state with lots of work ahead.
I kept the illustrations already suggested by the community and also kept the green hues of the current design.
I applied standard design practices in font sizes, spacing and icons.
The font selected is [Inter](https://fonts.google.com/specimen/Inter) and for icons I used [Phosphor Icons](https://phosphoricons.com).
### _**The current Figma file is here**_ -->
[Databag.fig.zip](https://github.com/user-attachments/files/19713647/Databag.fig.zip)
**Still missing:**
- Dark Mode
- Animations
- Overall Branding (if seen necessary)
### **Screenshots:**
### **Mobile Proposed Design**
<img width="1440" alt="Mobile" src="https://github.com/user-attachments/assets/78be3ac6-5f55-4b9e-a625-e758145406bc" />
### **Desktop Proposed Design**
<img width="1440" alt="Desktop" src="https://github.com/user-attachments/assets/89aaa25a-a0c3-4583-8f04-29bbc43eef9a" />
### **Style Guide**
<img width="1440" alt="Styleguide" src="https://github.com/user-attachments/assets/c5402ab4-a0fe-4594-a34f-498af4494def" />
_*There are some more screens in the figma file_

1
.dockerignore Normal file
View File

@ -0,0 +1 @@
dev_database

22
.editorconfig Normal file
View File

@ -0,0 +1,22 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{go,sh}]
indent_style = tab
[{Makefile,Caddyfile}]
indent_style = tab
[LICENSE]
trim_trailing_whitespace = false
insert_final_newline = false

View File

@ -16,7 +16,7 @@ jobs:
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: 16 node-version: 20
- name: Build React - name: Build React
run: | run: |
@ -28,7 +28,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v3 uses: actions/setup-go@v3
with: with:
go-version: 1.17.5 go-version: 1.18.10
- name: Build Go - name: Build Go
run: | run: |
@ -43,7 +43,7 @@ jobs:
- name: Jest Setup - name: Jest Setup
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 20
- name: Jest ReactJs - name: Jest ReactJs
run: | run: |
@ -55,9 +55,22 @@ jobs:
cd app/mobile cd app/mobile
yarn install yarn install
yarn jest yarn jest
- name: Test SDK
run: |
cd app/sdk
yarn install
yarn build
yarn test --silent
- name: Build WebApp
run: |
cd app/client/web
yarn install
yarn build
- name: Export - name: Export
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: webapp name: webapp
path: net/web/build/* path: net/web/build/*

70
.github/workflows/openwrt.yml vendored Normal file
View File

@ -0,0 +1,70 @@
name: OpenWrt
on:
push:
branches: [ "openwrt" ]
pull_request:
branches: [ "openwrt" ]
jobs:
CI:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
- name: Build React
run: |
npm install --global yarn
cd web
yarn install
yarn build
- name: Bundle Webapp
uses: a7ul/tar-action@v1.1.0
id: compress_webapp
with:
command: c
cwd: web
files: |
build
outPath: webapp.tar.gz
- name: Bundle Server
uses: a7ul/tar-action@v1.1.0
id: compress_server
with:
command: c
cwd: .
files: |
LICENSE
databag.db
go.mod
go.sum
main.go
internal
outPath: server.tar.gz
- name: Upload Webapp to Tag
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.PUB_TOKEN }}
file: webapp.tar.gz
tag: v1.1.11
overwrite: true
file_glob: true
- name: Upload Server to Tag
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.PUB_TOKEN }}
file: server.tar.gz
tag: v1.1.11
overwrite: true
file_glob: true

1
.gitignore vendored
View File

@ -14,3 +14,4 @@
# Dependency directories (remove the comment below to include it) # Dependency directories (remove the comment below to include it)
# vendor/ # vendor/
dev_database/

45
Dockerfile Normal file
View File

@ -0,0 +1,45 @@
FROM node:22-alpine AS node
WORKDIR /app
# Download the node dependencies first before adding the rest for caching
COPY ./net/web/package.json ./net/web/yarn.lock ./
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn \
yarn --frozen-lockfile
COPY ./net/web/ ./
RUN --mount=type=cache,target=/root/.yarn YARN_CACHE_FOLDER=/root/.yarn \
yarn run build
FROM golang:alpine AS go
EXPOSE 7000
WORKDIR /app/databag
RUN apk add --no-cache build-base imagemagick sqlite ffmpeg curl
RUN mkdir -p /opt/databag
RUN mkdir -p /var/lib/databag
RUN mkdir -p /app/databag/net
COPY ./net/server /app/databag/net/server
COPY ./net/transform /opt/databag/transform
WORKDIR /app/databag/net/server
RUN --mount=type=cache,target=/go/pkg/mod \
if [ -n "${DATABAG_GOARCH}" ]; then GOARCH=${DATABAG_GOARCH}; fi; \
if [ -n "${DATABAG_GOOS}" ]; then GOOS=${DATABAG_GOOS}; fi; \
go mod download
ARG DATABAG_GOARCH
ARG DATABAG_GOOS
RUN --mount=type=cache,target=/go/pkg/mod \
if [ -n "${DATABAG_GOARCH}" ]; then GOARCH=${DATABAG_GOARCH}; fi; \
if [ -n "${DATABAG_GOOS}" ]; then GOOS=${DATABAG_GOOS}; fi; \
CGO_ENABLED=1 go build -o databag .
COPY --from=node /app/build /app/databag/net/web/build
ENV DEV=0
ENV ADMIN=password
ENTRYPOINT /app/databag/net/server/entrypoint.sh

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
default:
@grep '^[^#[:space:].].*:' Makefile
dev-start:
docker compose -f docker-compose.dev.yml up -d
dev-stop:
docker compose -f docker-compose.dev.yml down
dev-restart-server:
docker compose -f docker-compose.dev.yml restart net-server
dev-restart-web:
docker compose -f docker-compose.dev.yml restart net-web
dev-restart-repeater:
docker compose -f docker-compose.dev.yml restart net-repeater
prod-docker-start:
docker compose up -d
prod-raw-build:
./build.sh

101
README.md
View File

@ -2,11 +2,15 @@
[![contribute.design](https://contribute.design/api/shield/balzack/databag)](https://contribute.design/balzack/databag) [![contribute.design](https://contribute.design/api/shield/balzack/databag)](https://contribute.design/balzack/databag)
<div align="center"> <div align="center">
<a href="#"><img src="/doc/icon.png" width="8%" style="border-radius:50%"></a> <a href="#"><img src="/doc/icon_v2.png" width="8%" style="border-radius:50%"></a>
<h3 align="center">Databag</h3> <h3 align="center">Databag</h3>
<p align="center">Communication for the Decentralized Web</p> <p align="center">A federated messenger for self-hosting</p>
</div> </div>
<p align="center">
<a href="/doc/design_overview.md">-> Design Overview <-</a>
</p>
<br> <br>
<p align="center"> <p align="center">
@ -19,20 +23,25 @@
</p> </p>
<br> <br>
Databag is a self-hosted messaging service. Notable features include: Databag is designed for efficiency, consuming minimal hosting resources. Notable features include:
- Decentralized (direct communication between app and server node) - Decentralized (direct communication between app and server node)
- Federated (accounts on different nodes can communicate) - Federated (accounts on different nodes can communicate)
- Public-Private key based identity (not bound to any blockchain or hosting domain) - Public-Private key based identity (not bound to any blockchain or hosting domain)
- End-to-End encryption (the hosting admin cannot view sealed topics, deafult unsealed) - End-to-End encryption (the hosting admin cannot view topics if sealed)
- Audio and Video Calls (nat traversal requires separate relay server) - Audio and Video Calls (nat traversal requires separate relay server)
- Topic based threads (messages organized by topic not contacts) - Topic based threads (messages organized by topic not contacts)
- Unlimited participants (no limit on group thread members)
- Lightweight (server can run on a raspberry pi zero v1.3) - Lightweight (server can run on a raspberry pi zero v1.3)
- Low latency (use of websockets for push events to avoid polling) - Low latency (use of websockets for push events to avoid polling)
- Unlimited accounts per node (host for your whole family) - Unlimited accounts per node (host for your whole family)
- Mobile alerts (push notifications on new contacts, messages, and calls) - Mobile alerts for new contacts, messages, and calls (supports UnifiedPush, FCM, APN)
- Multi-Factor Authentication (integrates with TOTP apps)
<br> <br>
<p align="center"> <p align="center">
<a href="https://f-droid.org/en/packages/com.databag/">
<img src="/doc/fdroid.png" width="18%">
</a>
<a href="https://apps.apple.com/us/app/databag/id6443741428"> <a href="https://apps.apple.com/us/app/databag/id6443741428">
<img src="/doc/astore.png" width="18%"> <img src="/doc/astore.png" width="18%">
</a> </a>
@ -41,21 +50,37 @@ Databag is a self-hosted messaging service. Notable features include:
</a> </a>
</p> </p>
The app is available in the google and apple stores. You can also test out the project [here](https://databag.coredb.org/#/create), but don't post anything important as this server is regularly wiped. Feedback on the UI/UX, bugs or features is greatly appreciated. The app is available on fdroid as well as the google and apple stores. You can test out the project [here](https://databag.coredb.org/#/create), but don't post anything important as this server is regularly wiped.
### Design
Read the [Design Guidelines](https://github.com/balzack/databag/blob/main/.design/DESIGN.md). Link to [Figma File](https://www.figma.com/design/eVFi8bYlybn5KeyEePEaey/Databag---Github?node-id=1-6&t=Is2AiTfwktFO5aY0-1). Feel free to duplicate the Figma file to edit. Feedback on the UI/UX, bugs or features is greatly appreciated.
## Installation ## Installation
To use databag, you will need a DNS name pointing to your node with a certificate. You can deploy a node manually, but you will have a much easier time using a container service. Containers for arm64 and amd64 are available [here](https://hub.docker.com/r/balzack/databag/tags). To use databag, you will need a DNS name pointing to your node with a certificate. You can deploy a node manually, but you will have a much easier time using a container service. Containers for arm64 and amd64 are available [here](https://hub.docker.com/r/balzack/databag/tags).
### Docker Compose Command ### Docker Compose
From the net/container sub directory: Launch with dockerhub container using docker compose:
- sudo docker-compose -f compose.yaml -p databag up
#### Standard launch
```shell
# From the net/container sub directory:
docker-compose -f compose.yaml -p databag up
```
#### Launch with certbot https certificate
```shell
# FIRST: create a DNS entry in your DNS to point your desired subdomain to your host
# SECOND: edit the net/container/docker-compose-swag.yml to include your domain name
# THIRD: From the root of the project directory:
mkdir -p ~/appdata
docker-compose -f net/container/docker-compose-swag.yml -p databag up
```
### Example with Portainer and Nginx Proxy Manager ### Example with Portainer and Nginx Proxy Manager
From Portainer: From Portainer:
- In the volume view, click add volumen: - In the volume view, click add volume:
- Enter a name, then click 'Create the volume' - Enter a name, then click 'Create the volume'
- In the container view, click add container: - In the container view, click add container:
- In the 'Image' field enter 'balzack/databag:latest' - In the 'Image' field enter 'balzack/databag:latest'
@ -73,6 +98,46 @@ From Nginx Proxy Manager:
- Port '7000' - Port '7000'
- Request new SSL certificate - Request new SSL certificate
<details>
<summary>Nginx Proxy config
➡️ Click to expand ⬅️
</summary>
```
server {
server_name your.site.tld;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:7000;
client_max_body_size 0;
proxy_max_temp_file_size 0;
}
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/your.site.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.site.tld/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
add_header Strict-Transport-Security "max-age=0";
}
server {
if ($host = your.site.tld) {
return 301 https://$host$request_uri;
}
listen 80;
server_name your.site.tld;
return 404;
}
```
</details>
From Your Browser: From Your Browser:
- Enter your server address in the address bar [hostname.domain] - Enter your server address in the address bar [hostname.domain]
- Click the cog icon in the top right - Click the cog icon in the top right
@ -85,16 +150,24 @@ From Your Browser:
### Other installation options ### Other installation options
Instructions for installing without a container on a Raspberry Pi Zero are [here](/doc/pizero.md). Install without a container on a Raspberry Pi Zero [here](/doc/pizero.md).
Instructions for installing without a container in AWS are [here](/doc/aws.md). Install without a container in AWS [here](/doc/aws.md).
Integrate Databag in an OpenWrt firmware [here](/doc/openwrt.md).
1-click installs in [CapRover](https://caprover.com/), [CasaOS](https://casaos.io), [Unraid](https://unraid.net/), [Runtipi](https://www.runtipi.io/), [Kubero](https://www.kubero.dev/), [Umbrel](https://umbrel.com/)
## Audio and Video Calls ## Audio and Video Calls
Databag provides audio and video calling and relies on a STUN/TURN relay server for NAT traversal. Testing was done with both [cuturn](https://github.com/coturn/coturn) and [pion](https://github.com/pion/turn) and should work with any implementation. Instructions for installing a coturn server are provided [here](https://gabrieltanner.org/blog/turn-server/). Databag provides audio and video calling and relies on a STUN/TURN relay server for NAT traversal. Testing was done with both [coturn](https://github.com/coturn/coturn) and [cloudflare](https://developers.cloudflare.com/calls/turn/) and should work with any implementation. Instructions for installing a coturn server are provided [here](https://gabrieltanner.org/blog/turn-server/).
If you want to enable audio and video calls, you should setup your own relay server. For testing purposes you can however use the demo relay server configuration. In the admin configuration modal, set: If you want to enable audio and video calls, you should setup your own relay server or use the cloudflare [turn service](https://developers.cloudflare.com/calls/turn/). For testing purposes you can however use the demo relay server configuration. In the admin configuration modal, set:
- Enable WebRTC Calls: -switch on- - Enable WebRTC Calls: -switch on-
- WebRTC Server URL: turn:34.210.172.114:3478?transport=udp - WebRTC Server URL: turn:34.210.172.114:3478?transport=udp
- WebRTC Username: user - WebRTC Username: user
- WebRTC Password: pass - WebRTC Password: pass
### Roadmap
Please add any missing features; [here](/doc/backlog.md) is the current backlog. Features are prioritized based on interest from the community.

View File

@ -0,0 +1,6 @@
{
"watch": ["src"],
"ext": ".ts,.js",
"ignore": [],
"exec": "npx ts-node ./src/index.ts"
}

View File

@ -0,0 +1,37 @@
{
"name": "bot",
"version": "0.0.1",
"description": "Bot sample for Databag network",
"main": "index.js",
"scripts": {
"start": "npm run build && node build/index.js",
"start:dev": "npx nodemon",
"build": "rimraf ./build && tsc",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/balzack/databag.git"
},
"keywords": [
"bot",
"databag",
"decentralized"
],
"author": "Roland Osborne <roland.osborne@gmail.com>",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/balzack/databag/issues"
},
"homepage": "https://github.com/balzack/databag#readme",
"devDependencies": {
"@types/node": "^20.14.9",
"nodemon": "^3.1.4",
"rimraf": "^5.0.7",
"ts-node": "^10.9.2"
},
"dependencies": {
"databag-client-sdk": "^0.0.18",
"typescript": "^5.5.3"
}
}

View File

@ -0,0 +1,9 @@
import { DatabagSDK } from 'databag-client-sdk';
const run = async () => {
const sdk = new DatabagSDK(null);
const bot = await sdk.automate();
console.log(bot);
}
run();

View File

@ -0,0 +1,108 @@
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
/* Language and Environment */
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
"lib": ["es6"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
// "jsx": "preserve", /* Specify what JSX code is generated. */
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
/* Modules */
"module": "commonjs", /* Specify what module code is generated. */
"rootDir": "src", /* Specify the root folder within your source files. */
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
// "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
// "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
// "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
// "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
"resolveJsonModule": true, /* Enable importing .json files. */
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
/* JavaScript Support */
"allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
// "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
"outDir": "build", /* Specify an output folder for all emitted files. */
// "removeComments": true, /* Disable emitting comments. */
// "noEmit": true, /* Disable emitting files from a compilation. */
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
// "newLine": "crlf", /* Set the newline character for emitting files. */
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
// "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
/* Type Checking */
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
// "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* Skip type checking all .d.ts files. */
}
}

1330
app/client/bot/yarn.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
BUNDLE_PATH: "vendor/bundle"
BUNDLE_FORCE_RUBY_PLATFORM: 1

View File

@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native',
};

View File

@ -0,0 +1,7 @@
module.exports = {
arrowParens: 'avoid',
bracketSameLine: true,
bracketSpacing: false,
singleQuote: true,
trailingComma: 'all',
};

View File

@ -0,0 +1 @@
{}

File diff suppressed because one or more lines are too long

154
app/client/mobile/App.tsx Normal file
View File

@ -0,0 +1,154 @@
import React, { useState, useEffect, useRef } from 'react';
import {Alert, Text, StatusBar} from 'react-native';
import {AppContextProvider} from './src/context/AppContext';
import {DisplayContextProvider} from './src/context/DisplayContext';
import {NativeRouter} from 'react-router-native';
import {Routes, Route} from 'react-router-dom';
import {Root} from './src/root/Root';
import {Access} from './src/access/Access';
import {Service} from './src/service/Service';
import {Session} from './src/session/Session';
import ReceiveSharingIntent from 'react-native-receive-sharing-intent';
import {useColorScheme} from 'react-native';
import {MD3LightTheme, MD3DarkTheme, PaperProvider} from 'react-native-paper';
const databagColors = {
light: {
name: 'light',
primary: 'rgb(0, 108, 71)',
onPrimary: 'rgb(255, 255, 255)',
primaryContainer: 'rgb(142, 247, 193)',
onPrimaryContainer: 'rgb(0, 33, 19)',
secondary: 'rgb(121, 89, 0)',
onSecondary: 'rgb(255, 255, 255)',
secondaryContainer: 'rgb(255, 223, 160)',
onSecondaryContainer: 'rgb(38, 26, 0)',
tertiary: 'rgb(60, 100, 114)',
onTertiary: 'rgb(255, 255, 255)',
tertiaryContainer: 'rgb(192, 233, 250)',
onTertiaryContainer: 'rgb(0, 31, 40)',
error: 'rgb(186, 26, 26)',
onError: 'rgb(255, 255, 255)',
errorContainer: 'rgb(255, 218, 214)',
onErrorContainer: 'rgb(65, 0, 2)',
background: 'rgb(251, 253, 248)',
onBackground: 'rgb(25, 28, 26)',
surface: 'rgb(251, 253, 248)',
onSurface: 'rgb(25, 28, 26)',
surfaceVariant: 'rgb(220, 229, 220)',
onSurfaceVariant: 'rgb(64, 73, 67)',
outline: 'rgb(112, 121, 114)',
outlineVariant: 'rgb(128, 128, 128)',
shadow: 'rgb(0, 0, 0)',
scrim: 'rgb(0, 0, 0)',
inverseSurface: 'rgb(46, 49, 46)',
inverseOnSurface: 'rgb(239, 241, 237)',
inversePrimary: 'rgb(113, 218, 166)',
elevation: {
level0: 'rgb(255, 255, 255)',
level1: 'rgb(240, 240, 240)',
level2: 'rgb(232, 232, 232)',
level3: 'rgb(216, 216, 216)',
level4: 'rgb(208, 208, 208)',
level5: 'rgb(200, 200, 200)',
},
surfaceDisabled: 'rgba(25, 28, 26, 0.12)',
onSurfaceDisabled: 'rgba(25, 28, 26, 0.38)',
backdrop: 'rgba(42, 50, 45, 0.4)',
base: '#8fbea7',
},
dark: {
name: 'dark',
primary: 'rgb(9, 178, 99)',
onPrimary: 'rgb(0, 56, 35)',
primaryContainer: 'rgb(0, 82, 52)',
onPrimaryContainer: 'rgb(142, 247, 193)',
secondary: 'rgb(248, 189, 42)',
onSecondary: 'rgb(64, 45, 0)',
secondaryContainer: 'rgb(92, 67, 0)',
onSecondaryContainer: 'rgb(255, 223, 160)',
tertiary: 'rgb(164, 205, 221)',
onTertiary: 'rgb(5, 53, 66)',
tertiaryContainer: 'rgb(35, 76, 89)',
onTertiaryContainer: 'rgb(192, 233, 250)',
error: 'rgb(255, 180, 171)',
onError: 'rgb(105, 0, 5)',
errorContainer: 'rgb(147, 0, 10)',
onErrorContainer: 'rgb(255, 180, 171)',
background: 'rgb(25, 28, 26)',
onBackground: 'rgb(225, 227, 223)',
surface: 'rgb(25, 28, 26)',
onSurface: 'rgb(225, 227, 223)',
surfaceVariant: 'rgb(64, 73, 67)',
onSurfaceVariant: 'rgb(192, 201, 193)',
outline: 'rgb(138, 147, 140)',
outlineVariant: 'rgb(64, 73, 67)',
shadow: 'rgb(0, 0, 0)',
scrim: 'rgb(0, 0, 0)',
inverseSurface: 'rgb(225, 227, 223)',
inverseOnSurface: 'rgb(46, 49, 46)',
inversePrimary: 'rgb(0, 108, 71)',
elevation: {
level0: 'rgb(0, 0, 0)',
level1: 'rgb(8, 8, 8)',
level2: 'rgb(16, 16, 16)',
level3: 'rgb(24, 24, 24)',
level4: 'rgb(64, 64, 64)',
level5: 'rgb(80, 80, 80)',
},
surfaceDisabled: 'rgba(225, 227, 223, 0.12)',
onSurfaceDisabled: 'rgba(225, 227, 223, 0.38)',
backdrop: 'rgba(42, 50, 45, 0.4)',
base: 'rgb(0,0,0)',
},
};
function App(): React.JSX.Element {
const colorScheme = useColorScheme();
const [share, setShare] = useState(null as null | { filePath: string, mimeType: string });
useEffect(() => {
ReceiveSharingIntent.getReceivedFiles(files => {
if (files && files.length) {
const { filePath, mimeType } = files[0];
setShare({ filePath: filePath.startsWith('file') ? filePath : `file://${filePath}`, mimeType });
}
},
(error) =>{
console.log(error);
},
'databag'
);
return () => {ReceiveSharingIntent.clearReceivedFiles() }
}, []);
const theme =
colorScheme === 'dark'
? {...MD3DarkTheme, colors: databagColors.dark}
: {...MD3LightTheme, colors: databagColors.light};
barStyle = colorScheme === 'dark' ? 'light-content' : 'dark-content';
backgroundColor = colorScheme === 'dark' ? databagColors.dark.elevation.level3 : databagColors.light.elevation.level3;
return (
<AppContextProvider>
<DisplayContextProvider>
<PaperProvider theme={theme}>
<NativeRouter>
<StatusBar />
<Root />
<Routes>
<Route path="/" element={<Text>EMPTY</Text>} />
<Route path="/access" element={<Access />} />
<Route path="/service" element={<Service />} />
<Route path="/session" element={<Session share={share} />} />
</Routes>
</NativeRouter>
</PaperProvider>
</DisplayContextProvider>
</AppContextProvider>
);
}
export default App;

View File

@ -0,0 +1,9 @@
source 'https://rubygems.org'
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby ">= 2.6.10"
# Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
# bound in the template on Cocoapods with next React Native release.
gem 'cocoapods', '>= 1.13', '< 1.15'
gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,17 @@
/**
* @format
*/
import 'react-native';
import React from 'react';
import App from '../App';
// Note: import explicitly to use the types shipped with jest.
import {it} from '@jest/globals';
// Note: test renderer must be required after react-native.
import renderer from 'react-test-renderer';
it('renders correctly', () => {
renderer.create(<App />);
});

View File

@ -0,0 +1,126 @@
apply plugin: "com.android.application"
apply plugin: "org.jetbrains.kotlin.android"
apply plugin: "com.facebook.react"
apply plugin: "com.google.gms.google-services"
apply from: file("../../node_modules/react-native-vector-icons/fonts.gradle")
/**
* This is the configuration block to customize your React Native Android app.
* By default you don't need to apply any configuration, just uncomment the lines you need.
*/
react {
/* Folders */
// The root of your project, i.e. where "package.json" lives. Default is '../..'
// root = file("../../")
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
// reactNativeDir = file("../../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
// codegenDir = file("../../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
// cliFile = file("../../node_modules/react-native/cli.js")
/* Variants */
// The list of variants to that are debuggable. For those we're going to
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
// debuggableVariants = ["liteDebug", "prodDebug"]
/* Bundling */
// A list containing the node command and its flags. Default is just 'node'.
// nodeExecutableAndArgs = ["node"]
//
// The command to run when bundling. By default is 'bundle'
// bundleCommand = "ram-bundle"
//
// The path to the CLI configuration file. Default is empty.
// bundleConfig = file(../rn-cli.config.js)
//
// The name of the generated asset file containing your JS bundle
// bundleAssetName = "MyApplication.android.bundle"
//
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
// entryFile = file("../js/MyApplication.android.js")
//
// A list of extra flags to pass to the 'bundle' commands.
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
// extraPackagerArgs = []
/* Hermes Commands */
// The hermes compiler command to run. By default it is 'hermesc'
// hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]
/* Autolinking */
autolinkLibrariesWithApp()
}
/**
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
*/
def enableProguardInReleaseBuilds = false
/**
* The preferred build flavor of JavaScriptCore (JSC)
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
android {
ndkVersion rootProject.ext.ndkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
compileSdk rootProject.ext.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
namespace "com.databag"
defaultConfig {
applicationId "com.databag"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1156
versionName "1.5"
}
signingConfigs {
release {
storeFile file('balzack.keystore')
storePassword 'balzack'
keyAlias 'balzack'
keyPassword 'balzack'
}
}
buildTypes {
release {
// Caution! In production, you need to generate your own keystore file.
// see https://reactnative.dev/docs/signed-apk-android.
signingConfig signingConfigs.release
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
}
dependencies {
// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")
implementation 'com.facebook.fresco:animated-gif:3.2.0'
implementation 'com.facebook.fresco:animated-webp:3.2.0'
implementation 'com.facebook.fresco:webpsupport:3.2.0'
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
} else {
implementation jscFlavor
}
}

Binary file not shown.

View File

@ -0,0 +1,40 @@
{
"project_info": {
"project_number": "627079362503",
"project_id": "databag-b46e0",
"storage_bucket": "databag-b46e0.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:627079362503:android:6f3dfcb2c255787b4a8be2",
"android_client_info": {
"package_name": "com.databag"
}
},
"oauth_client": [
{
"client_id": "627079362503-8bk8o4hcv5rgdgrhik6nu9cjp3poisv7.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAb92cvtSnaoQzhbDizg0dFskOtZFp_58M"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "627079362503-8bk8o4hcv5rgdgrhik6nu9cjp3poisv7.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@ -0,0 +1,10 @@
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:usesCleartextTraffic="true"
tools:targetApi="28"
tools:ignore="GoogleAppIndexingWarning"/>
</manifest>

View File

@ -0,0 +1,78 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.audio.output" />
<uses-feature android:name="android.hardware.microphone" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:supportsRtl="true"
android:requestLegacyExternalStorage="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustNothing"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@ -0,0 +1,37 @@
package com.databag
import com.facebook.react.ReactActivity
import com.facebook.react.ReactActivityDelegate
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
import com.facebook.react.defaults.DefaultReactActivityDelegate
import android.os.Bundle;
import org.devio.rn.splashscreen.SplashScreen;
import android.content.Intent;
class MainActivity : ReactActivity() {
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
override fun getMainComponentName(): String = "Databag"
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent);
setIntent(intent);
}
override fun onCreate(savedInstanceState: Bundle?) {
SplashScreen.show(this)
super.onCreate(savedInstanceState)
}
/**
* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
* which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
*/
override fun createReactActivityDelegate(): ReactActivityDelegate =
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
}

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