Page MenuHomePhorge
Feed Search

Apr 22 2024

tomek requested changes to D11705: [web] log out if CSAT is missing.
  1. What is a scenario when this could happen?
  2. Why do we need an additional handler - isn't removing the token associated with a logout action?
  3. How the callLogOut method could work? It uses an authenticated Identity client, which requires the access token when calling its functions. Before every call to it, we call ensureThatWorkerClientAuthMetadataIsCurrent which would try to create a wrapper without an access token.
Apr 22 2024, 8:15 AM

Apr 19 2024

tomek accepted D11700: [lib][native][web] Move useLegacyAshoatKeyserverCall to lib/keyserver-conn/legacy-keyserver-call.js.
Apr 19 2024, 5:17 PM
tomek accepted D11699: [lib][web] Move useKeyserverCall to lib/keyserver-conn.
Apr 19 2024, 5:15 PM
tomek accepted D11698: [lib] Move uploadBlob to lib/keyserver-conn.
Apr 19 2024, 5:11 PM
tomek accepted D11697: [lib][native][web] Move callSingleKeyserverEndpoint to lib/keyserver-conn.
Apr 19 2024, 5:09 PM
tomek accepted D11696: [lib][native][web] Move KeyserverConnectionHandler to lib/keyserver-conn.
Apr 19 2024, 5:07 PM
tomek added a comment to D11694: [native][web] Align logic in SQLiteDataHandlers across platforms.

I'm still thinking through what format that interface will take. I could consider including this functionality in that shared interface when I get there.

Sounds great!

Apr 19 2024, 4:58 PM
tomek accepted D11694: [native][web] Align logic in SQLiteDataHandlers across platforms.

It seems like we can extract the logic to lib by creating a function that accepts three functions: for fetching the stamped user ID, clearing the DB, and stamping the DB. What do you think about doing this?

Apr 19 2024, 11:56 AM
tomek accepted D11691: [lib] Separate recovery types that are managed by KeyserverConnectionHandler.
Apr 19 2024, 11:49 AM
tomek accepted D11690: [lib] Don't initiate keyserver session recovery if currentUserInfo is not set.
Apr 19 2024, 11:44 AM
tomek added inline comments to D11651: [lib] Include `[creator/target]FID` in `messageContentForServerDB` when update relationship op is `farcaster_mutual`.
Apr 19 2024, 10:04 AM

Apr 18 2024

tomek closed D11688: [native] Purge the store after clearing the DB.
Apr 18 2024, 4:12 PM
tomek committed rCOMMb1050c45b384: [native] Purge the store after clearing the DB.
Apr 18 2024, 4:12 PM
tomek closed D11649: [web] Reassign the notifs session.
Apr 18 2024, 2:53 PM
tomek closed D11647: [web] Extract a function that determines where to store notifs session.
Apr 18 2024, 2:53 PM
tomek closed D11648: [web] Create a function that reassigns notifs session.
Apr 18 2024, 2:53 PM
tomek committed rCOMM0fe1eb2d8e1d: [web] Reassign the notifs session.
Apr 18 2024, 2:53 PM
tomek committed rCOMMd6620dd49be4: [web] Create a function that reassigns notifs session.
Apr 18 2024, 2:53 PM
tomek committed rCOMMe858ac54c903: [web] Extract a function that determines where to store notifs session.
Apr 18 2024, 2:53 PM
tomek requested review of D11688: [native] Purge the store after clearing the DB.
Apr 18 2024, 2:52 PM
tomek updated the diff for D11649: [web] Reassign the notifs session.

Rever changes to import ordering

Apr 18 2024, 9:37 AM

Apr 17 2024

tomek updated the diff for D11649: [web] Reassign the notifs session.

Always delete the old item

Apr 17 2024, 5:30 PM
tomek added a comment to D11649: [web] Reassign the notifs session.

Is it possible that due to some internal keyserver error the cookie will change and the keyserver will request the client to create new notifs session but new notifications session creation will execute before the effect is executed? In such case the old session would overwrite new one.

Maybe... it would require two things to happen almost at the same time: 1. keyserver sending new cookie 2. keyserver noticing that a notif session should be recreated. Going to think about it, but it sounds really unlikely to happen.

