Page MenuHomePhabricator
Feed Advanced Search

Jul 18 2023

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
michal accepted D8442: [blob-service] Introduce database types.
Jul 10 2023, 6:50 AM
michal updated the diff for D8386: [lib] Enable new id schema.

Rebase

Jul 10 2023, 6:23 AM
michal updated the diff for D8383: [web] Migrate to new id schema.

Move NEXT_CODE_VERSION changes to D8386

Jul 10 2023, 6:22 AM
michal added inline comments to D8350: [web/native] Add lastCommunicatedPlatformDetails to redux.
Jul 10 2023, 6:12 AM
michal added a comment to D8355: [lib] Generate converters from validators.

I've also checked the converted db with the validators:

const { messages, threads, messageStoreThreads } =
        await commCoreModule.getClientDBStore();
Jul 10 2023, 6:04 AM
michal accepted D8438: [services-lib] Add integer and timestamp parsing helpers.
Jul 10 2023, 4:30 AM
michal updated the diff for D8460: [clients] Handle notifs with old id schema.

Extracted logic into two functions - one for threadID and second one for messageInfos.

Jul 10 2023, 3:33 AM
michal requested review of D8460: [clients] Handle notifs with old id schema.
Jul 10 2023, 1:36 AM

Jul 5 2023

michal added a reviewer for D8387: [keyserver] Validate siweNonceResponder: kamil.
Jul 5 2023, 9:11 AM
michal added inline comments to D8350: [web/native] Add lastCommunicatedPlatformDetails to redux.
Jul 5 2023, 6:26 AM
michal updated the diff for D8385: [native] Migrate to new id schema.

Use keyserverPrefixID

Jul 5 2023, 4:02 AM
michal updated the diff for D8382: [lib] Add conversions for draft store.

Address review.

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

Fixed comment

Jul 5 2023, 3:39 AM

Jul 4 2023

michal updated the diff for D8355: [lib] Generate converters from validators.

Removed some uses of any, and annotated the rest. Additionaly:

  • here's a minimal repro of the error: flow playground
  • this is handled in the same way as we handled the error in D7488
Jul 4 2023, 7:20 AM
michal updated the diff for D8386: [lib] Enable new id schema.

Update summary

Jul 4 2023, 6:00 AM
michal updated the diff for D8386: [lib] Enable new id schema.

Moved all state version bumps, and FUTURE_CODE_VERSION replacements here, so nothing will break if we land only part of this stack.

Jul 4 2023, 5:58 AM
michal updated the diff for D8385: [native] Migrate to new id schema.

Get all stores at the same time and await all updates concurrently. Extract conversion functions.

Jul 4 2023, 5:57 AM
michal updated the diff for D8384: [native] Add utils for migrating message store.

Update the migration functions so instead of fetching the stores, they take them as an argument and return operations.

Jul 4 2023, 5:55 AM
michal updated the diff for D8383: [web] Migrate to new id schema.

Address review

Jul 4 2023, 3:27 AM
michal added inline comments to D8351: [web/native] Send platform details on http communication.
Jul 4 2023, 3:12 AM
michal updated the diff for D8351: [web/native] Send platform details on http communication.

Address review

Jul 4 2023, 3:12 AM
michal updated the diff for D8350: [web/native] Add lastCommunicatedPlatformDetails to redux.

Handle other auth actions

Jul 4 2023, 2:53 AM
michal added inline comments to D8370: [lib] Introduce blobURI multimedia message field.
Jul 4 2023, 2:26 AM

Jul 3 2023

michal updated the diff for D8383: [web] Migrate to new id schema.

Respond to review

Jul 3 2023, 8:13 AM
michal updated the diff for D8351: [web/native] Send platform details on http communication.

Set new platform details concurrently with policy validation. We need to block execution before running endpoint logic, because it might depend on the version

Jul 3 2023, 7:17 AM
michal accepted D8395: [web] add SQLite files to `.gitignore`.
Jul 3 2023, 6:23 AM
michal accepted D8369: [desktop] add option to toggle shared worker dev dev-tools.
Jul 3 2023, 4:23 AM
michal accepted D8396: [blob-service] Require holder and blob_hash in 'remove' endpoint.
Jul 3 2023, 3:50 AM
michal accepted D8408: [services][commtest] Replace gRPC Blob client with HTTP.

Looks good, we could potentially use reqwest:Url and .set_port(), .join() for URL manipulation.

Jul 3 2023, 3:50 AM
michal added inline comments to D8370: [lib] Introduce blobURI multimedia message field.
Jul 3 2023, 2:48 AM
michal accepted D8293: [web] Add to MessageSearchContext results related information.
Jul 3 2023, 2:32 AM

Jun 30 2023

