60 Commits

Author SHA1 Message Date
Samuel Hawksby-Robinson
b49b9fe3c5 Added a (rough) roadmap to resolving a number of known issues 2023-08-14 15:10:54 +01:00
Sale Djenic
7c72d5ec99 fix: discard backed up messages if ProcessBackedupMessages is not set to true
If user followed onboarding flow to recover his account using seed phrase or keycard,
then `ProcessBackedupMessages` property of node config json object should be set to
`true`, otherwise it should be set to `false` or be omitted.
2023-07-25 07:50:43 +02:00
frank
71ca35bf34
Feat/sync customization color (#3702)
* sync customization color

* addressed feedback from @cammellos

* add param customizationColorClock to function generateOrImportAccount
2023-07-18 21:35:06 +08:00
Igor Sirotin
244b4273de
fix: don't store ourselves as a contact (#3627) 2023-07-12 12:46:56 +03:00
frank
bbb17c6ce8 fix: unable to perform backup 2023-06-29 13:04:49 +01:00
Roman Volosovskyi
18a0bc3130
Set installation name on account creation and pairing 2023-06-29 10:14:12 +02:00
Sale Djenic
5738cf7e21 keypairs pairing details added to local pairing 2023-06-28 14:04:47 +02:00
Sale Djenic
413120e299 feat: local pairing - adding support for syncing from a profile which is migrated to a Keycard 2023-06-28 14:04:47 +02:00
Sale Djenic
cff7d2f693 fix: profile social links updated 2023-06-06 09:59:12 +02:00
Khushboo-dev-cpp
8b91e3aaaf
chore: Add ColorId for Wallet accounts that can be shared with mobile (#3521) 2023-06-02 17:06:51 +02:00
Samuel Hawksby-Robinson
e620633eb7 Handle deferred stop error 2023-06-02 15:55:48 +01:00
Samuel Hawksby-Robinson
ce52aad877 Added waitForPortSet func to ensure server is running 2023-06-02 15:55:48 +01:00
Samuel Hawksby-Robinson
9a2e9fbc3c Added preflight outbound check to local pairing 2023-06-02 15:55:48 +01:00
Igor Sirotin
a7df4ed388
Local Pairing update for StopNode (#3536) 2023-06-01 08:33:57 +03:00
Sale Djenic
eeaaf0ce3f feat: accounts improvements applied
- old `accounts` table is moved/mapped to `keypairs` and `keypairs_accounts`
- `keycards` table has foreign key which refers to `keypairs.key_uid`
- `Keypair` introduced as a new type
- api endpoints updated according to this change
2023-05-25 19:46:47 +02:00
yqrashawn
6fed50ce53
feat: media server and colorhash related change (#3500) 2023-05-18 14:27:16 +08:00
frank
0197e6c484
Feat/sync local deleted message (#3476)
* sync local deleted messages

* rebase

* add REPLACE

* fix lint

* defer rows.Close() / rename function

* add local pair test

* replace unused clock with _
2023-05-12 16:31:34 +08:00
Eng Zer Jun
83ad76637a
test: use T.TempDir to create temporary test directory (#2746)
This commit replaces `os.MkdirTemp` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.

Prior to this commit, temporary directory created using `os.MkdirTemp`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
	defer func() {
		if err := os.RemoveAll(dir); err != nil {
			t.Fatal(err)
		}
	}
is also tedious, but `t.TempDir` handles this for us nicely.

Reference: https://pkg.go.dev/testing#T.TempDir

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-04-26 21:39:51 +01:00
frank
a2ed1b78dd
feat:support backup/sync ens name (#3415) 2023-04-26 23:37:18 +08:00
Igor Sirotin
b8209cbc7d
fix(pairing): Received installation event (#3422) 2023-04-26 14:48:49 +03:00
frank
272173c939
feat:support backup/sync social settings (#3407)
* feat:support backup/sync social settings

* update binddata.go

* fix lint issue

* addressed feedback from @saledjenic @osmaczko

* addressed feedback from @saledjenic @osmaczko

* add corresponding test for local pairing

* addressed feedback from @saledjenic
2023-04-20 06:59:09 +08:00
Samuel Hawksby-Robinson
8c94c5f3f1 Added versioning package and addressed feedback 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
5a993e8f98 Added functionality to slow stop UDP beacon multicast/listen 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
552c58bb9c Intergrated with external API endpoint 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
419700f2c3 Improved separation of concerns, added more robust tests 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
0177e10c15 Refined local pairing peer discovery architecture 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
17bc1e9f5d Rough initial proof of concept for udp network checking 2023-04-17 12:01:38 +01:00
Samuel Hawksby-Robinson
170ae0d455 Removed HandlerServer interface
closes #3370
2023-04-04 15:29:13 +01:00
Samuel Hawksby-Robinson
465afd0131 Refactored BasePayloadReceiver to handle Receive()
Additionally to allow this process flow I refactored RawMessagePayloadReceiver and InstallationPayloadHandler to use a dedicated Marshaller type. Also added a fix to struct extention functionality, we want to ignore the process if there is no public key because that will key encoding. Seems an unnecessary bug to have to handle when you know there is no key.
2023-04-04 11:56:40 +01:00
Samuel Hawksby-Robinson
44a1379fbe Removed redudant PayloadMounter types 2023-04-04 11:56:40 +01:00
Samuel Hawksby-Robinson
d0396cdd35 Implemented base Mount() func
This uses Load, MarshalProtobuf and encrypt process flow for any PayloadMounter type. In fact the concept of a PayloadMounter type is only useful now in the instantiation context.
2023-04-04 11:56:40 +01:00
Samuel Hawksby-Robinson
e028bb8ac0 Implemented structure of BasePayloadMounter.Mount() 2023-04-04 11:56:40 +01:00
Samuel Hawksby-Robinson
20a5b09433 Rolled LockPayload, ToSend and Received funcs into dedicated types 2023-04-04 11:56:40 +01:00
Samuel Hawksby-Robinson
e4f70e89b7 Fixed local pairing Server connection events firing early 2023-04-03 09:52:53 +01:00
frank
bb6139aef1
add validation on config (#3350) 2023-03-29 23:51:01 +08:00
frank
268cd72e96
init currentMessageState when sync protobuf.ContactUpdate (#3332) 2023-03-28 11:45:54 +08:00
Samuel Hawksby-Robinson
fae7e8dba5 Removed server mode from pairing 2023-03-24 17:53:29 +00:00
Samuel Hawksby-Robinson
013c5addd6 Reconciled duplicate cert funcs 2023-03-24 17:31:34 +00:00
Samuel Hawksby-Robinson
374898d7c2 Reconciled shared test components into servertest 2023-03-24 17:31:34 +00:00
Samuel Hawksby-Robinson
b16631bbc3 Addressed feedback from @ilmotta 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
43c2bc24d7 Immplemented limiting client IP to first that requests a challenge 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
231ded6a7b Added challenge middleware to handleSendInstallation 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
79d8094dc2 Implemented and integrated challenge update after every successful challenge 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
4019689df1 Implemented and integrated ChallengeTaker 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
4ec064ec9c Integrated ChallengeGiver into SenderServer 2023-03-24 16:47:43 +00:00
Samuel Hawksby-Robinson
cc8552a782 Added main scafolding for ChallengeGiver 2023-03-24 16:47:43 +00:00
Andrea Maria Piana
e2082bf5bd Add customization color 2023-03-24 14:22:29 +00:00
Samuel Hawksby-Robinson
7cd7430d31
Improved Local Pairing Separation of Concerns (#3248)
* Moved all configs into config.go

* Completed build out of new config structures

* Completed SenderClient process flow

* Completed sync data Mounter and client integration

* Completed installation data Mounter and client integration

* House keeping, small refactor to match conventions.

PayloadEncryptor is passed by value and used as a pointer to the instance value and not a shared pointer.

* Reintroduced explicit Mounter field type

* Completed ReceiverClient structs and flows

* Finished BaseClient function parity with old acc

* Integrated new Clients into tests

Solved some test breaks caused by encryptors sharing pointers to their managed payloads

* Built out SenderServer and ReceiverServer structs

With all associated functions and integrated with endpoints.

* Updated tests to handle new Server types

* Added docs and additional refinement

* Renamed some files to better match the content of those files

* Added json tags to config fields that were missing explicit tags.

* fix tests relating to payload locking

* Addressing feedback from @ilmotta

* Addressed feedback from @qfrank
2023-03-23 11:44:15 +00:00
frank
837bf2ca42
support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
Samuel Hawksby-Robinson
90d4dde64b
Added a signal to emit after the AccountPayloadManager processes the multiaccounts.Account (#3228) 2023-02-27 11:46:46 +00:00