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

Refresh tokens seem to cause auto-soft-logout when IndexedDB is missing #21098

Closed
jryans opened this issue Feb 16, 2022 · 3 comments
Closed

Refresh tokens seem to cause auto-soft-logout when IndexedDB is missing #21098

jryans opened this issue Feb 16, 2022 · 3 comments
Assignees
Labels
A-Authentication A-Login A-Soft-Logout https://github.com/element-hq/element-web/issues/10224 A-Storage Storage layer of the app, including IndexedDB, local storage, etc. O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Regression

Comments

@jryans
Copy link
Collaborator

jryans commented Feb 16, 2022

Steps to reproduce

  1. Login to some matrix.org account via develop.element.io (where new token refresh code is used) in a Firefox private window
  2. After some minutes, you will be soft logged out

Outcome

What did you expect?

The soft logout screen should not have appeared.

What happened instead?

After being logged in for ~5 minutes, the server triggered a soft logout. It seems like the token refresh flow was used even though the environment can't support it (because IndexedDB doesn't work in Firefox private windows).

We seem to call window.indexedDB as a way of testing for IDB, but that no longer throws in private windows, as mentioned in this Firefox bug comment. So, our test for IDB passed, but it exploded upon actual use. I think the our IDB feature detection would need to be more like this Modernizr test which correctly detects IDB as unavailable in Firefox private windows by actually trying to open a test database. (Please don't just require IDB via Modernizr though, since that would prevent usage in private windows...)

As an aside, the soft logout screen I received for this matrix.org test account only presented social login. It seems like a separate client issue, tracked in #21099.

Expand for console logs from test account
10:14:23.335 Initialised rageshake. rageshake.ts:72:27
10:14:23.336 To fix line numbers in Chrome: Meatball menu → Settings → Ignore list → Add /rageshake\.js$ rageshake.ts:72:27
10:14:23.337 Using Web platform rageshake.ts:72:27
10:14:23.423 Configuring rageshake persistence... rageshake.ts:72:27
10:14:23.431 Loading skin... rageshake.ts:72:27
10:14:23.432 Failed to open log database: InvalidStateError rageshake.ts:72:27
10:14:23.434 Using WebAssembly Olm rageshake.ts:72:27
10:14:23.434 Uncaught (in promise) Error: Failed to open log database: InvalidStateError
    onerror rageshake.ts:166
rageshake.ts:166:23
10:14:23.549 Skin loaded! rageshake.ts:72:27
10:14:23.552 Uncaught (in promise) DOMException: A mutation operation was attempted on a database that did not allow mutations.
10:14:23.670 set language to en rageshake.ts:72:27
10:14:23.670 Error: Failed to open log database: InvalidStateError
    onerror rageshake.ts:166
rageshake.ts:72:27
10:14:23.672 Application is running in production mode rageshake.ts:72:27
10:14:23.672 Vector starting at https://develop.element.io/ rageshake.ts:72:27
10:14:23.673 Verifying homeserver configuration rageshake.ts:72:27
10:14:23.673 Config uses a default_server_name - doing .well-known lookup rageshake.ts:72:27
10:14:23.673 DEPRECATED CONFIG OPTION: In the future, default_server_name will not be accepted. Please use default_server_config instead. rageshake.ts:72:27
10:14:23.934 XML Parsing Error: not well-formed
Location: https://matrix.org/.well-known/matrix/client
Line Number 1, Column 1: client:1:1
10:14:24.288 Using homeserver config: 
Object { hsUrl: "https://matrix-client.matrix.org", hsName: "matrix.org", hsNameIsDifferent: true, isUrl: "https://vector.im", isDefault: true, isNameResolvable: true, warning: null }
rageshake.ts:72:27
10:14:24.288 Updating SdkConfig with validated discovery information rageshake.ts:72:27
10:14:24.289 StorageManager.idbLoad failed for account:mx_access_token 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 2916, … }
rageshake.ts:72:27
10:14:24.299 StorageManager.idbLoad failed for account:mx_access_token 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 2926, … }
rageshake.ts:72:27
10:14:24.299 No previous session found. rageshake.ts:72:27
10:14:24.299 Doing guest login on https://matrix-client.matrix.org rageshake.ts:72:27
10:14:24.499 Registered as guest: @56452210616:matrix.org rageshake.ts:72:27
10:14:24.500 setLoggedIn: mxid: @56452210616:matrix.org deviceId: guest_device guest: true hs: https://matrix-client.matrix.org softLogout: false freshLogin: undefined tokenExpires: false tokenRenewable: false rageshake.ts:72:27
10:14:24.502 idbDelete failed for account:mx_access_token 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 3129, … }
rageshake.ts:72:27
10:14:24.504 Removing indexeddb instance: matrix-js-sdk:crypto rageshake.ts:72:27
10:14:24.504 Error deleting data from indexeddb 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 3131, … }
rageshake.ts:72:27
10:14:24.504 unable to delete IndexedDBCryptoStore: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:24.595 IndexedDB worker is ready rageshake.ts:72:27
10:14:24.595 Removing indexeddb instance: matrix-js-sdk:riot-web-sync ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:24.596 unable to delete js-sdk store indexeddb: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:24.596 Deleted indexeddb data. rageshake.ts:72:27
10:14:24.597 StorageManager: Checking storage consistency rageshake.ts:72:27
10:14:24.597 StorageManager: Local storage supported? true rageshake.ts:72:27
10:14:24.597 StorageManager: IndexedDB supported? true rageshake.ts:72:27
10:14:24.597 StorageManager: Local storage contains data? false rageshake.ts:72:27
10:14:24.597 StorageManager: Crypto initialised? false rageshake.ts:72:27
10:14:24.598 StorageManager: Sync store using IndexedDB inaccessible DOMException: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:24.598 StorageManager: Sync store using memory only rageshake.ts:72:27
10:14:24.598 StorageManager: Crypto store using IndexedDB inaccessible DOMException: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:24.598 StorageManager: Crypto store using local storage contains data? false rageshake.ts:72:27
10:14:24.598 StorageManager: Storage consistency checks failed rageshake.ts:72:27
10:14:24.600 Some cookies are misusing the “SameSite“ attribute, so it won’t work as expected 5
10:14:24.600 Lifecycle#doSetLoggedIn: Trying token refresh in case it is needed rageshake.ts:72:27
10:14:24.600 Lifecycle#doSetLoggedIn: Token refresh indicated as not needed rageshake.ts:72:27
10:14:24.606 Session persisted for @56452210616:matrix.org rageshake.ts:72:27
10:14:24.606 TokenLifecycle#stop: Stopped refresh timer (if it was running) rageshake.ts:72:27
10:14:24.606 TokenLifecycle#start: Not setting a refresh timer - token not renewable rageshake.ts:72:27
10:14:24.607 Lifecycle: Starting MatrixClient rageshake.ts:72:27
10:14:24.609 EventIndex: Platform doesn't support event indexing, not initializing. rageshake.ts:72:27
10:14:24.610 IndexedDBStore.startup: connecting to backend rageshake.ts:72:27
10:14:24.610 MatrixClientPeg: waiting for MatrixClient store to initialise rageshake.ts:72:27
10:14:24.617 newscreen welcome rageshake.ts:72:27
10:14:24.620 StorageManager: Persistent? false rageshake.ts:72:27
10:14:24.669 IndexedDB worker is ready rageshake.ts:72:27
10:14:24.670 LocalIndexedDBStoreBackend.connect: connecting... ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:24.670 LocalIndexedDBStoreBackend.connect: awaiting connection... ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:24.670 Error running command: connect ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:24.670 InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:24.671 Error starting matrixclient store - falling back to memory store InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.
    indexeddb_remote_backend_RemoteIndexedDBStoreBackend indexeddb-remote-backend.ts:183
