Page MenuHomePhabricator
Feed Advanced Search

Aug 1 2023

michal accepted D8650: Remove 3rd node-fetch package and use native API instead.
Aug 1 2023, 9:35 AM
michal updated the test plan for D8650: Remove 3rd node-fetch package and use native API instead.
Aug 1 2023, 9:34 AM
michal added a comment to D8687: [GH Actions] Remove "Install Yarn" step from Android workflows.

Can this be done for all runners? Both windows and macos seem to have Yarn 1.22.19

Aug 1 2023, 2:29 AM

Jul 31 2023

michal requested review of D8682: [desktop] Upgrade node-abi.
Jul 31 2023, 11:31 AM
michal requested review of D8680: [keyserver] Correctly set memberships last_message.
Jul 31 2023, 9:23 AM

Jul 28 2023

michal requested review of D8661: [keyserver] Move validators to endpoint array.
Jul 28 2023, 12:16 PM
michal accepted D8653: [web] fix typo in crypto tests filename.
Jul 28 2023, 9:59 AM
michal accepted D8645: [lib, web] Use sessionId from keyserverStore.
Jul 28 2023, 8:13 AM
michal added a comment to D8644: [lib, web, natvie] Add sessionID field to keyserverStore.

Not a fan of using *, from what I understand that's basically any. I think we could use generics instead (we could also replace the * that existed before if we are changing the code anyway). There's also the option of using empty in places where we aren't using the generic fields, which would be "safer" because we wouldn't be able to use them, but this doesn't feel very clear.

Jul 28 2023, 8:10 AM
michal requested review of D8649: [lib] Run conversion only on state check.
Jul 28 2023, 5:06 AM

Jul 25 2023

michal accepted D8612: [web] handle clearing sensitive data on database module.

We could probably simplify error handling by passing sqliteQueryExecutor as an argument (that's never null) to the operation handling functions. And move all "Database not initialized" error handling to the main funciton

Jul 25 2023, 6:19 AM
michal accepted D8558: [web] rework database module tests to use CommQueryExecutor.

Can we also check if the FILE_PATH contains no file (with module.FS.stat or sth)?

Jul 25 2023, 6:17 AM
michal accepted D8611: [web] implement function to clear database content.
Jul 25 2023, 6:16 AM
michal accepted D8585: [services][terraform] Set up electron-update ECS service.

Looks good to me

Jul 25 2023, 4:15 AM
michal accepted D8601: [CommCoreModule] Move `runSyncOrThrowJSError` to a separate file.
Jul 25 2023, 2:28 AM
michal accepted D8604: [CommCoreModule] implement C++ DraftStore.
Jul 25 2023, 2:18 AM
michal accepted D8603: [CommCoreModule] introduce BaseDataStore template class.
Jul 25 2023, 2:14 AM
michal added a comment to D8603: [CommCoreModule] introduce BaseDataStore template class.

LGTM!

Jul 25 2023, 2:13 AM

Jul 24 2023

michal accepted D8552: [web] add `std::vector` (C++) <-> `Array` (JS) marshalling.
Jul 24 2023, 7:20 AM
michal added inline comments to D8492: [keyserver] Always fetch the latest message for threads.
Jul 24 2023, 5:48 AM
michal accepted D8560: [web] switch code from `sql.js` API to `.wasm` database module.
Jul 24 2023, 5:35 AM
michal accepted D8565: [web] remove `sql.js` dependency.
Jul 24 2023, 2:23 AM
michal accepted D8563: [web] rename `sqljsFilePath` to `databaseModuleFilePath`.
Jul 24 2023, 2:23 AM
michal added a comment to D8562: [keyserver] stop hosting `sql.js` binary file.

Is there a chance that older web clients will still try to fetch this file?

Jul 24 2023, 2:22 AM
michal accepted D8561: [web] remove old raw SQL queries.
Jul 24 2023, 2:22 AM
michal added a comment to D8560: [web] switch code from `sql.js` API to `.wasm` database module.

How does this interact with migrations?

Jul 24 2023, 1:09 AM

Jul 21 2023

michal accepted D8559: [web] implement functions to import/export database content.
Jul 21 2023, 6:31 AM
michal accepted D8558: [web] rework database module tests to use CommQueryExecutor.
Jul 21 2023, 6:24 AM
michal added inline comments to D8555: [web] rework metadata tests to use CommQueryExecutor.
Jul 21 2023, 6:23 AM
michal accepted D8557: [web] rework storage engine tests to use CommQueryExecutor.
Jul 21 2023, 6:23 AM
michal accepted D8556: [web] rework draft tests to use CommQueryExecutor.
Jul 21 2023, 6:20 AM
michal accepted D8555: [web] rework metadata tests to use CommQueryExecutor.
Jul 21 2023, 6:20 AM
michal accepted D8554: [web] rework report tests to use CommQueryExecutor.

Nice!

Jul 21 2023, 5:59 AM
michal accepted D8553: [web] add SQLiteQueryExecutor bindings and type.
Jul 21 2023, 5:58 AM
michal accepted D8550: [native] hide native-specific code.

Probably the "better solution" is the refactor @kamil is doing right now, but it makes sense to me to sequence it later, so we have something working on web already

Jul 21 2023, 4:49 AM
michal accepted D8544: [web] Add types for WASM File System API.
Jul 21 2023, 4:38 AM
michal accepted D8472: [native] add entity and methods for redux-persist storage.

Makes sense!

Jul 21 2023, 4:36 AM
michal accepted D8454: [blob-service] Implement download logic with new db.
Jul 21 2023, 4:35 AM

Jul 20 2023

michal accepted D8551: [native] overload `SQLiteQueryExecutor` constructor.
Jul 20 2023, 7:53 AM
michal added a comment to D8552: [web] add `std::vector` (C++) <-> `Array` (JS) marshalling.

This one is really interesting! BindingType and TypeID both already exist in the emscripten codebase, but they are generic definitions (+ some specializations for specific types). We can add our own specializations for vectors, as this diff is doing. And c++ will use the "most specific" definition, so in this case for BindingType<vector<int>>, our definition will be more specific, than the generic BindingType<T> provided by emscripten.

Jul 20 2023, 7:50 AM
michal accepted D8548: [web] Add web Logger implementation.
Jul 20 2023, 7:43 AM
michal accepted D8547: [web] add function to retrieve WASM module.
Jul 20 2023, 7:40 AM
michal accepted D8545: [web] add types for WASM Module.

comm-query-creator.js filename doesn't match the class inside

Jul 20 2023, 7:37 AM
michal requested changes to D8544: [web] Add types for WASM File System API.
Jul 20 2023, 7:26 AM
michal added a comment to D8544: [web] Add types for WASM File System API.

Personally I don't like the FS$ namespacing and don't think it's needed (it's namespaced to the the module/file anyway)

