Commit Graph

115 Commits

Author SHA1 Message Date
pengx17
cd5c512a5f fix(electron): auto update check on windows (#8137)
turns out activate event is only available on macos
2024-09-06 09:41:25 +00:00
pengx17
7621758c76 fix(electron): tune offline mode filter (#8113) 2024-09-05 10:08:56 +00:00
pengx17
0ae5673aaa feat(electron): add offline mode (#8086)
fix AF-1334

It seems `session.enableNetworkEmulation({ offline: true });` does not work - https://github.com/electron/electron/issues/21250

implemented using an in-house solution.

When turned on:

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/6805735b-1006-4e51-be46-c047b0f1a82c.png)
2024-09-04 10:46:43 +00:00
pengx17
01e6370dd2 fix(electron): use CTRL+= to zoom in on windows (#8081)
fix AF-1291
2024-09-04 04:23:55 +00:00
forehalo
52c9da67f0 refactor(auth): authenticate user in main window (#8032) 2024-09-03 09:03:47 +00:00
forehalo
e33aa35f7e refactor(core): auth (#7999)
closes AF-753 AF-1227
2024-09-03 09:03:43 +00:00
forehalo
d9cedf89e1 fix(electron): app updater (#8043) 2024-09-02 07:53:17 +00:00
pengx17
592150638e feat(electron): switch to next/previous tab with Ctrl+Tab/Ctrl+Shift+Tab (#7943)
fix PD-1569
2024-08-22 04:46:25 +00:00
pengx17
9d42db56ca chore: bump electron version (#7922) 2024-08-19 14:24:34 +00:00
pengx17
4a89b1a5dd fix(electron): adjust tab styles (#7919)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/121ee595-99f0-43cb-be5f-ca1bdd15d6ca.png)

fix AF-1261
2024-08-19 06:15:06 +00:00
pengx17
23c73243ab chore(electron): re-enable sentry for electron (#7898)
related
https://github.com/toeverything/AFFiNE/pull/7001
2024-08-17 04:32:49 +00:00
pengx17
69c507fded fix(electron): do not use async callback in onBeforeSendHeaders (#7894)
it seems using async callback for onBeforeSendHeaders may crash the app.
the main reason why it is async is to read the cookies from session.

fix AF-1172
2024-08-16 05:17:47 +00:00
pengx17
b57ce4646f chore(electron): adjust log level (#7887) 2024-08-16 05:17:46 +00:00
pengx17
d5edadabe6 fix(electron): cmd+num not working on mac (#7865)
fix AF-1248
hidden menu group + acceleratorWorksWhenHidden does not work on mac
2024-08-14 04:14:16 +00:00
liuyi
83a9beed83 fix(electron): app got deleted when auto update on windows (#7820) 2024-08-13 14:26:26 +08:00
CatsJuice
6228b27271 feat(core): new theme editor poc (#7810) 2024-08-12 04:12:51 +00:00
pengx17
a6169ab26a fix: do not use globalShortcut for tab switching (#7827)
fix #7826
2024-08-11 07:56:47 +00:00
EYHN
ffc12176c9 fix(electron): fix electron global state sync (#7793) 2024-08-08 12:02:10 +00:00
pengx17
b71945c29f chore: tracking events for app tabs header (#7778)
fix AF-1194
2024-08-08 09:14:47 +00:00
pengx17
00ee2a8852 fix(electron): always show traffic light for mac (#7773)
fix AF-1209, fix PD-1550
2024-08-07 08:44:35 +00:00
pengx17
c2cf331ff7 fix(electron): fix tab view blink issue on open new tab (#7748)
fix AF-1197
2024-08-06 15:57:40 +00:00
pengx17
a03831f2a2 fix(electron): whitescreen issue (#7742)
1. non-blurred mode whitescreen issue
2. should not close tab with cmd+w for pinned tabs
2024-08-05 14:09:22 +00:00
pengx17
0d7de67e01 refactor(electron): reduce the number of listeners for ipc (#7740)
previously there are quite a lot of api/events handlers registered on ipcMain/ipcRenderer. After this PR, the number should be significantly reduced, which will benefit performance.
2024-08-05 13:33:31 +00:00
pengx17
51848ff6c3 fix(electron): allow close pinned tab (#7732) 2024-08-05 08:03:12 +00:00
pengx17
51ca7657d8 feat(electron): new tab/split view entries (#7708)
fix AF-1146
2024-08-05 05:37:50 +00:00
pengx17
c0c5c83dad fix(electron): should activate the target tab when closing other tabs (#7704)
fix PD-1520
2024-08-05 03:11:55 +00:00
pengx17
cbdcfdc2d8 fix(electron): duplicate tab views issue (#7703)
fix PD-1523
2024-08-05 03:11:52 +00:00
pengx17
741ff2379e fix(electron): reload view in tab context menu issue (#7702)
fix PD-1524
2024-08-05 03:11:50 +00:00
pengx17
bfff10e25e feat(electron): app tabs dnd (#7684)
<div class='graphite__hidden'>
          <div>🎥 Video uploaded on Graphite:</div>
            <a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">
              <img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">
            </a>
          </div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/cd84e155-9f2e-4d12-a933-8673eb6bc6cb.mp4">Kapture 2024-07-31 at 19.39.30.mp4</video>

fix AF-1149
fix PD-1513
fix PD-1515
2024-08-02 02:02:03 +00:00
pengx17
07409b8a91 refactor(electron): tab title/icon update logic (#7675)
fix AF-1122
fix AF-1136
2024-08-01 16:43:18 +00:00
pengx17
280e24934a fix(electron): window theme issue after exiting presentation (#7671) 2024-07-31 07:03:32 +00:00
pengx17
6b8f99c013 fix: using width atom for syncing app headers position (#7666)
may use global state to replace these sidebar state atoms

fix AF-1109
2024-07-31 07:03:30 +00:00
pengx17
4a2d400087 chore(electron): remove unused ipc code (#7636)
fix AF-1120
2024-07-30 04:12:06 +00:00
pengx17
157cc97a65 test(electron): add test cases for electron tabs (#7635)
fix AF-1000
2024-07-29 11:05:24 +00:00
pengx17
1efc1d0f5b feat(electron): multi tabs support (#7440)
use https://www.electronjs.org/docs/latest/api/web-contents-view to serve different tab views
added tabs view manager in electron to handle multi-view actions and events.

fix AF-1111
fix AF-999
fix PD-1459
fix AF-964
PD-1458
2024-07-29 11:05:22 +00:00
EYHN
dca88e24fe feat(electron): shared storage (#7492) 2024-07-15 03:21:08 +00:00
EYHN
27d0fc5108 refactor(core): use new backlink indexer (#7296) 2024-07-02 09:18:01 +00:00
forehalo
7b3673ae82 chore: assign todos (#7297) 2024-06-21 07:54:14 +00:00
Yuji Oshiro
e3bd8562b8 feat(electron): add documentation button in help menu bar (#7199)
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2024-06-17 22:13:06 +08:00
pengx17
2ca77d9170 refactor: find in page (#7086)
- refactor rxjs data flow
- use canvas text to mitigate searchable search box input text issue
2024-05-28 06:19:53 +00:00
JimmFly
bd9c929d05 feat(core): cmd+f search in doc function (#7040)
You can use the cmd+F shortcut key to trigger the FindInPage function.
2024-05-28 06:19:48 +00:00
pengx17
5e1528b50b fix: export then add test case (#7024) 2024-05-24 04:49:08 +00:00
pengx17
fdc33bd3ec refactor(electron): always save one update to electron (#7009)
not sure do we still need this one
2024-05-22 05:03:49 +00:00
pengx17
96cdb041c6 fix(electron): incorrect db rows docId when doing trim (#7008) 2024-05-21 13:53:16 +00:00
Brooooooklyn
41c7215ef1 chore(electron): temporary remove @sentry/electron due to version mismatch (#7001) 2024-05-21 04:30:22 +00:00
pengx17
bd5023d4ab fix(electron): remove all migration code in electron (#6969)
The migration code import blocksuite in the dependency tree and prevent affine from running because electron's helper process tries to run browser only code that is part of the side effect of `@blocksuite/blocks`.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/53da3972-7433-4631-b8c2-d3e322066c7d.png)

[The side effect free trick in esbuild config](https://github.com/toeverything/AFFiNE/pull/6415)  does not clean up these - not sure why.

It has been already 6 month since we introduced the migration code in DB.
Instead of finding out the real root cause, I think may be better to remove the migration code completely so that no blocksuite code will be in the import paths in helper.js.

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/3b03522a-2a25-4bdb-8287-86a6b94623e1.png)
2024-05-17 03:01:14 +00:00
renovate
f37bbb0784 chore: bump up @sentry/react version to v8 (#6919)
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://togithub.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://togithub.com/getsentry/sentry-javascript)) | [`^7.109.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/7.111.0/8.0.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/7.111.0/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/7.111.0/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v8.0.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#800-rc3)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.114.0...8.0.0)

##### Important Changes

-   **feat(bun): Add Bun Global Unhandled Handlers ([#&#8203;11960](https://togithub.com/getsentry/sentry-javascript/issues/11960))**

The Bun SDK will now capture global unhandled errors.

##### Other Changes

-   feat(node): Log process and thread info on initialisation ([#&#8203;11972](https://togithub.com/getsentry/sentry-javascript/issues/11972))
-   fix(aws-serverless): Include ESM artifacts in package ([#&#8203;11973](https://togithub.com/getsentry/sentry-javascript/issues/11973))
-   fix(browser): Only start `http.client` spans if there is an active parent span ([#&#8203;11974](https://togithub.com/getsentry/sentry-javascript/issues/11974))
-   fix(feedback): Improve CSS theme variable names and layout ([#&#8203;11964](https://togithub.com/getsentry/sentry-javascript/issues/11964))
-   fix(node): Ensure `execArgv` are not sent to worker threads ([#&#8203;11963](https://togithub.com/getsentry/sentry-javascript/issues/11963))
-   ref(feedback): Simplify feedback function params ([#&#8203;11957](https://togithub.com/getsentry/sentry-javascript/issues/11957))

### [`v7.114.0`](https://togithub.com/getsentry/sentry-javascript/releases/tag/7.114.0)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.113.0...7.114.0)

##### Important Changes

-   **fix(browser/v7): Continuously record CLS ([#&#8203;11935](https://togithub.com/getsentry/sentry-javascript/issues/11935))**

This release fixes a bug that caused the cumulative layout shift (CLS) web vital not to be reported in a majority of the
cases where it should have been reported. With this change, the CLS web vital should now always be reported for
pageloads with layout shift. If a pageload did not have layout shift, no CLS web vital should be reported.

**Please note that upgrading the SDK to this version may cause data in your dashboards to drastically change.**

##### Other Changes

-   build(aws-lambda/v7): Turn off lambda layer publishing ([#&#8203;11875](https://togithub.com/getsentry/sentry-javascript/issues/11875))
-   feat(v7): Add `tunnel` support to multiplexed transport ([#&#8203;11851](https://togithub.com/getsentry/sentry-javascript/issues/11851))
-   fix(opentelemetry-node): support `HTTP_REQUEST_METHOD` attribute ([#&#8203;11929](https://togithub.com/getsentry/sentry-javascript/issues/11929))
-   fix(react/v7): Fix react router v4/v5 span names ([#&#8203;11940](https://togithub.com/getsentry/sentry-javascript/issues/11940))

### [`v7.113.0`](https://togithub.com/getsentry/sentry-javascript/releases/tag/7.113.0)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.112.2...7.113.0)

##### Important Changes

-   **feat(node): Support Node 22 ([#&#8203;11754](https://togithub.com/getsentry/sentry-javascript/issues/11754))**

This release adds support for Node 22! 🎉

It also adds prebuilt-binaries for Node 22 to `@sentry/profiling-node`.

##### Other Changes

-   feat(feedback): \[v7] New feedback button design ([#&#8203;11841](https://togithub.com/getsentry/sentry-javascript/issues/11841))
-   feat(replay/v7): Upgrade rrweb packages to 2.15.0 ([#&#8203;11752](https://togithub.com/getsentry/sentry-javascript/issues/11752))
-   fix(ember/v7): Ensure unnecessary spans are avoided ([#&#8203;11848](https://togithub.com/getsentry/sentry-javascript/issues/11848))

### [`v7.112.2`](https://togithub.com/getsentry/sentry-javascript/releases/tag/7.112.2)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.112.1...7.112.2)

-   fix(nextjs|sveltekit): Ensure we can pass `browserTracingIntegration` ([#&#8203;11765](https://togithub.com/getsentry/sentry-javascript/issues/11765))

### [`v7.112.1`](https://togithub.com/getsentry/sentry-javascript/releases/tag/7.112.1)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.112.0...7.112.1)

-   fix(ember/v7): Do not create rendering spans without transaction ([#&#8203;11750](https://togithub.com/getsentry/sentry-javascript/issues/11750))

### [`v7.112.0`](https://togithub.com/getsentry/sentry-javascript/releases/tag/7.112.0)

[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/7.111.0...7.112.0)

##### Important Changes

-   **feat: Export pluggable integrations from SDK packages ([#&#8203;11723](https://togithub.com/getsentry/sentry-javascript/issues/11723))**

Instead of installing `@sentry/integrations`, you can now import the pluggable integrations directly from your SDK
package:

```js
// Before
import * as Sentry fromv '@&#8203;sentry/browser';
import { dedupeIntegration } from '@&#8203;sentry/integrations';

Sentry.init({
  integrations: [dedupeIntegration()],
});

// After
import * as Sentry from '@&#8203;sentry/browser';

Sentry.init({
  integrations: [Sentry.dedupeIntegration()],
});
```

Note that only the functional integrations (e.g. `xxxIntegration()`) are re-exported.

##### Other Changes

-   feat(replay): Add "maxCanvasSize" option for replay canvases ([#&#8203;11732](https://togithub.com/getsentry/sentry-javascript/issues/11732))
-   fix(serverless): \[v7] Check if cloud event callback is a function ([#&#8203;11734](https://togithub.com/getsentry/sentry-javascript/issues/11734))

#### Bundle size 📦

| Path                                                                               | Size              |
| ---------------------------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay, Feedback) - Webpack (gzipped)              | 80.72 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay) - Webpack (gzipped)                        | 71.69 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay with Canvas) - Webpack (gzipped)            | 75.91 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) | 65.32 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing) - Webpack (gzipped)                                | 35.62 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. browserTracingIntegration) - Webpack (gzipped)              | 35.5 KB   |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Feedback) - Webpack (gzipped)                               | 31.57 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. sendFeedback) - Webpack (gzipped)                           | 31.58 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) - Webpack (gzipped)                                                | 22.78 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped)       | 78.9 KB   |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped)                 | 70.27 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (gzipped)                         | 36.02 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) - ES6 CDN Bundle (gzipped)                                         | 25.28 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) | 221.25 KB |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed)         | 109.01 KB |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) - ES6 CDN Bundle (minified & uncompressed)                         | 75.79 KB  |
| [@&#8203;sentry/browser](https://togithub.com/sentry/browser) (incl. Tracing) - ES5 CDN Bundle (gzipped)                         | 39.3 KB   |
| [@&#8203;sentry/react](https://togithub.com/sentry/react) (incl. Tracing, Replay) - Webpack (gzipped)                          | 72.18 KB  |
| [@&#8203;sentry/react](https://togithub.com/sentry/react) - Webpack (gzipped)                                                  | 22.81 KB  |
| [@&#8203;sentry/nextjs](https://togithub.com/sentry/nextjs) Client (incl. Tracing, Replay) - Webpack (gzipped)                  | 90.01 KB  |
| [@&#8203;sentry/nextjs](https://togithub.com/sentry/nextjs) Client - Webpack (gzipped)                                          | 54.15 KB  |
| [@&#8203;sentry-internal/feedback](https://togithub.com/sentry-internal/feedback) - Webpack (gzipped)                                      | 17.32 KB  |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2024-05-16 10:06:35 +00:00
pengx17
3cca879a83 refactor(electron): use sqlite to store server clock & sync meta (#6957)
After this PR, IDB should not be used in desktop any longer.
2024-05-16 06:31:05 +00:00
pengx17
27af9b4d1a perf(electron): add index for updates (#6951)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/cd2e982a-f78a-4cc3-b090-ee4c0090e19d.png)

Above image shows the performance on querying a 20k rows of updates table, which is super slow at 150+ms. After adding index for doc_id the performance should be greatly improved.

After:
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/45ea4389-1833-4dc5-bd64-84d8c99cd647.png)

fix TOV-866
2024-05-16 06:30:53 +00:00
pengx17
bd1733b2a9 chore: remove unused file (#6894) 2024-05-13 02:27:21 +00:00