rageshake.ts:72:27
10:14:24.671 MatrixClientPeg: waiting for MatrixClient store to initialise rageshake.ts:72:27
10:14:24.671 Crypto: Starting up crypto store... rageshake.ts:72:27
10:14:24.671 connecting to indexeddb matrix-js-sdk:crypto rageshake.ts:72:27
10:14:24.673 Error connecting to indexeddb 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 3300, … }
rageshake.ts:72:27
10:14:24.673 unable to connect to indexeddb matrix-js-sdk:crypto: falling back to localStorage store: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:24.673 Crypto: initialising roomlist... rageshake.ts:72:27
10:14:24.674 Crypto: initialising crypto object... rageshake.ts:72:27
10:14:24.674 Crypto: initialising Olm... rageshake.ts:72:27
10:14:24.674 Crypto: initialising Olm device... rageshake.ts:72:27
10:14:24.676 Crypto: loading device list... rageshake.ts:72:27
10:14:24.676 Crypto: fetching own devices... rageshake.ts:72:27
10:14:24.676 Crypto: adding this device to the store... rageshake.ts:72:27
10:14:24.676 Now tracking device list for @56452210616:matrix.org rageshake.ts:72:27
10:14:24.676 Crypto: checking for key backup... rageshake.ts:72:27
10:14:24.676 Checking key backup status... rageshake.ts:72:27
10:14:24.676 Skipping key backup check since user is guest rageshake.ts:72:27
10:14:24.677 MatrixClientPeg: really starting MatrixClient rageshake.ts:72:27
10:14:24.678 Fetching new TURN credentials rageshake.ts:72:27
10:14:24.835 Got TURN URIs: turn:turn.matrix.org:3478?transport=udp,turn:turn.matrix.org:3478?transport=tcp,turns:turn.matrix.org:443?transport=tcp refresh in 86400 secs rageshake.ts:72:27
10:14:24.868 Caching capabilities:  
Object { "m.room_versions": {…}, "m.change_password": {…}, "m.set_displayname": {…}, "m.set_avatar_url": {…}, "m.3pid_changes": {…} }
rageshake.ts:72:27
10:14:24.869 MatrixClientPeg: MatrixClient started rageshake.ts:72:27
10:14:24.871 Attempting to get Jitsi conference information from homeserver rageshake.ts:72:27
10:14:24.871 Jitsi conference domain: meet.element.io rageshake.ts:72:27
10:14:24.875 Updating homeserver-configured integration managers... rageshake.ts:72:27
10:14:24.875 Homeserver has no integration managers rageshake.ts:72:27
10:14:24.875 Attempting to get Jitsi conference information from homeserver rageshake.ts:72:27
10:14:24.875 XML Parsing Error: not well-formed
Location: https://matrix.org/.well-known/matrix/client
Line Number 1, Column 1: client:1:1
10:14:24.876 Jitsi conference domain: meet.element.io rageshake.ts:72:27
10:14:25.105 Initial sync performed - resetting device tracking state rageshake.ts:72:27
10:14:25.105 Now tracking device list for @56452210616:matrix.org rageshake.ts:72:27
10:14:25.107 MatrixClient sync state => PREPARED rageshake.ts:72:27
10:14:25.108 Starting key download for 
Array [ "@56452210616:matrix.org" ]
rageshake.ts:72:27
10:14:25.109 MatrixClient sync state => SYNCING rageshake.ts:72:27
10:14:25.109 Could not restore the right panel after load because there was no associated room object.The right panel can only be restored for rooms and spaces but not for groups rageshake.ts:72:27
10:14:25.111 Regenerating room lists: Startup rageshake.ts:72:27
10:14:25.111 Returning cached capabilities rageshake.ts:72:27
10:14:25.115 generating oneTimeKeys rageshake.ts:72:27
10:14:25.118 Regenerating all room lists rageshake.ts:72:27
10:14:25.119 Resetting known rooms, initiating regeneration 2 rageshake.ts:72:27
10:14:25.120 generating fallback key rageshake.ts:72:27
10:14:25.121 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.124 Old unverified sessions: rageshake.ts:72:27
10:14:25.124 New unverified sessions: rageshake.ts:72:27
10:14:25.125 Setting up Mjolnir: after sync rageshake.ts:72:27
10:14:25.125 Updating Mjolnir ban lists to: rageshake.ts:72:27
10:14:25.181 Saving device tracking data s2701082997_757284974_3419626_1231179059_1207975500_2997493_421925647_2959775611_211607 rageshake.ts:72:27
10:14:25.275 generating oneTimeKeys rageshake.ts:72:27
10:14:25.276 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.284 got device keys for @56452210616:matrix.org: 
Object { guest_device: {…} }
rageshake.ts:72:27
10:14:25.285 got cross-signing keys for @56452210616:matrix.org: 
Object { master: undefined, self_signing: undefined, user_signing: undefined }
rageshake.ts:72:27
10:14:25.286 Completed key download for @56452210616:matrix.org rageshake.ts:72:27
10:14:25.286 Device list for @56452210616:matrix.org now up to date rageshake.ts:72:27
10:14:25.286 Old unverified sessions: rageshake.ts:72:27
10:14:25.286 New unverified sessions: rageshake.ts:72:27
10:14:25.354 generating oneTimeKeys rageshake.ts:72:27
10:14:25.356 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.457 generating oneTimeKeys rageshake.ts:72:27
10:14:25.459 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.593 generating oneTimeKeys rageshake.ts:72:27
10:14:25.595 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.715 generating oneTimeKeys rageshake.ts:72:27
10:14:25.717 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.787 Saving device tracking data s2701082997_757284974_3419626_1231179059_1207975500_2997493_421925647_2959775611_211607 rageshake.ts:72:27
10:14:25.817 generating oneTimeKeys rageshake.ts:72:27
10:14:25.819 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.928 generating oneTimeKeys rageshake.ts:72:27
10:14:25.929 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:25.991 generating oneTimeKeys rageshake.ts:72:27
10:14:25.993 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:26.061 Routing URL  https://develop.element.io/#/login rageshake.ts:72:27
10:14:26.071 newscreen login rageshake.ts:72:27
10:14:26.101 generating oneTimeKeys rageshake.ts:72:27
10:14:26.103 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:26.608 Skipping flow 
Object { type: "m.login.token" }
 due to unsupported login type m.login.token rageshake.ts:72:27
