Commit Graph

3175 Commits

Author SHA1 Message Date
liuyi
d1bd809608 chore(core): add pricing link in license panel (#11598) 2025-04-10 08:18:26 +00:00
JimmFly
eb664f3016 fix(core): improve share menu width and member name overflow handling (#11527) 2025-04-10 15:33:12 +08:00
liuyi
e376aa57c5 chore: bring treeshake back (#11577) 2025-04-10 14:12:36 +08:00
Flrande
0ce5a9544b fix(editor): update doc role instead of workspace role when invite in mention panel (#11588)
Close [BS-3048: mention 时检测的是文档权限不是 workspace 权限](https://linear.app/affine-design/issue/BS-3048/mention-时检测的是文档权限不是-workspace-权限)
2025-04-10 05:52:38 +00:00
darkskygit
5199a74426 feat(server): migrate copilot provider sdk (#11584)
fix AI-15
fix AI-16
2025-04-10 04:14:09 +00:00
CatsJuice
bf293d8dca fix(core): update background of sign-in button and input (#11118) 2025-04-10 03:24:37 +00:00
EYHN
e7d4684531 feat(core): hide sidebar when sidebar is not visible (#11560) 2025-04-10 02:56:11 +00:00
forehalo
cdbcb8a42a chore: adjust webpack output (#11573)
- automatically split i18n resources into i18n-langs.{lang} naming
- force worker resources to be bundled in one file
2025-04-10 01:48:28 +00:00
JimmFly
e58f230354 fix(core): unexpected style of redeem code button (#11540)
close AF-2482
2025-04-09 13:57:11 +00:00
forehalo
4e56a8447b fix(core): missing i18n and button margin (#11568)
close AF-2486
2025-04-09 13:40:01 +00:00
pengx17
34b6e7ef88 feat(core): support splitting audio blobs before submitting to backend (#11572)
fix AF-2484
2025-04-09 12:44:37 +00:00
zzj3720
ba875a120f feat(editor): support image preview for attachment columns (#11544)
close: BS-2634
2025-04-09 10:50:41 +00:00
pengx17
c09bd8c422 chore(electron): self-hosted mixpanel flag (#11561)
fix AF-2341

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/a9a2f71d-7a1f-4718-9ae7-28192c640e85.png)
2025-04-09 08:34:27 +00:00
darkskygit
15abb78a6b feat(server): support sliced audio (#11562)
fix AF-2479
2025-04-09 08:21:19 +00:00
akumatus
3bf3068650 fix(core): after clearing the history, new chat will report an error (#11549)
Close [BS-3025](https://linear.app/affine-design/issue/BS-3025)
2025-04-09 07:22:31 +00:00
akumatus
82ade96b3f fix(core): online search button status not updated to the search prompt (#11542)
Close [BS-3079](https://linear.app/affine-design/issue/BS-3079).
2025-04-09 06:51:35 +00:00
akumatus
c9790ed854 refactor(core): ai session create (#11539)
Close [BS-3079](https://linear.app/affine-design/issue/BS-3079).

- Separate the create session logic from the `createMessage function`.
- Ensure the session is created before executing any chat or actions.
- Convert the `AIActions` into asynchronous functions.
- Transfer the update prompt name logic to the chat action.
- Introduce a networkSearch field in `AITextActionOptions`.
- Eliminate the redundant `LAST_ROOT_SESSION_ID`.
2025-04-09 06:18:57 +00:00
akumatus
1e9561b46c fix(core): retry on chat-block, view components not update as expected (#11553)
Close [BS-3026](https://linear.app/affine-design/issue/BS-3026)
2025-04-09 03:30:19 +00:00
pengx17
f0aafda509 fix(electron): cannot restart recording the same app again (#11498)
fix AF-2455
2025-04-09 02:37:50 +00:00
pengx17
a2125787c2 fix(electron): use another origin for popup to disable zoom in/out issue of the popup window (#11506)
fix AF-2473
2025-04-08 10:18:09 +00:00
pengx17
93d8e22b07 feat(electron): meeting recording permissions checks (#11505)
fix AF-2472, AF-2446

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/536f8412-cbf1-47ad-a8a0-0b86e97521d7.png)

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/b49a64cc-d288-49c9-8382-e4e8b5806850.png)
2025-04-08 10:18:08 +00:00
liuyi
ebdeaf3783 chore(core): reorg polyfill (#11528) 2025-04-08 14:59:54 +08:00
darkskygit
558e84138c chore: remove lame encoder (#11529) 2025-04-08 05:02:30 +00:00
yoyoyohamapi
49c6ad7c04 feat(core): ai panel adaptation for edgeless theme (#11509)
### TL;DR

AI panel adaptation for Edgeless theme

> CLOSE BS-3017

![截屏2025-04-07 17.30.48.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/MyktQ6Qwc7H6TiRCFoYN/a2e83338-d795-4b16-b2a8-bdd4f922a4c3.png)
2025-04-08 02:29:57 +00:00
JimmFly
af48df230d feat(core): add docRole to inviteUserDocRole tracking event (#11501)
close AF-2476
2025-04-07 08:51:45 +00:00
EYHN
f93acc6635 fix(android): fix uniffi bindgen (#11500) 2025-04-07 08:37:35 +00:00
forehalo
40f218c898 chore: set base version to 0.21 2025-04-07 16:10:32 +08:00
pengx17
952f1878a6 fix(core): add option to disable middle click paste behavior on linux (#11496)
fix BS-3028
2025-04-07 07:01:37 +00:00
pengx17
92240fc1a2 chore(electron): add community link for meeting feature (#11494)
fix AF-2471

![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/024ac070-fbd8-4ab0-be93-6670cbee587e.png)
2025-04-07 06:15:50 +00:00
pengx17
fddf68f061 fix(core): stop media when audio block is removed (#11492) 2025-04-07 06:15:50 +00:00
JimmFly
53dff7a158 fix(admin): adjust available upgrade button style (#11489) 2025-04-07 05:25:34 +00:00
Saul-Mirone
8c473cf685 fix(editor): adjust block meta info (#11488)
Closes: BS-2901
2025-04-07 05:12:04 +00:00
yoyoyohamapi
da580076b0 fix(core): cannot select text in electron (#11486) 2025-04-07 03:19:34 +00:00
donteatfriedrice
568a390b75 feat(editor): support markdown adapter preprocessed with latex delimiters (#11431)
To close [BS-2870](https://linear.app/affine-design/issue/BS-2870/支持识别-和-[-包裹内容为公式)

## Add Markdown Preprocessor Extension and Enhanced LaTeX Support

### Markdown Preprocessor Extension
This PR introduces a new preprocessor extension for Markdown adapters that allows preprocessing of content before conversion:

Adds a new PreprocessorManager for handling text transformations
Introduces extensible preprocessor interface that supports different processing levels (block/slice/doc)

Integrates preprocessor extension into the existing Markdown adapter workflow

### LaTeX Support Enhancement
Extends LaTeX support to handle both traditional and alternative syntax:
Adds support for backslash LaTeX syntax:

Block math: ```\[...\] ``` alongside existing ```$$...$$```
Inline math: ```\(...\) ``` alongside existing ```$...$```

Implements LaTeX preprocessor to standardize syntax before conversion

Updates tests to cover both syntax variants
2025-04-07 02:18:04 +00:00
Saul-Mirone
bb1270061a feat(editor): gfx template package (#11480) 2025-04-06 12:24:13 +00:00
Saul-Mirone
41499c1cd6 refactor(editor): merge implementation of createTemplateJob (#11474) 2025-04-05 12:59:48 +00:00
Saul-Mirone
2a1306c58c refactor(editor): separate the element renders (#11461) 2025-04-04 13:09:46 +00:00
Saul-Mirone
138e7f60de refactor(editor): extensionalize surface canvas renderer (#11456) 2025-04-04 13:09:45 +00:00
JimmFly
3ecdc377fe fix(admin): unable to log into admin panel (#11451) 2025-04-04 10:39:20 +00:00
renovate[bot]
0f7a739b3b chore: bump up all non-major dependencies (#11351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-04-04 18:37:22 +08:00
renovate
a76414066a chore: bump up rustc version to v1.86.0 (#11464)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rustc](https://redirect.github.com/rust-lang/rust) | minor | `1.85.1` -> `1.86.0` |

---

### Release Notes

<details>
<summary>rust-lang/rust (rustc)</summary>

### [`v1.86.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1860-2025-04-03)

[Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.85.1...1.86.0)

\==========================

<a id="1.86.0-Language"></a>

## Language

-   [Stabilize upcasting trait objects to supertraits.](https://redirect.github.com/rust-lang/rust/pull/134367)
-   [Allow safe functions to be marked with the `#[target_feature]` attribute.](https://redirect.github.com/rust-lang/rust/pull/134090)
-   [The `missing_abi` lint now warns-by-default.](https://redirect.github.com/rust-lang/rust/pull/132397)
-   Rust now lints about double negations, to catch cases that might have intended to be a prefix decrement operator (`--x`) as written in other languages. This was previously a clippy lint, `clippy::double_neg`, and is [now available directly in Rust as `double_negations`.](https://redirect.github.com/rust-lang/rust/pull/126604)
-   [More pointers are now detected as definitely not-null based on their alignment in const eval.](https://redirect.github.com/rust-lang/rust/pull/133700)
-   [Empty `repr()` attribute applied to invalid items are now correctly rejected.](https://redirect.github.com/rust-lang/rust/pull/133925)
-   [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer accepted in more places than intended.](https://redirect.github.com/rust-lang/rust/pull/134276)

<a id="1.86.0-Compiler"></a>

## Compiler

-   [Debug-assert that raw pointers are non-null on access.](https://redirect.github.com/rust-lang/rust/pull/134424)
-   [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2` to match Cargo's defaults.](https://redirect.github.com/rust-lang/rust/pull/135439)
-   [Fix emission of `overflowing_literals` under certain macro environments.](https://redirect.github.com/rust-lang/rust/pull/136393)

<a id="1.86.0-Platform-Support"></a>

## Platform Support

-   [Replace `i686-unknown-redox` target with `i586-unknown-redox`.](https://redirect.github.com/rust-lang/rust/pull/136698)
-   [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.](https://redirect.github.com/rust-lang/rust/pull/136700)
-   New tier 3 targets:
    -   [`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 7.1 with `io-socket` network stack.
    -   [`{aarch64-unknown,x86_64-pc}-nto-qnx800`](https://redirect.github.com/rust-lang/rust/pull/133631).
        For supporting Neutrino QNX 8.0 (`no_std`-only).
    -   [`{x86_64,i686}-win7-windows-gnu`](https://redirect.github.com/rust-lang/rust/pull/134609).
        Intended for backwards compatibility with Windows 7. `{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts that already exist as Tier 3 targets.
    -   [`amdgcn-amd-amdhsa`](https://redirect.github.com/rust-lang/rust/pull/134740).
    -   [`x86_64-pc-cygwin`](https://redirect.github.com/rust-lang/rust/pull/134999).
    -   [`{mips,mipsel}-mti-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135074).
        Initial bare-metal support.
    -   [`m68k-unknown-none-elf`](https://redirect.github.com/rust-lang/rust/pull/135085).
    -   [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and `thumbv7a-nuttx-{eabi,eabihf}`](https://redirect.github.com/rust-lang/rust/pull/135757).

Refer to Rust's \[platform support page]\[platform-support-doc]
for more information on Rust's tiered platform support.

<a id="1.86.0-Libraries"></a>

## Libraries

-   The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes: &[u8]) -> Result<&Self, FromBytesWithNulError>` was [changed from an opaque struct to an enum](https://redirect.github.com/rust-lang/rust/pull/134143), allowing users to examine why the conversion failed.
-   [Remove `RustcDecodable` and `RustcEncodable`.](https://redirect.github.com/rust-lang/rust/pull/134272)
-   [Deprecate libtest's `--logfile` option.](https://redirect.github.com/rust-lang/rust/pull/134283)
-   [On recent versions of Windows, `std::fs::remove_file` will now remove read-only files.](https://redirect.github.com/rust-lang/rust/pull/134679)

<a id="1.86.0-Stabilized-APIs"></a>

## Stabilized APIs

-   [`{float}::next_down`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
-   [`{float}::next_up`](https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
-   [`<[_]>::get_disjoint_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
-   [`<[_]>::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
-   [`slice::GetDisjointMutError`](https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
-   [`HashMap::get_disjoint_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
-   [`HashMap::get_disjoint_unchecked_mut`](https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
-   [`NonZero::count_ones`](https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
-   [`Vec::pop_if`](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
-   [`sync::Once::wait`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
-   [`sync::Once::wait_force`](https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
-   [`sync::OnceLock::wait`](https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)

These APIs are now stable in const contexts:

-   [`hint::black_box`](https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
-   [`io::Cursor::get_mut`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
-   [`io::Cursor::set_position`](https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
-   [`str::is_char_boundary`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
-   [`str::split_at`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
-   [`str::split_at_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
-   [`str::split_at_mut`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
-   [`str::split_at_mut_checked`](https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)

<a id="1.86.0-Cargo"></a>

## Cargo

-   [When merging, replace rather than combine configuration keys that refer to a program path and its arguments.](https://redirect.github.com/rust-lang/cargo/pull/15066/)
-   [Error if both `--package` and `--workspace` are passed but the requested package is missing.](https://redirect.github.com/rust-lang/cargo/pull/15071/) This was previously silently ignored, which was considered a bug since missing packages should be reported.
-   [Deprecate the token argument in `cargo login` to avoid shell history leaks.](https://redirect.github.com/rust-lang/cargo/pull/15057/)
-   [Simplify the implementation of `SourceID` comparisons.](https://redirect.github.com/rust-lang/cargo/pull/14980/) This may potentially change behavior if the canonicalized URL compares differently in alternative registries.

<a id="1.86.0-Rustdoc"></a>

## Rustdoc

-   [Add a sans-serif font setting.](https://redirect.github.com/rust-lang/rust/pull/133636)

<a id="1.86.0-Compatibility-Notes"></a>

## Compatibility Notes

-   [The `wasm_c_abi` future compatibility warning is now a hard error.](https://redirect.github.com/rust-lang/rust/pull/133951)
    Users of `wasm-bindgen` should upgrade to at least version 0.2.89, otherwise compilation will fail.
-   [Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.](https://redirect.github.com/rust-lang/rust/pull/134300)
-   [The future incompatibility lint `cenum_impl_drop_cast` has been made into a hard error.](https://redirect.github.com/rust-lang/rust/pull/135964) This means it is now an error to cast a field-less enum to an integer if the enum implements `Drop`.
-   [SSE2 is now required for "i686" 32-bit x86 hard-float targets; disabling it causes a warning that will become a hard error eventually.](https://redirect.github.com/rust-lang/rust/pull/137037)
    To compile for pre-SSE2 32-bit x86, use a "i586" target instead.

<a id="1.86.0-Internal-Changes"></a>

## Internal Changes

These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.

-   [Build the rustc on AArch64 Linux with ThinLTO + PGO.](https://redirect.github.com/rust-lang/rust/pull/133807)
    The ARM 64-bit compiler (AArch64) on Linux is now optimized with ThinLTO and PGO, similar to the optimizations we have already performed for the x86-64 compiler on Linux. This should make it up to 30% faster.

</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 this update 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjIyNy4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-04 07:21:18 +00:00
CatsJuice
905349a139 chore(core): modify ai purchase button text (#11035) 2025-04-04 07:07:50 +00:00
CatsJuice
fa50743393 feat(core): hide all sidebars when resizing to a small screen (#11105) 2025-04-04 05:51:19 +00:00
CatsJuice
ae92aef1a4 feat(core): automatically focus on the Readwise token input when the window is focused (#11112) 2025-04-04 05:36:59 +00:00
CatsJuice
eebc7b751a feat(component): apply animation for tooltip, remove triangle (#11245) 2025-04-04 05:24:18 +00:00
JimmFly
adbd41130c fix(admin): adjust import users dialog styles (#11436)
close AF-2456 AF-2454 AF-2441 AF-2422
2025-04-04 04:52:50 +00:00
JimmFly
7a1d5ab252 feat(core): upgrade icons package (#11435) 2025-04-04 04:52:49 +00:00
pengx17
133be72ac2 refactor(electron): encoding recording on the fly (#11457)
fix AF-2460, AF-2463

When recording is started, we start polling the pending raw buffers that are waiting for encoding. The buffers are determined by the cursor of the original raw buffer file. When recording is stopped, we will flush the pending buffers and wrap the encoded chunks into WebM.

```mermaid
sequenceDiagram
    participant App as App/UI
    participant RecordingFeature as Recording Feature
    participant StateMachine as State Machine
    participant FileSystem as File System
    participant StreamEncoder as Stream Encoder
    participant OpusEncoder as Opus Encoder
    participant WebM as WebM Muxer

    Note over App,WebM: Recording Start Flow
    App->>RecordingFeature: startRecording()
    RecordingFeature->>StateMachine: dispatch(START_RECORDING)
    StateMachine-->>RecordingFeature: status: 'recording'
    RecordingFeature->>StreamEncoder: createStreamEncoder(id, {sampleRate, channels})

    Note over App,WebM: Streaming Flow
    loop Audio Data Streaming
        RecordingFeature->>FileSystem: Write raw audio chunks to .raw file
        StreamEncoder->>FileSystem: Poll raw audio data
        FileSystem-->>StreamEncoder: Raw audio chunks
        StreamEncoder->>OpusEncoder: Encode chunks
        OpusEncoder-->>StreamEncoder: Encoded Opus frames
    end

    Note over App,WebM: Recording Stop Flow
    App->>RecordingFeature: stopRecording()
    RecordingFeature->>StateMachine: dispatch(STOP_RECORDING)
    StateMachine-->>RecordingFeature: status: 'stopped'
    StreamEncoder->>OpusEncoder: flush()
    StreamEncoder->>WebM: muxToWebM(encodedChunks)
    WebM-->>RecordingFeature: WebM buffer
    RecordingFeature->>FileSystem: Save as .opus file
    RecordingFeature->>StateMachine: dispatch(SAVE_RECORDING)
```
2025-04-03 15:56:53 +00:00
pengx17
8ce10e6d0a feat(electron): add tray menu settings (#11437)
fix AF-2447
2025-04-03 15:56:52 +00:00
akumatus
0aeb3041b5 feat(core): add ai chat composer (#11443)
Close [BS-2583](https://linear.app/affine-design/issue/BS-2583).

![截屏2025-04-03 15.11.43.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/sJGviKxfE3Ap685cl5bj/5b545486-7c8b-4f09-bf65-9adeb482dfa9.png)
2025-04-03 14:53:50 +00:00