Commit Graph

1860 Commits

Author SHA1 Message Date
Jonathan Rainville d291204473
chore(block)!: remove desktop BlockContact function for parity (#6172)
Needed for https://github.com/status-im/status-desktop/issues/16640

In Desktop, we still used a "forked" version of the BlockContact function that had as differences that it didn't leave the chat nor delete the messages.

However, we want to have parity now and those features, so it makes no sense to use a different function.

This is a breaking change because it removes an API, but I took care of removing the use of that function in the Desktop app and Mobile never used it, so it's an inoffensive breaking change.

Additionally, I added the notifications to the messenger response.
2024-12-17 12:15:56 -05:00
Igor Sirotin 66850321ef
fix_: remove logging of rpc endpoint (#6195) 2024-12-14 23:00:25 +00:00
Jonathan Rainville 5a8310d5a7
fix(pins)_: delete pins when the og message is deleted (#6173)
Found when fixing https://github.com/status-im/status-desktop/issues/16639

When a message is deleted, we need to delete the pins too as they are no longer available. This was done using an ON DELETE clause (thanks @osmaczko)
I also made sure the SELECT query for the pins doesn't return deleted messages
2024-12-12 13:18:40 -05:00
richΛrd d07e61f615
fix_: nil *MessengerResponse is a valid result (#6175) 2024-12-06 09:16:54 -05:00
Brian Sztamfater 9a94a82fd6
fix!: add forceRefresh parameter to FetchOrGetCachedWalletBalances endpoint (#6160)
Signed-off-by: Brian Sztamfater <brian@status.im>
2024-12-06 09:48:12 -03:00
Sale Djenic 5d75731a6d fix(alias)_: fixed runtime error: slice bounds out of range [2:0] caused crash 2024-12-06 13:35:18 +01:00
osmaczko 50933aa328
feat(logging)_: enable log namespaces configuration (#6161)
closes: #6128
2024-12-05 14:19:24 +00:00
Jonathan Rainville 3db68c4d64
fix(cr)_: fix dismissing and then sending a CR (#6140)
Fixes https://github.com/status-im/status-desktop/issues/16817

There were two issues.
When dismissing a CR, then sending one back, it did mark the two contacts as mutual and showed the 1-1 chat. However, the message sent in the second/final CR was not shown in the first person's client.
Also, the AC notification for the first user didn't update, so it got stuck in a "pending" state.

Those two issues are fixed now with a test to confirm.
2024-12-03 15:03:55 -05:00
Jonathan Rainville 0794edc3db
feat(community)_: add version to image url to let clients update (#6118)
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-12-03 14:33:49 -05:00
Jonathan Rainville 92ba63b282
fix(edit)_: make sure the contentType stays the same after an edit (#6133)
Fixes https://github.com/status-im/status-desktop/issues/16741

The issue was that in image messages, you can update the text, but then the ContentType would become Text and lose the image.
The solution is to ignore ContentType changes, since there is no way to change the type of message.
2024-12-03 10:04:21 -05:00
Cuteivist 4aa683f03d
feat_: Send payment request data (#6137) 2024-12-03 09:33:40 +01:00
Jonathan Rainville 8a7f24b095
refactor(server_media)_: pass a func to get the images instead of using the cache (#6127)
The community cache that the image server was using was not intended to be used for that. It can be invalidated at any moment. Also, it did not contain changes made by admins (admin events).
Using this new approach, we pass functions from the community manager to the media server so that it can have access to the correct community description.
2024-11-29 13:54:10 -05:00
Igor Sirotin e477269983
feat_: init logs in `InitializeApplication` (#6117)
* feat_: functional tests for logs

* feat_: init logs in `InitializeApplication`

* chore_: completely remove `MobileSystem` log setting

migrate

* chore_: condition for call startTime

* fix_: rebase issues, linter

* fix_: sql query

* test_: mark rpc TestInitializeLogging

* test_: skip TestInitializeLogging
2024-11-29 11:43:07 +00:00
Andrey Bocharnikov c635575e8f
fix_: return 0 fee if oracle fails on GetL1Fee (#6138)
* fix_: return 0 fee if oracle fails on GetL1Fee
2024-11-29 00:28:25 +04:00
richΛrd 35e4c9e11c
fix_: ensure storenode requests do not exceed 24h (#6115) 2024-11-28 15:14:29 -05:00
frank 991d5dfde5
perf!: Optimize Filter Initialization with Concurrent Processing (#6106)
* refactor_: InitFilters

* perf_: return chats preview with optional filter

* chore_: move InitFilters to separate file

* chore_: add ChatPreviewFilterType

* chore_: address feedback from igor

* chore!: update ChatsPreview

* chore_: remove ChatPreviewFilterTypeAll

* fix_: lint issue
2024-11-28 10:55:02 +00:00
kaichaosun 2bd543be5b chore_: increase the mvds resend interval to save bandwidth. 2024-11-28 08:52:05 +01:00
Mohsen ad28f15531
fix_: hide mercuryo provider (#6100) 2024-11-25 20:35:45 +03:00
richΛrd 0c838b0188
feat!: extract storenode cycle to go-waku api
Extracts the storenode cycle code to go-waku.
2024-11-25 17:32:16 +01:00
Igor Sirotin 987a9e8707
feat_: add Sentry panic reporting (#6054)
* feat_: report panics to sentry

* test_: sentry options, params and utils

* feat_: toggle sentry with centralized metrics

* test_: sentry init, report and close

* refactor_: rename public api to generic

* docs_: sentry

* fix_: typo in internal/sentry/README.md

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>

* fix_: linter

---------

Co-authored-by: osmaczko <33099791+osmaczko@users.noreply.github.com>
2024-11-25 12:13:47 +00: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