Status Desktop client made in Nim & QML https://status.app
Go to file
Pascal Precht 51c8d86ccc fix(Communities): don't crash on rejoin attempt
Prior to this commit there was a scenario where the application would
crash due a memory bug when attempting to (re)join a community.

The scenario is as follows:

1. User creates or has been invited to community with `ON_REQUEST` permissions
2. User leaves community
3. User decides to rejoin, so she selects the community she's been part
of and hits the "Join" button

At this point Status Desktop would send a new `RequestToJoin` request, as the
community has a corresponding permissions setting.

This would then result in an `already a member` error in status-go, because
status-go checks whether the requestee is already part of the members list of
the community. The error isn't handled inside Status Desktop which causes
a crash because we're trying to access data in memory that doesn't exist.

Why is this happening?

While this might be unexpected, when leaving a community (as done on step 2 of
the mentioned scenario), users don't actually lose membership but simply
"unsubscribe" from all channels in the community in question and their `joined`
flag is set to `false`.

From that point on, re-joininng a community is done by sending a `JoinCommunity`
request (instead of `RequestToJoin`), which will then set the `joined` flag to
`true` and doesn't actually check the membership in the database.

This commit ensures we're calling the right API by checking whether not only
whether the community is needs `ON _REQUEST` permissions, but also whether the
user isn't already a member of it.

Fixes #2017
2021-03-11 10:41:19 -05:00
ci refactor: embed Infura key at compile time 2020-12-09 12:10:12 -06:00
docs docs: add note about Qt version 5.14.2 being mandatory 2021-03-03 13:52:01 -05:00
scripts chore: change translations to only translate complete languages 2021-02-18 15:23:58 -05:00
src fix: marking a mailserver as trusted is not necessary as this is done by status-go already 2021-03-11 10:35:31 -05:00
ui fix(Communities): don't crash on rejoin attempt 2021-03-11 10:41:19 -05:00
vendor Update nimbus-build-system version 2021-03-11 10:36:18 -05:00
.gitignore Update docker linux version 2020-11-06 16:22:07 -05:00
.gitmodules feat: use base32 + status infura ipfs for ens contenthash 2020-10-20 14:42:36 -04:00
.npmrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
.yarnrc chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
AppRun fix: set default language 2021-02-22 09:57:56 -05:00
Info.plist chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
Info.runner.plist chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
LICENSE.md docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
Makefile chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
QtWebEngineProcess.plist chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
README.md move building section to docs section; use readme from docs/readme 2020-06-22 10:34:07 -04:00
build-linux.sh chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
config.nims build: dynamically link to status-go built as a shared library 2020-08-28 12:32:49 -04:00
docker-linux-app-image.sh fix: add jq to dockerfile 2020-11-06 16:22:07 -05:00
env.sh feat: get collectibles from the contracts and their respective apis 2020-06-18 10:55:48 -04:00
fleets.json update mailserver fleet port to 443; 30504 was causing issues for some people 2020-12-09 16:55:59 -05:00
nim-status.desktop change title from Nim Status Client to Status Desktop 2020-09-07 09:30:02 -04:00
nim.cfg build system refactoring 2020-06-08 13:07:25 -04:00
nim_status_client.nimble docs: indicate MPL 2.0 as the license 2020-09-23 15:14:59 -04:00
nim_status_client.sh chore: refactor Linux and macOS build/packaging steps 2020-06-22 10:53:57 -05:00
package-lock.json chore: bump package-lock.json 2021-01-25 16:04:13 -06:00
package.json fix: inside packaged macOS builds 'OPEN ME.webloc' should be a file not a symlink 2021-01-22 14:10:09 -05:00
status-dev.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status-dev.svg build: use a different colored app icon and a non-default STATUS_PORT for dev builds 2020-12-18 15:37:06 -05:00
status-macos-dev.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status-macos.svg chore: refactor prod/dev app icon and related logic for macOS 2021-01-15 19:12:42 -05:00
status.icns chore: revise how dev version of app icon is set on macOS during `make run` 2021-01-21 15:36:32 -06:00
status.ico add status icon 2020-05-11 16:41:45 -04:00
status.svg chore: update status.svg 2020-09-18 08:42:49 -05:00
windows-install.txt build: implement packaging steps for the Windows build 2020-07-17 13:57:32 -05:00

README.md