Page MenuHomePhabricator
Feed Advanced Search

Feb 20 2023

michal updated the diff for D6716: [keyserver] Serve web worker files.

There's no global exports set and "the bundle is just going to be run directly by the browser" is correct, so I renamed the file to .js.
Additionaly I'm bringing back the Service-Worker-Allowed header because (now that I understand it better) this service worker should have all tabs in scope and needs to be able to claim them all (for example to focus on them after clicking the notification). It's not like it handles only some part of the website.

Feb 20 2023, 5:09 AM
michal updated the diff for D6715: [web] Add support for web workers to webpack.
  • Changed suffix from .cjs to .js
  • Added babel config to strip flow types
Feb 20 2023, 5:01 AM

Feb 17 2023

michal updated the diff for D6717: [keyserver/web] Pass push notif API public key to web app.

Moved the code to the push/providers.js and use importJSON. I'm no longer caching the config myself because importJSON does the caching. Added logging and invariant.

Feb 17 2023, 3:23 AM
michal added a comment to D6716: [keyserver] Serve web worker files.

I'm a bit confused here. commonjs2 isn't an option for target [...]

Sorry, I shouldn't have used the word "target", I meant this option: output.module. In the generated file I can see some webpack boilerplate that defines properties on the exports object so the file should be cjs.

Feb 17 2023, 2:51 AM

Feb 15 2023

michal added inline comments to D6716: [keyserver] Serve web worker files.
Feb 15 2023, 4:53 AM
michal updated the diff for D6716: [keyserver] Serve web worker files.
  • Changed formatting, remove Service-Worker-Allowed header (it's actually not needed if we don't specify a custom scope during registration)

@ashoat:

  • Tested on prod mode and amended the test plan
  • Hot-reloading was already discussed in D6715
  • From what I understand the default target for webpack is CommonJS so .cjs should be correct.
Feb 15 2023, 4:53 AM
michal updated the test plan for D6716: [keyserver] Serve web worker files.
Feb 15 2023, 4:46 AM
michal planned changes to D6716: [keyserver] Serve web worker files.
Feb 15 2023, 3:32 AM

Feb 14 2023

michal accepted D6732: [web] Fix drawer item not reaching the edge in full screen.
Feb 14 2023, 7:28 AM
michal added a comment to D6715: [web] Add support for web workers to webpack.

Answers to questions:

  1. How will this WebWorker code be loaded, and when will it be re-downloaded from the server? Does it redownload only when all tabs are closed?

The service worker will be downloaded during every page load with navigator.serviceWorker.register('<url to this file>'). If it's different (by comparing bytes) than the previously active service worker (from the same url) it will replace it when all of the tabs are closed (so there's always only one active service worker for all tabs), although this can be overridden.

Feb 14 2023, 7:10 AM
michal updated the diff for D6715: [web] Add support for web workers to webpack.

Rename sw.js -> service-worker.js, change color, use env.prod.

Feb 14 2023, 7:09 AM
michal updated the diff for D6714: [keyserver] Change device_token to mediumtext.

Changed formatting, updated the test plan

Feb 14 2023, 5:00 AM
michal updated the test plan for D6714: [keyserver] Change device_token to mediumtext.
Feb 14 2023, 4:58 AM
michal accepted D6686: [web] Style the community drawer.
Feb 14 2023, 4:36 AM
michal accepted D6731: [web] Change the name of communityIDFilter field to calendarPickedCommunityID.
Feb 14 2023, 4:27 AM
michal updated the diff for D6684: [desktop] Ignore exceptions about being offline.

Keep the error text

Feb 14 2023, 2:56 AM

Feb 13 2023

michal requested review of D6717: [keyserver/web] Pass push notif API public key to web app.
Feb 13 2023, 9:19 AM
michal requested review of D6716: [keyserver] Serve web worker files.
Feb 13 2023, 7:34 AM
michal requested review of D6715: [web] Add support for web workers to webpack.
Feb 13 2023, 7:10 AM
michal requested review of D6714: [keyserver] Change device_token to mediumtext.
Feb 13 2023, 7:04 AM
michal requested review of D6683: [desktop] Continue checking for updates even after an exception.
Feb 13 2023, 2:28 AM
michal updated the diff for D6684: [desktop] Ignore exceptions about being offline.

Rebase

Feb 13 2023, 2:14 AM
michal accepted D6686: [web] Style the community drawer.

Nice!

Feb 13 2023, 2:10 AM

Feb 10 2023