Jul 20 2023, 7:25 AM
michal accepted D8569: [keyserver, lib, native] Change keyserverPrefixID to ashoatKeyserverID.
Jul 20 2023, 2:12 AM
michal accepted D8536: [lib, keyserver, native, web] Remove the cookie field from redux.
Jul 20 2023, 2:11 AM
michal accepted D8532: [lib, native,keyserver] Add KeyserverStore.
Jul 20 2023, 2:06 AM
michal added a reviewer for D8572: [desktop] Bump electron version: ashoat.
Jul 20 2023, 1:42 AM

Jul 19 2023

michal requested review of D8573: [desktop] Add context menu.
Jul 19 2023, 10:14 AM
michal requested review of D8572: [desktop] Bump electron version.
Jul 19 2023, 10:04 AM
michal requested changes to D8536: [lib, keyserver, native, web] Remove the cookie field from redux.

Can you amend the test plan with checking if the cookie was migrated correctly?

Jul 19 2023, 9:24 AM
michal accepted D8535: [lib] Create generic cookies selector.
Jul 19 2023, 6:13 AM
michal accepted D8534: [lib, web, native] Use KesyerverStore to get current cookie.
Jul 19 2023, 6:10 AM
michal requested changes to D8532: [lib, native,keyserver] Add KeyserverStore.

Seems like we are using keyserverPrefixID not as a prefix, but just as the server id. It would be more descriptive if it was named something like ashoatKeyserverID. Could make a task/ implement it quickly in a separate diff?

Jul 19 2023, 6:06 AM
michal requested review of D8546: [keyserver] Update tID in register response validator.
Jul 19 2023, 3:10 AM
michal accepted D8531: [native, lib] Move resetUserStateActionType to lib.
Jul 19 2023, 3:09 AM

Jul 18 2023

michal updated the diff for D8386: [lib] Enable new id schema.

Also remove convertToNewIDSchema from genesis.js

Jul 18 2023, 6:41 AM
michal reopened D8386: [lib] Enable new id schema.
Jul 18 2023, 6:40 AM
michal reopened D8460: [clients] Handle notifs with old id schema.
Jul 18 2023, 6:39 AM
michal reopened D8385: [native] Migrate to new id schema.
Jul 18 2023, 6:37 AM
michal reopened D8383: [web] Migrate to new id schema.
Jul 18 2023, 6:37 AM

Jul 17 2023

michal requested review of D8519: [lib] Update genesis constant id to new schema.
Jul 17 2023, 3:50 AM
michal added a comment to D8234: [web] Use react-window.

Followup task: https://linear.app/comm/issue/ENG-4402

Jul 17 2023, 3:44 AM
michal accepted D8457: [blob-service] Support new abstraction in HTTP.
Jul 17 2023, 3:36 AM
michal accepted D8456: [blob-service] Implement holder management with new db.
Jul 17 2023, 3:30 AM
michal accepted D8455: [blob-service] Implement upload logic with new db.
Jul 17 2023, 2:01 AM
michal accepted D8516: [web] Fix message search copy.
Jul 17 2023, 2:01 AM
michal requested review of D8517: [keyserver] Mark tID in searchMessagesResponder.
Jul 17 2023, 1:59 AM
michal added inline comments to D8454: [blob-service] Implement download logic with new db.
Jul 17 2023, 1:31 AM
michal updated the diff for D8234: [web] Use react-window.

