Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link sigchat to existing Signal account #465

Merged
merged 53 commits into from
Jan 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
90dacce
merge main into sigchat
nworbnhoj Dec 5, 2023
270746d
update sigchat readme
nworbnhoj Dec 7, 2023
404dc29
include Signal registered Number in Account::read()
nworbnhoj Dec 7, 2023
b032a80
refine Sigchat::connect() to link/register on first use
nworbnhoj Dec 7, 2023
0eb1838
Add Sigchat.account_setup() option to abort (and read Chat Dialogue i…
nworbnhoj Dec 7, 2023
5be8040
remove redundant sigchat MenuOp::Link & MenueOp::Register
nworbnhoj Dec 7, 2023
90aec71
add logging to sigchat Event::Focus
nworbnhoj Dec 7, 2023
046873c
add status text to Sigchat::connect()
nworbnhoj Dec 7, 2023
c9e3f54
sigchat probe the Signal host server for tls certificates
nworbnhoj Dec 10, 2023
572dcd6
implement Sigchat.account_link()
nworbnhoj Dec 10, 2023
e5bb114
add sigchat doco
nworbnhoj Dec 10, 2023
2be4261
add sigchat busy status text
nworbnhoj Dec 10, 2023
b094402
sigchat prepare tls connection to provisioning server
nworbnhoj Dec 11, 2023
bcb6a8c
implement tls.stream_owned()
nworbnhoj Dec 18, 2023
de6b6ba
extend shellchat `net ws` to utilize `/lib/tls`
nworbnhoj Dec 18, 2023
8fddba4
implement sigchat provisioning websocket with tungstenite
nworbnhoj Dec 18, 2023
d223170
rename Tls.trust_modal()
nworbnhoj Dec 18, 2023
96a5942
fix use Tls
nworbnhoj Dec 18, 2023
a8547ce
restructure SignalWS
nworbnhoj Dec 19, 2023
fd5a55c
sigchat obtain uuid from Signal Provisioning server
nworbnhoj Dec 19, 2023
36e7798
display sigchat device linking qr-code
nworbnhoj Dec 19, 2023
3dff72b
sigchat obtain device registration from Signal Provisioning server
nworbnhoj Dec 19, 2023
728da47
add sigchat Manager doco
nworbnhoj Dec 19, 2023
2684a55
Merge branch 'main' into sigchat
nworbnhoj Dec 19, 2023
96e1b49
Merge remote-tracking branch 'origin/sigchat' into sigchat
nworbnhoj Dec 19, 2023
8951a6d
stub libsignal::generate_identity_key_pair()
nworbnhoj Dec 19, 2023
2e2d536
stub libsignal::ProvisioningUuid
nworbnhoj Dec 20, 2023
0e1c959
stub libsignal::PrimaryProvisioningCipher.decrypt()
nworbnhoj Dec 20, 2023
de1dcff
rename shellchat `net tls inspect`
nworbnhoj Dec 20, 2023
12c74e7
implement Tls.inspect(host)
nworbnhoj Dec 20, 2023
6e1947d
rename Tls.*_cert() to Tls.*_rota()
nworbnhoj Dec 20, 2023
0ca24db
implement Tls.is_trusted_cert() & Tls.is_trusted_x509()
nworbnhoj Dec 21, 2023
7d72387
simplify TLS.probe() modals
nworbnhoj Dec 22, 2023
5703707
implement Tls.accessible()
nworbnhoj Dec 22, 2023
5e1c6f6
re-implement Sigchat.probe_host() using Tls.accessible()
nworbnhoj Dec 22, 2023
854b219
tls doc & tidy-up
nworbnhoj Dec 23, 2023
4a824c9
add sigchat Account fields
nworbnhoj Dec 25, 2023
68b2c55
refine sigchat Account.set() to ensure consistency between pddb & struct
nworbnhoj Dec 25, 2023
84d5ff4
partial implementation of sigchat Account link()
nworbnhoj Dec 25, 2023
05c991e
Merge branch 'main' into sigchat
nworbnhoj Dec 25, 2023
535ee5d
wrap SignalWS in Arc<Mutex<ws>>
nworbnhoj Dec 27, 2023
146666c
implement sigchat SignalWS read(timeout)
nworbnhoj Dec 27, 2023
59895ac
add sigchat.status.initializing
nworbnhoj Dec 27, 2023
3d5030f
relocate sigchat service environment argument to lib.rs
nworbnhoj Dec 27, 2023
89cdbc8
ensure that an incomplete pddb dict sigchat.account is deleted
nworbnhoj Dec 28, 2023
7346f03
close sigchat websocket properly
nworbnhoj Dec 28, 2023
fa66cdf
implement sigchat host_modal() with validation
nworbnhoj Dec 28, 2023
8f2f464
store host in sigchat Account
nworbnhoj Dec 28, 2023
7eb1c07
implement sigchat Manager Config
nworbnhoj Dec 28, 2023
147e60a
add sigchat Account.link() relink validity checks
nworbnhoj Dec 29, 2023
130f4f1
sigchat Account doco
nworbnhoj Dec 29, 2023
457d211
Merge branch 'betrusted-io:main' into sigchat
nworbnhoj Dec 29, 2023
364b6a5
refine sigchat scan link qrcode instructions to better reflect Signal…
nworbnhoj Dec 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions apps/sigchat/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ rkyv = {version = "0.4.3", default-features = false, features = ["const_generics
rustls = { version = "0.21.7" }
serde = { version = "1.0", features = [ "derive" ] }
tls = { path = "../../libs/tls" }
tungstenite = "0.20.1"
ureq = { version = "2.7.1", features = ["json"] }
url = "2.2.2"

Expand Down
2 changes: 1 addition & 1 deletion apps/sigchat/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# mtxchat
# sigchat

This is the skeleton of a Signal chat application.

Expand Down
44 changes: 44 additions & 0 deletions apps/sigchat/locales/i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,30 @@
"en": "Failed to setup Signal Account",
"en-tts": "Failed to setup Signal Account"
},
"sigchat.account.abort": {
"en": "Signal Account setup aborted",
"en-tts": "Signal Account setup aborted"
},
"sigchat.account.host.name": {
"en": "Please provide the Signal host server name",
"en-tts": "Please provide the Signal host server name"
},
"sigchat.account.link": {
"en": "Link to an existing Signal Account",
"en-tts": "Link to an existing Signal Account"
},
"sigchat.account.link.name": {
"en": "Please provide a name for this device",
"en-tts": "Please provide a name for this device"
},
"sigchat.account.link.scan": {
"en": "1. Open Signal on your phone\n2. Tap into settings, then tap `Linked Devices`\n3. Tap ⊕ or `Link New Device` and scan",
"en-tts": "1. Open Signal on your phone\n2. Tap into settings, then tap `Linked Devices`\n3. Tap ⊕ or `Link New Device` and scan"
},
"sigchat.account.offline": {
"en": "Read Signal offline",
"en-tts": "Read Signal offline"
},
"sigchat.account.register": {
"en": "Register a new Signal Account",
"en-tts": "Register a new Signal Account"
Expand All @@ -15,6 +35,10 @@
"en": "Setup Signal on this device.",
"en-tts": "Setup Signal on this device."
},
"sigchat.host.invalid": {
"en": "Invalid host format",
"en-tts": "Invalid host format"
},
"sigchat.menu.close": {
"en": "Close menu",
"en-tts": "Close menu"
Expand Down Expand Up @@ -42,6 +66,26 @@
"ja": "WARNING: pddb not mounted *EN*",
"zh": "WARNING: pddb not mounted *EN*"
},
"sigchat.status.connecting": {
"en": "connecting",
"en-tts": "connecting"
},
"sigchat.status.initializing": {
"en": "initializing Signal account in pddb",
"en-tts": "initializing Signal account in pddb"
},
"sigchat.status.offline": {
"en": "Signal offline",
"en-tts": "Signal offline"
},
"sigchat.status.online": {
"en": "Signal online",
"en-tts": "Signal online"
},
"sigchat.status.probing": {
"en": "probing host for trusted tls",
"en-tts": "probing host for trusted tls"
},
"sigchat.wifi.connected": {
"en": "WiFi connected",
"en-tts": "WiFi connected",
Expand Down
Loading