michal added inline comments to D6662: [web] Add All communities / Inbox button.
Feb 10 2023, 7:45 AM
michal added a comment to D6686: [web] Style the community drawer.

Currently, the scroll applies to the whole community picker and not just to the community drawer:

image.png (730×766 px, 47 KB)

So settings aren't immediately visible and you have to scroll to them. Was it decided somewhere that it should work like this?

Feb 10 2023, 7:37 AM
michal accepted D6661: [web] Highlight drawer items in calendar tab.
Feb 10 2023, 7:05 AM
michal requested review of D6684: [desktop] Ignore exceptions about being offline.
Feb 10 2023, 2:18 AM

Feb 9 2023

michal accepted D6361: [web] Move code around to match the new code logic.
Feb 9 2023, 5:43 AM

Feb 8 2023

michal accepted D6662: [web] Add All communities / Inbox button.
Feb 8 2023, 7:34 AM

Feb 7 2023

michal added a comment to D6545: [web] Restyle `LoginForm` inputs to match designs.

The change in theme.css also changed the color of some of the other buttons. For example:

image.png (154×1 px, 17 KB)

the "Create new chat" now has a different color and doesn't match the settings cog.

Feb 7 2023, 3:16 AM

Feb 6 2023

michal added a comment to D6557: [web] Hide typeahead if multiple characters are selected.

Looks good to me (although the code comment now feels a little bit unnecessary).

Feb 6 2023, 1:44 AM
michal added inline comments to D6555: [CI] Automatic releases for desktop.
Feb 6 2023, 1:36 AM

Feb 3 2023

michal requested review of D6233: [desktop] Buildkite CI for macOS electron app.
Feb 3 2023, 5:43 AM
michal requested review of D6555: [CI] Automatic releases for desktop.
Feb 3 2023, 3:32 AM
michal requested review of D6554: [CI] Run mobile releases on push git tag "mobile-vX.Y.Z".
Feb 3 2023, 3:27 AM

Feb 1 2023

michal updated the diff for D6391: [services][electron update server] Add patch-package to root postinstall.

Move flow-mono to root

Feb 1 2023, 11:18 AM
michal updated the diff for D6391: [services][electron update server] Add patch-package to root postinstall.

Revert accidental formatting changes.

Feb 1 2023, 12:43 AM
michal updated the diff for D6355: [services] [electron update server] Add a Dockerfile.

Add native to the dockerfile, because the postinstall.sh requires native to work.

Feb 1 2023, 12:33 AM

Jan 31 2023

michal updated the diff for D6322: [desktop] Add auto updating.

Changed the name to reflect that it's ms. We can't simplify the calls because these methods need to be binded to the autoUpdater object.

Jan 31 2023, 5:28 AM
michal updated the diff for D6321: [desktop] Add additional types for electron auto updating.

After more testing it seems that autoUpdater methods have to be binded to the object so I've changed the typings from type to class.

Jan 31 2023, 5:26 AM
michal updated the diff for D6391: [services][electron update server] Add patch-package to root postinstall.

Fix keyserver dockerfile

Jan 31 2023, 3:13 AM
michal updated the diff for D6391: [services][electron update server] Add patch-package to root postinstall.

Try moving postinstall from native to root.

Jan 31 2023, 3:06 AM

Jan 30 2023

michal added a comment to D6391: [services][electron update server] Add patch-package to root postinstall.

Ok, I'm not sure why that fixed CI. Not sure if this is the best solution, but I was just trying things. Here are some failed builds from previous revisions: buildkite1, buildkite2, buildkite3.

Jan 30 2023, 7:46 AM
michal requested review of D6391: [services][electron update server] Add patch-package to root postinstall.
Jan 30 2023, 7:45 AM
michal updated the diff for D6355: [services] [electron update server] Add a Dockerfile.

Add newlines, remove --production.

Jan 30 2023, 5:52 AM
michal added inline comments to D6322: [desktop] Add auto updating.
Jan 30 2023, 4:41 AM
michal updated the diff for D6322: [desktop] Add auto updating.

Change auto updating logic.

Jan 30 2023, 4:34 AM
michal added inline comments to D6321: [desktop] Add additional types for electron auto updating.
Jan 30 2023, 3:52 AM
michal updated the diff for D6321: [desktop] Add additional types for electron auto updating.

Marked props available only on macOS as optional, thanks for catching that. I've also added a few additional events, because I will be using some of them in the next diffs.

Jan 30 2023, 3:50 AM

Jan 26 2023