michal accepted D8327: [web] Fix message search results for old query appearing.
Jun 30 2023, 5:37 AM
michal requested review of D8387: [keyserver] Validate siweNonceResponder.
Jun 30 2023, 4:28 AM
michal requested review of D8386: [lib] Enable new id schema.
Jun 30 2023, 3:42 AM
michal requested review of D8385: [native] Migrate to new id schema.
Jun 30 2023, 3:41 AM
michal requested review of D8384: [native] Add utils for migrating message store.
Jun 30 2023, 3:32 AM
michal requested review of D8383: [web] Migrate to new id schema.
Jun 30 2023, 3:22 AM
michal requested review of D8382: [lib] Add conversions for draft store.
Jun 30 2023, 2:57 AM
michal requested review of D8381: [lib] Add connectionInfoValidator.
Jun 30 2023, 2:47 AM
michal updated the diff for D8355: [lib] Generate converters from validators.

Added converters for ConnectionInfo and CalendarFilter

Jun 30 2023, 2:31 AM
michal updated the diff for D8352: [web] Move createAsyncMigrate to lib.

Add rootKey

Jun 30 2023, 2:27 AM
michal accepted D8367: [blob-service] Support HTTP Range header.

LGTM too!

Jun 30 2023, 2:18 AM
michal added inline comments to D8370: [lib] Introduce blobURI multimedia message field.
Jun 30 2023, 1:32 AM

Jun 29 2023

michal updated the diff for D8355: [lib] Generate converters from validators.

Improve any-casts. Now they are cast immediately to the correct type, similar to how it is done in lib/utils/validation-utils.js. The main problem is that flow doesn't constrain th TType to one of it's variants (e.g. TInterface or TUnion) after checking the meta.kind field so we need to do that ourselves with the any casts.

Jun 29 2023, 11:16 AM
michal updated the diff for D8351: [web/native] Send platform details on http communication.

Await the setCookiePlatformDetails

Jun 29 2023, 10:48 AM
michal added a comment to D8355: [lib] Generate converters from validators.
  1. I worry that the codegenned file might get out of sync with its inputs. Before landing, can you create a Linear task to add a CI job that regenerates the file and confirms there are no changes? We should make sure we complete that task before we ship this project.
Jun 29 2023, 7:37 AM
michal added a comment to D8369: [desktop] add option to toggle shared worker dev dev-tools.

I suspect this is going to throw an error if you close the window without closing the whole app (macOS-style) and run the new menu option. You could probably use the global mainWindow for inspectSharedWorker (with a check if it exists) instead.

Jun 29 2023, 7:18 AM
michal added a comment to D8367: [blob-service] Support HTTP Range header.

A small thing, and shouldn't matter performance-wise, but you should be able to take the range_header variable as a reference in the function, instead of taking it as an owned value and cloning it with to_owned().

Jun 29 2023, 7:10 AM
michal added a comment to D8367: [blob-service] Support HTTP Range header.

Nit: I don't we need the two // Parse range header comments, now that we have a function with the same name

Jun 29 2023, 5:46 AM
michal added a comment to D8367: [blob-service] Support HTTP Range header.

We could merge the two top-most matches and remove unnecessary clone like this:

let (range_start, range_end): (u64, u64) = match &range_header {
    Some(web::Header(Range::Bytes(ranges))) => {
      if ranges.len() > 1 {
        return Err(ErrorBadRequest("Multiple ranges not supported"));
      }
      <...rest of the code...>
   }
   Some(web::Header(Range::Unregistered(..))) => {
      return Err(ErrorBadRequest("Use ranges registered at IANA"));
    }
    None => (0, file_size - 1),
};

which I personally find a little easier to read

Jun 29 2023, 5:30 AM
michal added a comment to D8327: [web] Fix message search results for old query appearing.

Instead of using another variable, could we pass query to appendResults and check if it's still the same?

Jun 29 2023, 5:03 AM
michal accepted D8301: [web] Remember resutls in search modal.
Jun 29 2023, 5:03 AM
michal added a comment to D8293: [web] Add to MessageSearchContext results related information.

Do you think it would make sense to:

Jun 29 2023, 5:02 AM

Jun 28 2023

michal requested review of D8356: [lib] Fix state check with new ID schema.
Jun 28 2023, 4:47 AM
michal requested review of D8355: [lib] Generate converters from validators.
Jun 28 2023, 4:40 AM
michal requested review of D8354: [lib] Fix threadPermissionInfoValidator.
Jun 28 2023, 4:32 AM
michal requested review of D8353: [native] Add support for async migrations.
Jun 28 2023, 4:28 AM
michal added inline comments to D8351: [web/native] Send platform details on http communication.
Jun 28 2023, 4:14 AM
michal requested review of D8352: [web] Move createAsyncMigrate to lib.
Jun 28 2023, 4:12 AM
michal requested review of D8351: [web/native] Send platform details on http communication.
Jun 28 2023, 3:35 AM
michal requested review of D8350: [web/native] Add lastCommunicatedPlatformDetails to redux.
Jun 28 2023, 2:14 AM