zzj3720
c355644d47
fix(editor): some bugs of attachment column ( #11031 )
...
fix: BS-2838, BS-2837, BS-2836
2025-03-20 07:48:26 +00:00
JimmFly
d47bb64597
feat(core): add no access to share menu ( #10927 )
2025-03-20 07:31:11 +00:00
EYHN
120e193c58
feat(core): add notifications settings ( #11004 )
2025-03-20 03:52:56 +00:00
akumatus
ee337a16af
feat(core): support collection search for ai chat ( #10987 )
...
Close [BS-2787](https://linear.app/affine-design/issue/BS-2787 ).
Close [BS-2788](https://linear.app/affine-design/issue/BS-2788 ).

2025-03-20 00:34:12 +00:00
akumatus
47206b8d47
feat(core): support tag search for ai chat ( #10965 )
...
Close [BS-2785](https://linear.app/affine-design/issue/BS-2785 ).
Close [BS-2786](https://linear.app/affine-design/issue/BS-2786 ).

2025-03-19 04:22:11 +00:00
JimmFly
0cb06668cd
refactor(core): split the billing component into a separate file ( #10924 )
...
refactor(core): split the billing component into a separate file
feat(core): show subscription status in billing settings


2025-03-18 10:05:45 +00:00
CatsJuice
ff8c3d1cee
feat(core): intilize integration module and basic readwise impl ( #10726 )
...
close AF-2257, AF-2261, AF-2260, AF-2259
### Feat
- New `Integration` Module
- Basic Readwise integration
- connect
- import
- disconnect
- Common Integration UI
- Common Integration Writer (Transform markdown to AFFiNE Doc)
### Not Implemented
> will be implemented in down-stack
- delete docs when disconnect
- readwise settiing UI
- integration property rendering
2025-03-18 08:13:58 +00:00
Oleg
804d08423b
feat(core): improve text preview in editor settings ( #10070 )
2025-03-18 13:00:13 +08:00
CatsJuice
8822acf041
fix(core): correct template setting item text ( #10902 )
2025-03-17 02:21:08 +00:00
Saul-Mirone
26285f7dcb
feat(editor): unify block props api ( #10888 )
...
Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop )
2025-03-16 05:48:34 +00:00
EYHN
05200ad7b7
feat(nbstore): add blob sync storage ( #10752 )
2025-03-14 18:05:54 +08:00
fundon
341321284e
fix(core): should not invert label when its shape text ( #10765 )
...
Closes: [BS-2797](https://linear.app/affine-design/issue/BS-2797/在-settings-preview-中,无需对-shape-text-颜色-label-进行反转 )
Releated: https://github.com/toeverything/AFFiNE/pull/10546
2025-03-13 13:15:41 +00:00
pengx17
d24ced3dbd
fix(electron): electron fallback container should not contain tabs header ( #10826 )
...

fix double tabs header issue when loading from external url
2025-03-13 10:14:26 +00:00
EYHN
86729fb447
feat(core): adjust web clipper page ( #10779 )
2025-03-13 10:59:50 +08:00
forehalo
d8ebf7b3c5
fix(core): wrong top margin of local workspace hint in setting panel ( #10782 )
...
close AF-2243
2025-03-12 10:16:47 +00:00
fengmk2
fd3ce431fe
fix(core): assert app schema url on open-app ( #10687 )
2025-03-12 08:42:35 +00:00
Mirone
cd63e0ed8b
feat(editor): replace slot with rxjs subject ( #10768 )
2025-03-12 11:29:24 +09:00
EYHN
ea07aa8607
feat(core): add notification list ( #10480 )
2025-03-11 06:23:33 +00:00
Saul-Mirone
4dd5f2ffb0
feat(editor): add viewport element service ( #10727 )
2025-03-10 04:26:18 +00:00
Saul-Mirone
ec709925ee
refactor(editor): orgnize exports ( #10709 )
2025-03-10 02:04:01 +00:00
Saul-Mirone
12bc142809
refactor(editor): remove blocks package ( #10708 )
2025-03-09 05:44:26 +00:00
doodlewind
334912e85b
perf(editor): lazy DOM update with idle state in gfx viewport ( #10624 )
...
Currently, `GfxViewportElement` hides DOM blocks outside the viewport using `display: none` to optimize performance. However, this approach presents two issues:
1. Even when hidden, all top-level blocks still undergo frequent CSS transform updates during viewport panning and zooming.
2. Hidden blocks cannot access DOM layout information, preventing `TurboRenderer` from updating the complete canvas bitmap.
To address this, this PR introduces a refactoring that divides all top-level edgeless blocks into two states: `idle` and `active`. The improvements are as follows:
1. Blocks outside the viewport are set to the `idle` state, meaning they no longer update their DOM during viewport panning or zooming. Only `active` blocks within the viewport are updated frame by frame.
2. For `idle` blocks, the hiding method switches from `display: none` to `visibility: hidden`, ensuring their layout information remains accessible to `TurboRenderer`.
[Screen Recording 2025-03-07 at 3.23.56 PM.mov <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/lEGcysB4lFTEbCwZ8jMv/4bac640b-f5b6-4b0b-904d-5899f96cf375.mov " />](https://app.graphite.dev/media/video/lEGcysB4lFTEbCwZ8jMv/4bac640b-f5b6-4b0b-904d-5899f96cf375.mov )
While this minimizes DOM updates, it introduces a trade-off: `idle` blocks retain an outdated layout state. Since their positions are updated using a lazy update strategy, their layout state remains frozen at the moment they were last moved out of the viewport:

To resolve this, the PR serializes and stores the viewport field of the block at that moment on the `idle` block itself. This allows the correct layout, positioned in the model coordinate system, to be restored from the stored data.
2025-03-08 01:38:02 +00:00
CatsJuice
9f3580263a
feat(core): support removing journal template from right sidebar ( #10571 )
2025-03-07 12:32:42 +00:00
forehalo
e02fb4fa94
refactor(core): standardize frontend error handling ( #10667 )
2025-03-06 13:10:18 +00:00
Saul-Mirone
84e2dda3f8
refactor(editor): separate lit and slot in global ( #10666 )
2025-03-06 10:24:59 +00:00
akumatus
cd884312ea
fix(core): missing clean up subscription ( #10636 )
2025-03-06 07:00:58 +00:00
EYHN
5c8b81581c
feat(core): doc level awareness ( #10646 )
2025-03-06 06:05:45 +00:00
JimmFly
edd37b5d54
chore: adjust discord link ( #10645 )
2025-03-06 04:08:26 +00:00
hackerESQ
fed0e0add3
fix: prevent sentry from loading when telemetry is disabled ( #10543 )
...
Co-authored-by: forehalo <forehalo@gmail.com >
2025-03-05 20:09:38 +08:00
akumatus
1c2a6eac85
feat: responsive chat-panel padding and request ( #10620 )
...
Close [BS-2751](https://linear.app/affine-design/issue/BS-2751 ).
### What Changed?
- Do not send AI gql request when chat-panel is not open.
- When the chat-panel width is greater than 540px, adjust the padding to 24px.
- Optimize the display and hide logic of scroll to end button.
2025-03-05 09:12:03 +00:00
EYHN
61635aa77a
feat(core): add clipper import interface ( #10619 )
2025-03-05 04:22:03 +00:00
Saul-Mirone
b8ecfbdae6
refactor(editor): remove assertExists ( #10615 )
2025-03-05 00:13:08 +00:00
Saul-Mirone
66d9d576e0
refactor(editor): add gfx entry in bs global package ( #10612 )
2025-03-04 12:46:50 +00:00
renovate
5c16b803b7
chore: bump up @sentry/react version to v9 ( #10064 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react ) ([source](https://redirect.github.com/getsentry/sentry-javascript )) | [`^8.44.0` -> `^9.0.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/8.54.0/9.0.1 ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) | [](https://docs.renovatebot.com/merge-confidence/ ) |
---
### Release Notes
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.0.1`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.0.1 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.0.0...9.0.1 )
- ref(flags): rename unleash integration param ([#​15343](https://redirect.github.com/getsentry/sentry-javascript/pull/15343 ))
##### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) | 22.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) - with treeshaking flags | 22.69 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing) | 35.77 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) | 72.65 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay) - with treeshaking flags | 66.13 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay with Canvas) | 76.9 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Tracing, Replay, Feedback) | 89.64 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. Feedback) | 39.86 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. sendFeedback) | 27.53 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser ) (incl. FeedbackAsync) | 32.31 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) | 24.74 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react ) (incl. Tracing) | 37.67 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) | 27.09 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue ) (incl. Tracing) | 37.47 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte ) | 22.94 KB |
| CDN Bundle | 24.13 KB |
| CDN Bundle (incl. Tracing) | 35.84 KB |
| CDN Bundle (incl. Tracing, Replay) | 70.55 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 75.69 KB |
| CDN Bundle - uncompressed | 70.59 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 106.46 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 217.52 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 230.09 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs ) (client) | 38.63 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit ) (client) | 36.2 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) | 156.33 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node ) - without tracing | 97.31 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless ) | 106.82 KB |
### [`v9.0.0`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#900 )
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/8.54.0...9.0.0 )
Version `9.0.0` marks a release of the Sentry JavaScript SDKs that contains breaking changes.
The goal of this release is to trim down on unused and potentially confusing APIs, prepare the SDKs for future framework versions to build deeper instrumentation, and remove old polyfills to reduce the packages' size.
##### How To Upgrade
Please carefully read through the migration guide in the Sentry docs on how to upgrade from version 8 to version 9.
Make sure to select your specific platform/framework in the top left corner: https://docs.sentry.io/platforms/javascript/migration/v8-to-v9/
A comprehensive migration guide outlining all changes for all the frameworks can be found within the Sentry JavaScript SDK Repository: https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md
##### Breaking Changes
- doc(deno)!: Make Deno v2 the minimum supported version ([#​15085](https://redirect.github.com/getsentry/sentry-javascript/issues/15085 ))
- feat!: Bump typescript to `~5.0.0` ([#​14758](https://redirect.github.com/getsentry/sentry-javascript/issues/14758 ))
- feat!: Drop `nitro-utils` package ([#​14998](https://redirect.github.com/getsentry/sentry-javascript/issues/14998 ))
- feat!: Only collect ip addresses with `sendDefaultPii: true` ([#​15084](https://redirect.github.com/getsentry/sentry-javascript/issues/15084 ))
- feat!: Remove `autoSessionTracking` option ([#​14802](https://redirect.github.com/getsentry/sentry-javascript/issues/14802 ))
- feat!: Remove `enableTracing` ([#​15078](https://redirect.github.com/getsentry/sentry-javascript/issues/15078 ))
- feat!: Remove `getCurrentHub()`, `Hub`, and `getCurrentHubShim()` ([#​15122](https://redirect.github.com/getsentry/sentry-javascript/issues/15122 ))
- feat!: Remove `spanId` from propagation context ([#​14733](https://redirect.github.com/getsentry/sentry-javascript/issues/14733 ))
- feat!: Remove deprecated and unused code ([#​15077](https://redirect.github.com/getsentry/sentry-javascript/issues/15077 ))
- feat!: Remove metrics API from the JS SDK ([#​14745](https://redirect.github.com/getsentry/sentry-javascript/issues/14745 ))
- feat!: Require Node `>=18` as minimum supported version ([#​14749](https://redirect.github.com/getsentry/sentry-javascript/issues/14749 ))
- feat(astro)!: Respect user-specified source map setting ([#​14941](https://redirect.github.com/getsentry/sentry-javascript/issues/14941 ))
- feat(browser)!: Remove `captureUserFeedback` method ([#​14820](https://redirect.github.com/getsentry/sentry-javascript/issues/14820 ))
- feat(build)!: Drop pre-ES2020 polyfills ([#​14882](https://redirect.github.com/getsentry/sentry-javascript/issues/14882 ))
- feat(core)!: Add `normalizedRequest` to `samplingContext` ([#​14902](https://redirect.github.com/getsentry/sentry-javascript/issues/14902 ))
- feat(core)!: Always use session from isolation scope ([#​14860](https://redirect.github.com/getsentry/sentry-javascript/issues/14860 ))
- feat(core)!: Pass root spans to `beforeSendSpan` and disallow returning `null` ([#​14831](https://redirect.github.com/getsentry/sentry-javascript/issues/14831 ))
- feat(core)!: Remove `BAGGAGE_HEADER_NAME` export ([#​14785](https://redirect.github.com/getsentry/sentry-javascript/issues/14785 ))
- feat(core)!: Remove `TransactionNamingScheme` type ([#​14865](https://redirect.github.com/getsentry/sentry-javascript/issues/14865 ))
- feat(core)!: Remove `addOpenTelemetryInstrumentation` method ([#​14792](https://redirect.github.com/getsentry/sentry-javascript/issues/14792 ))
- feat(core)!: Remove `arrayify` method ([#​14782](https://redirect.github.com/getsentry/sentry-javascript/issues/14782 ))
- feat(core)!: Remove `debugIntegration` and `sessionTimingIntegration` ([#​14747](https://redirect.github.com/getsentry/sentry-javascript/issues/14747 ))
- feat(core)!: Remove `flatten` method ([#​14784](https://redirect.github.com/getsentry/sentry-javascript/issues/14784 ))
- feat(core)!: Remove `getDomElement` method ([#​14797](https://redirect.github.com/getsentry/sentry-javascript/issues/14797 ))
- feat(core)!: Remove `makeFifoCache` method ([#​14786](https://redirect.github.com/getsentry/sentry-javascript/issues/14786 ))
- feat(core)!: Remove `memoBuilder` export & `WeakSet` fallback ([#​14859](https://redirect.github.com/getsentry/sentry-javascript/issues/14859 ))
- feat(core)!: Remove `transactionContext` from `samplingContext` ([#​14904](https://redirect.github.com/getsentry/sentry-javascript/issues/14904 ))
- feat(core)!: Remove `urlEncode` method ([#​14783](https://redirect.github.com/getsentry/sentry-javascript/issues/14783 ))
- feat(core)!: Remove deprecated `Request` type ([#​14858](https://redirect.github.com/getsentry/sentry-javascript/issues/14858 ))
- feat(core)!: Remove deprecated request data methods ([#​14896](https://redirect.github.com/getsentry/sentry-javascript/issues/14896 ))
- feat(core)!: Remove standalone `Client` interface & deprecate `BaseClient` ([#​14800](https://redirect.github.com/getsentry/sentry-javascript/issues/14800 ))
- feat(core)!: Remove validSeverityLevels export ([#​14765](https://redirect.github.com/getsentry/sentry-javascript/issues/14765 ))
- feat(core)!: Stop accepting `event` as argument for `recordDroppedEvent` ([#​14999](https://redirect.github.com/getsentry/sentry-javascript/issues/14999 ))
- feat(core)!: Stop setting user in `requestDataIntegration` ([#​14898](https://redirect.github.com/getsentry/sentry-javascript/issues/14898 ))
- feat(core)!: Type sdkProcessingMetadata more strictly ([#​14855](https://redirect.github.com/getsentry/sentry-javascript/issues/14855 ))
- feat(core)!: Update `hasTracingEnabled` to consider empty trace config ([#​14857](https://redirect.github.com/getsentry/sentry-javascript/issues/14857 ))
- feat(core)!: Update `requestDataIntegration` handling ([#​14806](https://redirect.github.com/getsentry/sentry-javascript/issues/14806 ))
- feat(deno)!: Remove deno prepack ([#​14829](https://redirect.github.com/getsentry/sentry-javascript/issues/14829 ))
- feat(ember)!: Officially drop support for ember `<=3.x` ([#​15032](https://redirect.github.com/getsentry/sentry-javascript/issues/15032 ))
- feat(nestjs)!: Move `nestIntegration` into nest sdk and remove `setupNestErrorHandler` ([#​14751](https://redirect.github.com/getsentry/sentry-javascript/issues/14751 ))
- feat(nestjs)!: Remove `@WithSentry` decorator ([#​14762](https://redirect.github.com/getsentry/sentry-javascript/issues/14762 ))
- feat(nestjs)!: Remove `SentryService` ([#​14759](https://redirect.github.com/getsentry/sentry-javascript/issues/14759 ))
- feat(nextjs)!: Don't rely on Next.js Build ID for release names ([#​14939](https://redirect.github.com/getsentry/sentry-javascript/issues/14939 ))
- feat(nextjs)!: Remove `experimental_captureRequestError` ([#​14607](https://redirect.github.com/getsentry/sentry-javascript/issues/14607 ))
- feat(nextjs)!: Respect user-provided source map generation settings ([#​14956](https://redirect.github.com/getsentry/sentry-javascript/issues/14956 ))
- feat(node)!: Add support for Prisma v6 and drop v5 support ([#​15120](https://redirect.github.com/getsentry/sentry-javascript/issues/15120 ))
- feat(node)!: Avoid http spans by default for custom OTEL setups ([#​14678](https://redirect.github.com/getsentry/sentry-javascript/issues/14678 ))
- feat(node)!: Collect request sessions via HTTP instrumentation ([#​14658](https://redirect.github.com/getsentry/sentry-javascript/issues/14658 ))
- feat(node)!: Remove `processThreadBreadcrumbIntegration` ([#​14666](https://redirect.github.com/getsentry/sentry-javascript/issues/14666 ))
- feat(node)!: Remove fine grained `registerEsmLoaderHooks` ([#​15002](https://redirect.github.com/getsentry/sentry-javascript/issues/15002 ))
- feat(opentelemetry)!: Exclusively pass root spans through sampling pipeline ([#​14951](https://redirect.github.com/getsentry/sentry-javascript/issues/14951 ))
- feat(pinia)!: Include state of all stores in breadcrumb ([#​15312](https://redirect.github.com/getsentry/sentry-javascript/issues/15312 ))
- feat(react)!: Raise minimum supported TanStack Router version to `1.63.0` ([#​15030](https://redirect.github.com/getsentry/sentry-javascript/issues/15030 ))
- feat(react)!: Remove deprecated `getNumberOfUrlSegments` method ([#​14744](https://redirect.github.com/getsentry/sentry-javascript/issues/14744 ))
- feat(react)!: Remove deprecated react router methods ([#​14743](https://redirect.github.com/getsentry/sentry-javascript/issues/14743 ))
- feat(react)!: Update `ErrorBoundary` `componentStack` type ([#​14742](https://redirect.github.com/getsentry/sentry-javascript/issues/14742 ))
- feat(remix)!: Drop support for Remix v1 ([#​14988](https://redirect.github.com/getsentry/sentry-javascript/issues/14988 ))
- feat(remix)!: Remove `autoInstrumentRemix` option ([#​15074](https://redirect.github.com/getsentry/sentry-javascript/issues/15074 ))
- feat(solidstart)!: Default to `--import` setup and add `autoInjectServerSentry` ([#​14862](https://redirect.github.com/getsentry/sentry-javascript/issues/14862 ))
- feat(solidstart)!: No longer export `sentrySolidStartVite` ([#​15143](https://redirect.github.com/getsentry/sentry-javascript/issues/15143 ))
- feat(solidstart)!: Respect user-provided source map setting ([#​14979](https://redirect.github.com/getsentry/sentry-javascript/issues/14979 ))
- feat(svelte)!: Disable component update tracking by default ([#​15265](https://redirect.github.com/getsentry/sentry-javascript/issues/15265 ))
- feat(sveltekit)!: Drop support for SvelteKit [@​1](https://redirect.github.com/1 ).x ([#​15037](https://redirect.github.com/getsentry/sentry-javascript/issues/15037 ))
- feat(sveltekit)!: Remove `fetchProxyScriptNonce` option ([#​15123](https://redirect.github.com/getsentry/sentry-javascript/issues/15123 ))
- feat(sveltekit)!: Respect user-provided source map generation settings ([#​14886](https://redirect.github.com/getsentry/sentry-javascript/issues/14886 ))
- feat(utils)!: Remove `@sentry/utils` package ([#​14830](https://redirect.github.com/getsentry/sentry-javascript/issues/14830 ))
- feat(vue)!: Remove configuring Vue tracing options anywhere else other than through the `vueIntegration`'s `tracingOptions` option ([#​14856](https://redirect.github.com/getsentry/sentry-javascript/issues/14856 ))
- feat(vue/nuxt)!: No longer create `"update"` spans for component tracking by default ([#​14602](https://redirect.github.com/getsentry/sentry-javascript/issues/14602 ))
- fix(node)!: Fix name of `vercelAIIntegration` to `VercelAI` ([#​15298](https://redirect.github.com/getsentry/sentry-javascript/issues/15298 ))
- fix(vue)!: Remove `logError` from `vueIntegration` ([#​14958](https://redirect.github.com/getsentry/sentry-javascript/issues/14958 ))
- ref!: Don't polyfill optional chaining and nullish coalescing ([#​14603](https://redirect.github.com/getsentry/sentry-javascript/issues/14603 ))
- ref(core)!: Cleanup internal types, including `ReportDialogOptions` ([#​14861](https://redirect.github.com/getsentry/sentry-javascript/issues/14861 ))
- ref(core)!: Mark exceptions from `captureConsoleIntegration` as `handled: true` by default ([#​14734](https://redirect.github.com/getsentry/sentry-javascript/issues/14734 ))
- ref(core)!: Move `shutdownTimeout` option type from core to node ([#​15217](https://redirect.github.com/getsentry/sentry-javascript/issues/15217 ))
- ref(core)!: Remove `Scope` type interface in favor of using `Scope` class ([#​14721](https://redirect.github.com/getsentry/sentry-javascript/issues/14721 ))
- ref(core)!: Remove backwards compatible SentryCarrier type ([#​14697](https://redirect.github.com/getsentry/sentry-javascript/issues/14697 ))
##### Other Changes
- chore(browser): Export ipAddress helpers for use in other SDKs ([#​15079](https://redirect.github.com/getsentry/sentry-javascript/issues/15079 ))
- deps(node): Bump `import-in-the-middle` to `1.12.0` ([#​14796](https://redirect.github.com/getsentry/sentry-javascript/issues/14796 ))
- feat(aws): Rename AWS lambda layer name to `SentryNodeServerlessSDKv9` ([#​14927](https://redirect.github.com/getsentry/sentry-javascript/issues/14927 ))
- feat(aws-serverless): Upgrade OTEL deps ([#​15091](https://redirect.github.com/getsentry/sentry-javascript/issues/15091 ))
- feat(browser): Set `user.ip_address` explicitly to `{{auto}}` ([#​15008](https://redirect.github.com/getsentry/sentry-javascript/issues/15008 ))
- feat(core): Add `inheritOrSampleWith` helper to `traceSampler` ([#​15277](https://redirect.github.com/getsentry/sentry-javascript/issues/15277 ))
- feat(core): Emit client reports for unsampled root spans on span start ([#​14936](https://redirect.github.com/getsentry/sentry-javascript/issues/14936 ))
- feat(core): Rename `hasTracingEnabled` to `hasSpansEnabled` ([#​15309](https://redirect.github.com/getsentry/sentry-javascript/issues/15309 ))
- feat(core): Streamline `SpanJSON` type ([#​14693](https://redirect.github.com/getsentry/sentry-javascript/issues/14693 ))
- feat(deno): Don't bundle `@sentry/deno` ([#​15014](https://redirect.github.com/getsentry/sentry-javascript/issues/15014 ))
- feat(deno): Don't publish to `deno.land` ([#​15016](https://redirect.github.com/getsentry/sentry-javascript/issues/15016 ))
- feat(deno): Stop inlining types from core ([#​14729](https://redirect.github.com/getsentry/sentry-javascript/issues/14729 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-amqplib](https://redirect.github.com/opentelemetry/instrumentation-amqplib ) from 0.45.0 to 0.46.0 ([#​14835](https://redirect.github.com/getsentry/sentry-javascript/issues/14835 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-aws-lambda](https://redirect.github.com/opentelemetry/instrumentation-aws-lambda ) from 0.49.0 to 0.50.0 ([#​14833](https://redirect.github.com/getsentry/sentry-javascript/issues/14833 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-express](https://redirect.github.com/opentelemetry/instrumentation-express ) from 0.46.0 to 0.47.0 ([#​14834](https://redirect.github.com/getsentry/sentry-javascript/issues/14834 ))
- feat(deps): Bump [@​opentelemetry/instrumentation-mysql2](https://redirect.github.com/opentelemetry/instrumentation-mysql2 ) from 0.44.0 to 0.45.0 ([#​14836](https://redirect.github.com/getsentry/sentry-javascript/issues/14836 ))
- feat(deps): Bump [@​opentelemetry/propagation-utils](https://redirect.github.com/opentelemetry/propagation-utils ) from 0.30.14 to 0.30.15 ([#​14832](https://redirect.github.com/getsentry/sentry-javascript/issues/14832 ))
- feat(deps): bump [@​opentelemetry/context-async-hooks](https://redirect.github.com/opentelemetry/context-async-hooks ) from 1.29.0 to 1.30.0 ([#​14869](https://redirect.github.com/getsentry/sentry-javascript/issues/14869 ))
- feat(deps): bump [@​opentelemetry/instrumentation-generic-pool](https://redirect.github.com/opentelemetry/instrumentation-generic-pool ) from 0.42.0 to 0.43.0 ([#​14870](https://redirect.github.com/getsentry/sentry-javascript/issues/14870 ))
- feat(deps): bump [@​opentelemetry/instrumentation-knex](https://redirect.github.com/opentelemetry/instrumentation-knex ) from 0.43.0 to 0.44.0 ([#​14872](https://redirect.github.com/getsentry/sentry-javascript/issues/14872 ))
- feat(deps): bump [@​opentelemetry/instrumentation-mongodb](https://redirect.github.com/opentelemetry/instrumentation-mongodb ) from 0.50.0 to 0.51.0 ([#​14871](https://redirect.github.com/getsentry/sentry-javascript/issues/14871 ))
- feat(deps): bump [@​opentelemetry/instrumentation-tedious](https://redirect.github.com/opentelemetry/instrumentation-tedious ) from 0.17.0 to 0.18.0 ([#​14868](https://redirect.github.com/getsentry/sentry-javascript/issues/14868 ))
- feat(deps): bump [@​sentry/cli](https://redirect.github.com/sentry/cli ) from 2.39.1 to 2.41.1 ([#​15173](https://redirect.github.com/getsentry/sentry-javascript/issues/15173 ))
- feat(flags): Add Statsig browser integration ([#​15319](https://redirect.github.com/getsentry/sentry-javascript/issues/15319 ))
- feat(gatsby): Preserve user-provided source map settings ([#​15006](https://redirect.github.com/getsentry/sentry-javascript/issues/15006 ))
- feat(nestjs): Remove `SentryTracingInterceptor`, `SentryGlobalGraphQLFilter`, `SentryGlobalGenericFilter` ([#​14761](https://redirect.github.com/getsentry/sentry-javascript/issues/14761 ))
- feat(nextjs): Directly forward `sourcemaps.disable` to webpack plugin ([#​15109](https://redirect.github.com/getsentry/sentry-javascript/issues/15109 ))
- feat(node): Add `processSessionIntegration` ([#​15081](https://redirect.github.com/getsentry/sentry-javascript/issues/15081 ))
- feat(node): Add missing `vercelAIIntegration` export ([#​15318](https://redirect.github.com/getsentry/sentry-javascript/issues/15318 ))
- feat(node): Capture exceptions from `worker_threads` ([#​15105](https://redirect.github.com/getsentry/sentry-javascript/issues/15105 ))
- feat(nuxt): Add enabled to disable Sentry module ([#​15337](https://redirect.github.com/getsentry/sentry-javascript/issues/15337 ))
- feat(nuxt): add `silent`, `errorHandler`, `release` to `SourceMapsOptions` ([#​15246](https://redirect.github.com/getsentry/sentry-javascript/issues/15246 ))
- feat(profiling-node): Use `@sentry-internal/node-cpu-profiler` ([#​15208](https://redirect.github.com/getsentry/sentry-javascript/issues/15208 ))
- feat(replay): Update fflate to 0.8.2 ([#​14867](https://redirect.github.com/getsentry/sentry-javascript/issues/14867 ))
- feat(solidstart): Add `autoInjectServerSentry: 'experimental_dynamic-import` ([#​14863](https://redirect.github.com/getsentry/sentry-javascript/issues/14863 ))
- feat(sveltekit): Only inject fetch proxy script for SvelteKit < 2.16.0 ([#​15126](https://redirect.github.com/getsentry/sentry-javascript/issues/15126 ))
- feat(user feedback): Adds draw tool for UF screenshot annotations ([#​15062](https://redirect.github.com/getsentry/sentry-javascript/issues/15062 ))
- feat(user feedback): Adds toolbar for cropping and annotating ([#​15282](https://redirect.github.com/getsentry/sentry-javascript/issues/15282 ))
- feat: Avoid class fields all-together ([#​14887](https://redirect.github.com/getsentry/sentry-javascript/issues/14887 ))
- feat: Only emit `__esModule` properties in CJS modules when there is a default export ([#​15018](https://redirect.github.com/getsentry/sentry-javascript/issues/15018 ))
- feat: Pass `parentSampleRate` to `tracesSampler` ([#​15024](https://redirect.github.com/getsentry/sentry-javascript/issues/15024 ))
- feat: Propagate and use a sampling random ([#​14989](https://redirect.github.com/getsentry/sentry-javascript/issues/14989 ))
- fix(browser): Remove `browserPerformanceTimeOrigin` side-effects ([#​14025](https://redirect.github.com/getsentry/sentry-javascript/issues/14025 ))
- fix(core): Ensure debugIds are applied to all exceptions in an event ([#​14881](https://redirect.github.com/getsentry/sentry-javascript/issues/14881 ))
- fix(core): Fork scope if custom scope is passed to `startSpanManual` ([#​14901](https://redirect.github.com/getsentry/sentry-javascript/issues/14901 ))
- fix(core): Fork scope if custom scope is passed to `startSpan` ([#​14900](https://redirect.github.com/getsentry/sentry-javascript/issues/14900 ))
- fix(core): Only fall back to `sendDefaultPii` for IP collection in `requestDataIntegration` ([#​15125](https://redirect.github.com/getsentry/sentry-javascript/issues/15125 ))
- fix(nextjs): Flush with `waitUntil` in `captureRequestError` ([#​15146](https://redirect.github.com/getsentry/sentry-javascript/issues/15146 ))
- fix(nextjs): Use batched devserver symbolication endpoint ([#​15335](https://redirect.github.com/getsentry/sentry-javascript/issues/15335 ))
- fix(node): Don't leak `__span` property into breadcrumbs ([#​14798](https://redirect.github.com/getsentry/sentry-javascript/issues/14798 ))
- fix(node): Ensure `httpIntegration` propagates traces ([#​15233](https://redirect.github.com/getsentry/sentry-javascript/issues/15233 ))
- fix(node): Fix sample rand propagation for negative sampling decisions ([#​15045](https://redirect.github.com/getsentry/sentry-javascript/issues/15045 ))
- fix(node): Missing `release` from ANR sessions ([#​15138](https://redirect.github.com/getsentry/sentry-javascript/issues/15138 ))
- fix(node): Set the correct fallback URL fields for outgoing https requests if they are not defined ([#​15316](https://redirect.github.com/getsentry/sentry-javascript/issues/15316 ))
- fix(nuxt): Detect Azure Function runtime for flushing with timeout ([#​15288](https://redirect.github.com/getsentry/sentry-javascript/issues/15288 ))
- fix(react): From location can be undefined in Tanstack Router Instrumentation ([#​15235](https://redirect.github.com/getsentry/sentry-javascript/issues/15235 ))
- fix(react): Import default for hoistNonReactStatics ([#​15238](https://redirect.github.com/getsentry/sentry-javascript/issues/15238 ))
- fix(react): Support lazy-loaded routes and components. ([#​15039](https://redirect.github.com/getsentry/sentry-javascript/issues/15039 ))
- fix(solidstart): Do not copy release-injection map file ([#​15302](https://redirect.github.com/getsentry/sentry-javascript/issues/15302 ))
- ref(browser): Improve active span handling for `browserTracingIntegration` ([#​14959](https://redirect.github.com/getsentry/sentry-javascript/issues/14959 ))
- ref(browser): Improve setting of propagation scope for navigation spans ([#​15108](https://redirect.github.com/getsentry/sentry-javascript/issues/15108 ))
- ref(browser): Skip browser extension warning in non-debug builds ([#​15310](https://redirect.github.com/getsentry/sentry-javascript/issues/15310 ))
- ref(browser): Update `supportsHistory` check & history usage ([#​14696](https://redirect.github.com/getsentry/sentry-javascript/issues/14696 ))
- ref(core): Ensure non-recording root spans have frozen DSC ([#​14964](https://redirect.github.com/getsentry/sentry-javascript/issues/14964 ))
- ref(core): Log debug message when capturing error events ([#​14701](https://redirect.github.com/getsentry/sentry-javascript/issues/14701 ))
- ref(core): Move log message about invalid sample rate ([#​15215](https://redirect.github.com/getsentry/sentry-javascript/issues/15215 ))
- ref(node): Streamline check for adding performance integrations ([#​15021](https://redirect.github.com/getsentry/sentry-javascript/issues/15021 ))
- ref(react): Adapt tanstack router type ([#​15241](https://redirect.github.com/getsentry/sentry-javascript/issues/15241 ))
- ref(svelte): Remove SvelteKit detection ([#​15313](https://redirect.github.com/getsentry/sentry-javascript/issues/15313 ))
- ref(sveltekit): Clean up sub-request check ([#​15251](https://redirect.github.com/getsentry/sentry-javascript/issues/15251 ))
Work in this release was contributed by [@​aloisklink](https://redirect.github.com/aloisklink ), [@​arturovt](https://redirect.github.com/arturovt ), [@​aryanvdesh](https://redirect.github.com/aryanvdesh ), [@​benjick](https://redirect.github.com/benjick ), [@​chris-basebone](https://redirect.github.com/chris-basebone ), [@​davidturissini](https://redirect.github.com/davidturissini ), [@​GrizliK1988](https://redirect.github.com/GrizliK1988 ), [@​jahands](https://redirect.github.com/jahands ), [@​jrandolf](https://redirect.github.com/jrandolf ), [@​kunal-511](https://redirect.github.com/kunal-511 ), [@​maximepvrt](https://redirect.github.com/maximepvrt ), [@​maxmaxme](https://redirect.github.com/maxmaxme ), [@​mstrokin](https://redirect.github.com/mstrokin ), [@​nathankleyn](https://redirect.github.com/nathankleyn ), [@​nwalters512](https://redirect.github.com/nwalters512 ), [@​tannerlinsley](https://redirect.github.com/tannerlinsley ), [@​tjhiggins](https://redirect.github.com/tjhiggins ), and [@​Zen-cronic](https://redirect.github.com/Zen-cronic ). Thank you for your contributions!
</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 was generated by [Mend Renovate](https://mend.io/renovate/ ). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-02-28 14:09:36 +00:00
akumatus
008fdfc234
feat(core): disable ai if value of sever copilot config is false ( #10520 )
...
Fix issue [AF-2224](https://linear.app/affine-design/issue/AF-2224 ).
2025-02-28 12:24:58 +00:00
fundon
caa4dfedfc
fix(editor): adjust black and white in shape text color palettes to pure black and pure white ( #10450 )
...
Closes: [BS-2697](https://linear.app/affine-design/issue/BS-2697/检查shape-text-color黑白不映射的pr合并状态 )
https://github.com/user-attachments/assets/732612e9-5e43-453f-aef2-5f32f5a08614
2025-02-27 06:05:42 +00:00
Saul-Mirone
2c79d7229f
refactor(editor): remove legacy service watcher ( #10455 )
...
The main changes in this PR involve replacing the deprecated `BlockServiceWatcher` with the new `LifeCycleWatcher` across multiple files. Here's a detailed breakdown:
1. **Core Architectural Change:**
- Removed `BlockServiceWatcher` class completely (deleted file)
- Migrated to `LifeCycleWatcher` as the new standard for watching component lifecycle events
2. **Key Changes in Implementation:**
- Changed from using `blockService.specSlots` events to using `view.viewUpdated` events
- Replaced `flavour` static property with `key` static property
- Updated event handling to use more specific payload type checking
3. **Major File Changes:**
- Modified multiple block components:
- Embed synced doc block
- Frame preview
- Edgeless root spec
- AI-related components (code, image, paragraph, etc.)
- Quick search service
- Edgeless clipboard
4. **Pattern of Changes:**
The migration follows a consistent pattern:
```typescript
// Old pattern
class SomeWatcher extends BlockServiceWatcher {
static override readonly flavour = 'some:flavour';
mounted() {
this.blockService.specSlots.viewConnected.on(...)
}
}
// New pattern
class SomeWatcher extends LifeCycleWatcher {
static override key = 'some-watcher';
mounted() {
const { view } = this.std;
view.viewUpdated.on(payload => {
if (payload.type !== 'block' || payload.method !== 'add') return;
// Handle event
});
}
}
```
5. **Benefits:**
- More explicit and type-safe event handling
- Cleaner architecture by removing deprecated code
- More consistent approach to lifecycle management
- Better separation of concerns
This appears to be a significant architectural improvement that modernizes the codebase by removing deprecated patterns and standardizing on a more robust lifecycle management system.
2025-02-26 15:15:45 +00:00
Saul-Mirone
ce87dcf58e
feat(editor): schema extension ( #10447 )
...
1. **Major Architectural Change: Schema Management**
- Moved from `workspace.schema` to `store.schema` throughout the codebase
- Removed schema property from Workspace and Doc interfaces
- Added `BlockSchemaExtension` pattern across multiple block types
2. **Block Schema Extensions Added**
- Added new `BlockSchemaExtension` to numerous block types including:
- DataView, Surface, Attachment, Bookmark, Code
- Database, Divider, EdgelessText, Embed blocks (Figma, Github, HTML, etc.)
- Frame, Image, Latex, List, Note, Paragraph
- Root, Surface Reference, Table blocks
3. **Import/Export System Updates**
- Updated import functions to accept `schema` parameter:
- `importHTMLToDoc`
- `importHTMLZip`
- `importMarkdownToDoc`
- `importMarkdownZip`
- `importNotionZip`
- Modified export functions to use new schema pattern
4. **Test Infrastructure Updates**
- Updated test files to use new schema extensions
- Modified test document creation to include schema extensions
- Removed direct schema registration in favor of extensions
5. **Service Layer Changes**
- Updated various services to use `getAFFiNEWorkspaceSchema()`
- Modified transformer initialization to use document schema
- Updated collection initialization patterns
6. **Version Management**
- Removed version-related properties and methods from:
- `WorkspaceMetaImpl`
- `TestMeta`
- `DocImpl`
- Removed `blockVersions` and `workspaceVersion/pageVersion`
7. **Store and Extension Updates**
- Added new store extensions and adapters
- Updated store initialization patterns
- Added new schema-related functionality in store extension
This PR represents a significant architectural shift in how schemas are managed, moving from a workspace-centric to a store-centric approach, while introducing a more extensible block schema system through `BlockSchemaExtension`. The changes touch multiple layers of the application including core functionality, services, testing infrastructure, and import/export capabilities.
2025-02-26 11:31:29 +00:00
donteatfriedrice
d63f16da5e
fix(editor): affine preview root style ( #10420 )
...
Fix [BS-2677](https://linear.app/affine-design/issue/BS-2677/linked-doc-embed-view样式错误 )
1. Only show the border of embed synced doc block (in note) when hover.
2. Fix affine preview root padding style, set padding only when affine preview root in embed synced doc block (in surface).
3. Only add the footnote config extension to the chat panel and chat block center peek. For footnotes in other page preview scenarios, such as footnote nodes within embed synced doc blocks or embed linked doc blocks, the hover effect should be maintained.
2025-02-26 04:25:24 +00:00
EYHN
26674b0cb8
fix(core): fallback when loading share page ( #10428 )
2025-02-25 07:35:58 +00:00
liuyi
e5e5c0a8ba
perf(core): only full sync before exporting ( #10408 )
2025-02-25 04:41:56 +00:00
JimmFly
dee6be11fb
fix(core): reorder plan card action button conditions ( #10387 )
2025-02-25 09:51:10 +08:00
JimmFly
abda70d2c8
fix(core): fix permission checks for export workspace ( #10401 )
2025-02-25 09:50:43 +08:00
Saul-Mirone
6289981fd1
refactor(editor): optimize extension register and effects ( #10406 )
...
Key Changes:
1. **Code Reorganization and Consolidation**
- Created new centralized extension management through new files:
- `enableEditorExtension` in `extensions/entry/enable-editor.ts`
- `enablePreviewExtension` in `extensions/entry/enable-preview.ts`
- Removed several spec-related files that are now consolidated:
- Removed `specs/edgeless.ts`
- Removed `specs/page.ts`
- Removed `specs/preview.ts`
2. **Template Management**
- Added new `register-templates.ts` file to handle template registration
- Moved template registration logic from `specs/edgeless.ts` to this new file
- Templates now include both edgeless and sticker templates
3. **Extension Management Changes**
- Simplified extension enabling process through new centralized functions
- `enableEditorExtension` now handles both page and edgeless modes
- `enablePreviewExtension` consolidates preview-related extensions
- Removed duplicate code for extension management
4. **Preview Functionality Updates**
- Streamlined preview spec management
- Consolidated footnote configuration
- Improved theme and preview extension handling
5. **Dependencies and Effects**
- Updated how effects are registered and managed
- Simplified initialization process in `index.ts`
- More organized approach to handling framework providers
The main theme of this PR appears to be code consolidation and simplification, moving from multiple specialized files to more centralized, reusable extension management. This should make the codebase more maintainable and reduce duplication while keeping the same functionality.
The changes primarily affect the editor's extension system, preview functionality, and template management, making these systems more modular and easier to maintain.
2025-02-24 10:37:59 +00:00
EYHN
0e581c915c
feat(core): add resetSync button ( #10404 )
2025-02-24 10:22:34 +00:00
donteatfriedrice
1b2a4377fd
feat(editor): update footnote node style and config ( #10392 )
...
[BS-2581](https://linear.app/affine-design/issue/BS-2581/优化-footnote-node-正文样式 )
2025-02-24 08:15:04 +00:00
pengx17
5fe4b2b3e4
fix(core): remove tag page semicolon ( #10379 )
2025-02-24 03:14:06 +00:00
Saul-Mirone
eef2f004b8
refactor(editor): reorg blocksuite ai code ( #10372 )
...
### TL;DR
Relocated AI-related code from `presets` directory to a dedicated `ai` directory for better organization and maintainability.
### What changed?
- Moved AI-related code from `blocksuite/presets/ai` to `blocksuite/ai`
- Relocated AI chat block code from `blocksuite/blocks` to `blocksuite/ai/blocks`
- Updated imports across files to reflect new directory structure
- Renamed `registerBlocksuitePresetsCustomComponents` to `registerAIEffects`
- Fixed path references in GitHub workflow file
### How to test?
1. Build and run the application
2. Verify AI functionality works as expected:
- Test AI chat blocks
- Check AI panel functionality
- Verify AI copilot features
- Ensure AI-related UI components render correctly
### Why make this change?
This restructuring improves code organization by:
- Giving AI features a dedicated directory that better reflects their importance
- Making the codebase more maintainable by grouping related AI functionality
- Reducing confusion by removing AI code from the more general `presets` directory
- Creating clearer boundaries between AI and non-AI related code
2025-02-23 09:26:00 +00:00
Saul-Mirone
2cf9a8f286
refactor: reorganize specs and adapter extensions ( #10359 )
...
### TL;DR
Refactored `SpecProvider` singleton access pattern and reorganized adapter/extension code structure.
### What changed?
- Changed `SpecProvider.getInstance()` to `SpecProvider._` for cleaner singleton access
- Moved adapter/extension code from `_common` directory to dedicated `adapters` and `extensions` folders
- Consolidated adapter extensions into a single file
- Removed unused dependencies from package.json
- Deleted unnecessary schema files
- Extracted `MobileSpecsPatches` class into the mobile patching code
- Updated all references to use the new `SpecProvider._` accessor
### How to test?
- Verify all specs are properly registered and accessible via `SpecProvider._`
- Test adapter functionality for HTML, Markdown, Notion HTML and plain text
- Check mobile-specific features and patches work correctly
- Ensure preview functionality works in both page and edgeless modes
### Why make this change?
- Improves code organization by properly separating adapters and extensions
- Simplifies singleton access pattern
- Removes unnecessary dependencies and files
- Makes the codebase more maintainable by consolidating related functionality
2025-02-21 14:25:35 +00:00
Peng Xiao
83669f8fbb
fix(core): settings storage empty styles ( #10313 )
2025-02-21 17:19:53 +08:00