Flrande
f79dfe837f
feat(editor): support preview mode in code block ( #11805 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a preview mode for code blocks, allowing users to toggle between code and rendered previews (e.g., HTML output) directly within the editor.
- Added a preview toggle button to the code block toolbar for supported languages.
- Enabled dynamic rendering of code block previews using a shared WebContainer, allowing live HTML previews in an embedded iframe.
- Added HTML preview support with loading and error states for enhanced user feedback.
- Integrated the preview feature as a view extension provider for seamless framework support.
- **Bug Fixes**
- Improved toolbar layout and button alignment for a cleaner user interface.
- **Tests**
- Added end-to-end tests to verify the new code block preview functionality and language switching behavior.
- **Chores**
- Updated development server configuration to include enhanced security headers.
- Added a new runtime dependency for WebContainer support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 09:14:12 +00:00
forehalo
4662ee8da7
chore: add crossorigin to resource tags ( #12031 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added the crossorigin attribute to all CSS and JavaScript tags in generated HTML, improving compatibility for cross-origin resource loading.
- **Tests**
- Updated tests to verify the presence of the crossorigin attribute in script tags.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-28 12:25:13 +00:00
forehalo
f4ffdb9995
build: allow node package depends on workspace packages ( #11963 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a unified CLI entry point for server operations and introduced a new CLI executable alias.
- Centralized and simplified server startup, allowing selection between CLI and server modes.
- Added static migration module aggregation for easier migration management.
- **Bug Fixes**
- Improved platform-specific native module loading for better compatibility and reliability.
- **Refactor**
- Streamlined server build, startup, and artifact management processes.
- Reorganized and simplified workflow and configuration files for backend services.
- Transitioned export styles and import mechanisms for native modules to enhance maintainability.
- **Chores**
- Removed unused dependencies and configuration files.
- Updated test cases to reflect refined server flavor logic.
- Adjusted package and build configurations for consistency and clarity.
- **Revert**
- Removed legacy scripts and loaders no longer needed after refactor.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 10:36:52 +00:00
liuyi
5d9a3aac5b
Revert "build: allow node package depends on workspace packages ( #11892 )"
...
This reverts commit c00671dd84 .
2025-04-23 19:24:51 +08:00
forehalo
c00671dd84
build: allow node package depends on workspace packages ( #11892 )
2025-04-23 10:04:59 +00:00
Brooooooklyn
bfd3c64615
test: add mutex to clipboard copy & paste operation to reduce flaky ( #11884 )
2025-04-22 11:02:30 +00:00
pengx17
8fdb00e0ab
fix(core): do not need to inline fonts ( #11880 )
...
The fonts are always loaded via url thus it is not needed to have fonts inlined. Inlining fonts will increase the size of bundled files.
2025-04-22 07:27:11 +00:00
liuyi
e79e4c9e9b
refactor(core): add version in worker url ( #11614 )
...
Co-authored-by: renovate <29139614+renovate@users.noreply.github.com >
2025-04-10 11:12:49 +00:00
liuyi
e376aa57c5
chore: bring treeshake back ( #11577 )
2025-04-10 14:12:36 +08: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
forehalo
c8d22d97d5
refactor: webpack config ( #11421 )
2025-04-03 11:55:56 +00:00
Brooooooklyn
d31e0c0e71
ci: run some optimize on CI e2e ( #11330 )
2025-03-31 15:23:21 +00:00
Brooooooklyn
47a8d15878
ci: start devServer before test running to avoid tests timeout ( #11297 )
2025-03-31 10:39:34 +00:00
forehalo
766383cb3a
chore: disable http proxy middleware log in ci ( #11238 )
2025-03-27 09:11:54 +00:00
pengx17
61c0d01da3
feat(electron): recording popups ( #11016 )
...
Added a recording popup UI for the audio recording feature in the desktop app, improving the user experience when capturing audio from applications.
### What changed?
- Created a new popup window system for displaying recording controls
- Added a dedicated recording UI with start/stop controls and status indicators
- Moved audio encoding logic from the main app to a dedicated module
- Implemented smooth animations for popup appearance/disappearance
- Updated the recording workflow to show visual feedback during recording process
- Added internationalization support for recording-related text
- Modified the recording status flow to include new states: new, recording, stopped, ready
fix AF-2340
2025-03-26 04:53:43 +00:00
Saul-Mirone
1d04438049
docs(editor): scaffolding docs generator ( #10925 )
2025-03-17 12:51:08 +00:00
DarkSky
88a3a2d13b
feat(server): self-hosted worker ( #10085 )
2025-02-12 08:01:57 +08:00
Brooooooklyn
10233f1dbf
fix(admin): migrate tailwindcss config to v4 ( #9940 )
2025-02-05 11:09:58 +00:00
pengx17
a1beb2aadb
fix(electron): sourcemap not loading for electron dev mode ( #9951 )
2025-02-05 08:34:57 +00:00
Saul-Mirone
d6bfb761fe
fix(editor): typecheck for tests and playground ( #9897 )
2025-01-27 02:00:09 +00:00
forehalo
42428fbf99
build: wrong keep classnames options ( #9750 )
2025-01-21 04:57:44 +00:00
EYHN
a2ffdb4047
feat(core): new worker workspace engine ( #9257 )
2025-01-16 16:22:18 +00:00
liuyi
3828144849
fix(server): disable checksum check for r2 storage when using aws-s3 sdk ( #9735 )
2025-01-16 11:47:50 +00:00
L-Sun
f7cbd21dd9
chore(debug): add vscode debug launch setting ( #9725 )
...
This PR allows vscode to add breakpoints to the editor's code.
2025-01-16 06:17:41 +00:00
forehalo
13d40e5f52
fix(tools): make cli available even conficts exist ( #9678 )
2025-01-14 09:31:24 +00:00
forehalo
5979907d96
fix(tools): always use posix for path resolving ( #9627 )
2025-01-13 02:40:13 +00:00
forehalo
c0ed74dfed
chore: standardize tsconfig ( #9568 )
2025-01-08 04:07:56 +00:00
liuyi
353eaf7fbe
chore: no mangle classnames for better debugging ( #9459 )
2024-12-31 07:22:38 +00:00
forehalo
67be1fb47f
fix(tools): import() requires file:// on windows ( #9373 )
2024-12-27 08:17:59 +00:00
liuyi
0af46c966d
chore(tools): add package selector to dev command ( #9328 )
2024-12-26 12:34:17 +00:00
liuyi
00980077c4
chore: standardize package references ( #9346 )
2024-12-26 19:08:42 +08:00
forehalo
2cc7bdfc77
fix(tools): patch monorepo tools ( #9285 )
2024-12-25 04:55:26 +00:00
doodlewind
20aca4d051
chore(tools): disable hmr by default ( #9286 )
2024-12-24 10:32:01 +00:00
liuyi
2443935830
chore: add monorepo tools ( #9196 )
2024-12-24 15:29:48 +08:00
pengx17
17c2293986
feat(core): open in app for self-hosted ( #9231 )
...
<div class='graphite__hidden'>
<div>🎥 Video uploaded on Graphite:</div>
<a href="https://app.graphite.dev/media/video/T2klNLEk0wxLh4NRDzhk/545994dd-6f7d-468d-a90c-45cb382fdb9d.mp4 ">
<img src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/T2klNLEk0wxLh4NRDzhk/545994dd-6f7d-468d-a90c-45cb382fdb9d.mp4 ">
</a>
</div>
<video src="https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/545994dd-6f7d-468d-a90c-45cb382fdb9d.mp4 ">20241222-1456-24.5006677.mp4</video>
fix AF-1815
2024-12-24 03:04:02 +00:00
forehalo
0a1fa8911f
refactor(server): better selfhost deployment ( #9036 )
2024-12-06 01:37:27 +00:00
pengx17
83c587f8ad
feat(core): at menu journal entries ( #8877 ) ( #8935 )
...
fix AF-1790
fix AF-1774
added `DateSelectorDialog` for selecting a date through blocksuite;
added `AtMenuConfigService` for constructing the at menu config
fix AF-1776
fix PD-1942
resubmitted to replace #8877
2024-11-27 03:08:11 +00:00
doodlewind
08ff619d47
chore(cli): enable accessing dev server by host name ( #8912 )
...
This PR is particularly useful for debugging mobile app (and any other personal devices for testing) via [Tailscale](https://tailscale.com/ ), since it allows accessing a stable hostname on phone, instead of typing in an unstable IP address.
Before:

After:

2024-11-25 06:58:14 +00:00
Brooooooklyn
c0f6a60a66
fix: migrate to standard import attributes ( #8803 )
2024-11-13 08:52:05 +00:00
Fangdun Tsai
f4abe39689
feat(core): pdf preview ( #8569 )
...
Co-authored-by: forehalo <forehalo@gmail.com >
2024-11-12 19:12:31 +08:00
forehalo
a776c1f82b
fix(core): unregister global error handler once app running ( #8659 )
...
close AF-1585
2024-11-01 08:11:35 +00:00
Cats Juice
06dda70319
feat(mobile): ios oauth & magic-link login ( #8581 )
...
Co-authored-by: EYHN <cneyhn@gmail.com >
2024-10-28 14:12:33 +08:00
forehalo
ff95f12d66
fix(core): handle global script error ( #8576 )
2024-10-22 07:49:48 +00:00
EYHN
6a9a7d8b39
fix(core): fix mobile edition flag ( #8571 )
2024-10-22 04:29:07 +00:00
forehalo
1ed9775c45
fix(core): global error handler should be registered outside webpack runtime ( #8556 )
2024-10-21 05:58:05 +00:00
EYHN
db374f7feb
feat(core): build config for ios android ( #8555 )
2024-10-21 05:39:04 +00:00
Brooooooklyn
714a87c2c0
feat(mobile): iOS app testflight ( #8501 )
2024-10-18 09:30:38 +00:00
liuyi
9b31183bd1
feat(core): add global error handler ( #8509 )
2024-10-18 14:34:13 +08:00
野声
f393f89a3f
fix(server): blank screen on mobile ( #8460 )
...
Co-authored-by: forehalo <forehalo@gmail.com >
2024-10-16 13:12:40 +08:00
renovate
e7ebe0f2c0
chore: bump up oxlint version to v0.9.10 ( #8354 )
...
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.9.6` -> `0.9.10`](https://renovatebot.com/diffs/npm/oxlint/0.9.6/0.9.10 ) | [](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>oxc-project/oxc (oxlint)</summary>
### [`v0.9.10`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.9.10 ): oxlint v0.9.10
[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.9.9...oxlint_v0.9.10 )
#### \[0.9.10] - 2024-10-08
- [`95ca01c`](https://redirect.github.com/oxc-project/oxc/commit/95ca01c ) cfg: \[**BREAKING**] Make BasicBlock::unreachable private ([#​6321](https://redirect.github.com/oxc-project/oxc/issues/6321 )) (DonIsaac)
- [`5a73a66`](https://redirect.github.com/oxc-project/oxc/commit/5a73a66 ) regular_expression: \[**BREAKING**] Simplify public APIs ([#​6262](https://redirect.github.com/oxc-project/oxc/issues/6262 )) (leaysgur)
##### Features
- [`f272137`](https://redirect.github.com/oxc-project/oxc/commit/f272137 ) editors/vscode: Clear diagnostics on file deletion ([#​6326](https://redirect.github.com/oxc-project/oxc/issues/6326 )) (dalaoshu)
- [`1a5f293`](https://redirect.github.com/oxc-project/oxc/commit/1a5f293 ) editors/vscode: Update VSCode extention to use project's language server ([#​6132](https://redirect.github.com/oxc-project/oxc/issues/6132 )) (dalaoshu)
- [`376cc09`](https://redirect.github.com/oxc-project/oxc/commit/376cc09 ) linter: Implement `no-throw-literal` ([#​6144](https://redirect.github.com/oxc-project/oxc/issues/6144 )) (dalaoshu)
- [`5957214`](https://redirect.github.com/oxc-project/oxc/commit/5957214 ) linter: Allow fixing in files with source offsets ([#​6197](https://redirect.github.com/oxc-project/oxc/issues/6197 )) (camchenry)
- [`a089e19`](https://redirect.github.com/oxc-project/oxc/commit/a089e19 ) linter: Eslint/no-else-return ([#​4305](https://redirect.github.com/oxc-project/oxc/issues/4305 )) (yoho)
- [`183739f`](https://redirect.github.com/oxc-project/oxc/commit/183739f ) linter: Implement prefer-await-to-callbacks ([#​6153](https://redirect.github.com/oxc-project/oxc/issues/6153 )) (dalaoshu)
- [`ae539af`](https://redirect.github.com/oxc-project/oxc/commit/ae539af ) linter: Implement no-return-assign ([#​6108](https://redirect.github.com/oxc-project/oxc/issues/6108 )) (Radu Baston)
##### Bug Fixes
- [`00df6e5`](https://redirect.github.com/oxc-project/oxc/commit/00df6e5 ) linter: Friendly diagnostic messages for `no-else-return` ([#​6349](https://redirect.github.com/oxc-project/oxc/issues/6349 )) (DonIsaac)
- [`71ad5d3`](https://redirect.github.com/oxc-project/oxc/commit/71ad5d3 ) linter: `no-else-return` fixer fails when `else` has no trailing whitespace ([#​6348](https://redirect.github.com/oxc-project/oxc/issues/6348 )) (DonIsaac)
- [`9e9808b`](https://redirect.github.com/oxc-project/oxc/commit/9e9808b ) linter: Fix regression when parsing ts in vue files ([#​6336](https://redirect.github.com/oxc-project/oxc/issues/6336 )) (Boshen)
- [`93c6db6`](https://redirect.github.com/oxc-project/oxc/commit/93c6db6 ) linter: Improve docs and diagnostics message for no-else-return ([#​6327](https://redirect.github.com/oxc-project/oxc/issues/6327 )) (DonIsaac)
- [`e0a3378`](https://redirect.github.com/oxc-project/oxc/commit/e0a3378 ) linter: Correct false positive in `unicorn/prefer-string-replace-all` ([#​6263](https://redirect.github.com/oxc-project/oxc/issues/6263 )) (H11)
- [`ea28ee9`](https://redirect.github.com/oxc-project/oxc/commit/ea28ee9 ) linter: Improve the fixer of `prefer-namespace-keyword` ([#​6230](https://redirect.github.com/oxc-project/oxc/issues/6230 )) (dalaoshu)
- [`f6a3450`](https://redirect.github.com/oxc-project/oxc/commit/f6a3450 ) linter: Get correct source offsets for astro files ([#​6196](https://redirect.github.com/oxc-project/oxc/issues/6196 )) (camchenry)
- [`be0030c`](https://redirect.github.com/oxc-project/oxc/commit/be0030c ) linter: Allow whitespace control characters in `no-control-regex` ([#​6140](https://redirect.github.com/oxc-project/oxc/issues/6140 )) (camchenry)
- [`e7e8ead`](https://redirect.github.com/oxc-project/oxc/commit/e7e8ead ) linter: False positive in `no-return-assign` ([#​6128](https://redirect.github.com/oxc-project/oxc/issues/6128 )) (DonIsaac)
##### Performance
- [`ac0a82a`](https://redirect.github.com/oxc-project/oxc/commit/ac0a82a ) linter: Reuse allocator when there are multiple source texts ([#​6337](https://redirect.github.com/oxc-project/oxc/issues/6337 )) (Boshen)
- [`50a0029`](https://redirect.github.com/oxc-project/oxc/commit/50a0029 ) linter: Do not concat vec in `no-useless-length-check` ([#​6276](https://redirect.github.com/oxc-project/oxc/issues/6276 )) (camchenry)
##### Documentation
- [`7ca70dd`](https://redirect.github.com/oxc-project/oxc/commit/7ca70dd ) linter: Add docs for `ContextHost` and `LintContext` ([#​6272](https://redirect.github.com/oxc-project/oxc/issues/6272 )) (camchenry)
- [`a949ecb`](https://redirect.github.com/oxc-project/oxc/commit/a949ecb ) linter: Improve docs for `eslint/getter-return` ([#​6229](https://redirect.github.com/oxc-project/oxc/issues/6229 )) (DonIsaac)
- [`14ba263`](https://redirect.github.com/oxc-project/oxc/commit/14ba263 ) linter: Improve docs for `eslint-plugin-import` rules ([#​6131](https://redirect.github.com/oxc-project/oxc/issues/6131 )) (dalaoshu)
##### Refactor
- [`40932f7`](https://redirect.github.com/oxc-project/oxc/commit/40932f7 ) cfg: Use IndexVec for storing basic blocks ([#​6323](https://redirect.github.com/oxc-project/oxc/issues/6323 )) (DonIsaac)
- [`642725c`](https://redirect.github.com/oxc-project/oxc/commit/642725c ) linter: Rename vars from `ast_node_id` to `node_id` ([#​6305](https://redirect.github.com/oxc-project/oxc/issues/6305 )) (overlookmotel)
- [`8413175`](https://redirect.github.com/oxc-project/oxc/commit/8413175 ) linter: Move shared function from utils to rule ([#​6127](https://redirect.github.com/oxc-project/oxc/issues/6127 )) (dalaoshu)
- [`ba9c372`](https://redirect.github.com/oxc-project/oxc/commit/ba9c372 ) linter: Make jest/vitest rule mapping more clear ([#​6273](https://redirect.github.com/oxc-project/oxc/issues/6273 )) (camchenry)
- [`82b8f21`](https://redirect.github.com/oxc-project/oxc/commit/82b8f21 ) linter: Add schemars and serde traits to AllowWarnDeny and RuleCategories ([#​6119](https://redirect.github.com/oxc-project/oxc/issues/6119 )) (DonIsaac)
- [`ea908f7`](https://redirect.github.com/oxc-project/oxc/commit/ea908f7 ) linter: Consolidate file loading logic ([#​6130](https://redirect.github.com/oxc-project/oxc/issues/6130 )) (DonIsaac)
- [`db751f0`](https://redirect.github.com/oxc-project/oxc/commit/db751f0 ) linter: Use regexp AST visitor in `no-control-regex` ([#​6129](https://redirect.github.com/oxc-project/oxc/issues/6129 )) (camchenry)
- [`3aa7e42`](https://redirect.github.com/oxc-project/oxc/commit/3aa7e42 ) linter: Use RegExp AST visitor for `no-hex-escape` ([#​6117](https://redirect.github.com/oxc-project/oxc/issues/6117 )) (camchenry)
- [`9d5b44a`](https://redirect.github.com/oxc-project/oxc/commit/9d5b44a ) linter: Use regex visitor in `no-regex-spaces` ([#​6063](https://redirect.github.com/oxc-project/oxc/issues/6063 )) (camchenry)
- [`0d44cf7`](https://redirect.github.com/oxc-project/oxc/commit/0d44cf7 ) linter: Use regex visitor in `no-useless-escape` ([#​6062](https://redirect.github.com/oxc-project/oxc/issues/6062 )) (camchenry)
- [`eeb8873`](https://redirect.github.com/oxc-project/oxc/commit/eeb8873 ) linter: Use regex visitor in `no-empty-character-class` ([#​6058](https://redirect.github.com/oxc-project/oxc/issues/6058 )) (camchenry)
##### Testing
- [`d883562`](https://redirect.github.com/oxc-project/oxc/commit/d883562 ) linter: Invalid `eslint/no-unused-vars` options ([#​6228](https://redirect.github.com/oxc-project/oxc/issues/6228 )) (DonIsaac)
### [`v0.9.9`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#099---2024-09-27 )
[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.9.8...oxlint_v0.9.9 )
##### Bug Fixes
- [`01b9c4b`](https://redirect.github.com/oxc-project/oxc/commit/01b9c4b ) npm/oxlint: Make bin/oxc_language_server an executable ([#​6066](https://redirect.github.com/oxc-project/oxc/issues/6066 )) (Boshen)
### [`v0.9.8`](https://redirect.github.com/oxc-project/oxc/releases/tag/oxlint_v0.9.8 ): oxlint v0.9.8
[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.9.7...oxlint_v0.9.8 )
#### \[0.9.8] - 2024-09-24
##### Bug Fixes
- [`e3c8a12`](https://redirect.github.com/oxc-project/oxc/commit/e3c8a12 ) linter: Fix panic in sort-keys ([#​6017](https://redirect.github.com/oxc-project/oxc/issues/6017 )) (Boshen)
- [`4771492`](https://redirect.github.com/oxc-project/oxc/commit/4771492 ) linter: Fix `import/no_cycle` with `ignoreTypes` ([#​5995](https://redirect.github.com/oxc-project/oxc/issues/5995 )) (Boshen)
##### Performance
- [`5ae3f36`](https://redirect.github.com/oxc-project/oxc/commit/5ae3f36 ) linter: `no-fallthrough`: Use string matching instead of Regex for default comment pattern ([#​6008](https://redirect.github.com/oxc-project/oxc/issues/6008 )) (camchenry)
- [`65d8f9e`](https://redirect.github.com/oxc-project/oxc/commit/65d8f9e ) linter, ast-tools, coverage: Use `FxHashSet` instead of `std::collections::HashSet` ([#​6001](https://redirect.github.com/oxc-project/oxc/issues/6001 )) (Cam McHenry)
- [`2b17003`](https://redirect.github.com/oxc-project/oxc/commit/2b17003 ) linter, prettier, diagnostics: Use `FxHashMap` instead of `std::collections::HashMap` ([#​5993](https://redirect.github.com/oxc-project/oxc/issues/5993 )) (camchenry)
### [`v0.9.7`](https://redirect.github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#097---2024-09-23 )
[Compare Source](https://redirect.github.com/oxc-project/oxc/compare/oxlint_v0.9.6...oxlint_v0.9.7 )
##### Refactor
- [`ba7b01f`](https://redirect.github.com/oxc-project/oxc/commit/ba7b01f ) linter: Add `LinterBuilder` ([#​5714](https://redirect.github.com/oxc-project/oxc/issues/5714 )) (DonIsaac)
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2024-10-11 10:13:38 +00:00