After thinking about this it seems to be an extreme edge case. I think we can protect ourselves against it by reassigning only when the target item isn't set - that would mean that we created a new session for the new cookie. Unfortunately, this still leaves us with an even less probable race condition: localForage doesn't have an API that allows atomic "set if not present" operation, so it's still possible for an item to be set after we check and before we set a new one.

Apr 17 2024, 5:29 PM
tomek updated the diff for D11649: [web] Reassign the notifs session.

Add some protection against edge cases

Apr 17 2024, 5:28 PM
tomek accepted D11670: [native][web] Don't stamp SQLite database until authoritative keyserver auth.
Apr 17 2024, 1:28 PM
tomek accepted D11668: [web] Rename GET_/SET_CURRENT_USER_ID in shared worker.
Apr 17 2024, 1:24 PM
tomek accepted D11666: [native] Rename get/setCurrentUserID in CommCoreModule.

Should we regenerate a wasm file?

Apr 17 2024, 11:32 AM

Apr 16 2024

tomek updated the test plan for D11649: [web] Reassign the notifs session.
Apr 16 2024, 4:15 PM
tomek added a comment to D11649: [web] Reassign the notifs session.

I would amend to the test plan some steps that try to recreate race condition when we log in multiple pages at the same time. We should expect that after logging in to all pages we can see multiple notifs sessions in IndexedDB but when the notifs is received we can decrypt it and it removes all but one notif session.

Apr 16 2024, 4:14 PM
tomek updated the diff for D11649: [web] Reassign the notifs session.

Fix reassignment logic

Apr 16 2024, 4:14 PM
tomek added inline comments to D11648: [web] Create a function that reassigns notifs session.
Apr 16 2024, 3:45 PM
tomek updated the diff for D11648: [web] Create a function that reassigns notifs session.

Rebase

Apr 16 2024, 3:45 PM
tomek updated the diff for D11647: [web] Extract a function that determines where to store notifs session.

Rename

Apr 16 2024, 3:41 PM
tomek added inline comments to D11645: Force already logged in ETH users to create and sign backup message.
Apr 16 2024, 11:11 AM
tomek accepted D11645: Force already logged in ETH users to create and sign backup message.
Apr 16 2024, 10:27 AM

Apr 15 2024

tomek accepted D11663: [native] Stop using ReanimatedJSIModulePackage on Android.
Apr 15 2024, 2:28 PM
tomek added a comment to D11643: [web] Show a popup when client_version_unsupported.

Can't we simply reload the page when the client version is unsupported?

Apr 15 2024, 11:22 AM
tomek accepted D11659: [native][android] Move database and MMKV initialization to CommCoreJSIModulePackage.

Why moving this code to CommHybrid fixes the issue?

I believe because it executes later. More details here. My thinking was that it's safe to call from CommHybrid, since it's called from CommCoreJSIModulePackage.getJSIModules.

Since by that point other JSI libraries (presuamably including Expo libraries) seem ready for setup, I figured it was safe to call SecureStore from that location.

Apr 15 2024, 11:16 AM
tomek accepted D11660: [native] Recreate CommMMKV keys if they can't be loaded.
Apr 15 2024, 8:58 AM
tomek added a comment to D11659: [native][android] Move database and MMKV initialization to CommCoreJSIModulePackage.

Why moving this code to CommHybrid fixes the issue?

Apr 15 2024, 8:56 AM
tomek accepted D11653: [lib] Update `UPDATE_RELATIONSHIP.rawMessageInfoFromClientDB` to handle `farcaster_mutual`.
Apr 15 2024, 8:38 AM
tomek added inline comments to D11651: [lib] Include `[creator/target]FID` in `messageContentForServerDB` when update relationship op is `farcaster_mutual`.
Apr 15 2024, 8:37 AM
tomek accepted D11652: [lib] Update `UPDATE_RELATIONSHIP.rawMessageInfoFromServerDB` to handle `farcaster_mutual`.
Apr 15 2024, 8:37 AM
tomek accepted D11651: [lib] Include `[creator/target]FID` in `messageContentForServerDB` when update relationship op is `farcaster_mutual`.
Apr 15 2024, 8:35 AM
tomek accepted D11650: [lib] Split `UpdateRelationshipMessageInfo` into `Update[Traditional/Farcaster]RelationshipMessageInfo`.
Apr 15 2024, 8:24 AM
tomek accepted D11632: [lib][web][native] Pass preRequestUserState into invalidSessionRecovery.
Apr 15 2024, 8:21 AM
tomek requested changes to D11645: Force already logged in ETH users to create and sign backup message.
Apr 15 2024, 8:08 AM

