Commit Graph

1841 Commits

Author SHA1 Message Date
Jonathan Rainville dfc4dc8078 feat(community)_: add version to image url to let clients update
Fixes https://github.com/status-im/status-desktop/issues/16688

Since we use the local image server to show the community image, the URL never changes when we update the image, since it's served using a query string containing the community ID. eg: `https://Localhost:46739/communityDescriptionImages?communityID=0x03c5ece7da362d31199fb02d632f85fdf853af57d89c3204b4d1e90c6ec13bb23c&name=thumbnail`
Because of that, the clients cannot know if the image was updated, so they had to force update the image every time, which was inefficient.

We discovered this issue when I refactored the community client code in Desktop so that we only update the changed properties of a community instead of reseting the whole thing.

The solution I came up with in the PR is to add a `version` to the URL when we detect that the image changed. This let,s the clients detect when the image was updated without having to do any extra logic.
2024-11-22 15:01:07 -05:00
Sale Djenic e354844044 chore(wallet)_: transactions/types.go moved to services/wallet/wallettypes 2024-11-22 13:32:49 +01:00
frank 3824691f78
chore_: remove CLI option MEDIA_HTTPS (#6112) 2024-11-22 10:23:17 +08:00
Jonathan Rainville 72f7ed7ced
fix(community)_: fix missing mediaserver when cloning a community (#6026)
This caused communities being passed to the client via `handleCommunitiesSubscription` to not have images and they would "flash" in the client because it would disappear for a second then come back when another signal updated it back.
2024-11-21 14:12:22 -05:00
flexsurfer c2d79e785e
feat_: add KeycardPairingKey for mobile (#6101) 2024-11-20 12:35:20 +01:00
frank 735a422230
chore_: create v2 endpoints for status.go to solve EndpointsUnsupported in endpoints.go (#5943)
* chore_: create v2 endpoints for status.go to use status-backend server

* feat_: support using http for media server (#6060)
2024-11-19 09:31:29 +00:00
Parvesh Monu 17dbc37964
chore_: Remove switcher cards (#6107) 2024-11-19 13:41:52 +05:30
Igor Sirotin d3e934a8a0
fix_: update defaultGorushURL (#6011) 2024-10-29 16:52:34 +00:00
osmaczko 2ced83abb7
chore_: replace geth logger with zap logger (#5962)
closes: #6002
2024-10-28 20:54:17 +00:00
Jonathan Rainville d99fdf1b67
fix(contacts)_: fix trust status not being saved to cache when changed (#5965)
Fixes https://github.com/status-im/status-desktop/issues/16392
2024-10-25 22:28:58 +01:00
Igor Sirotin 679391999f
feat_: `LogOnPanic` linter (#5969)
* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments
2024-10-23 21:33:05 +01:00
Yevheniia Berdnyk 0555331252
test_: restore account (#5960) 2024-10-23 22:48:33 +03:00
Sale Djenic 3179532b64 chore_: completely remove goerli from the code 2024-10-21 17:30:51 +02:00
frank b59f1d3849
fix_: chats and message history loading after login takes too much time (#5932)
* fix_: chats and message history loading after login takes too much time

* chore_: split to small functions to writing unit test easily

* test_: add test

* chore_: improve OldestMessageWhisperTimestampByChatIDs function

- Use 'any' type instead of 'interface{}' for args slice
- Add error check after rows iteration

* chore_: optimize OldestMessageWhisperTimestampByChatIDs query

This commit simplifies and optimizes the SQL query in the OldestMessageWhisperTimestampByChatIDs function. The changes include:

1. Removing the subquery and ROW_NUMBER() function
2. Using MIN() and GROUP BY instead of the previous approach
3. Directly selecting the required columns in a single query

These changes should improve the performance of the function, especially for large datasets, while maintaining the same functionality.
2024-10-18 10:25:34 +08:00
Patryk Osmaczko 2c5737b7f6 chore(messenger)_: extend failed protobuf processing log 2024-10-11 18:59:58 +02:00
Patryk Osmaczko 9294ffc12b fix(communities)_: prevent unsigned `CommunityDescription` persistence
fixes: status-im/status-mobile#21303
2024-10-11 18:59:58 +02:00
Patryk Osmaczko 9ba44651c7 chore(communities)_: mv `unmarshalCommunityDescriptionMessage` to
manager
2024-10-11 18:59:58 +02:00
Patryk Osmaczko 084a6e3c5c chore(communities)_: rename `validateAndGetEventsMessageCommunityDescription` 2024-10-11 18:59:58 +02:00
Patryk Osmaczko 4cef3baf85 fix(communities)_: ensure community ID is populated with description
Ensure that communities created prior to the introduction of tokenized
ownership propagate community ID through the description.

fixes: status-im/status-desktop#16226
2024-10-09 08:49:36 +02:00
frank a08319f615
fix(sync)_: sync fallback notification (#5888)
* fix(sync)_: Improve EnableInstallationAndSync and add EnableInstallationV2

- Refactor EnableInstallationAndSync for better error handling and response merging
- Add new EnableInstallationV2 method returning the installation
- Update tests to check for installation in response
- Deprecate old EnableInstallation method

* chore_: remove EnableInstallationV2

* fix(sync)_: create/delete AC notification only when targetInstallationID match

- Add targetInstallationID parameter to SendPairInstallation function
- Update protobuf SyncPairInstallation struct with TargetInstallationId field
- Modify method calls across multiple test files to include new parameter
- Update pairing.proto and pairing.pb.go with new field for local pairing

* chore_: rename stubEnableInstallationAndPair

chore_: move InstallationIDProvider

chore_: revert endpoints.go

test_: check AC with resp

chore_: rename ModifiedInstallationsTargetedToThisDevice

test_: add InstallationIDProvider

chore_: revert endpoints.go

chore_: remove comment

test_: add TestNewInstallationCreatedIsNotDeleted
2024-10-07 22:05:37 +08:00
Igor Sirotin c1dd9397f7
refactor_: remove generated files from source control (#5878)
* fix_: gitignore generated files

* chore_: delete generated files

* fix_: update go generate instructions

* feat(Makefile)_: clean-generated-files target

* feat(Makefile)_: `generate` target

* fix(Makefile)_: dependent generate target

* ci_: run generate, update docker file deps

* fix(Makefile)_: remove `clean-generated-files` target

* fix(Makefile)_: simpler GO_GENERATE_CMD arg

* fix_: temp workspace GO_GENERATE_FAST_DIR
2024-10-03 20:59:44 +01:00
Patryk Osmaczko 5a0e06f1ea fix(communities)!: stop syncing community on `LastOpenedAt` update
Syncing the entire community for potentially frequent actions like
`LastOpenedAt` updates is highly inefficient when using Waku as the
transport layer, as it can result in significant bandwidth overhead.
2024-10-03 16:11:29 +02:00
Patryk Osmaczko 2c0178c9c5 fix(tests)_: prevent crash when creating wakuv2 from multiple goroutines
Creating wakuv2 from multiple goroutines results in a race condition
where multiple in-memory databases with the same name are attempted to
be opened.
2024-10-01 20:17:28 +02:00
Jonathan Rainville 1460589a0b
fix(manager)_: make sure to re-add revealed accounts in the response (#5867)
We remove the shared accounts to send normal admins to not leak the addresses, however, that was a destructive action that also removed them from the `requestToJoin` param, which is reused later in the code, so it created an unwanted side effect. The side effect is now erased.
2024-10-01 10:35:56 -04:00
Igor Sirotin 031b5342f1
chore_: move/rename files messing generation (#5897)
* refactor_: rename migrations file

* refactor_: move generate_handlers to cmd

* fix_: makefile generate_handlers path
2024-09-30 19:19:36 +01:00
Patryk Osmaczko 291b87f82d chore(mailserver)_: reduce debug logs size in messenger_mailserver
Logs from `messenger_mailserver` occupy 40 out of 100MB of data in
my `geth.log`.

Instead of extending `logger` with many parameters, such as `chatIDs`,
`topic`, etc., the hash of those parameters is calucalted and kept as a
context.

iterates: #5889
2024-09-30 18:45:29 +02:00
Jonathan Rainville 2bbcce6e25
fix(bridge)_: fix bridge replies not working when they come from Discord (#5830)
Fixes https://github.com/status-im/status-desktop/issues/16323

The problem was that the code expected to receive the Discord message ID, but the bridge is smart enough to return the Status message ID already, so there is no need to try and convert it.

There were also a couple issues in the bridge code itself.
2024-09-27 11:36:25 -04:00
frank 7a23ac59c4
fix_: ignore log partial API request (#5865)
* fix_: ignore log partial sensitive API request

* chore_: use validator

* chore_: rebase
2024-09-27 11:48:51 +01:00
frank 38308d48f2
feat_: log on panic (#5849)
* feat_: log error and stacktrace when panic in goroutine

* test_: add test TestSafeGo

* chore_: rename logAndCall to call

* chore_: rename SafeGo to Go

* chore_: make lint-fix

* chore_: use t.Cleanup

* chore_: Revert "chore_: use t.Cleanup"

This reverts commit 4eb420d179cc0e208e84c13cb941e6b3d1ed9819.

* chore_: Revert "chore_: make lint-fix"

This reverts commit fcc995f157e671a4229b47419c3a0e4004b5fdab.

* chore_: Revert "chore_: rename SafeGo to Go"

This reverts commit a6d73d6df583f313032d79aac62f66328039cb55.

* chore_: Revert "chore_: rename logAndCall to call"

This reverts commit 8fbe993bedb9fbba67349a44f151e2dd5e3bc4cc.

* chore_: Revert "test_: add test TestSafeGo"

This reverts commit a1fa91839f3960398980c6bf456e6462ec944819.

* chore_: Revert "feat_: log error and stacktrace when panic in goroutine"

This reverts commit f612dd828fa2ce410d0e806fe773ecbe3e86a68a.

* feat_: log error and stacktrace when panic in goroutine

* chore_: make lint-fix

* chore_: rename logAndCall to call

* chore_: renaming LogOnPanic

* chore_: update rest goroutine function calls

* chore_: make lint-fix
2024-09-27 06:37:32 +08:00
richΛrd a84f78f8aa
fix_: remove unreachable code error message (#5845) 2024-09-23 09:12:02 -04:00
frank f04a9a8726
feat(sync)!: leftovers work for sync fallback (#5794)
* feat(sync)!: remove compatibility with v2.29

* feat(sync)_: add AC notifications when initiating the sync fallback

Needed for https://github.com/status-im/status-desktop/issues/15750

Adds an AC notification when the syncing fails and the user is prompted to use a seed phrase instead.
There is one notification for the initiator (created) and one for the old account (received).
Once the flow is completed, ie the receiver presses Enable and sync,  the notifications are deleted

* test_: update test

* fix_: lint issue

* chore_: ignore tmp file generated by make lint-fix

* chore_: rename EnableAndSyncInstallation to EnableInstallationAndSync

* chore_: address review feedback

* chore_: revert changes to .gitignore

* fix_: simplify code

* fix_: keep old API

---------

Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2024-09-19 16:17:46 +08:00
frank 6e5a32c022
fix(mentions)_: add callID for `OnChangeText` (#3806) 2024-09-19 13:03:56 +08:00
Igor Sirotin fb150f3d16
fix!: move `MuteFor24Hr` to the end of the enum (#5813) 2024-09-10 11:25:40 +01:00
Mohamed Javid 17c30ac532
fix_: Flaky TestBackupKeypairs test (#5811)
This commit fixes the flaky TestBackupKeypairs test.

The flakiness is due to the order in which the backup is processed. The test expects the profile keypair addresses first but sometimes, the non-profile keypair is processed before the profile keypair. This commit updates the test to ensure the received addresses exist in the expected.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-09-09 20:30:05 +05:30
Igor Sirotin bbdf5d5ae0
chore: remove urls package (#5810)
* chore!: remove urls package

* fix_: move encodeDataURL and decodeDataURL to messenger_share_urls
2024-09-09 14:45:21 +01:00
richΛrd c24eba8af2
fix_: make mailserver availability subscriptions concurrency safe (#5804) 2024-09-05 15:18:23 -04:00
richΛrd 771a0c3562
refactor: remove wakuv1 code from mailserver cycle and add ENR to list of storenodes (#5753)
* test_: remove eth.prod mailservers from cycle
* test_: disable store request for wakuv1
* chore_: add ENR and remove V1 code
* refactor_: storenode cycle and allow ENRs and multiaddresses
2024-09-05 10:25:26 -04:00
kaichao 1b53d04ccf
feat_: accept community join request with mvds (#5787)
* feat_: accept community join request with mvds

* chore_: no sender when use mvds in comm join response

* fix_: only use mvds for tokenized communities

* chore_: add comment for this.
2024-09-05 18:53:09 +08:00
Alexandra Betouni 060918bcd4
feat_: adding 24hours duration for chats mute (#5020)
Needed for https://github.com/status-im/status-desktop/issues/13393
2024-09-04 15:41:45 +01:00
Azanul Haque 3ca2d6eb23
fix_: Orphaned generated code (#4086)
Signed-off-by: Azanul <azanulhaque@gmail.com>
2024-09-03 21:32:23 +01:00
Igor Sirotin beaca5faf7
chore_: uncomment tests (#5792)
* chore_: uncomment tests

* chore_: better comment

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
2024-09-03 12:40:50 +01:00
Igor Sirotin 4083aae162
chore_: refactor `TestMessengerCollapsedComunityCategoriesSuite` (#5790)
* chore_: improve readability of `TestE2eSendingReceivingProfilePicture`

* chore_: cleanup logs

* chore_: remove generateKeyUID

* chore_: cleanup logs

* chore_: move chat message sending to switch case

* chore_: remove redundant args

* chore_: simplify images check

* chore(testMesengerConfig)_: add createSettings option

* chore_: move TestMessengerCollapsedCommunityCategoriesSuite

* chore(MessengerProfilePictureHandlerSuite)_: simpler messenger creation

* chore_: MessengerProfilePictureHandlerSuite test cases

* chore_: lint fix

* chore_: address pr comments
2024-09-03 12:39:49 +01:00
Sean Hagstrom 717814e83f
fix!: ensure deleting message does not accidentally delete unrelated notifications (#5789)
This change attempts to resolve an issue with notifications being deleted for users after another user deletes the last message inside a community.

The cause of the issue seemed to be related to how notifications could reference a message with the `LastMessage` field. And if the last message was deleted from a community, then the notifications that reference the last message via `LastMessage` field would also removed/deleted.

Moving forward, we will no longer use the `LastMessage` field as a way to detect notifications that need to be deleted, and we now only use the `Message` field of a notification, and we have adapted the creation of notifications to avoid using the `LastMessage` field.
2024-09-03 10:12:44 +01:00
frank e6a2f0afd6
chore_: fix flaky test TestEnableInstallationAndPair (#5775) 2024-09-02 16:24:38 +08:00
Mohamed Javid bd0464d192
fix_: send accounts event on handling backed up accounts (#5739)
This commit moves the "accountsFeed" from "initServices" to the status node config, and adds a reference to messenger config for sending events on handling backed-up data.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2024-08-31 00:58:03 +05:30
Arseniy Klempner 27d02d5fc8
feat(telemetry)_: include device type in metrics (#5669)
* feat(telemetry)_: include device type in metrics

* chore(telemetry)_: refactor common fields used across metrics
2024-08-30 08:59:03 -07:00
Parvesh Monu 0531535ef5
fix_: fix unmute logic (#5720) 2024-08-30 17:47:43 +05:30
frank 82ba10ede7
chore(mentions)_: Add suggestion limit for mention recommendations (#5774)
- Introduce a constant `suggestionsLimit` set to 15
- Apply the suggestion limit when calculating mention suggestions
- Replace unlimited suggestions (-1) with the new limit in relevant function calls
- This change aims to improve performance and user experience by limiting the number of mention suggestions displayed
2024-08-30 09:37:08 +08:00
Igor Sirotin 28e7a364c7
chore(test_stats)_: better stats, print skipped tests (#5781)
* chore(test_stats)_: better stats, list skipped tests

* chore_: add skip reasons to some tests
2024-08-29 21:09:26 +01:00
kaichao 84928e218f
feat_: request to join community message use mvds (#5723)
* feat_: request to join community message use mvds

* chore_: set skip encryption layer to false when request to join community

* chore_: fix tests.

* chore_: fix test.

* chore_: fix more tests

* chore_: fix resend raw message test.

* chore_: add comments for skip encryption layer
2024-08-28 22:11:34 +08:00