{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":47238566,"defaultBranch":"master","name":"comm","ownerLogin":"CommE2E","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-12-02T05:12:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/76960940?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715842847.0","currentOid":""},"activityList":{"items":[{"before":"bc5ae1bce9128ed50a39e9104bfd93071b0c7149","after":"fb67cd1ec8a155bc8f561b494f43b8a812b8f6a2","ref":"refs/heads/master","pushedAt":"2024-05-16T03:29:29.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[native/web] make `findUserIdentities` RPC available to native and web\n\nSummary:\nImplements `FindUserIdentities` RPC for web and native\n\nDepends on D11999\n\nTest Plan:\nOn both web/native successfully called the `FindUserIdentities` rpc on\n1. ethereum user\n2. username user\n3. user with farcaster id\n4. non-existent user (resulting in no entry in the identities result)\n\nReviewers: kamil, bartek\n\nReviewed By: bartek\n\nSubscribers: inka, ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12000","shortMessageHtmlLink":"[native/web] make findUserIdentities RPC available to native and web"}},{"before":"5752a75f79be22fc431efacc4c1c30f23a99161e","after":"bc5ae1bce9128ed50a39e9104bfd93071b0c7149","ref":"refs/heads/master","pushedAt":"2024-05-15T20:49:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ginsueddy","name":"Ginsu Eddy","path":"/ginsueddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25470346?s=80&v=4"},"commit":{"message":"[native] fix error alert detail casing in AddKeyserver\n\nSummary: I landed D12058 to fix error alert casing but looks like in D12057 there was one alert that was just very recently introduced that I didn't pull down + update causing eslint ci to fail. This diff should fix that\n\nTest Plan: `flow`\n\nReviewers: will, ashoat\n\nReviewed By: will\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12059","shortMessageHtmlLink":"[native] fix error alert detail casing in AddKeyserver"}},{"before":"9e27c2e5e3fb055069c501914d60d5fd0d04182e","after":"5752a75f79be22fc431efacc4c1c30f23a99161e","ref":"refs/heads/master","pushedAt":"2024-05-15T19:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ginsueddy","name":"Ginsu Eddy","path":"/ginsueddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25470346?s=80&v=4"},"commit":{"message":"[native] fix casing of error alert details\n\nSummary: Rename diff. This should address an inline comment from D11873\n\nTest Plan: `flow`\n\nReviewers: ashoat, will\n\nReviewed By: will\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12058","shortMessageHtmlLink":"[native] fix casing of error alert details"}},{"before":"3d533a2092bb2967e51e9855988b1d0bd32fb1d3","after":"9e27c2e5e3fb055069c501914d60d5fd0d04182e","ref":"refs/heads/master","pushedAt":"2024-05-15T19:11:44.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[lib][native][web] Error text for when adding keyserver fails due to unsupported version\n\nSummary:\nThis addresses [ENG-8105](https://linear.app/comm/issue/ENG-8105/keyserverselectionmodal-shows-generic-error-when-it-gets-client).\n\nDepends on D12056\n\nTest Plan:\n{F1769562}\n\n{F1769563}\n\nReviewers: ginsu, inka\n\nReviewed By: ginsu\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D12057","shortMessageHtmlLink":"[lib][native][web] Error text for when adding keyserver fails due to …"}},{"before":"9a0a2d05b565bf910f067b1d33288a336aac7256","after":"3d533a2092bb2967e51e9855988b1d0bd32fb1d3","ref":"refs/heads/master","pushedAt":"2024-05-15T18:50:56.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ginsueddy","name":"Ginsu Eddy","path":"/ginsueddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25470346?s=80&v=4"},"commit":{"message":"[lib/native] introduce useUnlinkFID\n\nSummary:\nThis diff introduces `useUnlinkFID` which is a hook that returns a callback that calls the `unlinkFarcasterAccount` identity rpc and then clears the `fid` from the synced metadata client store\n\nLinear task: https://linear.app/comm/issue/ENG-7412/call-unlink-farcaster-rpc-on-the-client\n\nDepends on D11863\n\nTest Plan:\nConfirmed that the `fid` was being cleared from the synced metadata client store + confirmed in meeting with @varun that I was correctly calling and getting the expected behavior of `unlinkFarcasterAccount` RPC\n\nConfirmed that loading + error states worked as expected\n\nReviewers: varun, will, ashoat\n\nReviewed By: ashoat\n\nSubscribers: ashoat, tomek, varun\n\nDifferential Revision: https://phab.comm.dev/D11864","shortMessageHtmlLink":"[lib/native] introduce useUnlinkFID"}},{"before":"6746dbe0c7f13e8576b5071a13d61c1dd10ffd47","after":"9a0a2d05b565bf910f067b1d33288a336aac7256","ref":"refs/heads/master","pushedAt":"2024-05-15T18:39:46.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[lib] Replace `threadInChatList` with `useThreadInChatList` in `useWatchThread`\n\nSummary:\nSimilar to rest of stack, but for `useWatchThread`.\n\n---\n\nDepends on D11980\n\nTest Plan:\n`flow` + close reading\n\nSet log statements in `useWatchThread` and ensured that values before and after were identical.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: tomek\n\nDifferential Revision: https://phab.comm.dev/D11981","shortMessageHtmlLink":"[lib] Replace threadInChatList with useThreadInChatList in `useWa…"}},{"before":"ae8840c8a0ba4491d23400c148e54aa1762014d6","after":"6746dbe0c7f13e8576b5071a13d61c1dd10ffd47","ref":"refs/heads/master","pushedAt":"2024-05-15T15:01:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[terraform] set all rust services to debug on staging\n\nSummary:\nThis follows discussion during the monthly retro. We want to enable debug for all our rust services on staging.\n\nDepends on D12002\n\nTest Plan: terraform apply\n\nReviewers: kamil, bartek\n\nReviewed By: bartek\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12003","shortMessageHtmlLink":"[terraform] set all rust services to debug on staging"}},{"before":"203cd5e887fb99d4105d424530c844ebe16b68e3","after":"ae8840c8a0ba4491d23400c148e54aa1762014d6","ref":"refs/heads/master","pushedAt":"2024-05-15T14:59:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[nix] remove extra comma\n\nSummary: Missed this before landing. When completely resetting your mariadb, the default db-config.json will failed to be parsed with this comma\n\nTest Plan: successfully ran keyserver after removing comma\n\nReviewers: ashoat, ginsu, bartek, O1 Nix\n\nReviewed By: bartek, O1 Nix\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D12040","shortMessageHtmlLink":"[nix] remove extra comma"}},{"before":"56d9a3f1c2005322671b7b939865ea91d5858372","after":"203cd5e887fb99d4105d424530c844ebe16b68e3","ref":"refs/heads/master","pushedAt":"2024-05-15T13:45:49.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[keyserver] Split up processSuccessfulLogin\n\nSummary:\nThis diff splits up `processSuccessfulLogin` into two in order to resolve [ENG-8101](https://linear.app/comm/issue/ENG-8101/authoritative-keyserver-admin-user-is-missing-from-userstore-after):\n\n1. `processSuccessfulLogin` (same name as before), which does cookie/session stuff, Olm initialization, policy stuff, and other general \"session setup\" work\n2. `fetchRegistrationResult`, which fetches the data that we need to send to the user in the response.\n\nThere's also a new utility `handleSuccessfulLoginResult`, which looks at the response from `processSuccessfulLogin` and decides whether to call `fetchRegistrationResult`.\n\nThe reason for splitting it into two is that in the registration case for both `siweAuthResponder` and `keyserverAuthResponder`, we want to do some additional steps between these two (`sendMessagesOnAccountCreation`, formerly known as `processAccountCreationCommon`).\n\nDepends on D12038\n\nTest Plan:\nI tested the following scenarios and made sure that [ENG-8101](https://linear.app/comm/issue/ENG-8101/authoritative-keyserver-admin-user-is-missing-from-userstore-after) was resolved (no \"anonymous\" username):\n\n1. I tested account creation via keyserver auth in a multi-keyserver environment\n2. I tested login via keyserver auth in a multi-keyserver environment\n3. I tested legacy account creation in a legacy environment\n4. I tested legacy SIWE account creation in a legacy environment\n5. I tested legacy SIWE login in a legacy environment\n\nReviewers: inka\n\nReviewed By: inka\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D12039","shortMessageHtmlLink":"[keyserver] Split up processSuccessfulLogin"}},{"before":"0ab6a315ac2d4567242383c27e2fcbb4648888d8","after":"56d9a3f1c2005322671b7b939865ea91d5858372","ref":"refs/heads/master","pushedAt":"2024-05-15T13:21:18.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"InkaAlicja","name":"Inka Sokołowska","path":"/InkaAlicja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72438355?s=80&v=4"},"commit":{"message":"[keyserver] Use endpointValidators in keyserve code\n\nSummary:\nissue: [[https://linear.app/comm/issue/ENG-8080/create-a-mapping-between-endpoints-and-output-validators-in-lib | ENG-8080]]\nSince we need to have endpoint bound to output validators both on lib and keyserver, it would be nice if we could avoid redundant code\n\nTest Plan: checked a couple of endpoints, and verified that no errors are thrown if outputs are validated with validators specified by endpointValidators for those endpoints.\n\nReviewers: tomek, kamil, bartek\n\nReviewed By: tomek\n\nSubscribers: ashoat\n\nDifferential Revision: https://phab.comm.dev/D12031","shortMessageHtmlLink":"[keyserver] Use endpointValidators in keyserve code"}},{"before":"25680afe29ab9e9ef47ba1f497333f101d5083ab","after":"0ab6a315ac2d4567242383c27e2fcbb4648888d8","ref":"refs/heads/master","pushedAt":"2024-05-15T01:16:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[lib] Introduce `useOnScreenEntryEditableThreadInfos`\n\nSummary:\nReplace `onScreenEntryEditableThreadInfos` with hook which consumes `useThreadsWithPermission` introduced in D11924.\n\n---\n\nDepends on D11924\n\nTest Plan:\n`flow` + close reading for now\n\nChecked `ThreadPickerModal` on `web` (skipped `native`, but assuming everything is the same since `lib`) and ensured that threads appeared as expected.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11925","shortMessageHtmlLink":"[lib] Introduce useOnScreenEntryEditableThreadInfos"}},{"before":"d90270ac68f88f256894e495fea214c2780f889e","after":"25680afe29ab9e9ef47ba1f497333f101d5083ab","ref":"refs/heads/master","pushedAt":"2024-05-15T00:47:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[lib] Introduce `useThreadsWithPermission` to filter `ThreadInfo`s\n\nSummary:\nThere are places where we want to check which `ThreadInfo`s in a collection have a given `ThreadPermission`. In these situations, we call `threadHasPermission` in some sort of `for-loop` or in the body of a `.filter`. See `onScreenEntryEditableThreadInfos` below as an example:\n\n{F1713736}\n\nNow that we're moving from `threadHasPermission` to `useThreadHasPermission`, we have the issue where calling `useThreadHasPermission` within a `for-loop` or `.filter` for each `ThreadInfo` would violate the rules of hooks. Instead, we introduce a new hook that takes in a `$ReadOnlyArray` and filters out `ThreadInfo`s that don't have a given `ThreadPermission`.\n\nThe original implementation of `useThreadsWithPermission` was 90% the same as `useThreadHasPermission`, so it made sense to consume `useThreadsWithPermission` within `useThreadHasPermission` to reduce duplication. Also considered pulling logic out into helper function, but thought this approach was cleaner.\n\n---\n\nDepends on D11916\n\nTest Plan:\n`flow` + close reading + some log statements as sanity checks for now\n\nPut log statements in both `useThreadHasPermission` and `useThreadsWithPermission` to ensure that return values were as expected. Specifically that return values of `useThreadHasPermission` remained the same.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11924","shortMessageHtmlLink":"[lib] Introduce useThreadsWithPermission to filter ThreadInfos"}},{"before":"10778f439a3fda9b8f28685b2e2c60fdf8e3570e","after":"d90270ac68f88f256894e495fea214c2780f889e","ref":"refs/heads/master","pushedAt":"2024-05-14T20:26:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[native] Consume `useThreadInChatList` in `native/ThreadSettings`\n\nSummary:\nSimilar to rest of stack, we want to replace usages of `threadHasPermission` with `useThreadHasPermission` which we're doing indirectly when we replace `threadInChatList` with `useThreadInChatList`.\n\n---\n\nDepends on D11915\n\nTest Plan:\n`flow` + close reading for now\n\nLogged value of `isThreadInChatList` and ensured it was same before/after change.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: tomek\n\nDifferential Revision: https://phab.comm.dev/D11916","shortMessageHtmlLink":"[native] Consume useThreadInChatList in native/ThreadSettings"}},{"before":"df13d56f8fc9c7152205742f648c8415254da800","after":"10778f439a3fda9b8f28685b2e2c60fdf8e3570e","ref":"refs/heads/master","pushedAt":"2024-05-14T20:10:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[lib] Introduce `useThreadInChatList` and consume in `web/ThreadListProvider`\n\nSummary:\nSimilar to rest of diff, we want to replace usages of `threadHasPermission` with `useThreadHasPermission`.\n\n---\n\nDepends on D11914\n\nTest Plan:\n`flow` and close reading for now.\n\nLogged return value of `threadHasPermission` and `useThreadHasPermission` in `ThreadListProvider` and ensured that they remained the same.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11915","shortMessageHtmlLink":"[lib] Introduce useThreadInChatList and consume in `web/ThreadListP…"}},{"before":"50421aba1c220719d5b2c22755c878bad99d7f6c","after":"df13d56f8fc9c7152205742f648c8415254da800","ref":"refs/heads/master","pushedAt":"2024-05-14T17:54:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[native] Consume `useAvailableThreadMemberActions` in `native/ThreadSettingsMember`\n\nSummary:\nSimilar to D11913, but for `ThreadSettingsMember`.\n\nThis was last usage of `getAvailbleThreadMemberAction`, so we also go ahead and remove it.\n\n---\n\nDepends on D11913\n\nTest Plan:\n`flow` + close reading for now\n\nLogged value of `getAvailbleThreadMemberAction` and `useAvailableThreadMemberActions` and ensured value was the same. Assuming the logic in `ThreadSettingsMember` that works with value is and remains correct.\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11914","shortMessageHtmlLink":"[native] Consume useAvailableThreadMemberActions in `native/ThreadS…"}},{"before":"57b16fd87e6a4759d81d76e627594e747aec03f0","after":"50421aba1c220719d5b2c22755c878bad99d7f6c","ref":"refs/heads/master","pushedAt":"2024-05-14T17:33:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"atulsmadhugiri","name":"atul","path":"/atulsmadhugiri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32692685?s=80&v=4"},"commit":{"message":"[lib] Introduce `useAvailableThreadMemberActions` and consume in `web/Member`\n\nSummary:\nSimilar to `getAvailableThreadMemberActions` but consumes `useThreadHasPermission` instead of `threadHasPermission`.\n\nAlso consume hook in `web/Member` to show usage.\n\nTest Plan:\n`flow` + close reading for now\n\nLogged return value of `getAvailableThreadMemberActions` before and `useAvailableThreadMemberActions` after to ensure that they remained the same.\n\nBefore:\n{F1756563}\n\nAfter:\n{F1756564}\n\nReviewers: ashoat, ginsu, tomek, varun, will\n\nReviewed By: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11913","shortMessageHtmlLink":"[lib] Introduce useAvailableThreadMemberActions and consume in `web…"}},{"before":"de9150e6b21268260076727082a1f988e1fe9a9c","after":"57b16fd87e6a4759d81d76e627594e747aec03f0","ref":"refs/heads/master","pushedAt":"2024-05-14T16:54:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[nix] upgrade mariadb from 10.8 to 10.11\n\nSummary:\nThe modification of the flake.nix file is just removing the mariadb v.10.8 overlay, automatically bumping us to v.10.11.\n\nThe mariadb-up script is also modified to check whether or not an upgrade is necessary. If required, it will run `mariadb-upgrade`.\n\nFor a dev currently on 10.8, after this is landed, the dev will\n1. pull the commit\n2. exit their terminals and any `nix develop` sessions\n3. pkill mariadb` if there is a running server process (`ps aux | grep mariadb`)\n4. nix develop\n\nOn this nix develop, it should identify an upgrade is required and print out upgrade progress\n\nAfter this step, everything should be upgraded\n\nDepends on D12021\n\nTest Plan:\n- Set up dev environment with a mariadb 10.8 versioned table\n- Launched an iOS simulator and exchanged messages between test users on a test community\n- Ran through the above upgrade steps\n- On a new iOS simulator, ensured that the messages were persisted from before and that new communities and users could be registered and exchange messages\n\nReviewers: ashoat, O1 Nix\n\nReviewed By: ashoat\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D12022","shortMessageHtmlLink":"[nix] upgrade mariadb from 10.8 to 10.11"}},{"before":"e3f2aff62c8f458965ccd300ea1225d8c930991b","after":"de9150e6b21268260076727082a1f988e1fe9a9c","ref":"refs/heads/master","pushedAt":"2024-05-14T14:04:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[keyserver] Script to print largest Farcaster communities\n\nSummary:\nRahul needed this for some of his work so I whipped up a quick script. Wanted to commit it to the codebase in case we need to re-run it later to get an updated list.\n\nDetails in [OPS-283](https://linear.app/comm/issue/OPS-283/write-script-to-determine-largest-farcaster-channels-by-follower-count).\n\nTest Plan: I ran the script. Results are in the Linear task\n\nReviewers: ginsu\n\nReviewed By: ginsu\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D12020","shortMessageHtmlLink":"[keyserver] Script to print largest Farcaster communities"}},{"before":"abe549ead24bd68d5799f13a8ca14df9c28ac793","after":"e3f2aff62c8f458965ccd300ea1225d8c930991b","ref":"refs/heads/master","pushedAt":"2024-05-14T11:49:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"palys-swm","name":null,"path":"/palys-swm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/54851691?s=80&v=4"},"commit":{"message":"[lib][web][native] Make all the props of StoreOperations optional\n\nSummary:\nBefore this diff we had to create objects with all the fields present even when most of them were empty arrays. This diff makes creating the ops object more convenient.\n\nDepends on D11933\n\nTest Plan: Tested if processing the ops still works on web and native by checking if drafts get persisted.\n\nReviewers: kamil, marcin\n\nReviewed By: kamil\n\nSubscribers: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11936","shortMessageHtmlLink":"[lib][web][native] Make all the props of StoreOperations optional"}},{"before":"d0c69320b5a2774a3a27ea55cefb8cccefa13d17","after":"abe549ead24bd68d5799f13a8ca14df9c28ac793","ref":"refs/heads/master","pushedAt":"2024-05-14T01:48:35.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"Revert \"[native] Temporary changes for staff release\"\n\nThis reverts commit 33a41f4079a630275172bf387b6d2d56fd4cb50a.","shortMessageHtmlLink":"Revert \"[native] Temporary changes for staff release\""}},{"before":"ef68e14230ae463146ee3d9d0b06a99764a406f5","after":"d0c69320b5a2774a3a27ea55cefb8cccefa13d17","ref":"refs/heads/master","pushedAt":"2024-05-14T01:44:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[web][keyserver] codeVersion -> 82","shortMessageHtmlLink":"[web][keyserver] codeVersion -> 82"}},{"before":"015ee68ce1545c5f951da9f6c0f31e376a820356","after":"ef68e14230ae463146ee3d9d0b06a99764a406f5","ref":"refs/heads/master","pushedAt":"2024-05-13T19:57:33.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[native] Display meaningful alert if RegistrationTerms/FullscreenSIWEPanel login/registration fails due to expired nonce\n\nSummary:\nThis addresses [ENG-7666](https://linear.app/comm/issue/ENG-7666/display-meaningful-alert-if-wallet-registration-fails-due-to-expired) and [ENG-4087](https://linear.app/comm/issue/ENG-4087/refocus-connectethereum-if-nonce-is-expired-by-the-time-registration).\n\nDoing `RegistartionTerms` and `FullscreenSIWEPanel` in one diff because they required shared changes to `RegistrationServerCallInput`. Will annotate diff with some more details inline.\n\nWould normally put @varun on the review here, but going to ask @inka instead because he is out.\n\nDepends on D12009\n\nTest Plan:\nI tested (or will test) this diff stack as follows:\n\n1. Be in a multi-keyserver environment, testing SIWE with iOS simulator\n2. Do a SIWE and then wait 2 minutes to let the nonce expire in the following screens:\n - `FullscreenSIWEPanel` for an account that doesn't exist yet when the new registration flow is disabled\n - `FullscreenSIWEPanel` for an account that doesn't exist yet when the new registration flow is enabled\n - `FullscreenSIWEPanel` for an account that does exist\n - New registration flow for an account that doesn't exist yet (`RegistrationTerms`)\n - New registration flow for an account that does exist (`ExistingEthereumAccount`)\n3. Make sure there are no duplicate `Alert`s, that in all cases an `Alert` is shown, and that the \"back\" action activates when the user confirms the `Alert`\n\nReviewers: inka\n\nReviewed By: inka\n\nSubscribers: tomek, varun, inka\n\nDifferential Revision: https://phab.comm.dev/D12010","shortMessageHtmlLink":"[native] Display meaningful alert if RegistrationTerms/FullscreenSIWE…"}},{"before":"25fae03d75d07bd403ec19149197367e916344b0","after":"015ee68ce1545c5f951da9f6c0f31e376a820356","ref":"refs/heads/master","pushedAt":"2024-05-13T14:28:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[terraform] rename alarm names to be uppercase to match other alarm names\n\nSummary: Simple rename of the lambda alarm name and ecs task alarm name\n\nTest Plan: terraform apply\n\nReviewers: bartek, kamil\n\nReviewed By: bartek\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12004","shortMessageHtmlLink":"[terraform] rename alarm names to be uppercase to match other alarm n…"}},{"before":"f0dc651129523a24056b70dd8a6c1b9f273c662d","after":"25fae03d75d07bd403ec19149197367e916344b0","ref":"refs/heads/master","pushedAt":"2024-05-13T14:27:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"wyilio","name":"William Wang","path":"/wyilio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56137521?s=80&v=4"},"commit":{"message":"[identity] remove unnecessary error log for identity search connection close\n\nSummary: On testing identity search on the client, it seems that the connection will close this way normally. Therefore, this shouldn't be an error and trigger an alarm.\n\nTest Plan: cargo check\n\nReviewers: kamil, bartek\n\nReviewed By: bartek\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D12001","shortMessageHtmlLink":"[identity] remove unnecessary error log for identity search connectio…"}},{"before":"452633f8c8ce8a7afc648dfc02376ebfc4e07739","after":"f0dc651129523a24056b70dd8a6c1b9f273c662d","ref":"refs/heads/master","pushedAt":"2024-05-13T13:08:30.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[native] Revise SIWE backup copy\n\nSummary: This addresses [ENG-8011](https://linear.app/comm/issue/ENG-8011/make-some-minor-touch-ups-to-backup-eth-secret-generation-flow).\n\nTest Plan: {F1730167}\n\nReviewers: marcin\n\nReviewed By: marcin\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D11993","shortMessageHtmlLink":"[native] Revise SIWE backup copy"}},{"before":"8929dfdce8c58ff9aa30244ee7b520a9970b55d4","after":"452633f8c8ce8a7afc648dfc02376ebfc4e07739","ref":"refs/heads/master","pushedAt":"2024-05-13T07:28:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"barthap","name":"Bartłomiej Klocek","path":"/barthap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/278340?s=80&v=4"},"commit":{"message":"[identity] Add gRPC request tracing span\n\nSummary:\nWay of improving logs. We have this pattern in Blob Service where each HTTP request has its unique ID. This way, we can trace logs for specific RPC call by filtering by this ID.\nIt doesn't decrease users' anonymity level - it doesn't introduce any fields that could let us trace user actions at level higher than a single RPC call.\n\nExample of when such log IDs greatly improved debugging experience [[ https://linear.app/comm/issue/ENG-7850/failed-to-delete-blob-hash-on-ios-app#comment-e4e14244 | here ]]\n\nTest Plan:\nExample screenshot here:\n{F1727927}\n\nReviewers: will\n\nReviewed By: will\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D11985","shortMessageHtmlLink":"[identity] Add gRPC request tracing span"}},{"before":"ef0d1382b0b1780a51cb3bfe8cf73049b23b5a2e","after":"8929dfdce8c58ff9aa30244ee7b520a9970b55d4","ref":"refs/heads/master","pushedAt":"2024-05-10T19:08:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Ashoat","name":"Ashoat Tevosyan","path":"/Ashoat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863579?s=80&v=4"},"commit":{"message":"[native] Disable React Native LayoutAnimation on Android\n\nSummary:\nThis has been experimental forever and never fully shipped. I suspect that it's causing [ENG-7774](https://linear.app/comm/issue/ENG-7774/android-messagelist-gets-scrambled-in-popular-thread), but unfortunately I have no way to prove it because I don't have a repro.\n\nWe use `LayoutAnimation` in three places:\n\n1. The calendar tab\n2. Animating messages when they're focused\n3. Animating the content window along with the keyboard when the keyboard appears or disappears (in `KeyboardAvoidingView`). In my experience, this has never worked on Android. I think that's because `easing` is never set in keyboard events\n\nTest Plan: To be honest, I don't have a good test plan here because I've never been able to reproduce the original issue. While I don't have a good way to test, I think it's better to proceed with this, as the issue in question is pretty bad, and there isn't much cost here, since there aren't that many animations that rely on `LayoutAnimation`.\n\nReviewers: ginsu\n\nReviewed By: ginsu\n\nSubscribers: tomek\n\nDifferential Revision: https://phab.comm.dev/D11994","shortMessageHtmlLink":"[native] Disable React Native LayoutAnimation on Android"}},{"before":"4defac0ad2dbfc7e699c3dbf607446a315324d9d","after":"ef0d1382b0b1780a51cb3bfe8cf73049b23b5a2e","ref":"refs/heads/master","pushedAt":"2024-05-10T14:23:30.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"barthap","name":"Bartłomiej Klocek","path":"/barthap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/278340?s=80&v=4"},"commit":{"message":"[commtest] Add test for device list signing\n\nSummary:\nAdded integration test to commtest that verifies device list signature verification in Identity `UpdateDeviceList` RPC.\n\nAlso did some small refactors to existing tests to reuse some code.\n\nDepends on D11959\n\nTest Plan: Commtest\n\nReviewers: will, kamil\n\nReviewed By: kamil\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D11982","shortMessageHtmlLink":"[commtest] Add test for device list signing"}},{"before":"6861908ded02dc3b6883bddc29fada7ec5416043","after":"4defac0ad2dbfc7e699c3dbf607446a315324d9d","ref":"refs/heads/master","pushedAt":"2024-05-10T09:39:04.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"InkaAlicja","name":"Inka Sokołowska","path":"/InkaAlicja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/72438355?s=80&v=4"},"commit":{"message":"[lib] Use tUserID in validators in lib/ which are not used by the output validators\n\nSummary:\nissue: [[https://linear.app/comm/issue/ENG-7819/update-validators-to-use-tuserid | ENG-7819]]\nThe approach I took is to go through all validators files in lib/types/validators and for each file, for each validator, recursively update all validators it uses\n\nThen I went through all places where t.String was used and checked if they need to be updated - I think it makes sense to update all validators, not only ones used by output validators currently\n\nTest Plan: flow\n\nReviewers: tomek, kamil, bartek\n\nReviewed By: tomek\n\nSubscribers: ashoat\n\nDifferential Revision: https://phab.comm.dev/D11971","shortMessageHtmlLink":"[lib] Use tUserID in validators in lib/ which are not used by the out…"}},{"before":"eba3b88f30fc6c825fb266bd10eb39a53b81818f","after":"6861908ded02dc3b6883bddc29fada7ec5416043","ref":"refs/heads/master","pushedAt":"2024-05-10T09:31:43.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"barthap","name":"Bartłomiej Klocek","path":"/barthap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/278340?s=80&v=4"},"commit":{"message":"[lib] Add function to ed25519 verify message to OlmAPI\n\nSummary:\nExposed function from D11905 via OlmAPI and made it return boolean instead of try-catch based approach.\n\nDepends on D11905\n\nTest Plan:\n```\nlang=javascript\n const { olmAPI } = getConfig();\n const pubKey = await getContentSigningKey();\n const signature = await olmAPI.signMessage('hello');\n const isValid = await olmAPI.verifyMessage('hello', signature, pubKey);\n console.log(isValid ? 'valid' : 'invalid');\n```\n\non both native and web\n\nReviewers: kamil, marcin\n\nReviewed By: kamil\n\nSubscribers: ashoat, tomek\n\nDifferential Revision: https://phab.comm.dev/D11907","shortMessageHtmlLink":"[lib] Add function to ed25519 verify message to OlmAPI"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESyut_gA","startCursor":null,"endCursor":null}},"title":"Activity · CommE2E/comm"}