Apr 12 2024

tomek requested review of D11649: [web] Reassign the notifs session.
Apr 12 2024, 6:51 PM
tomek requested review of D11648: [web] Create a function that reassigns notifs session.
Apr 12 2024, 6:36 PM
tomek requested review of D11647: [web] Extract a function that determines where to store notifs session.
Apr 12 2024, 6:26 PM
tomek accepted D11642: [lib] Split `rawUpdateRelationshipMessageInfoValidator` into `rawUpdate[Traditional/Farcaster]RelationshipMessageInfoValidator`.
Apr 12 2024, 9:41 AM
tomek accepted D11641: [lib] Split `UpdateRelationshipMessageData` into `UpdateTraditionalMessageData` and `UpdateFarcasterMessageData`.
Apr 12 2024, 9:39 AM

Apr 11 2024

tomek added a comment to D11624: [lib] Fix `farcasterRelationshipRequestValidator`.

Do we need a dedicated validator for UpdateRelationshipMessage?

Apr 11 2024, 3:27 PM
tomek accepted D11624: [lib] Fix `farcasterRelationshipRequestValidator`.
Apr 11 2024, 3:27 PM
tomek accepted D11612: [lib] Update `updateRelationshipInputValidator` to be union of `[traditional/farcaster]RelationshipRequestValidator`.
Apr 11 2024, 3:26 PM
tomek accepted D11611: [keyserver] Update `updateRelationshipsResponder` to handle `RelationshipRequest`.
Apr 11 2024, 3:24 PM
tomek closed D11573: [native] Clear auth metadata on logout.
Apr 11 2024, 12:38 PM
tomek committed rCOMM77893eed7c78: [native] Clear auth metadata on logout.
Apr 11 2024, 12:38 PM
tomek closed D11533: [web][native] Reset the state iff current user ID changes.
Apr 11 2024, 12:38 PM
tomek closed D11534: [web][native] Extract the common logic determining when to clear the data.
Apr 11 2024, 12:38 PM
tomek committed rCOMMa384021d4934: [web][native] Reset the state iff current user ID changes.
Apr 11 2024, 12:38 PM
tomek committed rCOMM505976095c33: [web][native] Extract the common logic determining when to clear the data.
Apr 11 2024, 12:38 PM
tomek closed D11532: [web][native] Refactor reset state logic in reducers.
Apr 11 2024, 12:38 PM
tomek committed rCOMM30b805a54fd1: [web][native] Refactor reset state logic in reducers.
Apr 11 2024, 12:38 PM
tomek updated the diff for D11573: [native] Clear auth metadata on logout.

Rename

Apr 11 2024, 12:17 PM
tomek updated the diff for D11533: [web][native] Reset the state iff current user ID changes.

Update the comment

Apr 11 2024, 12:10 PM
tomek accepted D11610: [keyserver] Narrow `updateRelationshipInputValidator` to exclude `farcaster` action.
Apr 11 2024, 9:24 AM

Apr 10 2024

tomek accepted D11619: [lib] Add client_version_unsupported connectionIssue.
Apr 10 2024, 1:53 PM
tomek accepted D11609: [lib] Narrow `TraditionalRelationshipRequest` to exclude 'farcaster' action.
Apr 10 2024, 1:51 PM
tomek accepted D11607: [keyserver] Update `createPersonalThreads` to support both `[Traditional/Farcaster]RelationshipRequest`.
Apr 10 2024, 1:47 PM
tomek accepted D11606: [lib] Update `FarcasterDataHandler` to construct `FarcasterRelationshipRequest` with `userIDsToFID`.
NOTE: The request constructed on the client will currently fail. We need to update both validators and responder on keyserver to support this new format.

A safer ordering might be to first introduce the support for a new format on the keyserver, gated behind code version, and then modify the format on the client.

Apr 10 2024, 1:43 PM

Apr 9 2024

tomek abandoned D6688: [keyserver] Refactoring `redisPublish` function to `messageBrokerPublish`.

Not sure if we still need this - the Linear issue has been canceled for a long time.