10:14:26.608 Skipping flow 
Object { type: "m.login.application_service" }
 due to unsupported login type m.login.application_service rageshake.ts:72:27
10:14:26.608 Skipping flow 
Object { type: "uk.half-shot.msc2778.login.application_service" }
 due to unsupported login type uk.half-shot.msc2778.login.application_service rageshake.ts:72:27
10:14:49.781 Overrode homeserver setting with https://matrix-client.matrix.org/ from login response rageshake.ts:72:27
10:14:49.782 TokenLifecycle#stop: Stopped refresh timer (if it was running) rageshake.ts:72:27
10:14:49.783 stopping MatrixClient rageshake.ts:72:27
10:14:49.783 SyncApi.stop rageshake.ts:72:27
10:14:49.784 stopping OutgoingRoomKeyRequestManager rageshake.ts:72:27
10:14:49.784 Sync no longer running: exiting rageshake.ts:72:27
10:14:49.787 Pickle key not created rageshake.ts:72:27
10:14:49.788 setLoggedIn: mxid: @jryanstce:matrix.org deviceId: AJSNUSZDPK guest: false hs: https://matrix-client.matrix.org/ softLogout: false freshLogin: true tokenExpires: true tokenRenewable: true rageshake.ts:72:27
10:14:49.788 idbDelete failed for account:mx_access_token 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 28415, … }
rageshake.ts:72:27
10:14:49.789 Removing indexeddb instance: matrix-js-sdk:crypto rageshake.ts:72:27
10:14:49.789 Error deleting data from indexeddb 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 28416, … }
rageshake.ts:72:27
10:14:49.789 unable to delete IndexedDBCryptoStore: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:49.805 IndexedDB worker is ready rageshake.ts:72:27
10:14:49.806 Removing indexeddb instance: matrix-js-sdk:riot-web-sync ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:49.806 unable to delete js-sdk store indexeddb: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:49.806 Deleted indexeddb data. rageshake.ts:72:27
10:14:49.806 StorageManager: Checking storage consistency rageshake.ts:72:27
10:14:49.806 StorageManager: Local storage supported? true rageshake.ts:72:27
10:14:49.806 StorageManager: IndexedDB supported? true rageshake.ts:72:27
10:14:49.806 StorageManager: Local storage contains data? false rageshake.ts:72:27
10:14:49.806 StorageManager: Crypto initialised? false rageshake.ts:72:27
10:14:49.807 StorageManager: Sync store using IndexedDB inaccessible DOMException: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:49.807 StorageManager: Sync store using memory only rageshake.ts:72:27
10:14:49.807 StorageManager: Crypto store using IndexedDB inaccessible DOMException: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:49.807 StorageManager: Crypto store using local storage contains data? false rageshake.ts:72:27
10:14:49.808 StorageManager: Storage consistency checks failed rageshake.ts:72:27
10:14:49.808 Lifecycle#doSetLoggedIn: Trying token refresh in case it is needed rageshake.ts:72:27
10:14:49.808 Lifecycle#doSetLoggedIn: Token refresh indicated as not needed rageshake.ts:72:27
10:14:49.809 Session persisted for @jryanstce:matrix.org rageshake.ts:72:27
10:14:49.809 TokenLifecycle#stop: Stopped refresh timer (if it was running) rageshake.ts:72:27
10:14:49.809 TokenLifecycle#start: Refresh was set for -71ms - readjusting rageshake.ts:72:27
10:14:49.809 TokenLifecycle#start: Refresh timer set for 33798ms from now rageshake.ts:72:27
10:14:49.810 Lifecycle: Starting MatrixClient rageshake.ts:72:27
10:14:49.811 EventIndex: Platform doesn't support event indexing, not initializing. rageshake.ts:72:27
10:14:49.811 IndexedDBStore.startup: connecting to backend rageshake.ts:72:27
10:14:49.811 MatrixClientPeg: waiting for MatrixClient store to initialise rageshake.ts:72:27
10:14:49.828 IndexedDB worker is ready rageshake.ts:72:27
10:14:49.828 LocalIndexedDBStoreBackend.connect: connecting... ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:49.829 LocalIndexedDBStoreBackend.connect: awaiting connection... ceedcb46befd5ef3f2f6.worker.js:885:22
10:14:49.829 Error starting matrixclient store - falling back to memory store InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.
    indexeddb_remote_backend_RemoteIndexedDBStoreBackend indexeddb-remote-backend.ts:183
