Compare commits

...

317 Commits

Author SHA1 Message Date
Sarah Jamie Lewis 12a6cb4610 Merge pull request 'Profile Manager user incokePopup for 0 profiles loaded error; fix lock image to icon in profileAddEdit' (#462) from dan/ui:oprofile-fix into master 2 years ago
Dan Ballard 8e92a6ae42 Profile Manager user incokePopup for 0 profiles loaded error; fix lock image to icon in profileAddEdit 2 years ago
erinn 211e388a7d Merge pull request 'fix contacts sort up on send msg; profile list shows unread;' (#460) from dan/ui:unread into master 2 years ago
Dan Ballard dc3872fc8a fix contacts sort up on send msg; profile list shows unread; approved 2 years ago
erinn bc55d472d1 Merge pull request 'Group Creation' (#459) from group_add into master 2 years ago
Sarah Jamie Lewis 60af2930b5 Group Creation 2 years ago
Dan Ballard 1f98899f6b drone: android auto increment AndroidManifest versionCode for second android build (arm64) - fix: don't overwrite file while reading 2 years ago
Dan Ballard b586248bda drone: android auto increment AndroidManifest versionCode for second android build (arm64) 2 years ago
Sarah Jamie Lewis f44cb450a5 Merge pull request 'build.gradle include' (#455) from android-packaging into master 2 years ago
Sarah Jamie Lewis f354f5a81a Merge branch 'master' into android-packaging 2 years ago
Dan Ballard e6145d6e12 extend build.gradle to have seperate paths for arm7 and arm64 and perform the appropriate link/rename so androiddeployqt and therecipeqt can pick up as tho it was not a splits build 2 years ago
Sarah Jamie Lewis ee1a8dbed5 Merge pull request 'linux build can now access assets in various */share/cwtch/assets folders. linux installer installs multiple sized icons' (#456) from dan/ui:share into master 2 years ago
Dan Ballard 4bb5a52b9f linux build can now access assets in various */share/cwtch/assets folders. linux installer installs multiple sized icons 2 years ago
Sarah Jamie Lewis bf27590afe build.gradle include 2 years ago
erinn 4cdb507e5e Merge pull request 'new spanish and italian translations' (#454) from dan/ui:esIt into master 2 years ago
Dan Ballard 3dbcf07396 new spanish and italian translations 2 years ago
Dan Ballard afcceac8cf Merge pull request 'Bugfix: Copy Address Regression' (#452) from group-add into master 2 years ago
Sarah Jamie Lewis 66c46714b7 Bugfix: Copy Address Regression 2 years ago
Dan Ballard 288e14ede2 drone: add android arm64-v6a step (fix?) 2 years ago
Dan Ballard 1962cf9df5 drone: add android arm64-v6a step (fix?) 2 years ago
Dan Ballard ae8702cda2 drone: add android arm64-v6a step 2 years ago
Dan Ballard 85dc5b5714 adding android libs for arm64-v8a 2 years ago
Dan Ballard 4932c728ec drone: android upload sign (strip newline/spaces) 2 years ago
Dan Ballard 0f15141f73 drone: android upload sign (typo) 2 years ago
Dan Ballard db0e8a2395 drone: android upload sign (typo) 2 years ago
Dan Ballard be1959b60c drone: android upload sign 2 years ago
Sarah Jamie Lewis dfb12a2ab0 Merge pull request 'only show settings icon in history warning for default state' (#449) from assetry into master 2 years ago
erinn 17c946de6d only show settings icon in history warning for default state 2 years ago
Sarah Jamie Lewis 9958bb605b Merge pull request 'fix acks, fix lists and bulletin for groups' (#448) from assetry into master 2 years ago
Sarah Jamie Lewis 826c8b3a1d Merge branch 'master' into assetry 2 years ago
erinn bb84e8f46f fix acks, fix lists and bulletin for groups 2 years ago
Sarah Jamie Lewis f168f6aee9 Merge pull request 'add missing assets' (#447) from assetry into master 2 years ago
erinn bc33356ca4 add missing assets 2 years ago
Sarah Jamie Lewis dfdce13e46 Merge pull request 'remove debug info from chatoverlay' (#446) from historywarningfix into master 2 years ago
erinn fa430b7d7c remove debug info from chatoverlay 2 years ago
Sarah Jamie Lewis 4d927c133d Merge pull request 'history warning, overlay model fixes, new zoom system beginnings' (#445) from historywarning into master 2 years ago
erinn 0663488d6d nits 2 years ago
erinn 6263dbf1fa Merge branch 'master' of git.openprivacy.ca:cwtch.im/ui into historywarning 2 years ago
erinn 1a556d05ce history warning and overlay model fixes 2 years ago
erinn 49bee4deb1 translations and new assets for history warning 2 years ago
erinn 240eb56ebe Merge pull request 'use log/privacy filter' (#444) from dan/ui:logPF into master 2 years ago
Dan Ballard 79052038e6 use log/privacy filter 2 years ago
erinn e5fce8634e Merge pull request 'Save state of root and profile panes open, and selected profile and conversation; jump to those when reloading' (#443) from dan/ui:stateful into master 2 years ago
erinn 09079dd224 Merge branch 'master' into stateful 2 years ago
Dan Ballard b920d3ab8b Save state of root and profile panes open, and selected profile and 2 years ago
erinn 8b6e8d2e98 Merge branch 'master' of git.openprivacy.ca:cwtch.im/ui into historywarning 2 years ago
erinn 473e0a02d0 history warning and beginnings of new zoom system and listoverlay fixes 2 years ago
Dan Ballard b837757617 Merge pull request 'Add Group now Works (with TofuBundle)' (#442) from group-add into master 2 years ago
Sarah Jamie Lewis 6292b5a1b9 Add Group now Works (with TofuBundle) 2 years ago
Dan Ballard cfe0105992 Merge pull request 'fix resizing smaller' (#441) from resizefix into master 2 years ago
erinn bbedeb81c7 fix resizing smaller 2 years ago
erinn 3687ead49f Merge pull request 'responsize size fixes' (#438) from dan/ui:responsive into master 2 years ago
erinn c3deeaa227 Merge branch 'master' into responsive 2 years ago
erinn 96aaf1f0e9 Merge pull request 'fix profile badges to use icons; fix myprofile not re embiggening on single pane' (#439) from dan/ui:badgeIcons into master 2 years ago
erinn 79a8bfb0cf Merge branch 'master' into badgeIcons 2 years ago
Dan Ballard 23eece4424 fix profile badges to use icons; fix myprofile not re embiggening on single pane 2 years ago
Sarah Jamie Lewis 0de8bd19bb Merge pull request 'fix makefile' (#437) from dan/ui:makefile into master 2 years ago
Sarah Jamie Lewis e9b98f2aea Merge branch 'master' into makefile 2 years ago
Dan Ballard 12bed09d4e responsize size fixes 2 years ago
Dan Ballard 8e6f5e813a fix makefile 2 years ago
Sarah Jamie Lewis 4b081a0db6 Merge pull request 'display tor version on settings pane' (#436) from dan/ui:torVer into master 2 years ago
Sarah Jamie Lewis a942bfbba1 Merge branch 'master' into torVer 2 years ago
Dan Ballard 2035e44cfd display tor version on settings pane 2 years ago
Sarah Jamie Lewis 07cbb1054b Merge pull request 'upgrade packaged tors to 0.4.4.6' (#435) from dan/ui:torUp into master 2 years ago
Dan Ballard 0e965d630a upgrade packaged tors to 0.4.4.6 2 years ago
Dan Ballard d4d88ff541 drone nsis: sha256 installer 2 years ago
Dan Ballard d0f90a9b7f drone nsis: .nsi needs to be in deploy dir 2 years ago
Dan Ballard 3cdb2b2455 drone nsis: change windows step to leave a windows dir 2 years ago
Dan Ballard f02083e0d6 Merge branch 'master' of git.openprivacy.ca:cwtch.im/ui 2 years ago
Dan Ballard c62891b8d9 drone package windows makensis param error 2 years ago
erinn 04aae4d093 Merge pull request 'update nsis script to make installed start menu link use icon' (#434) from nsi into master 2 years ago
erinn 9cc81b1f29 Merge branch 'master' into nsi 2 years ago
Dan Ballard 93dbc6d270 attempt to add nsis win installer generation to drone 2 years ago
Dan Ballard 8b004543ed update nsis script to make installed start menu link use icon 2 years ago
erinn d4e5546079 Merge pull request 'nsis script to make windows installer' (#432) from nsi into master 2 years ago
erinn ba7bb704cd Merge branch 'master' into nsi 2 years ago
Dan Ballard 752e21f89e fixed directory flatening issue 2 years ago
erinn 7aa7f67fd3 Merge pull request 'Fixes: #410' (#430) from user-feedback-hover into master 2 years ago
erinn 6e6045d911 Merge branch 'master' into user-feedback-hover 2 years ago
Sarah Jamie Lewis 16ee1635f5 Fixes: #410 2 years ago
Dan Ballard 9aa4f6d75d nsi to install cwtch, plus scripts and assets to generate it 2 years ago
erinn 38923ef814 Merge pull request 'Support multiline on Android' (#426) from user-feedback-elide into master 2 years ago
erinn 24a7abacd1 Merge branch 'master' into user-feedback-elide 2 years ago
Sarah Jamie Lewis eef74ae8b3 Update 'LICENSE' 2 years ago
Sarah Jamie Lewis 05cd440036 Support multiline on Android 2 years ago
Sarah Jamie Lewis c1bc5a7806 Merge pull request 'input box fixes' (#425) from inputboxfixes into master 2 years ago
Sarah Jamie Lewis d25aadbb2b Merge branch 'master' into inputboxfixes 2 years ago
erinn 7485837669 update opaque, fix inputbox enterkey on android 2 years ago
erinn f8d3277a6f feedback fixes to input box 2 years ago
erinn 0634d34bf2 inputbox fixes: remove twemoji 2 years ago
Dan Ballard 1eec8dbfe0 Merge pull request 'Display name now elides in message' (#423) from user-feedback-elide into master 2 years ago
Sarah Jamie Lewis dd5995628a Merge branch 'master' into user-feedback-elide 2 years ago
Dan Ballard d5e81e9ae3 Merge pull request 'Various Fixes from User Feedback' (#422) from emoji into master 2 years ago
Sarah Jamie Lewis 4e0ecd72c4 Message display name now elides 2 years ago
Sarah Jamie Lewis 6b8a8b8da1 Passworded accounts now require a password 2 years ago
Sarah Jamie Lewis 1d86c3d326 Updating Display name reflects in Messages 2 years ago
Sarah Jamie Lewis ef58f002b3 Peer Settings button goes to Message Pane if already in Settings 2 years ago
Sarah Jamie Lewis 1eb391ecc1 Merge pull request 'redesigned emoji drawer' (#421) from emodrawer2 into master 2 years ago
Sarah Jamie Lewis e74d599d95 Merge branch 'master' into emodrawer2 2 years ago
erinn 1515fb7998 update opaque, add clarification comment 2 years ago
Dan Ballard 78400a17c6 drone android: android and add ANDROID_MODULES_INCLUDE and docker to 2020.01 2 years ago
Dan Ballard 2f6395697e drone android: stop qtsetup generate android and add ANDROID_MODULES_INCLUDE 2 years ago
Dan Ballard e493a18f3f Merge branch 'master' of git.openprivacy.ca:cwtch.im/ui 2 years ago
Dan Ballard 44e0f9ebab drone android: stop qtsetup generate android and add ANDROID_MODULES_INCLUDE 2 years ago
Sarah Jamie Lewis de1b3319b1 Merge pull request 'updated splash screen and app icon for android' (#393) from dan/ui:androidSplash into master 2 years ago
Dan Ballard 4f4df63e51 updated splash screen and app icon for android 2 years ago
erinn bbea51b561 redesigned emoji drawer 2 years ago
Dan Ballard 3d509c6810 Merge pull request 'Android Notification - First Cut' (#391) from android_tests into master 2 years ago
Sarah Jamie Lewis 76df3c286d Android Notification - First Cut 2 years ago
Dan Ballard de56f8be15 Merge pull request 'fix messages pane' (#390) from tabbarfix into master 2 years ago
erinn 9e4917ac5b fix messages pane 2 years ago
Dan Ballard f402f515da Merge pull request 'add tabbar' (#389) from tabbar into master 2 years ago
erinn a0081c9d4e fix indents 2 years ago
erinn 94381cb076 adding to new opaque tabbar 2 years ago
erinn a0bbfa7721 add tabbar 2 years ago
erinn 4179e2798b Merge pull request 'gcd.firstTime + SettingsList scrolls' (#388) from android_tests into master 2 years ago
Sarah Jamie Lewis 8340b7aed3 Format gcd vars to spec 2 years ago
Sarah Jamie Lewis e74a0e8dc2 Formatting 2 years ago
Sarah Jamie Lewis 228a9b6ebd gcd.firstTime + SettingsList scrolls 2 years ago
Sarah Jamie Lewis b4b10ca75f Merge pull request 'gcd.torStatus; now peers get networkStatus, save as local attr, and pass to profilerow/myprofile to show online' (#387) from dan/ui:profileStatus into master 2 years ago
Dan Ballard 46ed17eec2 gcd.torStatus; now peers get networkStatus, save as local attr, and pass to profilerow/myprofile to show online 2 years ago
erinn a54aa8e0af Merge pull request 'Android Deep Dive Part 1 of Many' (#378) from android_tests into master 2 years ago
Sarah Jamie Lewis a5c96964e8 Android Bugfixxing Part 1 2 years ago
Sarah Jamie Lewis cb932d3ca3 All Image Changes 2 years ago
Sarah Jamie Lewis 72457d138b Merge pull request 'gifSplash' (#383) from dan/ui:gifSplash into master 2 years ago
Dan Ballard 454d10e28c splash pane now has new cwtch font logo and animated knot 2 years ago
Dan Ballard aadcb0d7c6 splash pane now has new cwtch font logo and animated knot 2 years ago
Sarah Jamie Lewis 4805507014 Merge pull request 'change file logging behaviour to use cwtch dir' (#382) from dan/ui:winLog into master 2 years ago
Sarah Jamie Lewis eb33e46e3d Merge branch 'master' into winLog 2 years ago
Sarah Jamie Lewis 45acecf9d7 Merge pull request 'updating app icon and profile manager tweeks' (#379) from dan/ui:iconTweeks into master 2 years ago
Dan Ballard 483d765146 change file logging behaviour to use cwtch dir 2 years ago
Dan Ballard 36a4e13184 updating app icon and profile manager tweeks 2 years ago
Dan Ballard 5cb284c99c updating app icon and profile manager tweeks 2 years ago
Sarah Jamie Lewis 7f011663d7 Merge pull request 'splash screen is back, just covering ACN/Cwtch app initialization, now with sweet new fade in transition' (#376) from dan/ui:splashFade into master 2 years ago
Dan Ballard 918e44fdb6 splash screen is back, just covering ACN/Cwtch app initialization, now with sweet new fade in transition 2 years ago
erinn 1c463f235c Merge pull request 'search contact list' (#366) from dan/ui:contactSearch into master 2 years ago
Dan Ballard 9701380e3c search contact list 2 years ago
Sarah Jamie Lewis 01428b1371 Merge pull request 'allow cwtch to log to file' (#367) from dan/ui:logFlag into master 2 years ago
Dan Ballard 568b979698 allow cwtch to log to file 2 years ago
Sarah Jamie Lewis c11e541f4e Merge pull request 'ran quality.sh' (#363) from dan/ui:qual into master 2 years ago
Dan Ballard 162ee96a1f ran quality.sh 2 years ago
erinn 0be9447a07 Merge pull request 'add peer / group pane' (#361) from dan/ui:addPeer into master 2 years ago
Dan Ballard 0e5d78cbb9 add peer / group pane 2 years ago
erinn 98d58ebd62 Merge pull request 'fix contactlist not shrinking in full mode' (#360) from fixContactList into master 2 years ago
Dan Ballard 5ca904b675 fix contactlist not shrinking in full mode 2 years ago
erinn d144f0d8b0 Merge pull request 'Self-Hosted Servers Experiment' (#359) from server_launch into master 2 years ago
Sarah Jamie Lewis a276d5732a Self-Hosted Servers Experiment 2 years ago
erinn fd45f72a09 Merge pull request 'fix p2p get name sync issue; overlay offline contact portraits' (#358) from dan/ui:nameSync into master 2 years ago
Dan Ballard 843790c27b fix p2p get name sync issue; overlay offline contact portraits 2 years ago
Sarah Jamie Lewis 9721999e9b Merge pull request 'add name on profile create' (#357) from dan/ui:createProfileName into master 2 years ago
Dan Ballard 6117486808 add name on profile create 2 years ago
erinn b80ecc0a7d Merge pull request 'Gate Group Functionality' (#356) from serverpane into master 2 years ago
erinn 2433c667d8 Merge branch 'master' into serverpane 2 years ago
Sarah Jamie Lewis 143dd9693c Update Cwtch Release 2 years ago
Sarah Jamie Lewis 91c182b880 Gate Group Functionality 2 years ago
Sarah Jamie Lewis 48d375f007 Merge pull request 'turning off unicode emoji (for now...?)' (#355) from TheUnicodeDefeatium into master 2 years ago
erinn 223936cda8 turning off unicode emoji (for now...?) 2 years ago
Dan Ballard f2a4c61610 fix assetPath on windows (#354) 2 years ago
Dan Ballard a247fd91c0 Merge pull request 'Experimental Gating + Server List Sketch' (#353) from serverpane into master 2 years ago
Sarah Jamie Lewis 1b0d69dfb2 Experimental Gating + Server List Sketch 2 years ago
Dan Ballard fec49cf1fd Merge pull request 'Experimental Gating + Server List Sketch' (#351) from serverpane into master 2 years ago
Sarah Jamie Lewis bfb431cbaf Experimental Gating + Server List Sketch 2 years ago
Sarah Jamie Lewis ada9dc7bb9 Merge pull request 'add flag to force windows to log to console' (#352) from consoleFlag into master 2 years ago
Dan Ballard 93776e0ca8 add flag to force windows to log to console 2 years ago
erinn 1de7e5bd6a Merge pull request 'redesign of profile add / edit pane' (#346) from dan/ui:profileAddEdit into master 2 years ago
Dan Ballard 1b57b5b0c6 redesign of profile add / edit pane 2 years ago
Dan Ballard 4fb726a926 add windows debug exports 2 years ago
Dan Ballard 4580d616de Merge pull request 'new message model' (#347) from mm into master 2 years ago
erinn a52794d562 addressing review comments 2 years ago
erinn cd241e45c4 addressing review comments 2 years ago
erinn e09ad91ab5 finishing first attempt at message model pr. mainly group acks 2 years ago
erinn 7bb2198879 update opaque 2 years ago
erinn 7398bec25b message model take one 2 years ago
erinn db315f8de1 message model take one 2 years ago
Sarah Jamie Lewis e2ab860c72 ACN Process Management (#345) 2 years ago
Dan Ballard e3717dd175 Merge pull request 'Use Connectivity + Fix Server Update Bug' (#343) from torrc into master 2 years ago
Sarah Jamie Lewis c4d5d889b6 Use Connectivity + Fix Server Update Bug 2 years ago
Dan Ballard 9e784ba4ea Merge pull request 'Tapir Integtation' (#325) from tapir-server into master 2 years ago
Sarah Jamie Lewis 325c959b69 Server Info Pane Fixups 2 years ago
Sarah Jamie Lewis 35cd963ec3 Tapir Integtation II 2 years ago
erinn 59dd9c34d6 Merge pull request 'Adding stub server list and using responsive pane' (#324) from dan/ui:03-responsivePane into master 2 years ago
Dan Ballard 733efb5d1d Adding stub server list and using responsive pane 2 years ago
Dan Ballard 78e3859b64 updating opaque to newest version 2 years ago
erinn a814dee7af Merge pull request 'WIP 02-contacts' (#323) from dan/ui:02-contacts into master 2 years ago
erinn bd10a2c303 Merge pull request 'WIP profile manager quick pass to be less hideous' (#322) from dan/ui:01-profiles into master 2 years ago
Dan Ballard c580597c8d make contact badge just be green/online, and move unread messages to right side of row 2 years ago
Dan Ballard 31abd0020e profile manager quick pass to be less hideous 2 years ago
erinn c55a6b196a Merge pull request 'dark theme fixes' (#321) from dan/ui:06-darkthemeContacts into master 2 years ago
Dan Ballard 27a09dd8cb dark theme updates 2 years ago
erinn 21201d2e68 Merge pull request 'Chat overlay messages and message editor redesign' (#320) from dan/ui:05-sendmsg into master 2 years ago
Dan Ballard 0ba6a200cc Message Editor refactor; and small bits like tabs; and a divider between contactlist and overlay pane 2 years ago
Dan Ballard af3c593228 Messages redesign: messages now follow design; rework timestamp workflow; inject dates into message pane 2 years ago
Dan Ballard f91f932c00 Merge pull request 'make new profile button clickable' (#319) from bf-new-profile into master 2 years ago
erinn 02c2900aa0 make new profile button clickable 2 years ago
Dan Ballard 08722d7b97 Merge pull request 'Peer History Save & Lists Refresh' (#315) from peer-save into master 2 years ago
Sarah Jamie Lewis 66676076e9 Fixes on List Overlay. Connection Error Sketch.Peer Save 2 years ago
Dan Ballard 5694dfe23e Migrate to new peer authorization levels, add new peer approval 2 years ago
Sarah Jamie Lewis b0aad3a1cc Merge pull request 'migrate to new cwtch authorizations + add new peer and blocked peer workflows to contact list' (#308) from dan/ui:03-approveBlock into master 2 years ago
Dan Ballard 94e30f4962 blocked contacts have normal row colors 2 years ago
Dan Ballard 315c66009e Migrate to new peer authorization levels, add new peer approval 2 years ago
Dan Ballard b8ffa85fac Add global settings pane; migrate peer settings to new opaque settings widgets; minor fixes; add global settings storage; rework global settings settings 2 years ago
Sarah Jamie Lewis 1337f97345 Merge pull request 'Add comboboxs to settings, minor tweaks' (#303) from dan/ui:combobox into master 2 years ago
Sarah Jamie Lewis 310d313034 Merge pull request 'Add global settings pane; migrate peer settings to new opaque settings widgets; minor fixes; add global settings storage; rework global settings settings' (#302) from dan/ui:gsettings into master 2 years ago
Dan Ballard 37dab30d5e adopt new opaque combobox; fix toolbar color on contactlist only pane; fix settings pane color to pane color 2 years ago
Dan Ballard 9c8134e0c3 Add global settings pane; migrate peer settings to new opaque settings widgets; minor fixes; add global settings storage; rework global settings settings 2 years ago
Dan Ballard ec60073ce2 update README with git submodule instructions 2 years ago
Dan Ballard 8dacea29bb Merge branch 'master' of git.openprivacy.ca:cwtch.im/ui 2 years ago
Dan Ballard da72629387 move qmlfmt to serpeate standalone openprivacy repo 2 years ago
Dan Ballard de2604b578 Merge pull request 'move widgets into the Opaque submodule project' (#298) from opaquemodules into master 2 years ago
erinn 5cf1d6a1db change Widgets to Opaque in qml imports 2 years ago
erinn ebfa5352b4 re-add statusbar 2 years ago
erinn f609dcaac4 support for translations in opaque 2 years ago
erinn 219065dde5 update translations 2 years ago
erinn 3ffdaa1ca3 adding back components that shouldnt have been moved to opaque 2 years ago
erinn 533b0d3fe0 restoring cwtch-specific widgets that were accidentally moved to opaque 2 years ago
erinn 282cc9d516 do random things with go.mod 2 years ago
erinn 92adc2a61d move widgets into the Opaque submodule project 2 years ago
Sarah Jamie Lewis ba22cf93c7 Merge pull request 'add IconTextField for contact list search textfield and UnderlineTextField for profile manager password (and further profile pane uses)' (#296) from dan/ui:textfields into master 2 years ago
Dan Ballard d0d8d4bd3b add IconTextField for contact list search textfield and UnderlineTextField for profile manager password (and further profile pane uses) 2 years ago
Sarah Jamie Lewis 02d4e04804 Merge pull request 'adding bottom status bar for global network status' (#285) from dan/ui:statusBar into master 2 years ago
Dan Ballard 40e0c5f700 adding bottom status bar for global network status 2 years ago
Sarah Jamie Lewis 4ccf48a50f Merge pull request 'Global Toolbar' (#284) from dan/ui:toolbar into master 2 years ago
Dan Ballard 3221e30701 Global Toolbar 2 years ago
Dan Ballard 22814ed160 Merge pull request 'ToggleSwtich' (#283) from sarah-ui into master 2 years ago
Sarah Jamie Lewis d77c33a485 ToggleSwtich 2 years ago
Sarah Jamie Lewis 0c65ec9c8e Merge pull request 'fixing qml errors' (#282) from dan/ui:qmlFix into master 2 years ago
Dan Ballard 1b82054e76 Merge pull request 'More layout fixes + HLine' (#281) from sarah-ui into master 2 years ago
Dan Ballard 92a1561a12 fixing qml errors 2 years ago
Sarah Jamie Lewis 2aa2eabf48 More layout fixes + HLine 2 years ago
Sarah Jamie Lewis 73d8951d6e Merge pull request 'new qmlfmt script and test application to main.qml' (#280) from dan/ui:qmlfmt into master 2 years ago
Dan Ballard 1af5662416 new qmlfmt script and test application to main.qml 2 years ago
Dan Ballard 1319674940 Merge pull request 'Adding Font Assets' (#279) from sarah-ui into master 2 years ago
Sarah Jamie Lewis 65de146c34 Updating Scrollbar Theme 2 years ago
Sarah Jamie Lewis 4bb5ef6a1c Adding Font Assets 2 years ago
Dan Ballard 427808b646 Merge pull request 'ButtonTextField, Some Theme Updates and Bug Fixes' (#278) from sarah-ui into master 2 years ago
Sarah Jamie Lewis 00522884ae Add DropShadow 2 years ago
Sarah Jamie Lewis ce8e46a4dd ButtonTextField, Some Theme Updates and Bug Fixes 2 years ago
Sarah Jamie Lewis 0a9b2ed6f5 Merge pull request 'Redesign my profile widget to match design. It dynamically resizes and' (#277) from dan/ui:04-widgets into master 2 years ago
Dan Ballard 5343348aa9 Redesign my profile widget to match design. It dynamically resizes and 2 years ago
Sarah Jamie Lewis 2f251aa4da Merge pull request 'Redesign: contact Row and Picture: themeing and modularizing:' (#276) from dan/ui:03-widgets into master 2 years ago
Dan Ballard 7495a6dca4 badge # count; contact name, onion elipses if not enough space 2 years ago
Dan Ballard 522f395d86 Redesign: contact Row and Picture: themeing and modularizing: 2 years ago
Dan Ballard cef2ae28d2 Merge pull request 'dont parse emojis until message rendertime' (#275) from loadfaster into master 2 years ago
erinn 481c8ca701 dont parse emojis until message rendertime 2 years ago
erinn bf213cc863 dont parse emojis until message rendertime 2 years ago
erinn 975ad0a8ac Merge pull request '02-widgets' (#274) from dan/ui:02-widgets into master 2 years ago
erinn 3d7ebf64af Merge pull request 'prototype of themeing' (#273) from dan/ui:01-theme into master 2 years ago
Dan Ballard 2037fc6d21 rename SimpleButton to button, make a Widgets. import everywhere; basic themeing 2 years ago
Dan Ballard 2abd9ba53b prototype of themeing 2 years ago
Sarah Jamie Lewis 632136f193 Merge pull request 'Using new cwtch attributes and get/ret val requests' (#272) from dan/ui:keyval into master 2 years ago
Dan Ballard fc3bdb76f6 New getVal/retVal message handling, and new attribute storage schema 2 years ago
Dan Ballard 631810df5b get therecipe-qt-docker-imgs sh 2 years ago
Sarah Jamie Lewis 64ff9aed24 Merge branch 'logconn' of dan/ui into master 2 years ago
Dan Ballard 35246ed364 migrate to stand alone log and connectivity packages 2 years ago
Sarah Jamie Lewis 2a1209c07a Merge branch 'race' of dan/ui into master 2 years ago
Dan Ballard b834d536c5 using race condition safe functions in cwtch 2 years ago
Sarah Jamie Lewis dbb7a563f1 Merge branch 'windows_build' of cwtch.im/ui into master 2 years ago
Dan Ballard 9fcca6580d Fix assets loading in QML on windows 2 years ago
Sarah Jamie Lewis ccf6df326e Merge branch 'profileImageAssets' of dan/ui into master 2 years ago
Dan Ballard 94f5dd20bd strip all absolute paths from stored profile images 2 years ago
Dan Ballard 449bccd626 Merge branch 'uibugfixs' of cwtch.im/ui into master 2 years ago
Dan Ballard 4e7173f878 drone add special build and deploy for branch master:windows_build 3 years ago
Dan Ballard 35e53a4d60 drone remove -H windowsgui for windows build, does the opposite of deiered 3 years ago
Dan Ballard da3c93792c drone build experiment to rid windows of tor dosbox 3 years ago
Sarah Jamie Lewis 0eb27d6525 Bug Fixes 3 years ago
erinn a4ae5dcbed assets folder + emoji drawer 3 years ago
Dan Ballard fee151cf26 save edit name fix 3 years ago
Sarah Jamie Lewis f5f6d4b947 Merge branch 'pwFixes' of dan/ui into master 3 years ago
Dan Ballard 9397131967 fix password not match error; fix clearing add/edit pane on reset 3 years ago
Sarah Jamie Lewis e635a3a384 Merge branch 'minori18n' of dan/ui into master 3 years ago
Dan Ballard 8d9681e130 upgrade cwtch 0.3.8 (tapir 0.1.14) 3 years ago
Dan Ballard 8e347d79b8 Merge branch 'master' into minori18n 3 years ago
Dan Ballard a9041c6485 minor translations updates 3 years ago
Sarah Jamie Lewis cedf39aaa6 Merge branch 'deleditProfile' of dan/ui into master 3 years ago
Dan Ballard aa81c40e50 tranlations for edit and delete profiles 3 years ago
Dan Ballard 7e0945583e go mod cwtch to 0.3.7; add profile list sorting by onion 3 years ago
Dan Ballard 13239c094c change password 3 years ago
Dan Ballard d77851a835 profile delete. profile version tagging. minor qml refactor (less importing widgets directly into qml namespace) 3 years ago
Sarah Jamie Lewis 5ca2fa6332 Merge branch 'add-profile' of dan/ui into master 3 years ago
Dan Ballard fbecb20e05 Merge branch 'master' into add-profile 3 years ago
Dan Ballard 541f4f7da4 profile edit (name) and delete (non functioning cus cwtch doesnt support) ui 3 years ago
Dan Ballard ba14e8ad72 Merge branch 'lockProfile' into add-profile 3 years ago
Sarah Jamie Lewis 5df3fd4cf4 Merge branch 'lockProfile' of dan/ui into master 3 years ago
Dan Ballard 1b20c9ed02 gcd and manager now lock gcd to qml ui events for non selected profile 3 years ago
Dan Ballard d3e178474d show add profile button 3 years ago
Dan Ballard 7a7be2777b gcd and manager now lock gcd to qml ui events for non selected profile 3 years ago
Sarah Jamie Lewis 434907ea0d Merge branch 'profileMan' of dan/ui into master 3 years ago
Dan Ballard bac4accb1b profile manager: screen, unlock, select, back to 3 years ago
Sarah Jamie Lewis 91f397d9e1 Merge branch 'contact-sort' of dan/ui into master 3 years ago
Dan Ballard 606f7c7eb6 contactList: new messages make contact float to top 3 years ago
Dan Ballard c77737be1d Merge branch 'network_check' of cwtch.im/ui into master 3 years ago
Sarah Jamie Lewis 6dd346fe96 Alert the user when there is no internet 3 years ago
Sarah Jamie Lewis 54918e612f Merge branch 'refactor' of dan/ui into master 3 years ago
Dan Ballard 35fa0adb67 rename packages to better align with their purposes now 3 years ago
Sarah Jamie Lewis 4f205f7c4f Merge branch 'peerRace' of dan/ui into master 3 years ago
Dan Ballard d6eebe82bd fix race condition in ui/gcd vs cwtch app start 3 years ago
Sarah Jamie Lewis 628e414376 Merge branch 'addContact' of dan/ui into master 3 years ago
Dan Ballard 0964363b89 fixes for adding/imorting contacts; remove unused 'letter' class 3 years ago
Sarah Jamie Lewis e2c3a82ea0 Merge branch 'uistate' of dan/ui into master 3 years ago
Dan Ballard f0099acb2b remove uistate's state; remove contact; remove trusted 3 years ago
Dan Ballard 30b8d9ab6d merge 3 years ago
Dan Ballard 1bf2910b4d remove 'badge'/unread treacking state from go code; now uses attributes to store in back end and maintain in front end 3 years ago
Dan Ballard 5bea6bdc47 remove 'badge'/unread treacking state from go code; now uses attributes to store in back end and maintain in front end 3 years ago
Sarah Jamie Lewis 1ad9d5be20 Merge branch 'messages' of dan/ui into master 3 years ago
Dan Ballard ee30a3227d remove frontend message storage 3 years ago
Sarah Jamie Lewis 121a62c142 Merge branch 'makefile' of dan/ui into master 3 years ago
Dan Ballard 3fd5755ed9 makefile updates with linux and android targets and go mod support 3 years ago
Dan Ballard 1773e52cbd undo drone builds share fetch 3 years ago
Dan Ballard a75f7778be make builds share vendor fetch 3 years ago
Dan Ballard b80500da35 update go modules, drone try to use 3 years ago
erinn cf10647d4c Merge branch 'reconnect' of dan/ui into master 3 years ago
Dan Ballard ab92e68628 ping ACN status on window acticate (mostly for android) 3 years ago
Sarah Jamie Lewis 62911b03fa Merge branch 'dev-profiles' of dan/ui into master 3 years ago
Dan Ballard f3a453f5a6 dev builds use seperate profiles 3 years ago
Sarah Jamie Lewis 45973dfaf4 Merge branch 'linux-install' of dan/ui into master 3 years ago
Dan Ballard db817dbed2 install Desktop file for linux 3 years ago
Sarah Jamie Lewis c3189553c8 BUGFIX: Prevent the user from opening a conversation with themselves 3 years ago
  1. 128
      .drone.yml
  2. 1
      .gitignore
  3. 3
      .gitmodules
  4. 89
      ANDROID_DEBUGGING.md
  5. 2
      LICENSE
  6. 32
      Makefile
  7. 10
      QML_DEBUG_NOTES.md
  8. 15
      README.md
  9. 19
      android/AndroidManifest.xml
  10. 150
      android/build.gradle
  11. BIN
      android/libs/arm64-v8a/libQt5AndroidExtras.so
  12. BIN
      android/libs/arm64-v8a/libtor.so
  13. BIN
      android/libs/armeabi-v7a/libQt5AndroidExtras.so
  14. BIN
      android/libs/armeabi-v7a/libtor.so
  15. BIN
      android/res/drawable/cwtch_title.png
  16. BIN
      android/res/drawable/knot.png
  17. 9
      android/res/drawable/splash.xml
  18. BIN
      android/res/drawable/splash_350.png
  19. 2
      android/res/values/apptheme.xml
  20. 5
      android/res/values/strings.xml
  21. 82
      android/src/ca/openprivacy/cwtch/ui/CwtchActivity.java
  22. 19
      assets/core/account_blocked.svg
  23. BIN
      assets/core/account_blocked.webp
  24. 1
      assets/core/account_circle-24px.svg
  25. BIN
      assets/core/account_circle-24px.webp
  26. 1
      assets/core/account_circle-24px_lines.svg
  27. BIN
      assets/core/account_circle-24px_lines.webp
  28. 22
      assets/core/account_circle-24px_lines_thin-blocked.svg
  29. BIN
      assets/core/account_circle-24px_lines_thin-blocked.webp
  30. 20
      assets/core/account_circle-24px_lines_thin.svg
  31. BIN
      assets/core/account_circle-24px_lines_thin.webp
  32. 17
      assets/core/account_circle-24px_negative_space.svg
  33. BIN
      assets/core/account_circle-24px_negative_space.webp
  34. 23
      assets/core/account_circle-24px_user.svg
  35. BIN
      assets/core/account_circle-24px_user.webp
  36. 1
      assets/core/add_circle-24px.svg
  37. BIN
      assets/core/add_circle-24px.webp
  38. 1
      assets/core/attach_file-24px.svg
  39. BIN
      assets/core/attach_file-24px.webp
  40. 1
      assets/core/block-24px.svg
  41. BIN
      assets/core/block-24px.webp
  42. 1
      assets/core/check-24px.svg
  43. BIN
      assets/core/check-24px.webp
  44. BIN
      assets/core/chevron_left-24px.png
  45. 1
      assets/core/chevron_left-24px.svg
  46. BIN
      assets/core/chevron_left-24px.webp
  47. 1
      assets/core/clear-24px.svg
  48. BIN
      assets/core/clear-24px.webp
  49. 1
      assets/core/delete-24px.svg
  50. BIN
      assets/core/delete-24px.webp
  51. 1
      assets/core/done-24px.svg
  52. BIN
      assets/core/done-24px.webp
  53. 1
      assets/core/drag_indicator-24px.svg
  54. BIN
      assets/core/drag_indicator-24px.webp
  55. 1
      assets/core/edit-24px.svg
  56. BIN
      assets/core/edit-24px.webp
  57. 1
      assets/core/favorite-24px.svg
  58. BIN
      assets/core/favorite-24px.webp
  59. 0
      assets/core/fontawesome/regular/check-circle.svg
  60. BIN
      assets/core/fontawesome/regular/check-circle.webp
  61. 0
      assets/core/fontawesome/regular/hourglass.svg
  62. BIN
      assets/core/fontawesome/regular/hourglass.webp
  63. 0
      assets/core/fontawesome/regular/user.svg
  64. BIN
      assets/core/fontawesome/regular/user.webp
  65. 0
      assets/core/fontawesome/regular/window-close.svg
  66. BIN
      assets/core/fontawesome/regular/window-close.webp
  67. 0
      assets/core/fontawesome/solid/plus-circle.svg
  68. BIN
      assets/core/fontawesome/solid/plus-circle.webp
  69. 0
      assets/core/fontawesome/solid/plus-square.svg
  70. BIN
      assets/core/fontawesome/solid/plus-square.webp
  71. 0
      assets/core/fontawesome/solid/plus.svg
  72. BIN
      assets/core/fontawesome/solid/plus.webp
  73. 21
      assets/core/group_settings-24px.svg
  74. 1
      assets/core/info-24px.svg
  75. BIN
      assets/core/info-24px.webp
  76. BIN
      assets/core/lock-24px.png
  77. 1
      assets/core/lock-24px.svg
  78. BIN
      assets/core/lock-24px.webp
  79. 1
      assets/core/lock_open-24px.svg
  80. BIN
      assets/core/lock_open-24px.webp
  81. 1
      assets/core/menu-24px.svg
  82. BIN
      assets/core/menu-24px.webp
  83. 1
      assets/core/mood-24px.svg
  84. BIN
      assets/core/mood-24px.webp
  85. 1
      assets/core/more_vert-24px.svg
  86. BIN
      assets/core/more_vert-24px.webp
  87. 13
      assets/core/negative_heart_24px.svg
  88. BIN
      assets/core/negative_heart_24px.webp
  89. 19
      assets/core/peer_settings-24px.svg
  90. BIN
      assets/core/peer_settings-24px.webp
  91. 0
      assets/core/regular/hdd.svg
  92. BIN
      assets/core/regular/hdd.webp
  93. 0
      assets/core/regular/paper-plane.svg
  94. BIN
      assets/core/regular/paper-plane.webp
  95. 0
      assets/core/regular/trash-alt.svg
  96. BIN
      assets/core/regular/trash-alt.webp
  97. 1
      assets/core/search-24px.svg
  98. BIN
      assets/core/search-24px.webp
  99. 1
      assets/core/send-24px.svg
  100. BIN
      assets/core/send-24px.webp

128
.drone.yml

@ -14,26 +14,29 @@ pipeline:
- QT_DIR=/opt/Qt
- QT_DOCKER='true'
- QT_API=5.13.0
- GO111MODULE=on
commands:
- export GOPATH=$GOPATH:/media/sf_GOPATH1/
- export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git openssh-client
- go get -d
- go mod download
- $QT_DIR/$QT_API/gcc_64/bin/lrelease ui.pro
- git fetch --tags
- export VERSION=`git describe --tags`
- export BUILDDATE=`date +%G-%m-%d-%H-%M`
- go mod vendor
- qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build linux
- cp README.md deploy/linux
- cp -R assets deploy/linux/
- export FILENAME=cwtch-linux-$BUILDDATE.tar.gz
- cd deploy
- mv linux cwtch
- tar -czf $FILENAME cwtch
- sha256sum $FILENAME > $FILENAME.sha256
- rm -r cwtch
build-android:
build-android-arm-v7a:
mem_limit: 3G
image: therecipe/qt:android
secrets: [upload_jks_file,upload_jks_pass]
when:
repo: cwtch.im/ui
branch: master
@ -44,49 +47,123 @@ pipeline:
- QT_API=5.13.0
- ANDROID_NDK_DIR=/home/user/android-ndk-r18b
- ANDROID_SDK_DIR=/home/user/android-sdk-linux
- GO111MODULE=on
commands:
- export GOPATH=$GOPATH:/media/sf_GOPATH1/
- export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git
- find -iname 'moc*' | xargs rm
- find -iname 'rcc*' | xargs rm
- go get -d
- rm -r vendor/
- make clean
- echo "cwtch-upload" > android/jks_alias
- echo $UPLOAD_JKS_PASS > android/jks_pass
- echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64
- base64 --decode android/ui.jks.b64 > android/ui.jks
- export GOARCH=arm
- go mod download
- export VERSION=`git describe --tags`
- export BUILDDATE=`date +%G-%m-%d-%H-%M`
- qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android
- go mod vendor
- qtsetup generate android
- mv assets android/
- ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android
- mv android/assets assets
- cd deploy
- export FILENAME=cwtch-android-$BUILDDATE.apk
- cp android/build-debug.apk $FILENAME
- export FILENAME=cwtch-android-arm-v7a-$BUILDDATE.apk
- cp android/build-release-signed.apk $FILENAME
- sha256sum $FILENAME > $FILENAME.sha256
- rm -r android
build-android-arm64-v8a:
mem_limit: 3G
image: therecipe/qt:android
secrets: [upload_jks_file,upload_jks_pass]
when:
repo: cwtch.im/ui
branch: master
event: push
environment:
- QT_DIR=/opt/Qt
- QT_DOCKER='true'
- QT_API=5.13.0
- ANDROID_NDK_DIR=/home/user/android-ndk-r18b
- ANDROID_SDK_DIR=/home/user/android-sdk-linux
- GO111MODULE=on
commands:
- export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git
- rm -r vendor/
- make clean
- echo "cwtch-upload" > android/jks_alias
- echo $UPLOAD_JKS_PASS > android/jks_pass
- echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64
- base64 --decode android/ui.jks.b64 > android/ui.jks
- export GOARCH=arm64
- perl -pe 's/versionCode="(\d+)"/"versionCode=\"" .($1+1)."\""/eg' android/AndroidManifest.xml > android/AndroidManifest.xml.inc
- rm android/AndroidManifest.xml
- mv android/AndroidManifest.xml.inc android/AndroidManifest.xml
- go mod download
- export VERSION=`git describe --tags`
- export BUILDDATE=`date +%G-%m-%d-%H-%M`
- go mod vendor
- qtsetup generate android
- mv assets android/
- ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android
- mv android/assets assets
- cd deploy
- export FILENAME=cwtch-android-arm64-v8a-$BUILDDATE.apk
- cp android/build-release-signed.apk $FILENAME
- sha256sum $FILENAME > $FILENAME.sha256
- rm -r android
build-windows:
mem_limit: 3G
image: therecipe/qt:windows_64_static
when:
repo: cwtch.im/ui
branch: master
branch: [ master, windows_build ]
event: push
environment:
- QT_DIR=/opt/Qt
- QT_DOCKER='true'
- QT_API=5.13.0
- GO111MODULE=on
commands:
- export GOPATH=$GOPATH:/media/sf_GOPATH1/
- export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin
- apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git zip
- find -iname 'moc*' | xargs rm
- find -iname 'rcc*' | xargs rm
- go get -d
- rm -r vendor || true
- make clean || true
- go mod download
- export VERSION=`git describe --tags`
- export BUILDDATE=`date +%G-%m-%d-%H-%M`
- go mod vendor
- export QT_DEBUG=true
- export CONSOLE=true
- export QT_DEBUG_QML=true
- qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build windows
- cp README.md deploy/windows
- cp -R assets deploy/windows/
- cp -r windows/* deploy/windows
- cd deploy
- mv windows cwtch
- export FILENAME=cwtch-windows-$BUILDDATE.zip
- zip -r $FILENAME cwtch
- sha256sum $FILENAME > $FILENAME.sha256
- rm -r cwtch
- mv cwtch windows
package-windows:
mem_limit: 3G
image: hp41/nsis:latest
when:
repo: cwtch.im/ui
branch: [ master, windows_build ]
event: push
environment:
commands:
- cp nsis/cwtch-installer.nsi deploy/
- cd deploy
- makensis -V3 cwtch-installer.nsi
- export BUILDDATE=`date +%G-%m-%d-%H-%M`
- export FILENAME=cwtch-installer-$BUILDDATE.exe
- mv cwtch-installer.exe $FILENAME
- sha256sum $FILENAME > $FILENAME.sha256
- rm cwtch-installer.nsi
- rm -r windows
deploy-buildfiles:
image: pivotaldata/concourse-ssh
secrets: [buildfiles_key]
@ -105,6 +182,25 @@ pipeline:
- mkdir $DIR
- mv cwtch* $DIR/
- scp -r -o StrictHostKeyChecking=no -i ~/id_rsa $DIR buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/
deploy-windows-build:
image: pivotaldata/concourse-ssh
secrets: [buildfiles_key]
when:
repo: cwtch.im/ui
branch: windows_build
event: push
status: [ success ]
commands:
- apk add --no-cache git
- echo $BUILDFILES_KEY > ~/id_rsab64
- base64 -d ~/id_rsab64 > ~/id_rsa
- chmod 400 ~/id_rsa
- git fetch --tags
- export DIR=`date +%G.%m.%d-%H.%M`-`git describe --tags`
- cd deploy
- mkdir -p windows_build/$DIR
- mv cwtch* windows_build/$DIR/
- scp -r -o StrictHostKeyChecking=no -i ~/id_rsa windows_build buildfiles@openprivacy.ca:/home/buildfiles/buildfiles/
notify-email:
image: drillster/drone-email
host: build.openprivacy.ca

1
.gitignore

@ -6,3 +6,4 @@ rcc*
*.jsc
vendor/
.directory
cwtch_log.txt

3
.gitmodules

@ -0,0 +1,3 @@
[submodule "qml/opaque"]
path = qml/opaque
url = https://git.openprivacy.ca/openprivacy/opaque

89
ANDROID_DEBUGGING.md

@ -0,0 +1,89 @@
# Notes on Android Debugging
If you are reading this you are probably interested in developing Cwtch for Android! Awesome.
The Cwtch UI app is intended to be a single codebase that runs on multiple platforms. This
complicates the build process in favour of simplifying the code (so goes the theory).
We make use of https://github.com/therecipe/qt/ for deploying Go/Qt code to Android. Before you venture into the weeds
of this README please take a look at the [Installation](https://github.com/therecipe/qt/wiki/Installation)
and [Setup instructions](https://github.com/therecipe/qt/wiki/Deploying-Linux-to-Android) in therecipe/qt.
## Building
Check out and follow the instructions at https://github.com/therecipe/qt/wiki/Deploying-Linux-to-Android as they are sufficient,
below you will find high-level notes regarding the process.
You need to run `qtsetup --qt_version=<vesion> full android` for the non-docker setup. You will need to do this
for every major version change of therecipe dependencies.
You will also need the Android 28 SDK (Pie), the NDK, SDK build tools and platform tools, gradle and **JDK 8**
JAVA_JDK=/path/to/jre8
ANDROID_NDK_DIR=/path/to/ndk
Once all that setup is done you should be able to run:
ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy build android
2-4 minutes later an android apk will pop out in `./deploy/android/build-debug.apk`.
### Build Setup Issues we have seen
* `Could not determine java version from <blah>` - this is thrown by gradle inside the `androiddeployqt` process when the
Java version is *not* JRE8. Ensure that JAVA_HOME is pointed to the correct java installation.
* ` readelf <blah> "is not an ordinary file"` - this isn't actually an error that will stop the build, but sometimes
because of the very long debug log output you will come across it when trying to find the *actual* error (which is
probably a Java version issue). It can be safely ignored.
* `could not find QAndroid...` / `CPP build errors` - you will need to run `qtsetup` full android` for the Qt version
you are using.
* Example: androidextras_android.cpp:9:10: fatal error: 'QAndroidActivityResultReceiver' file not found
## Testing on a Real Device
Consult the Android documentation on setting up your device for development.
You will need an android sdk, setup your device for USB Debugging and then with `adb` you can do:
adb install -r ./deploy/android/build-debug.apk
To get the logs you can run
adb logcat
Android Studio provides a nice logcat interface for quickly filtering log files that can be very useful when trying to
debug complex behavior, but command line tools like `grep` and the built-in [logcat filtering](https://developer.android.com/studio/command-line/logcat)
should also suffice.
*Important*: Cwtch UI technically runs *3* different applications: Cwtch Frontend (application client),
Cwtch Backend (application server) and Tor. When filtering logcat you should be aware that some of your messages might
be getting logged by a different process.
(*Ctrl-F Helper: "Why are log messages missing"*)
# Bundled Libraries
There seems to be a bug in Qt (https://bugreports.qt.io/browse/QTBUG-84371) that prevents the use of
`AndroidExtras` in `ANDROID_MODULES_INCLUDE` so we bundle it in `android/libQt5AndroidExtras.so` along with
`libtor` for Tor support.
## Non-SDK Interfaces
e.g. java.lang.NoSuchFieldException: No field mPivotX in class Landroid/graphics/drawable/RotateDrawable$RotateState;
* https://bugreports.qt.io/browse/QTBUG-71590
## Plugins
Theoretically speaking it should be possible to use `ANDROID_EXTRA_PLUGINS` to include support for e.g.
SVG images on Android. However, we have been unable to make it work. If you would like to try, the following
issues might be helpful:
* https://bugreports.qt.io/browse/QTBUG-60022
## Notifications
- Android 8 (API Level 26) forces you to call setChannelId()
- Android 9 "Do Not Disturb" mode also hides all notifications
- Setting up notification channels only seems possible *once* per install. any changes you need to make
require that the app is reinstalled, or the actual channel deleted and changed.

2
LICENSE

@ -1,4 +1,4 @@
All code in this repositorym, unless otherwise indicated, is distributed under the following license:
All code in this repository, unless otherwise indicated, is distributed under the following license:
Copyright 2019 Open Privacy Research Society

32
Makefile

@ -1,7 +1,33 @@
all:
.PHONY: all clean linux windows android
default: all
DEFAULT_GOAL: linux
SHELL := env QT_BUILD_VERSION=$(QT_BUILD_VERSION) $(SHELL)
QT_BUILD_VERSION ?= "5.13.4"
all: clean linux windows android
clean:
find -iname "moc*" | xargs rm
rm -r vendor || true
find -type f -iname "moc*" | xargs rm
find -iname "rcc*" | xargs rm
linux:
date
qtdeploy -qt_version $(QT_BUILD_VERSION) build linux 2>&1 | tee qtdeploy.log | pv
date
cp -R assets deploy/linux/
windows:
date
qtdeploy -qt_version $(QT_BUILD_VERSION) build windows 2>&1 | tee qtdeploy.log | pv
date
cp -R assets deploy/windows/
android:
cp -R assets android/
date
## TODO have this also include AndroidExtras (see ANDROID_DEBUGGING) for full notes.
env ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -debug -qt_version $(QT_BUILD_VERSION) build android 2>&1 | tee qtdeploy.log | pv
date

10
QML_DEBUG_NOTES.md

@ -0,0 +1,10 @@
# Settings List / Flickable
Content not scrolling: Flickable does some reparenting behind the scenes and so
in the top level child of the Flickable you will need:
parent: root.contentItem
And in the flickable you will need to set the contentHeight:
contentHeight: <childId>.height + <padding>

15
README.md

@ -1,5 +1,5 @@
# Cwtch - UI
This codebase provides a graphical user interface for Desktop and Android for [Cwtch: Privacy Preserving Infrastructure for Asynchronous, Decentralized and Metadata Resistant Applications](https://git.openprivacy.ca/cwtch.im/cwtch)
# Security
@ -15,11 +15,16 @@ The UI is built using QT so you will need the development libraries and tools fo
This code relies on [therecipe/qt](https://github.com/therecipe/qt) before getting started consult the [Installation](https://github.com/therecipe/qt/wiki/Installation) and [Getting Started](https://github.com/therecipe/qt/wiki/Getting-Started) documentation to get that up and running. It will make building this much easier.
We are aiming to use Go module support for versioning but it has some issues working with therecipe/qt so we aren't there yet. For now build with GO111MODULE=off using just the GOPATH for dependancies.
Cwtch UI uses the Go module system for dependancies, and git submodules for includin QML components
```
git submodule init
git submodule update
```
## Linux
go get -d
go mod vendor
qtdeploy build linux
./deploy/linux/ui -local -debug 2>&1 | grep -v 'Detected anchors on an item that is managed by a layout.'
@ -33,7 +38,7 @@ The grep statement filters out some QML noise.
We supply an arm-pie version of tor in `android/libs/armeabi-v7a` with the name `libtor.so`
go get -d
go mod vendor
qtdeploy -docker build android
adb install deploy/android/build-debug.apk
@ -52,7 +57,7 @@ We supply an arm-pie version of tor in `android/libs/armeabi-v7a` with the name
If all that is done, then check out cwtch.im/ui
go get -d
go mod vendor
qtdeploy
deploy/windows/ui

19
android/AndroidManifest.xml

@ -1,9 +1,20 @@
<?xml version="1.0"?>
<manifest package="ca.openprivacy.cwtch.ui" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="cwtch" android:icon="@drawable/ic_launcher">
<manifest package="ca.openprivacy.cwtch.ui" xmlns:android="http://schemas.android.com/apk/res/android"
android:versionName="1.0"
android:versionCode="4"
android:installLocation="auto">
<application android:hardwareAccelerated="true"
android:name="org.qtproject.qt5.android.bindings.QtApplication"
android:label="cwtch"
android:icon="@drawable/knot">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation"
android:name="ca.openprivacy.cwtch.ui.CwtchActivity"
android:label="cwtch" android:theme="@style/AppTheme" android:screenOrientation="unspecified" android:launchMode="singleTop" android:windowSoftInputMode="adjustResize">
android:label="cwtch"
android:theme="@style/AppTheme"
android:screenOrientation="unspecified"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
@ -110,7 +121,7 @@
</application>
<uses-sdk android:minSdkVersion="21" /><!-- android:targetSdkVersion="26"/> -->
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29"/> -->
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
<uses-permission android:name="android.permission.INTERNET"/>

150
android/build.gradle

@ -0,0 +1,150 @@
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
repositories {
google()
jcenter()
}
apply plugin: 'com.android.application'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
android {
/*******************************************************
* The following variables:
* - androidBuildToolsVersion,
* - androidCompileSdkVersion
* - qt5AndroidDir - holds the path to qt android files
* needed to build any Qt application
* on Android.
*
* are defined in gradle.properties file. This file is
* updated by QtCreator and androiddeployqt tools.
* Changing them manually might break the compilation!
*******************************************************/
compileSdkVersion androidCompileSdkVersion.toInteger()
buildToolsVersion '28.0.3'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
res.srcDirs = [qt5AndroidDir + '/res', 'res']
resources.srcDirs = ['src']
renderscript.srcDirs = ['src']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
// kinda of cheaty, would prefer to use if (System.getEnv("GOARCH") == "arm64") {
// but it doesn't want to work in this context
if (qt5AndroidDir.contains("arm64")) {
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and x86_64.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
// Note that because of the way that therecipe/qt bundles libraries
// only the specific architecture specified by GOARCH /GOARM will *actually*
// work so we currently have to do separate builds for each arch - this needs to be fixed.
include "arm64-v8a"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
// QT deploy has to be run twice to generate the libgo_base.so for each arch
universalApk false
}
}
task linkBuildDebugArm64(type: Exec) {
workingDir '../build/build/outputs/apk/debug/'
commandLine 'ln', '-sf', 'build-arm64-v8a-debug.apk', 'build-debug.apk'
}
task renameBuildReleaseArm64(type: Exec) {
workingDir '../build/build/outputs/apk/release/'
commandLine 'mv', 'build-arm64-v8a-release-unsigned.apk', 'build-release-unsigned.apk'
}
afterEvaluate {
assembleDebug.finalizedBy(linkBuildDebugArm64)
assembleRelease.finalizedBy(renameBuildReleaseArm64)
}
} else {
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and x86_64.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
// Note that because of the way that therecipe/qt bundles libraries
// only the specific architecture specified by GOARCH /GOARM will *actually*
// work so we currently have to do separate builds for each arch - this needs to be fixed.
include "armeabi-v7a"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
// QT deploy has to be run twice to generate the libgo_base.so for each arch
universalApk false
}
}
task linkBuildDebugArm7(type: Exec) {
workingDir '../build/build/outputs/apk/debug/'
commandLine 'ln', '-sf', 'build-armeabi-v7a-debug.apk', 'build-debug.apk'
}
task renameBuildReleaseArm7(type: Exec) {
workingDir '../build/build/outputs/apk/release/'
commandLine 'mv', 'build-armeabi-v7a-release-unsigned.apk', 'build-release-unsigned.apk'
}
afterEvaluate {
assembleDebug.finalizedBy(linkBuildDebugArm7)
assembleRelease.finalizedBy(renameBuildReleaseArm7)
}
}
lintOptions {
abortOnError true
}
}

BIN
android/libs/arm64-v8a/libQt5AndroidExtras.so

Binary file not shown.

BIN
android/libs/arm64-v8a/libtor.so

Binary file not shown.

BIN
android/libs/armeabi-v7a/libQt5AndroidExtras.so

Binary file not shown.

BIN
android/libs/armeabi-v7a/libtor.so

Binary file not shown.

BIN
android/res/drawable/cwtch_title.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
android/res/drawable/knot.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

9
android/res/drawable/splash.xml

@ -2,11 +2,14 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<solid android:color="#FFFFFFFF"/>
<solid android:color="#FFFDF3FC"/>
</shape>
</item>
<!-- It would be nice to find a way to use a transition and trigger it but I haven't yet -->
<item>
<bitmap android:src="@drawable/cwtch_logo"
android:gravity="center" />
<bitmap android:src="@drawable/splash_350"
android:gravity="center" />
</item>
</layer-list>

BIN
android/res/drawable/splash_350.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

2
android/res/v