cherry-studio/src/main/services
George·Dong 278fd931fb
feat: object storage backup (#7791)
* chore: import opendal

* feat: 添加S3备份支持及相关设置界面

- 在IpcChannel中新增S3备份相关IPC事件,支持备份、恢复、
  列表、删除文件及连接检测
- 在ipc主进程注册对应的S3备份处理函数,集成backupManager
- 新增S3设置页面,支持配置Endpoint、Region、Bucket、AccessKey等
  参数,并提供同步和备份策略的UI控制
- 删除未使用的RemoteStorage.ts,简化代码库

提升备份功能的灵活性,支持S3作为远程存储目标

* feat(S3 Backup): 完善S3备份功能

- 支持自动备份
- 优化设置前端
- 优化备份恢复代码

* feat(i18n): add S3 storage translations

* feat(settings): 优化数据设置页面和S3设置页面UI

* feat(settings): optimize S3 settings state structure and update usage

* refactor: simplify S3 backup and restore modal logic

* feat(s3 backup): improve S3 settings defaults and modal props

* fix(i18n): optimize S3 access key translations

* feat(backup): optimize logging and progress reporting

* fix(settings): set S3 maxBackups as unlimited by default

* chore(package): restore opendal dependency in package.json

* feat(backup): migrate S3 Backup dependency from opendal to aws-sdk

* refactor(backup): simplify S3 config handling and partial updates

* refactor(backup): update Nutstore sync state to use RemoteSyncState

* feat(store): add migration 120 to initialize missing s3 settings

* feat(settings): add tooltip and help link for S3 storage

* fix(s3settings): disable backup button until all fields are set

---------

Co-authored-by: suyao <sy20010504@gmail.com>
2025-07-07 21:00:51 +08:00
..
mcp fix: ensure correct PATH assignment in shell environment 2025-05-23 15:25:01 +08:00
remotefile feat(knowledge): support doc2x, mistral, MacOS, MinerU... OCR (#3734) 2025-07-03 16:23:02 +08:00
urlschema refactor(ProviderSettings): add provider key by urlScheme (#7529) 2025-07-03 05:10:18 +08:00
AppUpdater.ts feat(AppUpdater): integrate User-Agent generation for autoUpdater req… (#7751) 2025-07-02 16:18:44 +08:00
AxiosProxy.ts refactor(AxiosProxy): improve proxy handling and initialization logic 2025-04-21 11:26:13 +08:00
BackupManager.ts feat: object storage backup (#7791) 2025-07-07 21:00:51 +08:00
CacheService.ts feat: add gemini files support 2025-01-07 16:49:11 +08:00
ConfigManager.ts feat(settings): add option to disable hardware acceleration (#7811) 2025-07-04 17:19:22 +08:00
ContextMenu.ts fix: support spell check for mini app (#7602) 2025-06-28 08:36:32 +08:00
CopilotService.ts refactor: replace console.log with Logger for improved logging consistency across the application 2025-05-11 19:25:50 +08:00
ExportService.ts fix: enhance ExportService to support nested bold and italic formatting (#6420) 2025-05-25 21:08:47 +08:00
FileStorage.ts feat(knowledge): support doc2x, mistral, MacOS, MinerU... OCR (#3734) 2025-07-03 16:23:02 +08:00
FileSystemService.ts feat(knowledge): support doc2x, mistral, MacOS, MinerU... OCR (#3734) 2025-07-03 16:23:02 +08:00
KnowledgeService.ts chore: move ocr and preprocess into knowledge folder (#7896) 2025-07-07 07:29:15 +08:00
MCPService.ts chore: update release notes and fix various issues 2025-05-26 15:07:53 +08:00
MistralClientManager.ts feat(knowledge): support doc2x, mistral, MacOS, MinerU... OCR (#3734) 2025-07-03 16:23:02 +08:00
NotificationService.ts chore: remove electron-notification-state dependency and update notification settings 2025-05-21 14:03:24 +08:00
NutstoreService.ts fix: remove redundant local variables (#5654) 2025-05-04 19:56:56 +08:00
ObsidianVaultService.ts refactor: replace console.log with Logger for improved logging consistency across the application 2025-05-11 19:25:50 +08:00
ProtocolClient.ts refactor(ProviderSettings): add provider key by urlScheme (#7529) 2025-07-03 05:10:18 +08:00
ProxyManager.ts fix: remove undici dependency and clean up ProxyManager code (#6020) 2025-05-15 22:09:53 +08:00
PythonService.ts feat: implement Python MCP server using existing Pyodide infrastructure (#7506) 2025-06-25 18:21:10 +08:00
ReduxService.ts refactor: replace console.log with Logger for improved logging consistency across the application 2025-05-11 19:25:50 +08:00
S3Storage.ts feat: object storage backup (#7791) 2025-07-07 21:00:51 +08:00
SearchService.ts fix: remove redundant local variables (#5654) 2025-05-04 19:56:56 +08:00
SelectionService.ts fix(SelectionAssistant): overall bug fix from v1.4.8 (#7834) 2025-07-06 23:41:20 +08:00
ShortcutService.ts feat(SelectionAssistant): add shortcut for selecting text (#7073) 2025-06-11 17:39:12 +08:00
StoreSyncService.ts feat(SelectionAssistant): shortcut key to toggle on/off (#6983) 2025-06-11 13:32:49 +08:00
ThemeService.ts refactor: Theme improve (#6619) 2025-05-30 15:10:58 +08:00
TrayService.ts feat: SelectionAssistant macOS version / 划词助手macOS版 (#7561) 2025-07-03 14:31:31 +08:00
VertexAIService.ts Feat/vertex ai support (#6416) 2025-06-16 21:46:27 +08:00
WebDav.ts feat(restoreFromWebdav): make credentials and path optional (#6922) 2025-06-07 21:25:08 +08:00
WebviewService.ts fix(WebviewService): simplify user agent string modification by removing Chrome version replacement 2025-05-13 16:47:18 +08:00
WindowService.ts fix(WindowService): update default window dimensions to improve user experience (#7789) 2025-07-05 00:13:22 +08:00