rageshake.ts:72:27
10:14:49.829 MatrixClientPeg: waiting for MatrixClient store to initialise rageshake.ts:72:27
10:14:49.829 Error running command: connect ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:49.829 InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. ceedcb46befd5ef3f2f6.worker.js:883:33
10:14:49.830 Crypto: Starting up crypto store... rageshake.ts:72:27
10:14:49.830 connecting to indexeddb matrix-js-sdk:crypto rageshake.ts:72:27
10:14:49.830 Error connecting to indexeddb 
error { target: IDBOpenDBRequest, isTrusted: true, srcElement: IDBOpenDBRequest, eventPhase: 0, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, timeStamp: 28456, … }
rageshake.ts:72:27
10:14:49.830 unable to connect to indexeddb matrix-js-sdk:crypto: falling back to localStorage store: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:14:49.830 Crypto: initialising roomlist... rageshake.ts:72:27
10:14:49.831 Crypto: initialising crypto object... rageshake.ts:72:27
10:14:49.831 Crypto: initialising Olm... rageshake.ts:72:27
10:14:49.831 Crypto: initialising Olm device... rageshake.ts:72:27
10:14:49.832 Crypto: loading device list... rageshake.ts:72:27
10:14:49.832 Crypto: fetching own devices... rageshake.ts:72:27
10:14:49.832 Crypto: adding this device to the store... rageshake.ts:72:27
10:14:49.832 Now tracking device list for @jryanstce:matrix.org rageshake.ts:72:27
10:14:49.832 Crypto: checking for key backup... rageshake.ts:72:27
10:14:49.832 Checking key backup status... rageshake.ts:72:27
10:14:49.833 MatrixClientPeg: really starting MatrixClient rageshake.ts:72:27
10:14:49.834 Fetching new TURN credentials rageshake.ts:72:27
10:14:50.013 Key backup is absent or missing required data rageshake.ts:72:27
10:14:50.013 No usable key backup: not enabling key backup rageshake.ts:72:27
10:14:50.014 Got TURN URIs: turn:turn.matrix.org:3478?transport=udp,turn:turn.matrix.org:3478?transport=tcp,turns:turn.matrix.org:443?transport=tcp refresh in 86400 secs rageshake.ts:72:27
10:14:50.070 Caching capabilities:  
Object { "m.room_versions": {…}, "m.change_password": {…}, "m.set_displayname": {…}, "m.set_avatar_url": {…}, "m.3pid_changes": {…} }
rageshake.ts:72:27
10:14:50.070 Getting saved sync token... rageshake.ts:72:27
10:14:50.071 Getting push rules... rageshake.ts:72:27
10:14:50.071 Got saved sync token rageshake.ts:72:27
10:14:50.071 Getting saved sync... rageshake.ts:72:27
10:14:50.071 MatrixClientPeg: MatrixClient started rageshake.ts:72:27
10:14:50.072 Attempting to get Jitsi conference information from homeserver rageshake.ts:72:27
10:14:50.072 Jitsi conference domain: meet.element.io rageshake.ts:72:27
10:14:50.072 Got reply from saved sync, exists? false rageshake.ts:72:27
10:14:50.073 downloadKeys: downloading for 
Array [ "@jryanstce:matrix.org" ]
rageshake.ts:72:27
10:14:50.073 Starting key download for 
Array [ "@jryanstce:matrix.org" ]
rageshake.ts:72:27
10:14:50.078 Updating homeserver-configured integration managers... rageshake.ts:72:27
10:14:50.078 Homeserver has no integration managers rageshake.ts:72:27
10:14:50.078 Attempting to get Jitsi conference information from homeserver rageshake.ts:72:27
10:14:50.078 Jitsi conference domain: meet.element.io rageshake.ts:72:27
10:14:50.078 XML Parsing Error: not well-formed
Location: https://matrix.org/.well-known/matrix/client
Line Number 1, Column 1: client:1:1
10:14:50.233 Got push rules rageshake.ts:72:27
10:14:50.234 Checking lazy load status... rageshake.ts:72:27
10:14:50.234 Checking server lazy load support... rageshake.ts:72:27
10:14:50.234 Enabling lazy load on sync filter... rageshake.ts:72:27
10:14:50.234 Checking whether lazy loading has changed in store... rageshake.ts:72:27
10:14:50.234 Storing client options... rageshake.ts:72:27
10:14:50.235 Stored client options rageshake.ts:72:27
10:14:50.235 Getting filter... rageshake.ts:72:27
10:14:50.296 got device keys for @jryanstce:matrix.org: 
Object { AJSNUSZDPK: {…}, OWBITTEEWG: {…} }
rageshake.ts:72:27
10:14:50.296 got cross-signing keys for @jryanstce:matrix.org: 
Object { master: {…}, self_signing: {…}, user_signing: {…} }
rageshake.ts:72:27
10:14:50.299 Completed key download for @jryanstce:matrix.org rageshake.ts:72:27
10:14:50.299 Device list for @jryanstce:matrix.org now up to date rageshake.ts:72:27
10:14:50.335 Saving device tracking data null rageshake.ts:72:27
10:14:50.440 Sending first sync request... rageshake.ts:72:27
10:14:50.440 Waiting for saved sync before starting sync processing... rageshake.ts:72:27
10:14:51.041 Initial sync performed - resetting device tracking state rageshake.ts:72:27
10:14:51.042 Now tracking device list for @jryanstce:matrix.org rageshake.ts:72:27
10:14:51.074 MatrixClient sync state => PREPARED rageshake.ts:72:27
10:14:51.074 Starting key download for 
Array [ "@jryanstce:matrix.org" ]
rageshake.ts:72:27
10:14:51.075 MatrixClient sync state => SYNCING rageshake.ts:72:27
10:14:51.078 Could not restore the right panel after load because there was no associated room object.The right panel can only be restored for rooms and spaces but not for groups rageshake.ts:72:27
10:14:51.079 No recording started for: mx_Register rageshake.ts:72:27
10:14:51.080 generating oneTimeKeys rageshake.ts:72:27
10:14:51.082 Returning cached capabilities rageshake.ts:72:27
10:14:51.085 generating fallback key rageshake.ts:72:27
10:14:51.086 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.087 Regenerating room lists: Startup rageshake.ts:72:27
10:14:51.088 Regenerating all room lists rageshake.ts:72:27
10:14:51.089 Resetting known rooms, initiating regeneration 2 rageshake.ts:72:27
10:14:51.091 Old unverified sessions: rageshake.ts:72:27
10:14:51.091 New unverified sessions: rageshake.ts:72:27
10:14:51.092 Setting up Mjolnir: after sync rageshake.ts:72:27
10:14:51.092 Updating Mjolnir ban lists to: rageshake.ts:72:27
10:14:51.096 !ljREzbibhuISVhCxEh:matrix.org is reportedly new but is already known - assuming TagChange instead rageshake.ts:72:27
10:14:51.100 !FbQodsGOSOakyyXanU:matrix.org is reportedly new but is already known - assuming TagChange instead rageshake.ts:72:27
10:14:51.166 got device keys for @jryanstce:matrix.org: 
Object { AJSNUSZDPK: {…}, OWBITTEEWG: {…} }
rageshake.ts:72:27
10:14:51.167 got cross-signing keys for @jryanstce:matrix.org: 
Object { master: {…}, self_signing: {…}, user_signing: {…} }
rageshake.ts:72:27
10:14:51.169 Completed key download for @jryanstce:matrix.org rageshake.ts:72:27
10:14:51.170 Device list for @jryanstce:matrix.org now up to date rageshake.ts:72:27
10:14:51.170 Old unverified sessions: rageshake.ts:72:27
10:14:51.170 New unverified sessions: rageshake.ts:72:27
10:14:51.170 Old unverified sessions: rageshake.ts:72:27
10:14:51.171 New unverified sessions: rageshake.ts:72:27
10:14:51.171 Old unverified sessions: rageshake.ts:72:27
10:14:51.171 New unverified sessions: rageshake.ts:72:27
10:14:51.195 generating oneTimeKeys rageshake.ts:72:27
10:14:51.196 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.199 could not get dehydrated device M_NOT_FOUND: No dehydrated device available rageshake.ts:72:27
10:14:51.264 generating oneTimeKeys rageshake.ts:72:27
10:14:51.266 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.352 generating oneTimeKeys rageshake.ts:72:27
10:14:51.354 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.432 generating oneTimeKeys rageshake.ts:72:27
10:14:51.434 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.524 generating oneTimeKeys rageshake.ts:72:27
10:14:51.526 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.579 Saving device tracking data s2701083703_757284974_3420673_1231179512_1207976115_2997493_421925826_2959776401_211607 rageshake.ts:72:27
10:14:51.614 generating oneTimeKeys rageshake.ts:72:27
10:14:51.616 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.695 generating oneTimeKeys rageshake.ts:72:27
10:14:51.697 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.777 generating oneTimeKeys rageshake.ts:72:27
10:14:51.779 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:51.851 generating oneTimeKeys rageshake.ts:72:27
10:14:51.853 calling uploadOneTimeKeys rageshake.ts:72:27
10:14:55.507 Could not restore the right panel after load because there was no associated room object.The right panel can only be restored for rooms and spaces but not for groups rageshake.ts:72:27
10:14:55.509 Checking for COLR support rageshake.ts:72:27
10:14:55.509 Browser is Firefox - assuming COLR is supported rageshake.ts:72:27
10:14:55.561 newscreen home rageshake.ts:72:27
10:14:55.567 StorageManager: Persistent? false rageshake.ts:72:27
10:15:12.646 !pzVjCQSoQPpXQeHpmK:matrix.org is reportedly new but is already known - assuming TagChange instead rageshake.ts:72:27
10:15:14.633 Switching to room id !pzVjCQSoQPpXQeHpmK:matrix.org at event undefined rageshake.ts:72:27
10:15:14.639 RVS update: !pzVjCQSoQPpXQeHpmK:matrix.org undefined loading? false joining? false initial? true shouldPeek? true rageshake.ts:72:27
10:15:14.640 Returning cached capabilities rageshake.ts:72:27
10:15:14.640 newscreen room/!pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:14.644 [!pzVjCQSoQPpXQeHpmK:matrix.org] Current version: 5 rageshake.ts:72:27
10:15:14.644 [!pzVjCQSoQPpXQeHpmK:matrix.org] Version capability:  
Object { default: "6", available: {…}, "org.matrix.msc3244.room_capabilities": {…} }
rageshake.ts:72:27
10:15:16.840 RVS update: !pzVjCQSoQPpXQeHpmK:matrix.org undefined loading? false joining? true initial? undefined shouldPeek? true rageshake.ts:72:27
10:15:17.116 RVS update: !pzVjCQSoQPpXQeHpmK:matrix.org undefined loading? false joining? true initial? undefined shouldPeek? false rageshake.ts:72:27
10:15:19.164 Request to reset timeline in room  !pzVjCQSoQPpXQeHpmK:matrix.org  viewing: !pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:19.204 EventTimelineSet.addLiveEvent: ignoring duplicate event $wLoHMwAxSzImYaXAakxQ-548VyqtytZCcNzYe1JKZEw rageshake.ts:72:27
10:15:19.312 Marking device list outdated for @jryanstce:matrix.org rageshake.ts:72:27
10:15:19.313 Starting key download for 
Array [ "@jryanstce:matrix.org" ]
rageshake.ts:72:27
10:15:19.348 !pzVjCQSoQPpXQeHpmK:matrix.org is reportedly new but is already known - assuming TagChange instead rageshake.ts:72:27
10:15:19.348 Degrading performance to find missing room in "im.vector.fake.invite": !pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:19.348 Tried to remove unknown room from im.vector.fake.invite: !pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:19.421 got device keys for @jryanstce:matrix.org: 
Object { AJSNUSZDPK: {…}, OWBITTEEWG: {…} }
rageshake.ts:72:27
10:15:19.421 got cross-signing keys for @jryanstce:matrix.org: 
Object { master: {…}, self_signing: {…}, user_signing: {…} }
rageshake.ts:72:27
10:15:19.423 Completed key download for @jryanstce:matrix.org rageshake.ts:72:27
10:15:19.423 Device list for @jryanstce:matrix.org now up to date rageshake.ts:72:27
10:15:19.423 Old unverified sessions: rageshake.ts:72:27
10:15:19.423 New unverified sessions: rageshake.ts:72:27
10:15:19.423 Old unverified sessions: rageshake.ts:72:27
10:15:19.423 New unverified sessions: rageshake.ts:72:27
10:15:19.423 Old unverified sessions: rageshake.ts:72:27
10:15:19.423 New unverified sessions: rageshake.ts:72:27
10:15:19.757 This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html for further details and to join the discussion on related tools and features! develop.element.io
10:15:19.792 LL: got 3 members from server for room !pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:19.792 LL: RoomState about to set 3 OOB members ... rageshake.ts:72:27
10:15:19.792 LL: RoomState put in finished state ... rageshake.ts:72:27
10:15:19.792 LL: telling store to write 0 members for room !pzVjCQSoQPpXQeHpmK:matrix.org rageshake.ts:72:27
10:15:19.813 Saving device tracking data s2701084498_757284974_3421849_1231179967_1207976796_2997494_421926004_2959790471_211607 rageshake.ts:72:27
10:15:23.614 TokenLifecycle#doRefresh: Acquiring lock rageshake.ts:72:27
10:15:23.614 TokenLifecycle#doRefresh: Error refreshing token:  DOMException: A mutation operation was attempted on a database that did not allow mutations. rageshake.ts:72:27
10:15:23.614 TokenLifecycle#doRefresh: Releasing lock rageshake.ts:72:27
10:15:23.614 Uncaught (in promise) DOMException: A mutation operation was attempted on a database that did not allow mutations.
10:20:02.663 Soft logout issued by server - avoiding data deletion rageshake.ts:72:27
10:20:02.664 Soft logout initiated rageshake.ts:72:27
10:20:02.664 TokenLifecycle#stop: Stopped refresh timer (if it was running) rageshake.ts:72:27
10:20:02.668 stopping MatrixClient rageshake.ts:72:27
10:20:02.669 SyncApi.stop rageshake.ts:72:27
10:20:02.669 stopping OutgoingRoomKeyRequestManager rageshake.ts:72:27
10:20:02.671 Sync no longer running: exiting rageshake.ts:72:27
10:20:02.674 newscreen soft_logout rageshake.ts:72:27