michal added a comment to D6355: [services] [electron update server] Add a Dockerfile.

I think I've figured out why it's working. The values in the workspaces in the root package.json can be glob patterns. So you can do something like this:

"workspaces": [
  "packages/*"
]

So if we just have for example "keyserver" in there it's treated as a glob pattern and it just doesn't match anything.

Jan 26 2023, 7:42 AM
michal updated the diff for D6355: [services] [electron update server] Add a Dockerfile.

Now we copy all files from the folder. Additionally, in the previous diff I changed the directory to be a yarn workspace member so now this dockerfile has to be build in the context of the root folder. I've added docker-compose.yml to make that explicit. Note that I don't copy package.json's from all of the workspace members to make the build faster. yarn seems to handle it fine and just ignore the non-existant workspace members. But we can do it more like the keyserver dockerfile and build the whole monorepo if that's prefered.

Jan 26 2023, 7:25 AM
michal added a comment to D6354: [services] [electron update server] Patch hazel to work with desktop-vX.Y.Z tags.

Is this a hypothetical scenario, or were you able to observe it?

I wasn't able to observe it because native takes much longer than electron-update-server to install but I've tested it by making a small repo with this structure:

  • workspace
    • workspace member A, that has one dependency depA
    • workspace member B, that has one dependency depB

(Neither depA not depB are members of the workspace).
I was able to get this order of postinstall scripts:

  1. depB
  2. B
  3. depA
  4. A
  5. workspace

So postinstall scripts run as soon as all dependencies were installed.

Jan 26 2023, 6:41 AM

Jan 25 2023

michal added a comment to D6354: [services] [electron update server] Patch hazel to work with desktop-vX.Y.Z tags.

Can you clarify this scenario a bit more?

Something like this:

  1. yarn cleaninstall is run and everything is cleaned
  2. All native dependencies are installed
  3. postinstall in native is called (-> hazel is not patched because it doesn't exist in the node_modules yet)
  4. All electron-update-server dependencies are installed

In the end hazel is installed but isn't patched

Jan 25 2023, 7:32 AM
michal updated the diff for D6353: [services] Add electron update server to the services.

Updated the test plan, added flow to lint-staged (desktop is already added, I just forgot about this file), added flow typed for express to electron-update-server instead on relying on types in keyserver.

Jan 25 2023, 7:13 AM
michal updated the test plan for D6353: [services] Add electron update server to the services.
Jan 25 2023, 6:59 AM

Jan 24 2023

michal added inline comments to D6353: [services] Add electron update server to the services.
Jan 24 2023, 11:27 AM
michal updated the diff for D6353: [services] Add electron update server to the services.

Fix unnecessary dockerfile formatting

Jan 24 2023, 11:21 AM
michal updated the diff for D6354: [services] [electron update server] Patch hazel to work with desktop-vX.Y.Z tags.

Move the patch to the root level.

NOTE: patch-package is run only in the postinstall script of the native workspace. So if native built before electron-update-server the hazel patch wouldn't be applied. So we probably have two options: - add patch-package to root and call it in the postinstall - add a postinstall script in the update server that's cd ../.. && yarn patch-package
Jan 24 2023, 11:18 AM
michal planned changes to D6353: [services] Add electron update server to the services.
Jan 24 2023, 11:16 AM
michal updated the diff for D6353: [services] Add electron update server to the services.

Make it a proper workspace, use flow and ESM.

Jan 24 2023, 11:13 AM
michal planned changes to D6355: [services] [electron update server] Add a Dockerfile.
Jan 24 2023, 9:40 AM

Jan 23 2023

michal requested review of D6355: [services] [electron update server] Add a Dockerfile.
Jan 23 2023, 11:43 AM
michal requested review of D6354: [services] [electron update server] Patch hazel to work with desktop-vX.Y.Z tags.
Jan 23 2023, 11:39 AM
michal requested review of D6353: [services] Add electron update server to the services.
Jan 23 2023, 11:37 AM
michal updated the diff for D6324: [web] Add modals for updating the desktop app.

Add comment

Jan 23 2023, 10:32 AM
michal added inline comments to D6324: [web] Add modals for updating the desktop app.
Jan 23 2023, 10:24 AM
michal updated the diff for D6324: [web] Add modals for updating the desktop app.

Add comment

Jan 23 2023, 10:24 AM
michal added a comment to D6323: [desktop] Add zip make target.

Whoops, yeah, I updated the description :)

Jan 23 2023, 10:12 AM
michal updated the summary of D6323: [desktop] Add zip make target.
Jan 23 2023, 10:11 AM

