Commit Graph

89 Commits

Author SHA1 Message Date
DarkSky
e8693a3a25 feat: introduce fuzzy search for native indexer (#14109) 2025-12-25 04:40:23 +08:00
DarkSky
4b721dffe0 feat: set admin name when self hosted init (#14146)
fix #14134
2025-12-23 23:38:34 +08:00
Xun Sun
a0eeed0cdb feat: implement export as PDF (#14057)
I used [pdfmake](https://www.npmjs.com/package/pdfmake) to implement an
"export as PDF" feature, and I am happy to share with you!

This should fix #13577, fix #8846, and fix #13959.

A showcase:

[Getting
Started.pdf](https://github.com/user-attachments/files/24013057/Getting.Started.pdf)

Although it might miss rendering some properties currently, it can
evolve in the long run and provide a more native experience for the
users.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
- Experimental "Export to PDF" option added to the export menu (behind a
feature flag)
- PDF export supports headings, paragraphs, lists, code blocks, tables,
images, callouts, linked documents and embedded content

* **Chores**
  - Added PDF rendering library and consolidated PDF utilities
  - Feature flag introduced to control rollout

* **Tests**
  - Comprehensive unit tests added for PDF content rendering logic

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: DarkSky <darksky2048@gmail.com>
2025-12-13 18:05:25 +08:00
DarkSky
cb0ff04efa feat: bump more deps (#14079) 2025-12-10 16:02:28 +08:00
DarkSky
e5db0e66c1 chore: update schema 2025-11-15 14:45:18 +08:00
DarkSky
abe73e9996 fix: config escape error (#13936)
fix #13702
2025-11-14 23:24:44 +08:00
DarkSky
5fc3258a3d feat(server): expose mail server name config in admin dashboard (#13792)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
  * Added SMTP name configuration field to notification settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-23 03:39:20 +00:00
DarkSky
762b702e46 feat: sync rcat data (#13628)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* RevenueCat support: public webhook endpoint, webhook handler/service,
nightly reconciliation and per-user sync; subscriptions now expose
provider and iapStore; new user-facing error for App Store/Play-managed
subscriptions.
* **Chores**
* Multi-provider subscription schema (Provider, IapStore); Stripe
credentials moved into payment.stripe (top-level apiKey/webhookKey
deprecated); new payment.revenuecat config and defaults added.
* **Tests**
  * Comprehensive RevenueCat integration test suite and snapshots.
* **Documentation**
  * Admin config descriptions updated with deprecation guidance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-23 08:52:23 +00:00
DarkSky
e3f3c8c4a8 feat: add config for mail server name (#13632)
fix #13627

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added configurable display names for primary and fallback SMTP
servers, improving email sender identification.
* Defaults to “AFFiNE Server,” with support for MAILER_SERVERNAME
environment variable for the primary SMTP.
* Exposed in admin settings for easy setup alongside existing SMTP
options.
* Names are now passed through to mail transport options for consistent
use across emails.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-22 11:52:15 +00:00
Finn Weigand
363f64ebfa feat: add dedicated sign-up config for oauth (#13610)
Currently, it is only possible to disable all registrations. However, it
would be helpful if you could disable normal registration but enable
OAuth registration.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a setting to enable/disable new user signups via OAuth (default:
enabled).
* Admin Settings (Authentication) now includes a toggle for OAuth
signups.
* OAuth signup flow now respects this setting, preventing new
registrations via OAuth when disabled.
  * Self-hosted configuration schema updated to include the new option.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Hudint Finn Weigand <dev@hudint.de>
Co-authored-by: DarkSky <darksky2048@gmail.com>
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2025-09-21 15:38:25 +00:00
fengmk2
bc3b41378d chore(server): add ai document link on admin panel (#13428)
close AF-2766
<img width="2082" height="654" alt="image"
src="https://github.com/user-attachments/assets/efba776c-91cd-4d59-a2a6-e00f68c61be1"
/>



#### PR Dependency Tree


* **PR #13428** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Configuration descriptions for the copilot plugin now include direct
links to relevant documentation for easier access to more information.

* **Style**
* Improved display of configuration descriptions to support and render
HTML content.

* **Refactor**
* The AI navigation item in the admin panel has been disabled and is no
longer visible.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-07 03:16:29 +00:00
DarkSky
46acf9aa4f chore(server): update config naming (#13419)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Updated scenario names and options for Copilot, including new and
renamed scenarios such as "audio_transcribing,"
"complex_text_generation," "quick_decision_making,"
"quick_text_generation," and "polish_and_summarize."
* Enhanced support for customizing and overriding default model
assignments in Copilot scenarios.

* **Bug Fixes**
* Improved consistency and clarity in scenario configuration and prompt
selection.

* **Documentation**
* Updated descriptions in configuration interfaces to better explain the
ability to use custom models and override defaults.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-05 10:26:18 +00:00
DarkSky
0fcb4cb0fe feat(server): scenario mapping (#13404)
fix AI-404

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced scenario-based configuration for copilot, allowing default
model assignments for various AI use cases.
  * Added a new image generation model to the available options.

* **Improvements**
* Refined copilot provider settings by removing deprecated fallback
options and standardizing base URL configuration.
* Enhanced prompt management to support scenario-driven updates and
improved configuration handling.
* Updated admin and settings interfaces to support new scenario
configurations.

* **Bug Fixes**
* Removed deprecated or unused prompts and related references across
platforms for consistency.

* **Other**
* Improved test coverage and updated test assets to reflect prompt and
scenario changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-04 09:50:38 +00:00
DarkSky
61fa3ef6f6 feat(server): add fallback smtp config (#13377)
fix AF-2749

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for configuring a fallback SMTP server for outgoing
emails.
* Introduced the ability to specify email domains that will always use
the fallback SMTP server.
* Enhanced email sending to automatically route messages to the
appropriate SMTP server based on recipient domain.

* **Documentation**
* Updated configuration options and descriptions in the admin interface
to reflect new fallback SMTP settings.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-31 09:56:30 +00:00
fengmk2
f761cbd964 chore(server): remove useless client allowGuestDemoWorkspace config (#12988)
#### PR Dependency Tree


* **PR #12988** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Removed the configuration option that allowed guests to access demo
workspaces. This affects related settings in the system configuration
and admin interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 10:13:15 +00:00
Richard Lora
82b3c0d264 feat(core): add allowGuestDemoWorkspace flag to force login (#12779)
https://github.com/user-attachments/assets/41a659c9-6def-4492-be8e-5910eb148d6f

This PR enforces login‑first access (#8716) by disabling or enabling the
guest demo workspace via Admin Server Client Page and redirecting
unauthenticated users straight to `/sign‑in`.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a configuration option to control whether guest users can create
demo workspaces.
* Updated server and client interfaces, GraphQL schema, and queries to
support the new guest demo workspace flag.

* **Bug Fixes**
* Improved sign-out behavior to redirect users appropriately based on
guest demo workspace permissions.
* Enhanced navigation flow to handle guest demo workspace access and
user authentication state.

* **Tests**
* Added tests to verify sign-out logic when guest demo workspaces are
enabled or disabled.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: liuyi <forehalo@gmail.com>
Co-authored-by: fengmk2 <fengmk2@gmail.com>
2025-06-29 14:17:18 +00:00
DarkSky
1c1dade2d5 feat(server): add morph doc edit tool (#12789)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced support for the Morph provider in the copilot module,
enabling integration with the Morph LLM API.
- Added a new document editing tool that allows users to propose and
apply edits to existing documents via AI assistance.
- **Configuration**
- Added configuration options for the Morph provider in both backend and
admin interfaces.
- **Enhancements**
- Expanded tool support to include document editing capabilities within
the copilot feature set.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-28 08:27:08 +00:00
fengmk2
dc55518c5b feat(server): support multiple hosts in one deployment (#12950)
close CLOUD-233



#### PR Dependency Tree


* **PR #12950** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added support for configuring multiple server hosts across backend and
frontend settings.
* Enhanced deployment and Helm chart configuration to allow specifying
multiple ingress hosts.
* Updated admin and configuration interfaces to display and manage
multiple server hosts.

* **Improvements**
* Improved URL generation, OAuth, and worker service logic to
dynamically handle requests from multiple hosts.
  * Enhanced captcha verification to support multiple allowed hostnames.
* Updated frontend logic for platform-specific server base URLs and
allowed origins, including Apple app domains.
  * Expanded test coverage for multi-host scenarios.

* **Bug Fixes**
* Corrected backend logic to consistently use dynamic base URLs and
origins based on request host context.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-27 09:41:37 +00:00
fengmk2
e978147a16 feat(server): add doc keyword search tool (#12837)
close AI-185

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a keyword-based document search tool, allowing users to
search for relevant documents within their workspace using keywords.
- Search results include document titles, summaries, and direct links,
enhancing document discovery and navigation.
- **Bug Fixes**
  - None.
- **Tests**
- Added new tests to verify document search by IDs and by keywords,
ensuring accurate and reliable search functionality.
- **Documentation**
  - None.
- **Chores**
- Updated configuration file organization for improved clarity; no
changes to functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->








#### PR Dependency Tree


* **PR #12867**
  * **PR #12863**
    * **PR #12837** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
2025-06-20 10:50:34 +00:00
forehalo
2f139bd02c chore(admin): remove useless config diff (#12545)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added a GraphQL mutation to validate multiple app configuration updates, returning detailed validation results for each item.
  - Extended the API schema to support validation feedback, enabling client-side checks before applying changes.
  - Introduced a detailed, parameterized error message system for configuration validation errors.
  - Enabled validation of configuration inputs via the admin UI with clear, descriptive error messages.

- **Improvements**
  - Enhanced error reporting with specific, context-rich messages for invalid app configurations.
  - Simplified admin settings UI by removing the confirmation dialog and streamlining save actions.
  - Improved clarity and maintainability of validation logic and error handling components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-27 06:07:26 +00:00
JimmFly
1b715e588c feat(core): support install license for self hosted client (#12287)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added the ability to upload and replace license files for self-hosted team workspaces via a new modal dialog.
  - Introduced clearer UI flows for activating, deactivating, and managing team licenses, including one-time purchase licenses.
  - Provided direct links and guidance for requesting licenses and managing payments.

- **Enhancements**
  - Improved license management interface with updated button labels and descriptions.
  - Added new styles for better layout and clarity in license dialogs.
  - Updated internationalization with new and revised texts for license operations.

- **Bug Fixes**
  - Prevented duplicate opening of license or plan dialogs when already open.

- **Chores**
  - Updated support and pricing links for clarity and accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-27 04:56:14 +00:00
akumatus
5fcdad46eb feat(core): add google vertex ai (#12423)
Close [AI-125](https://linear.app/affine-design/issue/AI-125)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added new provider configurations `geminiVertex` and `anthropicVertex` for Google Vertex AI in backend schema, provider classes, and admin config.
  - Introduced `GeminiVertexProvider` and `AnthropicVertexProvider` classes supporting Vertex AI models with specific capabilities.
  - Expanded model options for transcription prompts with newer Gemini models.
  - Re-exported provider modules to include Vertex AI variants.

- **Improvements**
  - Extended provider architecture to support separate Vertex AI configurations and models.
  - Updated test setup to replace deprecated provider references with new Vertex variants.
  - Consolidated environment variables for server testing with a single `SERVER_CONFIG`.

- **Bug Fixes**
  - Updated mock models and import references in tests to align with new provider classes.

- **Chores**
  - Added `@ai-sdk/google-vertex` dependency for Vertex AI support.
  - Updated dependency list to include `@ai-sdk/google-vertex`.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-26 13:09:29 +00:00
liuyi
41781902f6 feat(core): support apple sign in (#12424) 2025-05-23 15:27:27 +08:00
JimmFly
940ab69374 fix(admin): user count is out of sync and search results are not cached in account management (#11980)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Improved user management table with dynamic row count updates and enhanced synchronization of memoized user lists.
- **Bug Fixes**
  - User count and displayed data now update immediately after user creation, deletion, or import, ensuring accurate and consistent information.
- **Chores**
  - Enhanced internal state management for better responsiveness and reliability in the accounts section.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 07:29:09 +00:00
JimmFly
2999497f16 chore(admin): adjust import user style (#12295)
close AF-2619 AF-2618

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Style**
  - Updated various components to use dynamic theme-based colors and consistent border radius for a more unified look and feel.
  - Adjusted icon size and text styling in the file upload area for improved visual clarity.
  - Applied consistent secondary text color to informational paragraphs.

- **User Interface**
  - Changed the table header label from "Username" to "Name" and removed uppercase styling from all table headers.
  - Updated file upload instructions for clearer guidance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 07:13:17 +00:00
darkskygit
b388f92c96 feat(server): refactor provider interface (#11665)
fix AI-4
fix AI-18

better provider/model choose to allow fallback to similar models (e.g., self-hosted) when the provider is not fully configured
split functions of different output types
2025-05-22 06:28:20 +00:00
fengmk2
346c0df800 chore(server): support disable indexer plugin (#12408)
close CLOUD-220

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced a new service to handle indexing-related events and scheduled tasks, improving the management of document and workspace indexing.
  - Added support for configuring the indexer feature via the AFFINE_INDEXER_ENABLED environment variable.

- **Bug Fixes**
  - Ensured that indexing and deletion jobs are only enqueued when the indexer feature is enabled.

- **Tests**
  - Added comprehensive tests for the new indexing event service, covering various configuration scenarios.
  - Removed obsolete test related to auto-indexing scheduling.

- **Chores**
  - Updated configuration descriptions and mappings to improve clarity and environment variable support.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 13:19:02 +00:00
fengmk2
abfc994180 chore(server): support elasticsearch apiKey (#12405) 2025-05-21 08:35:51 +00:00
fengmk2
ff15779208 chore(server): add auto index batch size (#12391)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added a configurable batch size setting for automatic workspace indexing. Users can now adjust how many workspaces are indexed per batch, with a default value of 10 and support for values between 1 and 1000.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 08:35:51 +00:00
fengmk2
afa984da54 feat(server): handle workspace doc updates (#11937) 2025-05-14 14:52:41 +00:00
fengmk2
a1bcf77447 feat(server): add cloud indexer with Elasticsearch and Manticoresearch providers (#11835)
close CLOUD-137

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced advanced workspace-scoped search and aggregation capabilities with support for complex queries, highlights, and pagination.
  - Added pluggable search providers: Elasticsearch and Manticoresearch.
  - New GraphQL queries, schema types, and resolver support for search and aggregation.
  - Enhanced configuration options for search providers in self-hosted and cloud deployments.
  - Added Docker Compose services and environment variables for Elasticsearch and Manticoresearch.
  - Integrated indexer service into deployment and CI workflows.

- **Bug Fixes**
  - Improved error handling with new user-friendly error messages for search provider and indexer issues.

- **Documentation**
  - Updated configuration examples and environment variable references for indexer and search providers.

- **Tests**
  - Added extensive end-to-end and provider-specific tests covering indexing, searching, aggregation, deletion, and error cases.
  - Included snapshot tests and test fixtures for search providers.

- **Chores**
  - Updated deployment scripts, Helm charts, and Kubernetes manifests to include indexer-related environment variables and secrets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-14 14:52:41 +00:00
JimmFly
662614de0d feat(admin): create user with password (#12112)
close AF-2494

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

## Summary by CodeRabbit

- **New Features**
  - Added support for importing users with optional passwords via CSV, including password validation and error handling.
  - Enhanced user creation form to allow password input and validation according to server-configured requirements.
  - User table now displays a password column and provides granular error highlighting for email and password fields.
  - Introduced detailed CSV format guidance and improved import dialog with dynamic content and footer controls.

- **Improvements**
  - Updated import dialog workflow for clearer CSV formatting guidance and improved user feedback during import.
  - Refined dropdown menu actions and improved UI clarity for user management actions.

- **Bug Fixes**
  - Corrected menu action handlers for "Edit" and "Reset Password" in user actions dropdown.

- **Chores**
  - Refactored import dialog code into modular components for maintainability and clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-13 02:43:01 +00:00
fengmk2
62fe906f04 chore(server): add server genconfig git status check (#12202) 2025-05-12 02:42:00 +00:00
renovate
846350bbb1 chore: bump up oxlint version to v0.16.9 (#12122)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [oxlint](https://oxc.rs) ([source](https://redirect.github.com/oxc-project/oxc/tree/HEAD/npm/oxlint)) | [`0.16.8` -> `0.16.9`](https://renovatebot.com/diffs/npm/oxlint/0.16.8/0.16.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint/0.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/oxlint/0.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/oxlint/0.16.8/0.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint/0.16.8/0.16.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxlint)</summary>

### [`v0.16.9`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.16.9): oxlint v0.16.9

[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.16.8...oxlint_v0.16.9)

#### \[0.16.9] - 2025-05-03

##### Features

-   [`63f02a8`](https://redirect.github.com/oxc-project/oxc/commit/63f02a8) linter: Add react/forward_ref_uses_ref ([#&#8203;10506](https://redirect.github.com/oxc-project/oxc/issues/10506)) (x6eull)
-   [`a3ada34`](https://redirect.github.com/oxc-project/oxc/commit/a3ada34) linter: Implement fixer for unicorn/prefer-number-properties ([#&#8203;10693](https://redirect.github.com/oxc-project/oxc/issues/10693)) (camc314)
-   [`e97a4e0`](https://redirect.github.com/oxc-project/oxc/commit/e97a4e0) linter: Add fixer to unicorn/prefer-spread ([#&#8203;10691](https://redirect.github.com/oxc-project/oxc/issues/10691)) (camc314)
-   [`a69a0ee`](https://redirect.github.com/oxc-project/oxc/commit/a69a0ee) linter: Add eslint/block-scoped-var ([#&#8203;10237](https://redirect.github.com/oxc-project/oxc/issues/10237)) (yefan)
-   [`387af3a`](https://redirect.github.com/oxc-project/oxc/commit/387af3a) linter: Report vars only used as types ([#&#8203;10664](https://redirect.github.com/oxc-project/oxc/issues/10664)) (camc314)
-   [`eac205f`](https://redirect.github.com/oxc-project/oxc/commit/eac205f) linter: Add unicorn/consistent-assert rule ([#&#8203;10653](https://redirect.github.com/oxc-project/oxc/issues/10653)) (Shota Kitahara)
-   [`0e6a727`](https://redirect.github.com/oxc-project/oxc/commit/0e6a727) linter: Add autofixer for eslint/radix ([#&#8203;10652](https://redirect.github.com/oxc-project/oxc/issues/10652)) (yefan)
-   [`fb070c4`](https://redirect.github.com/oxc-project/oxc/commit/fb070c4) linter/no-extra-boolean-cast: Implement auto-fixer ([#&#8203;10682](https://redirect.github.com/oxc-project/oxc/issues/10682)) (DonIsaac)
-   [`432cd77`](https://redirect.github.com/oxc-project/oxc/commit/432cd77) linter/no-new-wrapper: Implement auto-fixer ([#&#8203;10680](https://redirect.github.com/oxc-project/oxc/issues/10680)) (DonIsaac)

##### Bug Fixes

-   [`4ee95ec`](https://redirect.github.com/oxc-project/oxc/commit/4ee95ec) editor: Activate extension when astro files are opened too ([#&#8203;10725](https://redirect.github.com/oxc-project/oxc/issues/10725)) (Sysix)
-   [`46665bd`](https://redirect.github.com/oxc-project/oxc/commit/46665bd) langage_server: Fix initialize nested configs ([#&#8203;10698](https://redirect.github.com/oxc-project/oxc/issues/10698)) (Sysix)
-   [`eb3f37c`](https://redirect.github.com/oxc-project/oxc/commit/eb3f37c) language_server: On configuration change, send updated diagnostics to the client ([#&#8203;10764](https://redirect.github.com/oxc-project/oxc/issues/10764)) (Sysix)
-   [`8c499c6`](https://redirect.github.com/oxc-project/oxc/commit/8c499c6) linter: Fix panic when doing code gen on regexp ([#&#8203;10769](https://redirect.github.com/oxc-project/oxc/issues/10769)) (camc314)
-   [`8e99abf`](https://redirect.github.com/oxc-project/oxc/commit/8e99abf) linter: Fix grammer in no unused vars diagnostic msg ([#&#8203;10770](https://redirect.github.com/oxc-project/oxc/issues/10770)) (camc314)
-   [`b38338a`](https://redirect.github.com/oxc-project/oxc/commit/b38338a) linter: Make require post message target origin a fixer a suggestion ([#&#8203;10754](https://redirect.github.com/oxc-project/oxc/issues/10754)) (camc314)
-   [`48c542d`](https://redirect.github.com/oxc-project/oxc/commit/48c542d) linter: Skip linting vue <script> where `lang` is not js / ts ([#&#8203;10740](https://redirect.github.com/oxc-project/oxc/issues/10740)) (Boshen)
-   [`c9575f6`](https://redirect.github.com/oxc-project/oxc/commit/c9575f6) linter: Fix false positive in react/exhaustive deps ([#&#8203;10727](https://redirect.github.com/oxc-project/oxc/issues/10727)) (camc314)
-   [`d8d8f64`](https://redirect.github.com/oxc-project/oxc/commit/d8d8f64) linter: Shorten span of promise/prefer-await-to-then ([#&#8203;10717](https://redirect.github.com/oxc-project/oxc/issues/10717)) (camc314)
-   [`a88e349`](https://redirect.github.com/oxc-project/oxc/commit/a88e349) linter: Mark `isNan` and `isFinite` as dangerous fixes in `unicorn/prefer-number-properties` ([#&#8203;10706](https://redirect.github.com/oxc-project/oxc/issues/10706)) (Sysix)
-   [`f4ab05f`](https://redirect.github.com/oxc-project/oxc/commit/f4ab05f) linter: Panic in unicorn/no-useless-spread ([#&#8203;10715](https://redirect.github.com/oxc-project/oxc/issues/10715)) (camc314)
-   [`06f1717`](https://redirect.github.com/oxc-project/oxc/commit/06f1717) linter: False positive in no unused vars when importing value used as type ([#&#8203;10690](https://redirect.github.com/oxc-project/oxc/issues/10690)) (camc314)
-   [`746b318`](https://redirect.github.com/oxc-project/oxc/commit/746b318) linter: False positive in typescript/explicit-function-return-type with `satisfies` ([#&#8203;10668](https://redirect.github.com/oxc-project/oxc/issues/10668)) (camc314)
-   [`cce1043`](https://redirect.github.com/oxc-project/oxc/commit/cce1043) linter: False positive in typescript/explicit-function-return-type ([#&#8203;10667](https://redirect.github.com/oxc-project/oxc/issues/10667)) (camc314)
-   [`c89da93`](https://redirect.github.com/oxc-project/oxc/commit/c89da93) linter: False positive in eslint/curly on windows ([#&#8203;10671](https://redirect.github.com/oxc-project/oxc/issues/10671)) (camc314)
-   [`374e19e`](https://redirect.github.com/oxc-project/oxc/commit/374e19e) linter: False positive in react/jsx-curly-brace-presence ([#&#8203;10663](https://redirect.github.com/oxc-project/oxc/issues/10663)) (camc314)
-   [`e7c2b32`](https://redirect.github.com/oxc-project/oxc/commit/e7c2b32) linter: Move `consistent-assert` to `pedantic` ([#&#8203;10665](https://redirect.github.com/oxc-project/oxc/issues/10665)) (camc314)
-   [`344ef88`](https://redirect.github.com/oxc-project/oxc/commit/344ef88) linter: False positive in `eslint/no-unused-vars` when calling inside sequence expression ([#&#8203;10646](https://redirect.github.com/oxc-project/oxc/issues/10646)) (Ulrich Stark)
-   [`98bcd5f`](https://redirect.github.com/oxc-project/oxc/commit/98bcd5f) lsp: Incorrect quick fix offset in vue files ([#&#8203;10742](https://redirect.github.com/oxc-project/oxc/issues/10742)) (camc314)

##### Documentation

-   [`275fe71`](https://redirect.github.com/oxc-project/oxc/commit/275fe71) editor: `oxc.flags` are not related to `oxlint` ([#&#8203;10645](https://redirect.github.com/oxc-project/oxc/issues/10645)) (Sysix)

##### Refactor

-   [`2efe3f0`](https://redirect.github.com/oxc-project/oxc/commit/2efe3f0) linter: Move run on regex node to utils ([#&#8203;10772](https://redirect.github.com/oxc-project/oxc/issues/10772)) (camc314)

##### Testing

-   [`1c4f90f`](https://redirect.github.com/oxc-project/oxc/commit/1c4f90f) editor: Add test for nested config serverity ([#&#8203;10697](https://redirect.github.com/oxc-project/oxc/issues/10697)) (Sysix)
-   [`9ebf3d4`](https://redirect.github.com/oxc-project/oxc/commit/9ebf3d4) language_server: Refactor tester to use WorkspaceWorker ([#&#8203;10730](https://redirect.github.com/oxc-project/oxc/issues/10730)) (Sysix)
-   [`5a709ad`](https://redirect.github.com/oxc-project/oxc/commit/5a709ad) language_server: Add test for `init_nested_configs` ([#&#8203;10728](https://redirect.github.com/oxc-project/oxc/issues/10728)) (Sysix)
-   [`2615758`](https://redirect.github.com/oxc-project/oxc/commit/2615758) language_server: Fix slow test ([#&#8203;10659](https://redirect.github.com/oxc-project/oxc/issues/10659)) (Alexander S.)
-   [`fd18aaa`](https://redirect.github.com/oxc-project/oxc/commit/fd18aaa) language_server: Skip slow test ([#&#8203;10658](https://redirect.github.com/oxc-project/oxc/issues/10658)) (overlookmotel)
-   [`f6f1c5c`](https://redirect.github.com/oxc-project/oxc/commit/f6f1c5c) lsp: Include fixed content in lsp snapshots ([#&#8203;10744](https://redirect.github.com/oxc-project/oxc/issues/10744)) (camc314)

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-05-04 05:34:35 +00:00
akumatus
a603c06fab feat(core): add web search tool and reasoning params (#11912)
Close [AI-60](https://linear.app/affine-design/issue/AI-60).

### What changed?
- Add Exa web search tool
- Add reasoning params
2025-04-24 12:23:06 +00:00
akumatus
c6a8160c52 feat(core): add anthropic provider (#11911)
Close [AI-40](https://linear.app/affine-design/issue/AI-40).

### What changed?
- Add anthropic provider.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added support for Anthropic as a new provider option in Copilot, enabling integration with Anthropic's text generation models.
  - Users can now configure Anthropic provider settings, including API key management, through the admin interface.

- **Chores**
  - Updated dependencies to include the Anthropic SDK for backend operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 12:23:05 +00:00
forehalo
45df4568a4 feat(admin): bump react-router and adapt new routes package (#11887)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added new admin routes: "auth", "setup", and "notFound" for improved navigation and access within the admin interface.
  - Introduced a utility for simplified and flexible lazy loading of React components with fallback support.

- **Improvements**
  - Updated routing structure in the admin frontend for clearer route management and enhanced Sentry integration.
  - Centralized route definitions for easier maintenance and consistency.
  - Upgraded dependencies to support the latest React Router and React versions.
  - Enhanced asynchronous handling in setup form navigation.

- **Chores**
  - Updated project references and workspace dependencies for better package management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 09:17:59 +00:00
forehalo
f918573ba8 fix(server): config defaults (#11879) 2025-04-22 04:26:28 +00:00
pengx17
e8d2b0114b fix(core): avatar cannot load google user content url image (#11733) 2025-04-17 02:13:54 +00:00
forehalo
681c61a300 chore(admin): allow config avatar public path (#11689)
close #11677
2025-04-15 12:54:55 +00:00
forehalo
7257f1b55b chore(server): remove enable flag in mail config (#11680)
close #11625
2025-04-15 09:18:10 +00:00
JimmFly
53dff7a158 fix(admin): adjust available upgrade button style (#11489) 2025-04-07 05:25:34 +00:00
JimmFly
3ecdc377fe fix(admin): unable to log into admin panel (#11451) 2025-04-04 10:39:20 +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
forehalo
2533a92873 chore(server): avoid config object been modified (#11452) 2025-04-03 12:57:29 +00:00
forehalo
1386a66579 chore(server): hide not configurable module (#11406) 2025-04-02 12:44:20 +00:00
darkskygit
f2e2072878 feat(server): s3 presigned url (#11364) 2025-04-01 15:14:07 +00:00
forehalo
dad858014f feat(admin): adapt new config system (#11360)
feat(server): add test mail api

feat(admin): adapt new config system
2025-04-01 15:00:10 +00:00
JimmFly
eda680ccdc fix(admin): adjust admin panel settings style (#11291)
Adjusted the style of some runtime configurations to match the new parameters.
Adjusted the style of dialog and right sidebar.

close AF-2411 AF-2412 AF-2413 AF-2422
2025-03-31 10:26:07 +00:00
forehalo
0ea38680fa refactor(server): config system (#11081) 2025-03-27 12:32:28 +00:00