Operating system

macOS

Browser information

Firefox 99 in private window

URL for webapp

develop.element.io

Application version

135f37e-react-78524bddcef7-js-e86d8861b961

Homeserver

matrix.org

Will you send logs?

No

@jryans jryans added T-Defect A-Login A-Authentication A-Soft-Logout https://github.com/element-hq/element-web/issues/10224 A-Storage Storage layer of the app, including IndexedDB, local storage, etc. X-Regression X-Release-Blocker O-Occasional Affects or can be seen by some users regularly or most users rarely S-Critical Prevents work, causes data loss and/or has no workaround labels Feb 16, 2022
@turt2live
Copy link
Member

Dropping frequency of this so it falls off the defects tracker - the change has been reverted. matrix-org/matrix-react-sdk#7821

Maintaining severity as the workaround is woefully insufficient.

@turt2live turt2live added O-Uncommon Most users are unlikely to come across this or unexpected workflow and removed O-Occasional Affects or can be seen by some users regularly or most users rarely labels Feb 16, 2022
@turt2live turt2live self-assigned this Feb 16, 2022
@turt2live
Copy link
Member

(and removing release blocker so it doesn't impact the RC)

@turt2live
Copy link
Member

Closing as the feature was removed and is not currently on a roadmap for re-inclusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Authentication A-Login A-Soft-Logout https://github.com/element-hq/element-web/issues/10224 A-Storage Storage layer of the app, including IndexedDB, local storage, etc. O-Uncommon Most users are unlikely to come across this or unexpected workflow S-Critical Prevents work, causes data loss and/or has no workaround T-Defect X-Regression
Projects
None yet
Development

No branches or pull requests

2 participants