Jan 20 2023

michal requested review of D6324: [web] Add modals for updating the desktop app.
Jan 20 2023, 4:32 AM
michal requested review of D6323: [desktop] Add zip make target.
Jan 20 2023, 4:27 AM
michal requested review of D6322: [desktop] Add auto updating.
Jan 20 2023, 4:20 AM
michal requested review of D6321: [desktop] Add additional types for electron auto updating.
Jan 20 2023, 4:16 AM

Jan 13 2023

michal accepted D6200: [native] Fix typo in native/navigation/community-drawer-content.react.js.
Jan 13 2023, 8:26 AM

Jan 11 2023

michal requested review of D6232: [desktop] Allow packaging/ making the app without signing.
Jan 11 2023, 8:24 AM
michal updated the diff for D6176: [desktop] Flow type electron.

Change types of objects described as "modules" in the electron documentation, from class to type. This matches their behaviour better (their methods aren't binded).

Jan 11 2023, 6:48 AM

Jan 9 2023

michal added a comment to D6176: [desktop] Flow type electron.

Responding to @ashoat questions:

Jan 9 2023, 4:23 AM
michal updated the diff for D6176: [desktop] Flow type electron.

Keep comments for flow-typed generated stub

Jan 9 2023, 3:19 AM
michal updated the diff for D6175: [desktop] Type bridge object between desktop and web.

Add lib dependency.

Jan 9 2023, 3:17 AM
michal updated the diff for D6174: [desktop] Enable flow in the desktop workspace.

Add flow-typed dep, add newlines, add to GitHub and Buildkite CI.

Jan 9 2023, 2:23 AM

Jan 5 2023

michal requested review of D6176: [desktop] Flow type electron.
Jan 5 2023, 5:15 AM
michal requested review of D6175: [desktop] Type bridge object between desktop and web.
Jan 5 2023, 5:05 AM
michal requested review of D6174: [desktop] Enable flow in the desktop workspace.
Jan 5 2023, 4:50 AM
michal added inline comments to D6164: [web] Add community drawer to CommunityPicker.
Jan 5 2023, 3:02 AM
michal added inline comments to D6162: [web] Add community drawer.
Jan 5 2023, 3:00 AM
michal added a comment to D6160: [web] Add drawer item implementations.

Additionally, in a few places, we could use margin and padding shorthand properties instead of margin-top etc. But I'm not that experienced in css so I'm not sure which is preferred.

Jan 5 2023, 2:58 AM
michal added a reviewer for D6142: [native] Make native build on Windows: Restricted Owners Package.
Jan 5 2023, 2:55 AM
michal added inline comments to D6156: [native, lib] Move community drawer related code that can be reused on web from native to lib.
Jan 5 2023, 2:36 AM

Jan 4 2023

michal added a comment to D6158: [web] Add expand buttons.

Is there a reason why we don't just have a disabled property in props?

Jan 4 2023, 5:22 AM
michal updated the diff for D6146: [CI] Build macOS and Windows desktop app on github.

Remove pull_request trigger

Jan 4 2023, 4:44 AM
michal updated the diff for D6142: [native] Make native build on Windows.

Fix issues with postinstall.sh

Jan 4 2023, 4:43 AM

Jan 3 2023

michal added a comment to D6150: [GH Actions] Remove `pull_request` trigger for Android/iOS workflows.

Will the push trigger run after pr merge?

Jan 3 2023, 11:43 AM
michal requested review of D6146: [CI] Build macOS and Windows desktop app on github.
Jan 3 2023, 7:37 AM
michal requested review of D6144: [CI] Skip irrelevant builds on desktop files changes.
Jan 3 2023, 7:09 AM
michal requested review of D6143: [keyserver] Make opaque-ke-napi build on Windows.
Jan 3 2023, 5:50 AM
michal requested review of D6142: [native] Make native build on Windows.
Jan 3 2023, 2:27 AM

Dec 30 2022

michal updated the diff for D6097: [native] Handle errors with SIWE WebView.

Moved code a bit.

Dec 30 2022, 2:15 AM

Dec 29 2022

michal requested review of D6100: [desktop] Windows signing.
Dec 29 2022, 6:07 AM
michal updated the diff for D5882: [desktop] Base windows config.

Rebased. Changed link to the icon hosted on aws.

Dec 29 2022, 5:49 AM
michal requested review of D6097: [native] Handle errors with SIWE WebView.
Dec 29 2022, 4:54 AM