Apr 9 2024, 5:58 PM
tomek commandeered D6688: [keyserver] Refactoring `redisPublish` function to `messageBrokerPublish`.
Apr 9 2024, 5:57 PM
tomek abandoned D4749: [services] Tunnelbroker - Add timeout for a pop message waiting in AmqpManager tests.

We don't have the tests anymore and the service is now written in Rust.

Apr 9 2024, 5:56 PM
tomek commandeered D4749: [services] Tunnelbroker - Add timeout for a pop message waiting in AmqpManager tests.
Apr 9 2024, 5:55 PM
tomek added inline comments to D11573: [native] Clear auth metadata on logout.
Apr 9 2024, 1:14 PM
tomek updated the diff for D11573: [native] Clear auth metadata on logout.

Delete empty string checks. Move clearing the metadata to clearSensitiveData. Stop running secure store functions on the DB thread.

Apr 9 2024, 1:14 PM
tomek updated the diff for D11534: [web][native] Extract the common logic determining when to clear the data.

Delete unnecessary conditions

Apr 9 2024, 12:05 PM
tomek added inline comments to D11533: [web][native] Reset the state iff current user ID changes.
Apr 9 2024, 11:54 AM
tomek updated the diff for D11533: [web][native] Reset the state iff current user ID changes.

Handle null user and update the comment

Apr 9 2024, 11:54 AM
tomek accepted D11590: add deletePasswordUser to IdentityServiceClient.
Apr 9 2024, 10:07 AM
tomek accepted D11593: [lib] Introduce `FarcasterRelationshipRequest`, validators, and unit tests.
Apr 9 2024, 10:00 AM
tomek accepted D11592: [lib] Split `RelationshipAction` and `RelationshipActionSansFarcaster`.
Apr 9 2024, 9:56 AM
tomek accepted D11571: Turn migration 38 into a no-op.
Apr 9 2024, 9:53 AM
tomek added inline comments to D11571: Turn migration 38 into a no-op.
Apr 9 2024, 7:52 AM
tomek added inline comments to D11593: [lib] Introduce `FarcasterRelationshipRequest`, validators, and unit tests.
Apr 9 2024, 7:32 AM
tomek added inline comments to D8566: Upload/download large notification payload from the keyserver/Android NSE if its size exceeds FCM limits.
Apr 9 2024, 7:23 AM
tomek added inline comments to D9091: Schedule blob deletion on iOS.
Apr 9 2024, 7:19 AM

Apr 8 2024

tomek added inline comments to D11534: [web][native] Extract the common logic determining when to clear the data.
Apr 8 2024, 3:48 PM
tomek added inline comments to D11533: [web][native] Reset the state iff current user ID changes.
Apr 8 2024, 3:36 PM
tomek added inline comments to D11533: [web][native] Reset the state iff current user ID changes.
Apr 8 2024, 2:05 PM
tomek accepted D9069: Schedule blob deletion on Android when large notifications arrives.
Apr 8 2024, 1:46 PM
tomek accepted D9091: Schedule blob deletion on iOS.
Apr 8 2024, 1:42 PM
tomek requested review of D11573: [native] Clear auth metadata on logout.
Apr 8 2024, 1:17 PM

Apr 3 2024

tomek requested review of D11534: [web][native] Extract the common logic determining when to clear the data.
Apr 3 2024, 12:12 PM
tomek requested review of D11533: [web][native] Reset the state iff current user ID changes.
Apr 3 2024, 11:39 AM
tomek requested review of D11532: [web][native] Refactor reset state logic in reducers.
Apr 3 2024, 10:43 AM
tomek abandoned D4067: [web, lib, native] [refactor] [ENG-536] rename listData to sidebar.

The task from the title https://linear.app/comm/issue/ENG-536/sidebar-list-modal-re-style - is marked as done. If we decide to do something more about that issue, it would be probably easier to do it from scratch instead of figuring out how to make this stack solve the problem.

Apr 3 2024, 9:36 AM
tomek commandeered D4067: [web, lib, native] [refactor] [ENG-536] rename listData to sidebar.
Apr 3 2024, 9:36 AM
tomek abandoned D4066: [web] [refactor] [ENG-536] remove old sidebar styling from side bar modal.

The task from the title https://linear.app/comm/issue/ENG-536/sidebar-list-modal-re-style - is marked as done. If we decide to do something more about that issue, it would be probably easier to do it from scratch instead of figuring out how to make this stack solve the problem.

Apr 3 2024, 9:36 AM