Rebase

Jul 17 2023, 12:56 AM

Jul 14 2023

michal updated the diff for D8234: [web] Use react-window.

Inline getChatThreadItemSize

Jul 14 2023, 3:01 AM
michal accepted D8489: [native] replace `uint` with `unsigned int`.

Seems like unsigned int is the official type, and uint is typedefs by some compilers automatically

Jul 14 2023, 2:27 AM
michal accepted D8488: [nix] Enable C++17 support for Emscripten.

Are we already explicitly using c++17 in native (not c++14 with extensions for 17)? If not it would be good to use it.

Jul 14 2023, 2:26 AM
michal accepted D8487: [native] replace `folly::Optional` with `std::optional`.
Jul 14 2023, 2:21 AM
michal added inline comments to D8487: [native] replace `folly::Optional` with `std::optional`.
Jul 14 2023, 2:21 AM
michal requested changes to D8472: [native] add entity and methods for redux-persist storage.

Looks good, just some questions:

  • would it make sense to make these methods more inline with others? So e.g. setPersistStorageItem getting PersistItem as an argument, or getPersistStorageItem returning PersistItem or null instead of string?
  • can we test these methods, and amend the test plan?
Jul 14 2023, 2:12 AM
michal accepted D8471: [native] add table for redux-persist storage.
Jul 14 2023, 1:30 AM

Jul 13 2023

michal requested review of D8495: [lib] Don't send activity updates for pending threads.
Jul 13 2023, 6:16 AM
michal requested review of D8492: [keyserver] Always fetch the latest message for threads.
Jul 13 2023, 3:16 AM
michal requested review of D8491: [lib] Handle new id schema for default avatars.
Jul 13 2023, 3:01 AM
michal updated the diff for D8234: [web] Use react-window.

Refactored the code, used a similar approach as it's used on native (union with item type). Extracted search to a separate component.

Jul 13 2023, 2:50 AM
michal added inline comments to D8234: [web] Use react-window.
Jul 13 2023, 2:49 AM
michal abandoned D8074: [native] Fetch latest messages in chat list.

We are changing the approach for this task, so I'm abandoning this diff. More info in the linear task.

Jul 13 2023, 2:45 AM
michal abandoned D8073: [keyserver] Add fetch latest messages endpoint.

We are changing the approach for this task, so I'm abandoning this diff. More info in the linear task.

Jul 13 2023, 2:45 AM
michal abandoned D8235: [web] Fetch latest messages in chat list.

We are changing the approach for this task, so I'm abandoning this diff. More info in the linear task.

Jul 13 2023, 2:45 AM
michal added a comment to D8355: [lib] Generate converters from validators.

Yeah, use of this any is contastrained to this one specific migration, and it's used as a function passed to other functions (that are typed correctly) so it shouldn't 'infect' other code

Jul 13 2023, 2:17 AM

Jul 12 2023

michal accepted D8450: [blob-service] Introduce database client.

LGTM, but I'm not confident in db code, so adding for varun as blocking for this one

Jul 12 2023, 7:47 AM
michal accepted D8470: [web] rename WebCrypto to match convention.
Jul 12 2023, 6:00 AM
michal updated the diff for D8386: [lib] Enable new id schema.

Replaced types with any as discussed in D8355

Jul 12 2023, 5:52 AM
michal updated the diff for D8355: [lib] Generate converters from validators.

I've readded the types. MediaValidator needed to be special cased because of flow issues (that's the same issue as @bartek had). The types are replaced with any in D8386.

Jul 12 2023, 5:51 AM

Jul 11 2023

michal added a reviewer for D8355: [lib] Generate converters from validators: ashoat.
Jul 11 2023, 6:28 AM
michal removed a reviewer for D8355: [lib] Generate converters from validators: ashoat.
Jul 11 2023, 6:28 AM
michal requested review of D8355: [lib] Generate converters from validators.
Jul 11 2023, 3:53 AM
michal updated the diff for D8355: [lib] Generate converters from validators.

There's actually another problem: the generated functions can't be typed with our types because they will get out of sync. What I mean by that is that these functions operate on data that is stored in sqlite/redux at this point in time. If in the future someone modifies e.g. RawMessageInfo then this new type could conflict with the generated functions' body and make a flow error.

Jul 11 2023, 3:52 AM
michal added inline comments to D8451: [blob-service] DB: Add holder management methods.
Jul 11 2023, 2:22 AM
michal added inline comments to D8466: [lib] Add hasMinStateVersion.
Jul 11 2023, 2:12 AM

Jul 10 2023

michal requested review of D8466: [lib] Add hasMinStateVersion.
Jul 10 2023, 10:43 AM
michal updated the diff for D8386: [lib] Enable new id schema.

Use hasMinCodeVersion from the previous diff. Don't split NEXT_CODE_VERSION per platform as it's not needed anymore.

Jul 10 2023, 10:26 AM
michal accepted D8443: [blob-service] Implement db type conversions.
Jul 10 2023, 6:50 AM