Compare commits

..

2139 Commits

Author SHA1 Message Date
Tim 07c6b53f82 docs: document redis and rabbitmq setup 2025-09-18 17:48:32 +08:00
Tim 930a861ba6 Merge pull request #1002 from nagisa77/feature/CONTRIBUTING_openAPI
feat: CONTRIBUTING.md 新增 OpenAPI 介绍 #923
2025-09-18 17:36:48 +08:00
Tim 1f4e1dea75 feat: CONTRIBUTING.md 新增 OpenAPI 介绍 #923 2025-09-18 17:36:00 +08:00
Tim bc617837be Merge pull request #1001 from smallclover/main
menu追加选中状态
2025-09-18 15:52:31 +08:00
wang.shun 17e4862eaf menu追加选中状态 2025-09-18 15:03:50 +08:00
Tim 72b2b82e02 fix: 后端代码格式化 2025-09-18 14:42:25 +08:00
Tim 70f7442f0c fix: test commit 2025-09-18 14:31:22 +08:00
Tim 2b2deb8f66 Merge pull request #998 from nagisa77/codex/add-format-hook-for-backend
chore: add backend formatting to husky
2025-09-18 14:27:18 +08:00
Tim 0a7a433bc6 Merge pull request #1000 from nagisa77/feature/lottery_post_bugfix
fix: 抽奖贴无法看见参与人员 #999
2025-09-18 10:44:39 +08:00
Tim b64f9ef1f6 fix: 抽奖贴无法看见参与人员 #999 2025-09-18 10:43:55 +08:00
Tim f22ca9cdcd chore: format backend via husky 2025-09-18 00:07:46 +08:00
Tim d26b96ebd1 Merge pull request #997 from nagisa77/codex/add-placeholder-for-no-comments
feat: show placeholder when timeline empty
2025-09-17 21:20:59 +08:00
Tim 13cc981421 feat: show placeholder when timeline empty 2025-09-17 21:19:36 +08:00
Tim efc8589ca0 Merge pull request #996 from nagisa77/codex/implement-reaction-group-gradient-sorting-zszqdc
feat: sort reactions by popularity
2025-09-17 20:58:31 +08:00
Tim 940690889c feat: sort reactions by popularity 2025-09-17 20:36:18 +08:00
Tim d46420ef81 Merge pull request #993 from nagisa77/codex/fix-compilation-error-in-postservicetest
Fix PostServiceTest constructor parameters
2025-09-17 14:23:44 +08:00
Tim b36b5b59dc Fix PostServiceTest constructor parameters 2025-09-17 14:23:27 +08:00
Tim cf96806f80 Merge pull request #979 from sivdead/optimize-post-list-n+1
主页列表接口优化,优化帖子评论统计性能
2025-09-17 14:17:31 +08:00
Tim 3d0d0496b6 fix: comment count 放在last_reply_at后更新,确保数据正确 2025-09-17 14:16:49 +08:00
Tim f67e220894 fix: 旧帖子的last_reply_at也要及时更新(仅一次) 2025-09-17 14:14:55 +08:00
Tim 9306e35b84 Merge remote-tracking branch 'origin/main' into pr-979 2025-09-17 13:49:34 +08:00
Tim d2268a1944 Merge pull request #971 from smallclover/main
缓存功能追加
2025-09-17 13:43:40 +08:00
Tim 6baa4d4233 fix: 简单调整按钮格式 2025-09-17 13:37:52 +08:00
Tim ef9d90455f Merge pull request #991 from nagisa77/codex/fix-foreign-key-constraint-error-on-deletepost-mrgsx4
Delete post change logs before removing posts
2025-09-17 13:31:31 +08:00
Tim 5d499956d7 Delete post change logs before removing posts 2025-09-17 13:30:58 +08:00
Tim 9101ed336c Merge pull request #990 from nagisa77/codex/fix-foreign-key-constraint-error-on-deletepost-1xt4ec
Fix foreign key failures when deleting posts
2025-09-17 12:29:25 +08:00
Tim 28e3ebb911 Handle point history cleanup when deleting posts 2025-09-17 12:29:09 +08:00
Tim e93e33fe43 Revert "Handle point history cleanup when deleting posts"
This reverts commit b4a811ff4e.
2025-09-17 12:27:07 +08:00
Tim 0ebeccf21e Merge branch 'pr-971' of github.com:nagisa77/OpenIsle into pr-971 2025-09-17 12:23:40 +08:00
Tim 89842b82e9 fix: 文章缓存修改为 10 min 2025-09-17 12:23:20 +08:00
Tim 58594229f2 Merge pull request #989 from nagisa77/codex/fix-foreign-key-constraint-error-on-deletepost
Handle point history cleanup when deleting posts
2025-09-17 12:21:34 +08:00
Tim b4a811ff4e Handle point history cleanup when deleting posts 2025-09-17 12:21:17 +08:00
Tim 7067630bcc fix: 验证码部分验证完毕,提交小修改 2025-09-17 12:06:02 +08:00
Tim b28e8d4bc9 Merge pull request #988 from nagisa77/codex/update-post_cache_name-to-handle-pagination
Fix post cache keys to include pagination parameters
2025-09-17 11:53:05 +08:00
Tim 063866cc3a Fix post cache keys to include pagination 2025-09-17 11:52:42 +08:00
Tim 6f968d16aa fix: 处理首屏返回空的问题 2025-09-17 11:41:35 +08:00
夢夢の幻想郷 6db969cc4d Update deploy-staging.yml
只有主仓库的时候才执行
2025-09-15 11:30:37 +08:00
wangshun 6ea9b4a33c 修复问题#927,#860
1.优化评论请求,将两个请求合并为一个
2.修改个人主页按钮的主次
2025-09-15 11:23:31 +08:00
夢夢の幻想郷 bcfc40d795 Merge branch 'nagisa77:main' into main 2025-09-15 09:38:18 +08:00
Tim c5c7066b92 fix: ci 问题 2025-09-13 11:20:21 +08:00
夢夢の幻想郷 51b73fcc93 Merge branch 'nagisa77:main' into main 2025-09-12 17:07:57 +08:00
Tim da181b9d6d Merge pull request #980 from nagisa77/feature/tag_height
fix: tags height
2025-09-12 14:27:41 +08:00
tim 134e3fc866 fix: tags height 2025-09-12 14:27:01 +08:00
tim c3758cafe8 fix: 修复内容绑定问题 2025-09-12 13:42:03 +08:00
sivdead 1a21ba8935 feat(posts): 优化帖子评论统计性能
- 在 Post 模型中添加 commentCount 和 lastReplyAt 字段
- 在 CommentService 中实现更新帖子评论统计的方法
- 在 PostMapper 中使用 Post 模型中的评论统计字段
- 新增数据库迁移脚本,添加评论统计字段和索引
- 更新相关测试用例
2025-09-12 11:08:59 +08:00
Tim a397ebe79b Merge pull request #978 from nagisa77/codex/fix-image-preview-trigger-in-markdown
fix: restrict image preview to markdown images
2025-09-12 10:50:45 +08:00
Tim abbdb224e0 fix: restrict image preview to markdown images 2025-09-12 10:50:15 +08:00
Tim f4fb3b2544 Merge pull request #976 from nagisa77/codex/remove-ffmpeg-dependency-and-functionality
chore: remove ffmpeg video compression
2025-09-12 10:46:39 +08:00
Tim ae2412a906 Merge pull request #977 from nagisa77/feature/command_load
fix: 评论后--需要刷新帖子内容 #939
2025-09-12 10:46:29 +08:00
Tim d8534fb94d fix: 评论后--需要刷新帖子内容 #939 2025-09-12 10:43:06 +08:00
Tim 6497cb92af chore: remove ffmpeg video compression 2025-09-12 10:41:48 +08:00
Tim 37bef0b2d7 fix: remove 依赖 2025-09-12 10:15:17 +08:00
Tim 3519a41a2e Merge pull request #975 from nagisa77/feature/ffmpeg_load
Feature/ffmpeg load
2025-09-11 19:12:16 +08:00
tim ab04a8b6b1 fix: ffmpeg 压缩适配 2025-09-11 19:10:14 +08:00
tim ea079e8b8a fix: 简化ffmpeg配置 2025-09-11 18:36:47 +08:00
Tim 519656359f Merge pull request #974 from 4twocc/feat/message-box-shortcut
feat(MessageEditor): 添加发送消息的快捷键支持
2025-09-11 17:56:22 +08:00
jiahaosheng dc64785279 feat: rename is.js to device.js 2025-09-11 17:53:08 +08:00
jiahaosheng 9421d004d4 feat(MessageEditor): 添加发送消息的快捷键支持 2025-09-11 17:27:54 +08:00
tim 90bd41e740 Revert "feat: switch video compression to webcodecs"
This reverts commit 3f35add587.
2025-09-11 17:20:08 +08:00
Tim 7d5c864f64 Merge pull request #973 from nagisa77/codex/switch-video-upload-to-webcodec-and-mp4box.js-bkkx49
feat: replace ffmpeg with WebCodecs and MP4Box.js
2025-09-11 17:02:08 +08:00
Tim 3f35add587 feat: switch video compression to webcodecs 2025-09-11 17:01:54 +08:00
wangshun 37c4306010 缓存功能追加
1.最新回复列表
2.最新列表
2025-09-11 15:29:24 +08:00
Tim 1e284e15df Merge pull request #970 from sivdead/feat/video_upload_and_compress
feat(frontend/vditor): 实现基于 FFmpeg.wasm 的视频压缩功能
2025-09-11 12:54:12 +08:00
sivdead 9d76926b8a feat(frontend/vditor): 实现基于 FFmpeg.wasm 的视频压缩功能
- 添加视频压缩相关配置和工具函数
- 实现 FFmpeg.wasm 初始化和视频压缩功能
- 优化文件上传流程,支持视频文件压缩
2025-09-11 10:05:50 +08:00
tim d2ce203236 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-09-10 18:13:16 +08:00
tim b2228296af fix: hover 新增动画 2025-09-10 18:13:04 +08:00
Tim 7020ae19d0 Merge pull request #968 from smallclover/main
追加快捷键
2025-09-10 18:09:18 +08:00
tim 227fb6f6cc fix: 首页padding修改 2025-09-10 18:07:22 +08:00
wangshun 0e46a67ea6 评论追加快捷键
1.手机时不显示icon,且快捷键不起用
2.电脑端适配win和mac
2025-09-10 18:01:07 +08:00
wangshun b20b705e46 添加快捷键
+ 不是手机的情况下不启用快捷键
2025-09-10 17:44:53 +08:00
夢夢の幻想郷 4b3ffbab99 Merge branch 'nagisa77:main' into main 2025-09-10 17:43:40 +08:00
tim 74039c89f9 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-09-10 17:42:32 +08:00
tim 10dca73d2f fix: 新增本地GitHub调试 2025-09-10 17:42:19 +08:00
wangshun e37ed1b70b 评论追加快捷键
ps:schedule包名拼写错误修正
2025-09-10 15:40:49 +08:00
Tim 8500a7a914 Merge pull request #965 from nagisa77/feature/homepage_ui
fix: 首页banner和帖子之间间距可以大一些 #849
2025-09-10 14:00:19 +08:00
Tim 3adf722b3b fix: 首页banner和帖子之间间距可以大一些 #849 2025-09-10 13:58:11 +08:00
Tim 791e5a4daf Merge pull request #964 from nagisa77/feature/change-log-ui
fix: changelog--文章内容更新 移动端适配 #937
2025-09-10 12:50:11 +08:00
tim 7d25e87fbc fix: changelog--文章内容更新 移动端适配 #937 2025-09-10 12:47:09 +08:00
Tim d02c316a70 Merge pull request #963 from nagisa77/codex/fix-log-usage-with-slf4j
refactor: replace console prints with slf4j logging
2025-09-10 12:01:43 +08:00
Tim c189c80c05 refactor: replace console prints with slf4j logging 2025-09-10 12:01:15 +08:00
Tim 07db73c9c7 Merge pull request #959 from nagisa77/codex/fix-chat-markdown-rendering-issues
feat: enhance chat markdown and editor
2025-09-09 21:20:49 +08:00
tim c296e25927 fix: 聊天UI优化 #957 2025-09-09 21:02:59 +08:00
Tim 61fc9d799d feat(chat): improve markdown and editor 2025-09-09 20:03:22 +08:00
Tim 20c6c73f8c Merge pull request #954 from smallclover/main
用户访问统计使用缓存+定时任务
2025-09-09 19:35:45 +08:00
Tim 81d1f79aae Merge pull request #958 from WoJiaoFuXiaoYun/main
fix: 修复发帖框/修改框边缘不对齐的case
2025-09-09 19:35:18 +08:00
WangHe 4ff76d2586 fix: 修复发帖框/修改框边缘不对齐的case 2025-09-09 17:16:18 +08:00
Tim f24bc239cc Update CONTRIBUTING.md 2025-09-09 16:49:49 +08:00
Tim 143691206d Merge pull request #955 from nagisa77/codex/add-openapi-annotations-to-controller-methods
doc: add OpenAPI annotations to demo controllers
2025-09-09 16:37:47 +08:00
Tim 15ad85e6f1 doc: add OpenAPI annotations to remaining controllers 2025-09-09 16:37:08 +08:00
wangshun 843e53143d 用户访问统计使用缓存+定时任务
+ 重要:注释的地方如果没用到@nagisa77可以删除
2025-09-09 16:31:59 +08:00
Tim 16c94690bd fix: 未登录UI适配 2025-09-09 15:58:50 +08:00
Tim 5be00e7013 Merge pull request #952 from nagisa77/codex/modify-about-page-with-new-tab
feat: add API debug tab and query param navigation for about page
2025-09-09 15:49:57 +08:00
Tim 1e0f62b421 fix: 正式环境/预发环境切换为英文 2025-09-09 15:40:55 +08:00
Tim a3201f05fb fix: share icon 2025-09-09 15:39:08 +08:00
Tim 62cccb794d Merge pull request #953 from nagisa77/codex/fix-compilation-errors-in-postservice
Fix PostServiceTest constructor with RedisTemplate mock
2025-09-09 15:32:22 +08:00
Tim afa0c7fb8f test: update PostServiceTest for redis template 2025-09-09 15:32:03 +08:00
Tim da311806c1 feat: add API tab to about page 2025-09-09 15:04:49 +08:00
Tim 1852f87341 Merge pull request #951 from nagisa77/codex/update-openapi-servers-configuration
feat: allow configuring multiple OpenAPI servers
2025-09-09 15:03:43 +08:00
Tim 7010e8a058 feat: allow configuring multiple openapi servers 2025-09-09 15:03:25 +08:00
Tim 38ee37d5be Merge pull request #946 from smallclover/main 2025-09-09 14:29:06 +08:00
Tim e398d8e989 Merge pull request #949 from nagisa77/codex/remove-/docs/-prefix-from-url-uh7skh
feat(docs): remove /docs URL prefix
2025-09-09 14:03:20 +08:00
Tim 85e77c265e feat(docs): remove /docs prefix 2025-09-09 14:03:04 +08:00
tim 8abdc73497 Revert "feat(docs): remove path prefix"
This reverts commit 09cefbedbf.
2025-09-09 14:02:23 +08:00
Tim 747d9c07d1 Merge pull request #948 from nagisa77/codex/remove-/docs/-prefix-from-url-3n0gdr
feat(docs): serve documentation from root
2025-09-09 13:48:51 +08:00
Tim 09cefbedbf feat(docs): remove path prefix 2025-09-09 13:48:26 +08:00
tim d772bc182f fix: 允许自建OpenAPI地址 2025-09-09 13:46:25 +08:00
tim 358c53338d Revert "fix: 新增检查"
This reverts commit 1cd89eaa54.
2025-09-09 13:23:30 +08:00
wangshun 2110980797 控制用户发帖频率 2025-09-09 13:23:14 +08:00
tim 1cd89eaa54 fix: 新增检查 2025-09-09 13:16:52 +08:00
tim 1d2e7eb96e Revert "Update deploy-docs.yml"
This reverts commit 4428e06f1d.
2025-09-09 13:10:46 +08:00
Tim 4428e06f1d Update deploy-docs.yml 2025-09-09 13:03:08 +08:00
Tim dddff54556 Update README.md 2025-09-09 12:18:10 +08:00
Tim e7f7bbac22 Update README.md 2025-09-09 12:17:49 +08:00
Tim 37aae4ba5c Update README.md 2025-09-09 12:17:24 +08:00
Tim 54cfc98336 Merge pull request #945 from nagisa77/codex/fix-server-url-in-api-docs
Add configurable OpenAPI server URL
2025-09-09 12:12:41 +08:00
Tim d42d38ff7a Add configurable OpenAPI server URL 2025-09-09 12:12:10 +08:00
Tim 2b4601bd4b Update CONTRIBUTING.md 2025-09-09 11:56:15 +08:00
Tim 5071d9c6d5 Merge pull request #944 from nagisa77/codex/fix-api-docs-base-url-to-use-https
docs: use https for OpenAPI base URL
2025-09-09 11:48:53 +08:00
Tim cfaa4cd094 Update application.properties 2025-09-09 11:48:42 +08:00
Tim fc414794ff docs: use https for openapi base url 2025-09-09 11:48:07 +08:00
Tim d8264956c3 Merge pull request #943 from nagisa77/codex/fix-invalid-workflow-permissions-in-deploy-staging.yml
fix: grant write permissions for docs deployment
2025-09-09 11:30:28 +08:00
Tim effa7f25ca fix: grant write permissions for docs deployment 2025-09-09 11:30:11 +08:00
Tim 9b19fae69a Merge pull request #942 from nagisa77/codex/resolve-conflict-between-deploy-staging-and-deploy-docs
Run docs deployment after staging deploy
2025-09-09 11:06:39 +08:00
Tim ec04f64ce1 chore: trigger docs deployment after staging 2025-09-09 11:06:16 +08:00
Tim 50bea76c0e Merge pull request #940 from nagisa77/codex/adjust-diff2html-font-for-mobile-ui
style: adjust diff2html fonts on mobile
2025-09-09 00:33:58 +08:00
tim 05522fcdc7 fix: 修改分割线颜色 2025-09-09 00:32:17 +08:00
tim 3820eaa774 fix: changlog--移动端支持换行 #938 2025-09-09 00:23:53 +08:00
Tim 7effaf920a style: adjust diff2html fonts on mobile 2025-09-08 23:48:32 +08:00
Tim e40a6a3ca9 Merge pull request #935 from smallclover/main
redis功能-注册找回密码
2025-09-08 17:14:04 +08:00
Tim 7c9475cfe2 Merge pull request #936 from nagisa77/codex/fix-compilation-issues-in-postservicetest
test: add PostChangeLogService to PostService tests
2025-09-08 15:42:20 +08:00
Tim 17929dd95d test: add PostChangeLogService to PostService tests 2025-09-08 15:42:08 +08:00
Tim f478b55538 Merge pull request #924 from nagisa77/codex/add-article-metadata-change-logging
Track post metadata changes and display in timeline
2025-09-08 15:35:44 +08:00
Tim c58c14f9b7 feat: 设置system的icon+role 2025-09-08 15:35:09 +08:00
Tim 990d7cfbf9 fix: 投票结果UI 2025-09-08 15:32:57 +08:00
wangshun 43fa408f46 redis功能-注册找回密码
+ 注册功能,验证码使用缓存,五分钟过期
+ 重置密码,验证码使用缓存,五分钟过期
2025-09-08 15:23:52 +08:00
Tim eb860a74af Merge pull request #934 from nagisa77/codex/add-system-user-for-vote-and-lottery-results
Create system user for internal logging
2025-09-08 15:21:30 +08:00
Tim b3d050b42e Add system user and log attribution 2025-09-08 15:19:17 +08:00
Tim db678a95c6 Merge pull request #933 from nagisa77/codex/call-recordlotteryresult-and-recordvoteresult
feat: log poll and lottery results
2025-09-08 15:00:30 +08:00
Tim 6d66cb48dc feat: log poll and lottery results 2025-09-08 15:00:15 +08:00
Tim 1fe2994743 fix: 适配分类/tags ui 2025-09-08 14:56:44 +08:00
Tim 126b10ce45 Merge pull request #932 from nagisa77/codex/update-changelog-to-return-dto-format-rnzqgd
Expose category and tag changes as DTOs
2025-09-08 14:46:09 +08:00
Tim 3b1843b6dd Return category and tag change logs as DTOs 2025-09-08 14:45:47 +08:00
Tim 6a5d00f086 Revert "Return structured category and tag data in change logs"
This reverts commit fe167aa0b9.
2025-09-08 14:44:08 +08:00
Tim 06368a6cf1 Merge pull request #931 from nagisa77/codex/add-dark-mode-support-for-diff2html
feat: enable dark mode for diff2html
2025-09-08 14:29:01 +08:00
Tim c38e4bc44c feat: enable dark mode for diff2html 2025-09-08 14:28:42 +08:00
Tim e9f25d3b1a Merge pull request #930 from nagisa77/codex/update-changelog-to-return-dto-format
Return structured category and tag data in change logs
2025-09-08 14:27:36 +08:00
Tim fe167aa0b9 Return structured category and tag data in change logs 2025-09-08 14:27:18 +08:00
Tim f3421265d2 fix: 修改changelog UI 2025-09-08 14:02:47 +08:00
Tim f4817cd6d1 Merge pull request #929 from nagisa77/codex/add-user-avatar-return-in-changelog
feat: expand post change log details
2025-09-08 13:54:51 +08:00
Tim 5ae0f9311c feat: add result change log entities 2025-09-08 13:54:35 +08:00
Tim 567452f570 feat: 标题/内容变化的ui 2025-09-08 13:46:22 +08:00
Tim bb4e866bd0 Merge pull request #928 from nagisa77/codex/add-content-change-details-rendering
feat(frontend): render diff for content changes
2025-09-08 13:22:44 +08:00
Tim 24d0da0864 feat(frontend): render diff for content changes 2025-09-08 13:22:25 +08:00
Tim 9b53479ab6 feat: changelog前端ui优化 2025-09-08 13:04:14 +08:00
Tim 039d482517 Add post change log tracking 2025-09-08 11:27:35 +08:00
Tim 7cc32c36b1 Merge pull request #922 from nagisa77/feature/chat_ui
fix: revert 100vh 修改
2025-09-08 10:44:12 +08:00
tim 2288522372 fix: revert 100vh 修改 2025-09-08 10:43:52 +08:00
Tim a2b72d7c00 Merge pull request #921 from nagisa77/feature/chat_ui
Chat UI update
2025-09-08 00:17:34 +08:00
Tim a6d8add5fa Merge pull request #920 from nagisa77/codex/integrate-real-data-for-new-message-container
feat: add floating new message indicator
2025-09-07 23:57:21 +08:00
Tim ad481cffca feat: add floating new message indicator 2025-09-07 23:57:06 +08:00
Tim ce213d4c24 Merge pull request #918 from nagisa77/feature/menu_select_state
Some UI fixes~
2025-09-07 23:51:22 +08:00
tim 68a82fa2ec fix: 回复ui 2025-09-07 23:50:11 +08:00
tim cab8cd06dc fix: 频道聊天,点击写个回复没反应,点击小箭头才行 #916 2025-09-07 22:46:55 +08:00
Tim b77a96938a Merge pull request #915 from nagisa77/feature/article_ui_fix
Article UI fixes
2025-09-07 14:14:56 +08:00
tim 1c28201cb8 fix: 侧边栏收起打开 有引导 #848 2025-09-07 14:13:48 +08:00
tim 0e26758585 fix: 首页帖子padding 写为15px 2025-09-07 14:10:04 +08:00
tim 786e60e8e5 fix: 帖子元素 -- 上下间距一样 #846 2025-09-07 14:08:37 +08:00
Tim df4a707e3a Merge pull request #914 from nagisa77/feature/article_ui_fix
Article UI Fixes
2025-09-07 13:58:42 +08:00
tim d94302635a fix: 生产环境新增www 2025-09-07 13:58:22 +08:00
tim 9519f66474 fix: 首页帖子padding可以大一些 比如 20px #845 2025-09-07 13:43:40 +08:00
Tim 14ee5faa1f Merge pull request #913 from nagisa77/feature/sidebar-logic
fix: 更新分类选择
2025-09-07 13:38:56 +08:00
tim 92ba475f3b fix: 更新分类选择 2025-09-07 13:38:09 +08:00
Tim 2eebc1c004 Merge pull request #911 from nagisa77/feature/sidebar-logic
feat: 侧边栏按钮样式逻辑修改
2025-09-07 13:23:05 +08:00
tim 6fffdb0fd6 feat: 侧边栏按钮样式逻辑修改 2025-09-07 13:20:53 +08:00
Tim 135a6b8c51 Merge pull request #910 from nagisa77/codex/analyze-and-refactor-case
Fix point history balance recalculation
2025-09-07 12:48:04 +08:00
Tim c43e4b85bc Test recalculation updates balance 2025-09-07 12:47:44 +08:00
Tim fb3a2839db Merge pull request #909 from Linindoo/main
修复纯数字用户名的用户个人首页 404 问题(注册和修改校验用户名不能为纯数字)
2025-09-07 11:14:40 +08:00
tim db8c896b71 fix: empty commit 2025-09-06 21:49:28 +08:00
Tim 2a090442cc Merge pull request #906 from nagisa77/codex/fix-unsatisfied-dependencies-in-services
Fix Resend email environment variable placeholder
2025-09-06 21:44:49 +08:00
Tim aa86909598 Fix resend from email env placeholder 2025-09-06 21:44:36 +08:00
Tim 5eb1416c6b Merge pull request #885 from nagisa77/codex/separate-redis-databases-for-environments
feat: allow redis database override
2025-09-06 21:32:02 +08:00
Tim 7320df6d20 Merge pull request #905 from nagisa77/codex/set-redis-tags-sync-interval-to-1-hour
feat: refresh tag and category caches hourly
2025-09-06 21:30:15 +08:00
Tim 9406bf3392 feat: refresh tag and category caches hourly 2025-09-06 21:28:52 +08:00
Tim ccaada8f4e Merge pull request #889 from nagisa77/feature/icon_park
feature: 图标迁移为字节系IconPark
2025-09-06 21:09:52 +08:00
tim 5738ce75e8 fix: 修改当前在线人数icon 2025-09-06 21:09:13 +08:00
tim 0cf3e8c0f8 Merge remote-tracking branch 'origin/main' into feature/icon_park 2025-09-06 21:05:52 +08:00
Tim e2d16845f5 Merge pull request #904 from nagisa77/codex/adapt-points.vue-to-iconpark
chore: use iconpark icons in points page
2025-09-06 21:02:31 +08:00
Tim cb531d1337 chore: use iconpark icons in points page 2025-09-06 21:02:14 +08:00
Tim b538f99082 Merge pull request #903 from nagisa77/codex/adapt-iconpark-in-users-page
chore: migrate user page icons to IconPark
2025-09-06 21:01:36 +08:00
Tim ba5f0148af chore: migrate user page icons to IconPark 2025-09-06 21:01:22 +08:00
Tim 7dc9903060 Merge pull request #888 from smallclover/main
功能追加:显示在线人数
2025-09-06 21:00:25 +08:00
Tim 337e7ca43f Merge pull request #891 from palmcivet/docs/fumadocs
docs: 使用 Fumadocs 部署 Open API 文档
2025-09-06 21:00:01 +08:00
Tim cc333e4bca Merge pull request #902 from mewhz/main
📝 配置文件与部署文档多处修改
2025-09-06 20:59:09 +08:00
mewhz 9e4ad29c7f 🔧 配置文件和部署文档新增 resend 邮箱服务 2025-09-06 15:16:02 +08:00
mewhz 49092780e3 🔧 修改前端配置文件与环境变量 2025-09-06 14:48:17 +08:00
mewhz 6570cfd677 📝 环境变量和部署文档新增 Redis 部分 2025-09-06 14:41:15 +08:00
mewhz 1b3bd27655 📝 新增文档中用户名密码与其他说明 2025-09-06 14:24:38 +08:00
tim cfe24b5e8e fix: 修改为小写拼写 2025-09-06 13:55:13 +08:00
Tim 52633c8073 Merge pull request #901 from nagisa77/codex/adapt-notification.js-for-iconpark
refactor: switch notification icons to iconpark
2025-09-06 13:50:52 +08:00
Tim 4802c78156 refactor: switch notification icons to iconpark 2025-09-06 13:50:39 +08:00
Tim cf2299f9bf Merge pull request #900 from nagisa77/codex/adapt-tagselect-for-iconpark
feat: adapt TagSelect to IconPark icons
2025-09-06 11:50:52 +08:00
Tim f03bf92641 feat: adapt TagSelect to IconPark icons 2025-09-06 11:50:38 +08:00
Tim 8bb9c3e3d9 Merge pull request #899 from nagisa77/codex/adapt-searchdropdown-to-iconpark
refactor: replace font awesome with iconpark in search dropdown
2025-09-06 11:48:40 +08:00
Tim 8c554465f6 refactor: replace font awesome with iconpark in search dropdown 2025-09-06 11:48:22 +08:00
tim 05d56df44e fix 2025-09-06 11:47:18 +08:00
Tim 5b0cbe8ce9 Merge pull request #898 from nagisa77/codex/adapt-basetimeline-for-icon-park
Adapt BaseTimeline for IconPark icons
2025-09-06 11:44:42 +08:00
Tim 140d33d024 feat: support IconPark icons in BaseTimeline 2025-09-06 11:44:13 +08:00
tim 6ad7e951fe feat: add few icons 2025-09-06 11:25:44 +08:00
Tim da47d37dc5 Merge pull request #897 from nagisa77/codex/adapt-dropdown.vue-to-iconpark-6m72wf
feat: integrate icon park in dropdown
2025-09-06 10:10:06 +08:00
Tim 6293f572d8 feat: integrate icon park in dropdown 2025-09-06 10:09:55 +08:00
tim 94f4792a32 Revert "feat: switch dropdown icons to IconPark"
This reverts commit 7421ec8984.
2025-09-06 10:09:20 +08:00
Tim 069f4bb8c1 Merge pull request #896 from nagisa77/codex/adapt-dropdown.vue-to-iconpark-qtb5fv
feat: switch dropdown icons to IconPark
2025-09-06 10:08:00 +08:00
Tim 7421ec8984 feat: switch dropdown icons to IconPark 2025-09-06 10:07:42 +08:00
tim 90b9d75da2 fix: baseplaceholder修改 2025-09-06 02:05:29 +08:00
Tim d69b094a7b Merge pull request #894 from nagisa77/codex/migrate-components-to-iconpark
refactor: migrate placeholders to IconPark
2025-09-06 02:02:51 +08:00
Tim 67d80a4edd Merge branch 'feature/icon_park' into codex/migrate-components-to-iconpark 2025-09-06 02:02:39 +08:00
Tim 78498c0ac3 refactor: migrate placeholders to IconPark 2025-09-06 02:02:02 +08:00
tim 47c997ad22 fix: baseinput 适配icon 2025-09-06 02:00:58 +08:00
tim 2cd220e8eb Merge branch 'feature/icon_park' of github.com:nagisa77/OpenIsle into feature/icon_park
# Conflicts:
#	frontend_nuxt/plugins/iconpark.client.ts
2025-09-06 01:57:05 +08:00
tim 8023fa1810 feat: add few icons 2025-09-06 01:56:21 +08:00
Tim 04b1b32b9c Merge pull request #893 from nagisa77/codex/migrate-baseinput-components-to-iconpark
feat(frontend): migrate BaseInput to IconPark
2025-09-06 01:56:05 +08:00
Tim f5d8f37f96 feat(frontend): migrate BaseInput to IconPark 2025-09-06 01:55:50 +08:00
Tim 4a4c256568 Merge pull request #892 from nagisa77/codex/adapt-basetabs-to-use-iconpark
feat: use iconpark in base tabs
2025-09-06 01:42:43 +08:00
Tim 3bb14ca6a3 feat: use iconpark in base tabs 2025-09-06 01:42:15 +08:00
Palm Civet 080ec97943 fix: conditional overview 2025-09-06 01:25:39 +08:00
Palm Civet 29232afadc docs: 引入 Fumadocs
ci: set up github actions
2025-09-06 01:10:52 +08:00
Tim 4ed679c4f4 Merge pull request #890 from nagisa77/codex/adapt-menucomponent-and-headercomponent-for-iconpark
refactor: support iconpark in menu and header
2025-09-05 22:22:18 +08:00
Tim 50848e0da1 refactor: support iconpark in menu and header 2025-09-05 22:20:46 +08:00
tim 51819913a0 feat: user info page 2025-09-05 22:18:57 +08:00
tim 741bd115d5 feat: add few icons 2025-09-05 22:11:14 +08:00
Tim d13ee2257f feat: 表情新增 2025-09-05 18:01:38 +08:00
Tim 06dea47bec feat: 引入iconpark并修改部分icon 2025-09-05 17:48:41 +08:00
wangshun dbd322807d 功能追加:显示在线人数 2025-09-05 16:24:09 +08:00
Tim f89a17f14d Merge pull request #887 from nagisa77/feature/lottery_ui
fix: 抽奖右上角统一文字icon颜色以及间距 #871
2025-09-05 15:33:51 +08:00
Tim ac433d6a45 fix: 抽奖右上角统一文字icon颜色以及间距 #871 2025-09-05 15:32:53 +08:00
zhoujia 5534573a19 创建和更新用户名校验增加校验,不允许纯数字用户名 2025-09-05 15:08:22 +08:00
Tim 62e7795e11 Merge pull request #886 from nagisa77/feature/reply_ui
fix: 回复ui重新调整
2025-09-05 14:50:05 +08:00
Tim 722d784691 fix: 回复ui重新调整 2025-09-05 14:48:37 +08:00
Tim 35c6d29b8f feat: allow redis db override 2025-09-05 11:31:44 +08:00
Tim 5dab838482 Merge pull request #882 from smallclover/main
轻量级redis缓存追加
2025-09-05 11:13:50 +08:00
Tim 67636475aa Merge pull request #884 from nagisa77/codex/add-log-for-successful-redis-connection
feat: log redis connection success
2025-09-05 10:56:51 +08:00
Tim 92ae8ae155 feat: log redis connection success 2025-09-05 10:55:13 +08:00
wangshun c0afe9e2a9 轻量级redis缓存追加
本次主要改动范围:
1.分类列表缓存
2.标签列表缓存

追加的新类库
1.redis
2.jsr310→java8时间类localdatetime无法解析的问题
3.jaskson-hibernate6->hibernate 字段懒加载问题

其他改动
1.修改了初始化脚本的用户名,追加密码说明
2025-09-04 18:11:18 +08:00
Tim 2c1bef4551 Merge pull request #881 from nagisa77/feature/fix_safari_page_size
fix: 移动端Safari帖子底部被截断 #833
2025-09-04 17:01:29 +08:00
Tim 202c0f7b59 fix: 移动端Safari帖子底部被截断 #833 2025-09-04 17:00:21 +08:00
Tim fdd6587fff Merge pull request #880 from nagisa77/feature/md_ui
fix: markdown引用ui修改 #837
2025-09-04 16:54:32 +08:00
Tim 77ea208961 fix: markdown 引用修改 2025-09-04 16:53:30 +08:00
Tim 96e1259ad7 fix: 支持swagger访问api 2025-09-04 14:22:58 +08:00
Tim b77b629d9e fix: 新增api前缀 2025-09-04 14:02:50 +08:00
Tim 2e2813bcbd Merge pull request #838 from zpaeng/main
feat:Websocket服务拆到单独服务,主后台保持单工通信
2025-09-04 13:53:23 +08:00
Tim ad079e6bfd Merge pull request #878 from nagisa77/codex/fix-duplicate-message-forwarding-issue
Fix duplicate WebSocket broadcasts
2025-09-04 13:50:24 +08:00
Tim 47a72dc9b0 Fix duplicate WebSocket broadcasts 2025-09-04 13:50:05 +08:00
Tim 70a83cbe06 fix: 日志等级可配置 2025-09-04 13:01:57 +08:00
Tim 0ff6f13c86 fix: ws新增 .env 文件 2025-09-04 12:24:30 +08:00
Tim 6f30cf0bc2 Merge pull request #875 from palmcivet/docs/docker-contributing
docs: 完善开发环境的 Docker Compose 配置
2025-09-04 09:54:08 +08:00
Palm Civet 931aee4c3f docs: update CONTRIBUTING.md 2025-09-04 00:36:38 +08:00
Tim 8895405606 fix: 提交一部份修改,以方便预发部署 2025-09-03 18:02:21 +08:00
Tim 12b697d9dd Merge branch 'main' into main 2025-09-03 16:24:56 +08:00
Tim 49a55bcc36 Merge pull request #870 from palmcivet/docs/contributing
docs: 优化 contributing 文档 !869
2025-09-03 14:37:27 +08:00
Palm Civet 690aae3577 docs: 优化 contributing 文档 2025-09-03 14:14:15 +08:00
Tim 93d2c39f6e Merge pull request #867 from palmcivet/docs/openapi-springdoc
docs: backend 引入 springdoc-openapi 生成 OpenAPI 文档
2025-09-03 11:35:18 +08:00
Tim 99b824d852 Merge pull request #868 from smallclover/main
部署教程修改
2025-09-03 11:34:51 +08:00
wangshun 67fae4129f 部署教程修改
1.配图统一改为项目内图片
2.增加laragon配置
3.增加github第三方登录配置
2025-09-03 10:27:57 +08:00
Palm Civet 3739286cca chore: 修改配置 2025-09-03 00:07:53 +08:00
Palm Civet ec76e70ad0 build: backend 引入 springdoc-openapi 2025-09-02 23:54:23 +08:00
zpaeng f482d9ff9d fix:【站内信】 2025-09-02 23:16:27 +08:00
zpaeng 5e13b4bdd3 Merge remote-tracking branch 'origin/main' 2025-09-02 23:12:50 +08:00
zpaeng 78a65c6afe feat:Websocket服务拆到单独服务,主后台保持单工通信 2025-09-02 23:10:56 +08:00
zpaeng 84236b0174 feat:Websocket服务拆到单独服务,主后台保持单工通信 2025-09-02 23:10:29 +08:00
tim c337195b16 fix: ui简要修改 2025-09-02 16:27:05 +08:00
Tim c506aec506 Merge pull request #835 from smallclover/main
倒计时修改
2025-09-02 16:18:07 +08:00
夢夢の幻想郷 aa4274052e Merge branch 'nagisa77:main' into main 2025-09-02 14:47:29 +08:00
wangshun e96ba3c26f 1.追加:投票结束查看倒计时时间
2.修改:倒计时样式
3.优化:抽奖和投票倒计时代码统一
2025-09-02 14:46:18 +08:00
tim 36758624c2 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-09-02 13:01:34 +08:00
tim 4427eff78a fix: 新增Google Search Console网域识别 2025-09-02 13:01:10 +08:00
Tim ab85e67d69 Merge pull request #830 from nagisa77/feature/ui_fix
reaction 相关修改/timeline相关修改
2025-09-02 12:44:24 +08:00
tim d7f6bb507d reaction 相关修改/timeline相关修改 2025-09-02 12:43:30 +08:00
Tim bced7807ae Merge pull request #829 from nagisa77/feature/cdn_change
fix: cdn 修复
2025-09-02 12:29:47 +08:00
Tim 73bb873bfe fix: cdn 修复 2025-09-02 11:45:35 +08:00
Tim 564ebfbc2c fix: 新增map变量 2025-09-01 21:11:07 +08:00
Tim 9a42b8f32a Merge pull request #826 from nagisa77/feature/good_posts
Feature/good posts
2025-09-01 20:59:01 +08:00
Tim 513b1f45a1 Merge pull request #825 from nagisa77/codex/add-conditions-for-featured-posts
feat: show featured marker only for RSS posts
2025-09-01 20:58:39 +08:00
Tim 1b204345a6 feat: show featured icon only for RSS posts 2025-09-01 20:58:21 +08:00
Tim d146bf2b0d fix: 新增精品icon 2025-09-01 20:53:06 +08:00
Tim 864a760b20 Merge pull request #824 from nagisa77/feature/md_line
fix: markdown渲染的分割线有点深 #767
2025-09-01 19:48:47 +08:00
Tim 2ccdc21568 fix: markdown渲染的分割线有点深 #767 2025-09-01 19:47:24 +08:00
tim ff63d232a9 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-09-01 18:50:09 +08:00
tim 32a624e62d fix: 登录样式调整 2025-09-01 18:49:33 +08:00
Tim 5af0c9dee0 Merge pull request #822 from nagisa77/codex/fix-channel-ui-scroll-behavior
fix: scroll to bottom when entering channel
2025-09-01 18:19:17 +08:00
Tim edaafdd000 fix: scroll channel to bottom on activation 2025-09-01 18:18:58 +08:00
Tim 24838ab714 Merge pull request #819 from sivdead/main
指定Node.js最低版本为20.0.0
2025-09-01 18:16:24 +08:00
Tim 56a80a184b Merge pull request #821 from smallclover/main
修改部署教程
2025-09-01 18:15:49 +08:00
sivdead ed24ed174b fix: 还原package-lock.json 2025-09-01 17:56:27 +08:00
夢夢の幻想郷 3080acb6e4 Merge branch 'nagisa77:main' into main 2025-09-01 17:52:24 +08:00
wangshun 1856eb191b 修改部署教程
1.本地部署前后端时,如果是时https后端会无法解析请求
2.使用第三方登录时,callback路径需要和注册的路径一致
2025-09-01 17:50:19 +08:00
Tim 0c2a50d620 Merge pull request #820 from CH-122/feat/message-setting
feat: 增加通知设置的权限控制,只有管理员可以显示特定通知类型
2025-09-01 17:40:09 +08:00
CH-122 7562de11a5 feat: 增加通知设置的权限控制,只有管理员可以显示特定通知类型 2025-09-01 17:03:13 +08:00
sivdead aaacf4efb1 chore(frontend): 指定Node.js最低版本为20.0.0 2025-09-01 15:53:05 +08:00
Tim 1f30cdfe85 Merge pull request #818 from nagisa77/codex/fix-backend-compilation-issue
Fix CommentServiceTest compilation by mocking PointService
2025-09-01 15:35:02 +08:00
Tim 8b37cf5abb test: mock PointService in CommentServiceTest 2025-09-01 15:34:52 +08:00
Tim 4af19a75c9 Merge pull request #815 from sivdead/main
fix: 解决删除评论后积分历史和当前积分不一致的问题
2025-09-01 14:32:01 +08:00
tim 37ea986389 fix: 域名修复 2025-09-01 14:31:05 +08:00
tim fefd0b3b6c fix: compile problem 2025-09-01 13:18:01 +08:00
tim a31ed29cfa Reapply "feat: unify third-party auth component"
This reverts commit 800970f078.
2025-09-01 13:16:04 +08:00
tim 2719819ad7 Revert "chore: remove obsolete login styles"
This reverts commit 18fde1052f.
2025-09-01 13:16:00 +08:00
Tim 27ff9a9c9b Merge pull request #814 from nagisa77/codex/create-unified-ui-for-third-party-login-uko0i1
feat: unify third-party auth buttons with customizable styles
2025-09-01 13:15:16 +08:00
Tim 18fde1052f chore: remove obsolete login styles 2025-09-01 13:14:55 +08:00
tim 800970f078 Revert "feat: unify third-party auth component"
This reverts commit 215616d771.
2025-09-01 13:14:13 +08:00
Tim cbbd1440a1 Merge pull request #813 from nagisa77/codex/create-unified-ui-for-third-party-login
feat: unify third-party auth component
2025-09-01 13:13:36 +08:00
Tim 215616d771 feat: unify third-party auth component 2025-09-01 13:13:16 +08:00
tim 575e90e558 fix: telegram support 2025-09-01 13:02:13 +08:00
Tim e63d66806d fix: tg 环境变量配置 2025-09-01 11:47:37 +08:00
Tim 1fc0118c5a Merge pull request #812 from nagisa77/codex/support-telegram-registration-and-login
feat: add Telegram authentication
2025-09-01 11:41:34 +08:00
Tim f3512c1184 feat: add Telegram authentication 2025-09-01 11:39:10 +08:00
sivdead 28842c90b1 feat(service): 在 CommentService 中添加逻辑删除评论时重新计算用户积分的功能,并在 PointService 中实现用户积分的重新计算方法 2025-09-01 11:32:20 +08:00
Tim d67cc326c4 Merge pull request #811 from nagisa77/codex/update-last-post-time-display
feat: show message when user has no posts
2025-09-01 11:31:09 +08:00
Tim 27c217a630 feat: show message when user has no posts 2025-09-01 11:30:56 +08:00
Tim 4e3e5f147c Merge pull request #810 from nagisa77/codex/fix-channel-ui-scroll-to-bottom
fix(frontend): scroll to bottom on channel entry
2025-09-01 11:30:40 +08:00
Tim 8767aa31d6 fix(frontend): scroll to bottom on channel entry 2025-09-01 11:30:16 +08:00
Tim a428f472f2 Merge pull request #809 from nagisa77/codex/shorten-invitation-link
feat: shorten invite links
2025-09-01 11:26:25 +08:00
Tim 8544803e62 feat: shorten invite links 2025-09-01 11:25:32 +08:00
Tim 54874cea7a Merge pull request #808 from nagisa77/codex/add-email-notification-settings
feat: add email notification settings
2025-09-01 11:24:19 +08:00
Tim 098d82a6a0 feat: add email notification settings 2025-09-01 11:23:31 +08:00
Tim 90eee03198 Merge pull request #807 from nagisa77/codex/fix-backend-compilation-issues
test: fix PostServiceTest for new PostService deps
2025-09-01 10:54:07 +08:00
Tim 3f152906f2 test: fix PostServiceTest for new PostService deps 2025-09-01 10:53:50 +08:00
Tim ef71d0b3d4 Merge pull request #798 from nagisa77/feature/vote
feature for vote
2025-09-01 10:28:44 +08:00
Tim 6f80d139ba fix: 投票UI优化 2025-09-01 10:27:02 +08:00
Tim 7454931fa5 Merge pull request #806 from nagisa77/codex/modify-postpoll.vue-for-single-choice-voting
feat: add join button for single polls
2025-09-01 09:54:37 +08:00
Tim 0852664a82 Merge pull request #802 from sivdead/main
feat(model): 为评论和积分历史实体添加逻辑删除功能
2025-09-01 09:54:07 +08:00
Tim 5814fb673a feat: add join button for single polls 2025-09-01 01:06:51 +08:00
Tim 4ee4266e3d Merge pull request #804 from nagisa77/codex/fix-jpasystemexception-for-pollpost
Fix poll multiple property null handling
2025-08-31 14:22:59 +08:00
Tim 6a27fbe1d7 Fix null multiple field for poll posts 2025-08-31 14:22:44 +08:00
Tim 38ff04c358 Merge pull request #803 from nagisa77/codex/add-baseswitch-component-to-voting-post
feat(poll): use BaseSwitch for multiple selection
2025-08-31 14:13:32 +08:00
Tim fc27200ac1 feat(poll): use BaseSwitch for multiple selection 2025-08-31 14:13:18 +08:00
sivdead b1998be425 Merge remote-tracking branch 'origin/main' 2025-08-31 14:06:18 +08:00
sivdead 72adc5b232 feat(model): 为 Comment 和 PointHistory 实体添加逻辑删除功能 2025-08-31 14:03:48 +08:00
sivdead d24e67de5d feat(model): 为 Comment 和 PointHistory 实体添加逻辑删除功能 2025-08-31 14:03:10 +08:00
Tim eefefac236 Merge pull request #801 from nagisa77/codex/add-multi-select-support-for-voting
feat: support multi-option polls
2025-08-31 12:13:54 +08:00
Tim 2f339fdbdb feat: enable multi-option polls 2025-08-31 12:13:41 +08:00
tim 3808becc8b fix: 多选ui 2025-08-31 11:25:34 +08:00
tim 18db4d7317 fix: toolbar 层级修改 2025-08-31 11:14:48 +08:00
Tim 52cbb71945 Merge pull request #800 from nagisa77/codex/refactor-voting-and-lottery-into-components-zk6hvx
refactor: extract poll and lottery components
2025-08-31 11:10:46 +08:00
Tim 39c34a9048 feat: add PostPoll and PostLottery components 2025-08-31 11:10:20 +08:00
tim 4baabf2224 Revert "refactor: extract poll and lottery sections"
This reverts commit 27efc493b2.
2025-08-31 11:09:22 +08:00
Tim 8023183bc6 Merge pull request #799 from nagisa77/codex/refactor-voting-and-lottery-into-components
refactor: extract poll and lottery sections
2025-08-31 11:08:05 +08:00
Tim 27efc493b2 refactor: extract poll and lottery sections 2025-08-31 11:07:49 +08:00
tim ca6e45a711 fix: 适配夜间模式 2025-08-31 10:55:40 +08:00
tim 803ca9e103 新的通知类型适配 2025-08-31 02:06:32 +08:00
Tim 9d1e12773a Merge pull request #796 from nagisa77/codex/modify-voting-module-components
Refactor poll module and add poll notifications
2025-08-31 01:49:55 +08:00
Tim 5a09934866 refactor poll and lottery forms, add poll notifications 2025-08-31 01:49:37 +08:00
tim db1d7981c5 fix: checked修改为false 2025-08-31 01:21:52 +08:00
tim 6e1a7c773c fix: 投票模块采用clientOnly 2025-08-31 01:19:48 +08:00
tim ac4f1064e7 fix: 结束时只显示结果 2025-08-31 01:05:00 +08:00
Tim 4e98fd6a89 Merge pull request #795 from nagisa77/codex/add-real-data-integration-for-voting-page
feat: render poll results with real data
2025-08-31 00:14:38 +08:00
Tim 1bf92ab1ad feat: render poll results with real data 2025-08-31 00:14:12 +08:00
tim c6ab431c87 fix: 页面适配 2025-08-31 00:04:35 +08:00
Tim aaa25d5c2f Merge pull request #794 from nagisa77/codex/add-participant-info-to-vote-response-y233h3
feat: return poll option participants
2025-08-30 12:07:01 +08:00
Tim 569531b462 feat: add poll vote repository 2025-08-30 12:06:11 +08:00
tim c3ae97f8ba Revert "feat: track poll votes"
This reverts commit 23582934fa.
2025-08-30 12:05:35 +08:00
Tim a57f3e6406 Merge pull request #793 from nagisa77/codex/add-participant-info-to-vote-response
feat: expose poll option participants
2025-08-30 12:03:34 +08:00
Tim 23582934fa feat: track poll votes 2025-08-30 12:03:17 +08:00
Tim 5adee4db0e Merge pull request #792 from nagisa77/codex/add-voting-feature-to-post
feat: add poll post support
2025-08-29 23:56:41 +08:00
Tim a2ccc95b4e feat: add poll post support 2025-08-29 23:56:03 +08:00
Tim dc5eb5a637 Merge pull request #791 from nagisa77/codex/add-voting-post-type
feat: add poll post type
2025-08-29 22:37:12 +08:00
Tim 55dd36bd24 feat: add poll post type 2025-08-29 22:36:36 +08:00
Tim 59232f99ca Merge pull request #790 from nagisa77/feature/menu_ui
fix: UI部份美化
2025-08-29 21:03:43 +08:00
tim f93f58b055 fix: UI部份美化 2025-08-29 21:02:23 +08:00
Tim 8ad35af199 Merge pull request #789 from nagisa77/feature/menu_ui
fix: 首页 & 全局文字优化
2025-08-29 20:39:31 +08:00
tim d427a41f6d fix: 首页 & 全局文字优化 2025-08-29 20:38:55 +08:00
Tim ea53bc3c83 Create CODE_OF_CONDUCT.md 2025-08-29 18:15:26 +08:00
Tim 3a39cfdb49 Update issue templates 2025-08-29 18:14:05 +08:00
Tim 3d1b8b8e6e Update issue templates 2025-08-29 18:08:47 +08:00
Tim f0e58d1efe Create LICENSE 2025-08-29 18:07:41 +08:00
Tim 5c4aca5ab8 Merge pull request #785 from nagisa77/feature/menu_ui
fix: menu ui
2025-08-29 14:52:41 +08:00
tim fff59e800d fix: menu ui 2025-08-29 14:51:40 +08:00
Tim b42ed19160 Merge pull request #784 from nagisa77/feature/menu_ui
feat: MENU UI 优化
2025-08-29 14:42:47 +08:00
tim 6fd663d983 feat: MENU UI 优化 2025-08-29 14:41:29 +08:00
Tim fd6fc11630 Merge pull request #779 from CH-122/fix/comment
更新评论项组件,添加回复用户头像和样式优化
2025-08-29 14:01:17 +08:00
CH-122 d7bfeed259 feat: 更新评论项组件,增加回复用户头像点击事件,取消使用 replace 2025-08-29 13:59:02 +08:00
Tim c5e4da5e07 Merge pull request #781 from nagisa77/feature/daily_bugfix_0829
fix: 新增ipx依赖,新增node环境说明
2025-08-29 10:21:50 +08:00
Tim b87932560b fix: 新增ipx依赖,新增node环境说明 2025-08-29 10:20:54 +08:00
CH-122 58ff8b177e fix: 更新评论项组件,添加回复用户头像和样式优化 2025-08-29 08:51:56 +08:00
Tim 4f6b585735 Merge pull request #776 from nagisa77/codex/add-mermaid-rendering-support
feat: add mermaid support to markdown rendering
2025-08-28 16:55:24 +08:00
Tim ac81bccd20 feat: add mermaid support to markdown 2025-08-28 16:52:07 +08:00
Tim 351447e3d1 Merge pull request #773 from sivdead/main
解决文章和草稿长度不够的问题
2025-08-28 15:59:45 +08:00
sivdead 453d8fa68b refactor(model): 将 Post和Draft 实体的内容字段类型从 TEXT 改为 LONGTEXT 2025-08-28 15:11:14 +08:00
tim 2c5b38ee9e fix: 修复 http://localhost:3000/posts/310 内容超出的问题 2025-08-28 14:40:19 +08:00
Tim b5fd5a3edc Update README.md 2025-08-28 10:16:12 +08:00
tim ee717aced2 fix: 处理两处图片加载异常问题 2025-08-28 09:19:06 +08:00
Tim 9a9152593e Merge pull request #764 from nagisa77/feature/daily_bugfix_0827
fix: 简化time规则
2025-08-27 20:58:47 +08:00
Tim 856d3dd513 fix: 简化time规则 2025-08-27 20:57:20 +08:00
Tim 0e42a3335a Merge pull request #763 from nagisa77/feature/daily_bugfix_0827
fix: 新增相对时间
2025-08-27 20:48:57 +08:00
Tim d96aae59d2 fix: 新增相对时间 2025-08-27 20:47:50 +08:00
Tim 122722d0e9 Merge pull request #762 from nagisa77/codex/fix-overlap-of-mobile-post-button
Adjust mobile post icon position and add close button to message box
2025-08-27 20:40:41 +08:00
Tim 0c2264e509 fix: adjust new post icon position and close message window 2025-08-27 20:39:46 +08:00
Tim 1e503e26f2 Merge pull request #761 from nagisa77/feature/daily_bugfix_0827
fix: 帖子可被刷积分,应新增取消赞消除积分😂 #685
2025-08-27 20:28:49 +08:00
Tim ec0fd63e30 fix: 帖子可被刷积分,应新增取消赞消除积分😂 #685 2025-08-27 20:27:53 +08:00
Tim dfd4c70b6e Merge pull request #760 from nagisa77/codex/fix-repeated-reaction-notifications-and-points
fix: resolve repeated reaction issues
2025-08-27 20:23:43 +08:00
Tim d79dc8877d fix: handle reaction notification and point deduction 2025-08-27 20:23:28 +08:00
Tim e979350d40 Merge pull request #759 from nagisa77/feature/daily_bugfix_0827
Feature/daily bugfix 0827
2025-08-27 20:21:58 +08:00
Tim 99bf80a47a Merge pull request #758 from nagisa77/codex-mv1xa5
fix: gray out unearned medals
2025-08-27 20:21:23 +08:00
Tim bfadda1e7d fix: gray out unearned medals 2025-08-27 20:21:05 +08:00
Tim 906998a07f Merge pull request #757 from nagisa77/feature/daily_bugfix_0827
fix: 站内信 scroll问题 #749
2025-08-27 20:19:29 +08:00
Tim 02287c05be fix: 站内信 scroll问题 #749 2025-08-27 20:18:39 +08:00
Tim 56aed4603e Merge pull request #756 from nagisa77/feature/daily_bugfix_0827
fix: 站内信 scroll问题 #749
2025-08-27 20:01:34 +08:00
Tim a1fa7b2d5b fix: 站内信 scroll问题 #749 2025-08-27 20:00:14 +08:00
Tim 083c7980c6 Merge pull request #755 from nagisa77/feature/daily_bugfix_0827
fix:  回复表情通知为空的问题 #735
2025-08-27 19:45:21 +08:00
Tim 3d51f29be7 fix: 回复表情通知为空的问题 #735 2025-08-27 19:44:27 +08:00
Tim d243e3a9d6 Merge pull request #752 from nagisa77/feature/daily_bugfix_0827
feature: 积分趋势统计
2025-08-27 15:56:33 +08:00
Tim 2b3c60f9a7 fix: 新增积分趋势统计 2025-08-27 15:55:20 +08:00
Tim 8b948a20cd Merge pull request #751 from nagisa77/codex/add-91zeiv
feat: show 30-day point trend chart
2025-08-27 15:43:33 +08:00
Tim 5053ac213d test(points): cover trend endpoint 2025-08-27 15:42:49 +08:00
Tim e5ec801785 Merge pull request #750 from nagisa77/feature/daily_bugfix_0827
fix: 修复贴吧表情显示问题
2025-08-27 15:27:16 +08:00
Tim 31e25232d0 fix: 修复贴吧表情显示问题 2025-08-27 15:26:23 +08:00
Tim cdc92aeebe Merge pull request #744 from nagisa77/feature/daily_bugfix_0825_c
fix: iOS修复blur问题
2025-08-27 13:21:19 +08:00
Tim d2c2213197 fix: iOS修复blur问题 2025-08-27 13:20:42 +08:00
Tim c687ffed54 Merge pull request #742 from nagisa77/feature/daily_bugfix_0825_c
fix: svg 采用本地,避免加载不了
2025-08-27 12:48:42 +08:00
Tim 5bc9ff45d7 fix: svg 采用本地,避免加载不了 2025-08-27 12:47:56 +08:00
Tim 78c7681bc8 Merge pull request #734 from nagisa77/feature/daily_bugfix_0825_c
daily bugfix
2025-08-27 12:36:00 +08:00
Tim 5eb206a358 fix: use base tabs 2025-08-27 12:34:28 +08:00
Tim 18179cca22 Merge pull request #741 from nagisa77/codex/create-reusable-multi-tabs-component-kvi40j
feat: add reusable swipeable tabs component
2025-08-27 12:31:11 +08:00
Tim 2b28cb2ac1 feat: add reusable swipeable tabs component 2025-08-27 12:30:56 +08:00
Tim 610a645092 Revert "feat: create BaseTabs component"
This reverts commit 0fc1415a14.
2025-08-27 12:30:08 +08:00
Tim 504ca55cad Merge pull request #740 from nagisa77/codex/create-reusable-multi-tabs-component-d2xsuk
feat: unify tab navigation with reusable swipeable component
2025-08-27 12:26:58 +08:00
Tim 0fc1415a14 feat: create BaseTabs component 2025-08-27 12:26:35 +08:00
Tim 50a84220fe Revert "feat: add reusable multi-tabs component"
This reverts commit e8a162d859.
2025-08-27 12:25:44 +08:00
Tim af3e049c23 Merge branch 'feature/daily_bugfix_0825_c' of github.com:nagisa77/OpenIsle into feature/daily_bugfix_0825_c 2025-08-27 12:22:55 +08:00
Tim c33b411659 Merge pull request #739 from nagisa77/codex/create-reusable-multi-tabs-component-j58zes
feat: add reusable multi-tabs component
2025-08-27 12:22:40 +08:00
Tim e8a162d859 feat: add reusable multi-tabs component 2025-08-27 12:22:22 +08:00
Tim e819926cf3 fix: 取消chunks分割,避免css覆盖问题 2025-08-27 12:08:50 +08:00
Tim 013d47e8e4 fix: 前端修改:图片loading做一个适配,现在图片没加载出来会出现如下情况, 不丝滑 2025-08-27 12:07:23 +08:00
Tim 6cc76593e4 Merge pull request #737 from nagisa77/codex/abstract-nuxtimg-with-placeholder-3oo626
feat: add Nuxt image component with LQIP placeholder
2025-08-27 11:47:14 +08:00
Tim a2a08331e2 feat: add BaseImage component with blur placeholder 2025-08-27 11:46:57 +08:00
tim 3eabafadf8 fix: UI修改,采用baseplaceholder #732 2025-08-26 23:18:07 +08:00
tim 62c1983fd5 fix: markdown 支持 video 2025-08-26 13:39:33 +08:00
tim 689b719e18 fix: use keys count 2025-08-26 13:18:20 +08:00
tim c6eccb01b9 fix: 样式修改 2025-08-26 13:14:03 +08:00
tim cdf7e61157 Revert "fix: use keys count"
This reverts commit d23511ecb9.
2025-08-26 13:09:20 +08:00
tim d23511ecb9 fix: use keys count 2025-08-26 13:06:05 +08:00
Tim c76708d2ff Merge pull request #725 from nagisa77/feature/daily_bugfix_0826
0826 daily bugfix
2025-08-26 11:22:10 +08:00
Tim d978bd428e fix: 积分icon优化 2025-08-26 11:21:43 +08:00
Tim e5954cfb62 Merge pull request #730 from nagisa77/codex/add-point-system-for-lottery-participation
feat: integrate points with lottery participation
2025-08-26 11:14:36 +08:00
Tim cb614b9739 feat: integrate points with lottery participation 2025-08-26 11:14:20 +08:00
Tim 88ce6b682d fix: 抽奖ui 优化 2025-08-26 10:59:54 +08:00
Tim e02db635c4 fix: 调整收藏样式 2025-08-26 10:52:53 +08:00
Tim 231379181a Merge pull request #729 from nagisa77/codex/add-tab-for-favorite-articles
feat: add favorites tab to user profile
2025-08-26 10:49:01 +08:00
Tim bd9ce67d4b feat: add favorites tab to user profile 2025-08-26 10:48:38 +08:00
Tim 6527b3790e fix: add link logo, 以及跳转新窗口 2025-08-26 10:47:02 +08:00
Tim f01e8c942a Merge remote-tracking branch 'origin/main' into feature/daily_bugfix_0826 2025-08-26 10:34:21 +08:00
Tim 1e1ae29d32 fix: reactions面板,超过三种reaction才采用省略样式 而不是三个 #724 2025-08-26 10:33:45 +08:00
Tim d31a8bfee4 Merge pull request #726 from WoJiaoFuXiaoYun/main
fix: 修复小窗口点击站内链接,会从小窗直接跳,预期主窗口跳转 #723
2025-08-26 10:33:21 +08:00
WangHe 29a96595f7 fix: 修复小窗口点击站内链接,会从小窗直接跳,预期主窗口跳转 #723 2025-08-26 10:14:28 +08:00
Tim 2b242367d7 fix: 站内信:从红点点进去又退出来,没有消退红点,新信息也没适配 #712 2025-08-26 10:12:16 +08:00
Tim 3f0cd2bf0f Merge pull request #720 from nagisa77/feature/daily_bugfix_0825_b
Feature/daily bugfix 0825 b
2025-08-25 20:38:28 +08:00
Tim a98a631378 Revert "feat: add message float components"
This reverts commit b0eef220a6.
2025-08-25 20:38:10 +08:00
Tim 7701d359dc fix: 允许窗口收起 2025-08-25 20:35:33 +08:00
Tim ffd9ef8a32 fix: 新增交互 2025-08-25 19:25:06 +08:00
Tim 36cd5ab171 Merge pull request #722 from nagisa77/codex/add-floating-window-support-for-message-box-a7msu4
feat: add floating message box window
2025-08-25 17:20:30 +08:00
Tim 58d86fa065 Merge branch 'feature/daily_bugfix_0825_b' into codex/add-floating-window-support-for-message-box-a7msu4 2025-08-25 17:20:23 +08:00
Tim df71cf901b feat: add floating message box window 2025-08-25 17:18:34 +08:00
Tim ac3fc6702a Merge pull request #721 from nagisa77/codex/add-floating-window-support-for-message-box
feat: add floating message window
2025-08-25 17:12:37 +08:00
Tim b0eef220a6 feat: add message float components 2025-08-25 17:12:21 +08:00
Tim 02d366e2c7 fix: 支持回复/reactions 2025-08-25 17:06:44 +08:00
Tim 6409531a64 Merge pull request #719 from nagisa77/codex/add-reply-and-reaction-support-to-messages
feat: support message replies and reactions
2025-08-25 16:45:49 +08:00
Tim 175ab79b27 feat: support message replies and reactions 2025-08-25 16:42:14 +08:00
Tim b543953d22 Revert "feat: support floating message box"
This reverts commit cd73747164.

# Conflicts:
#	frontend_nuxt/pages/message-box/index.vue
2025-08-25 15:51:02 +08:00
Tim b4fef68af5 Merge branch 'feature/daily_bugfix_0825_b' of github.com:nagisa77/OpenIsle into feature/daily_bugfix_0825_b 2025-08-25 15:45:19 +08:00
Tim 6c48a38212 feat: delete router 2025-08-25 15:44:14 +08:00
Tim 8a3e4d8e98 Merge pull request #718 from nagisa77/codex/add-floating-window-support
feat: add floating message window
2025-08-25 15:43:43 +08:00
Tim cd73747164 feat: support floating message box 2025-08-25 15:42:09 +08:00
Tim 0ee58df868 Merge pull request #716 from 4twocc/fix/safari-copy
fix(frontend): 修复 Safari 浏览器下邀请链接复制问题
2025-08-25 14:01:39 +08:00
Tim 6fed8131f6 Merge pull request #717 from WoJiaoFuXiaoYun/main
feat: 编辑器支持引用站内帖子
2025-08-25 14:00:25 +08:00
Tim d75c08396a Merge pull request #714 from nagisa77/feature/daily_bugfix_0825
Feature/daily bugfix 0825
2025-08-25 14:00:02 +08:00
Tim 3a742fbb00 fix: tabs ui格式统一 #710 2025-08-25 13:56:42 +08:00
浮小云 9c2b1f6e98 Merge branch 'nagisa77:main' into main 2025-08-25 11:40:01 +08:00
WangHe 28b33d8c44 opt: 优化仅支持文章标题搜索 2025-08-25 11:38:18 +08:00
jiahaosheng 1f99a10322 fix(frontend): 修复 Safari 浏览器下邀请链接复制问题
- 在 Safari 浏览器中,直接使用 navigator.clipboard.writeText 可能导致权限问题
- 通过在 setTimeout 中调用 clipboard API,规避了 Safari 的权限限制
2025-08-25 11:04:32 +08:00
Tim 743c3dbc72 Merge pull request #715 from nagisa77/codex/update-reactionemojimap-to-google-emoji-cdn
feat: use Google emoji CDN
2025-08-25 11:03:21 +08:00
Tim d46a446f2b feat: use Google emoji CDN 2025-08-25 11:03:06 +08:00
Tim 75a785f612 Merge branch 'feature/daily_bugfix_0825' of github.com:nagisa77/OpenIsle into feature/daily_bugfix_0825 2025-08-25 11:02:22 +08:00
Tim e79b75f340 fix: tabs ui格式统一 #710 2025-08-25 11:01:52 +08:00
Tim 1f6f470ab5 Merge pull request #713 from nagisa77/codex/limit-base-timeline-hover-to-messages
feat: limit BaseTimeline hover to private messages
2025-08-25 10:29:52 +08:00
Tim 583d4042f5 feat: add optional hover for BaseTimeline 2025-08-25 10:29:35 +08:00
Tim 8437c1c714 Merge pull request #709 from nagisa77/codex/add-globalpopup-for-internal-messages
feat: add message feature popup
2025-08-23 02:58:34 +08:00
Tim 2613fe6cf1 feat: introduce message popup component 2025-08-23 02:58:24 +08:00
Tim a15d541b72 Merge pull request #699 from nagisa77/feature/daily_bugfix_0823
daily bugfix
2025-08-23 02:49:36 +08:00
Tim 8657a06f52 Merge pull request #708 from nagisa77/codex/restrict-conversation-search-to-direct-messages
Fix findOrCreateConversation to only retrieve private conversations
2025-08-23 02:46:53 +08:00
Tim 09900b34aa Restrict conversation lookup to private chats 2025-08-23 02:46:41 +08:00
Tim 4e1c3f5839 Merge pull request #707 from nagisa77/codex/fix-multiple-results-error-in-findconversationbyusers
Handle multiple conversations between users
2025-08-23 02:39:28 +08:00
Tim d97cc7df5e Handle multiple conversations between users 2025-08-23 02:38:31 +08:00
Tim 151242f3ba Merge pull request #706 from nagisa77/codex/add-unread-message-indicators-for-channels
feat: separate channel unread notifications
2025-08-23 02:28:43 +08:00
Tim b2783a0168 chore: remove obsolete channel unread hook 2025-08-23 02:28:06 +08:00
tim c79bcac217 fix: member count word 2025-08-23 02:15:11 +08:00
Tim 9a06da3bc1 Merge pull request #705 from nagisa77/codex/add-notification-red-dot-for-channels-uk9sj8
feat: show channel message indicator
2025-08-23 02:11:45 +08:00
Tim 98bbc36453 feat: show channel message indicator 2025-08-23 02:11:25 +08:00
tim 4a04f4ec17 Revert "feat: show channel unread indicator"
This reverts commit cf4ca89e19.
2025-08-23 02:10:52 +08:00
Tim 77be2bfebb Merge pull request #704 from nagisa77/codex/add-notification-red-dot-for-channels
feat: show channel unread indicator
2025-08-23 02:06:01 +08:00
Tim cf4ca89e19 feat: show channel unread indicator 2025-08-23 02:05:39 +08:00
Tim 094fc78d92 Merge pull request #703 from nagisa77/codex/add-lastmessage-support-for-channel
Add last message retrieval and display for channels
2025-08-23 02:03:16 +08:00
Tim da3d2a6a71 Return and show last channel message 2025-08-23 02:03:00 +08:00
tim 15cba0c96e fix: 支持显示最后一条消息 2025-08-23 01:57:33 +08:00
Tim 98a79acad9 Merge pull request #702 from nagisa77/codex/add-multi-tab-support-to-message-box
feat: add channel support
2025-08-23 01:31:26 +08:00
Tim 4947978f81 feat: add channel support 2025-08-23 01:31:06 +08:00
Tim 24cc479a56 Merge pull request #700 from nagisa77/codex/create-searchpersondropdown-component
feat: add person search dropdown
2025-08-23 01:06:33 +08:00
Tim 8ee1347b17 Merge branch 'feature/daily_bugfix_0823' into codex/create-searchpersondropdown-component 2025-08-23 01:06:11 +08:00
Tim 7e95120341 feat: add person search dropdown 2025-08-23 01:05:28 +08:00
tim 2f261983ac fix: 暂无会话适配 2025-08-23 01:02:35 +08:00
tim e8e7b9a245 feat: add search drop down 2025-08-23 00:53:32 +08:00
tim d2bd949ac8 fix: 前端采用sockjs 2025-08-22 23:57:03 +08:00
tim 605654ec99 fix: 把原生 WS 与 SockJS 分路径,避免混淆 2025-08-22 23:52:53 +08:00
tim 88127fcf34 fix: 把原生 WS 与 SockJS 分路径,避免混淆 2025-08-22 23:51:42 +08:00
tim 0a82f0036b fix: 把原生 WS 与 SockJS 分路径,避免混淆 2025-08-22 23:46:58 +08:00
tim 3a979277e4 fix: registerStompEndpoints 里保留一次注册即可,一般写法是一次 addEndpoint("/api/ws") + .withSockJS(),并统一用 setAllowedOriginPatterns(...) 配置白名单,避免同一路径双注册引起歧义。 2025-08-22 23:35:15 +08:00
tim 1c582fbbf1 fix: WebSocketConfig:同时给 SockJS 注册设置允许的 Origin(endpoint 用 patterns,SockJS 用 exact) 2025-08-22 23:18:05 +08:00
tim 92452da19a fix: 改用 patterns,补齐 staging 域名(https) 2025-08-22 23:05:24 +08:00
tim a2ccaae7aa fix: 改用 patterns,补齐 staging 域名(https) 2025-08-22 23:01:57 +08:00
tim 23371d4433 Revert "fix: 同源内嵌"
This reverts commit e05d65cf49.
2025-08-22 22:09:41 +08:00
tim e05d65cf49 fix: 同源内嵌 2025-08-22 22:00:08 +08:00
WangHe 809a78fee3 feat: 编辑器支持引用站内帖子
Related #683
2025-08-22 19:27:33 +08:00
Tim aaf9b35a45 Merge pull request #698 from nagisa77/feature/daily_bugfix_0822_b
fix: api fix
2025-08-22 17:11:55 +08:00
Tim 61c0336a78 fix: api fix 2025-08-22 16:25:22 +08:00
Tim 69c913394f Merge pull request #697 from nagisa77/feature/daily_bugfix_0822_b
fix: 修复nginx /ws拦截问题
2025-08-22 15:27:10 +08:00
Tim 0ed9ad2f2a fix: 修复nginx /ws拦截问题 2025-08-22 15:26:41 +08:00
Tim 67e912381b Merge pull request #693 from nagisa77/feature/daily_bugfix_0822_a
fix: 发送信息,携带头像
2025-08-22 13:26:39 +08:00
Tim a6a1c72a37 fix: 发送信息,携带头像 2025-08-22 13:26:04 +08:00
Tim d77baa8a93 Merge pull request #692 from nagisa77/feature/daily_bugfix_0822_a
fix: 移动端 ui适配
2025-08-22 13:24:01 +08:00
Tim fce4832407 fix: 移动端 ui适配 2025-08-22 13:23:35 +08:00
Tim 91c8cc9607 Merge pull request #689 from nagisa77/feature/daily_bugfix_0822
fix: 消息页面ui重构
2025-08-22 13:12:57 +08:00
Tim 02273e018f fix: 前端ui重构完成 2025-08-22 13:11:12 +08:00
Tim 4af10ecf79 fix: 消息页面ui重构 2025-08-22 12:21:10 +08:00
Tim d34ed3c058 Merge pull request #687 from zpaeng/main
feat:【站内信】
2025-08-22 11:26:13 +08:00
zpaeng 8372e06949 Merge remote-tracking branch 'origin/main' 2025-08-22 11:16:29 +08:00
zpaeng a74cb0c272 fix:【站内信】 2025-08-22 11:15:45 +08:00
Tim 5388767a2f Merge pull request #686 from palmcivet/feat/style-optimize
feat: 优化部分样式和文案
2025-08-22 10:36:48 +08:00
Tim 97dda9601e Merge pull request #688 from palmcivet/chore/project-config
chore: 移除未使用的依赖 && 调整 husky 配置
2025-08-22 10:35:37 +08:00
zpaeng cddbb602bf Merge branch 'nagisa77:main' into main 2025-08-21 23:54:21 +08:00
Palm Civet f21ed1f062 chore: 移除未使用的依赖 && 调整 husky 配置 2025-08-21 23:50:47 +08:00
Palm Civet c009616f74 feat: 优化部分文案和 tags 页导航栏间距 2025-08-21 23:44:11 +08:00
zpaeng 84ab87878a feat:【站内信】 2025-08-21 23:42:53 +08:00
Palm Civet c53f91913c feat: 优化 tags 页导航栏间距 2025-08-21 23:40:31 +08:00
Palm Civet feed97154a feat: 优化部分样式和文案 2025-08-21 23:30:33 +08:00
Tim f69562516d Update README.md 2025-08-21 19:05:10 +08:00
Tim 0b8e550097 fix: exclude==null不列入精选 2025-08-21 17:56:27 +08:00
Tim cf722f5707 fix: 优化首页tabs排序 2025-08-21 16:30:54 +08:00
Tim 67e54c5106 Merge pull request #682 from nagisa77/codex/fix-postservice-constructor-argument-issue
Fix PostService tests for PointService dependency
2025-08-21 16:17:05 +08:00
Tim d3dcc98122 fix tests for PointService dependency 2025-08-21 16:16:49 +08:00
Tim c648d4cf39 Merge pull request #681 from nagisa77/codex/add-selected-content
feat: add featured content rewards and badge
2025-08-21 16:11:18 +08:00
Tim 41a5eda311 feat: support featured medals 2025-08-21 16:10:53 +08:00
Tim c6e0dc6a1d Merge pull request #680 from nagisa77/feature/rss_comment
feat: comment
2025-08-21 15:47:30 +08:00
Tim 92e630df22 feat: comment 2025-08-21 15:26:53 +08:00
Tim c6b0f32b09 Merge pull request #679 from nagisa77/codex/rss
feat: enrich rss items with comments and source link
2025-08-21 14:28:57 +08:00
Tim 5f5b6f84a8 feat: add markdown comments and link to rss 2025-08-21 14:28:33 +08:00
Tim cd57d478f2 Merge pull request #677 from nagisa77/feature/website_block
fix: 微信黑名单申诉 #676
2025-08-21 13:41:31 +08:00
Tim da07313df8 Merge pull request #678 from nagisa77/codex/add-record-to-points-history
Add point redemption history record
2025-08-21 13:41:21 +08:00
Tim c08ecb5e33 Record point redemption in history 2025-08-21 13:38:53 +08:00
tim 0a722c81c5 fix: 微信黑名单申诉 #676 2025-08-21 13:37:02 +08:00
Tim 15071471b2 Merge pull request #673 from nagisa77/feature/daily_bugfix_0821 2025-08-21 12:37:31 +08:00
Tim 98a9939738 Merge pull request #675 from nagisa77/codex-5yja7z 2025-08-21 12:36:37 +08:00
Tim 9554030054 refactor: add reusable switch component 2025-08-21 12:36:02 +08:00
Tim 72e9a77373 fix: ui 调整 2025-08-21 12:27:50 +08:00
Tim ed7dcd9414 Merge pull request #674 from nagisa77/codex/add-points-history-system-with-ui
feat: add point history
2025-08-21 11:05:07 +08:00
Tim 79fe8b5997 feat: add point history 2025-08-21 11:04:22 +08:00
Tim cfce4d7d1d fix: 全局移除process.client、process.server #669 2025-08-21 10:22:33 +08:00
Tim b7f5d8485c fix:「站点统计」新增loading #664 2025-08-21 10:15:20 +08:00
Tim d4677a5799 Merge pull request #670 from nagisa77/feature/daily_bugfix_0820
daily bugfix
2025-08-20 20:59:57 +08:00
Tim 99644046fc fix: 本地ui优先已读 2025-08-20 20:55:22 +08:00
Tim 22c9bd7d39 Merge pull request #672 from nagisa77/codex/fix-immediate-deletion-of-unread-message
Remove notification after marking read
2025-08-20 20:46:24 +08:00
Tim 3fc6929075 Remove unread message after marking read 2025-08-20 20:46:08 +08:00
Tim 4eed6889d6 Merge pull request #671 from nagisa77/codex/add-notification-type-for-post-deletion
feat: notify authors when admin deletes post
2025-08-20 20:21:48 +08:00
Tim 959b0f6a48 feat: notify authors when admin deletes post 2025-08-20 20:21:31 +08:00
Tim 91ffacc335 fix: 已经加载的帖子 重新进入 没有执行评论定位逻辑 #652 2025-08-20 19:43:31 +08:00
Tim 4969a759aa fix: 已关闭的帖子不需要展示订阅按钮 #651 2025-08-20 19:33:31 +08:00
Tim 81e3a80d35 Update README.md 2025-08-20 16:31:49 +08:00
Tim d717ce03c1 feat: add CONTRIBUTING 2025-08-20 16:29:45 +08:00
Tim 66035447a8 feat: add CONTRIBUTING 2025-08-20 16:28:28 +08:00
Tim fa1148bc4e Update README.md 2025-08-20 16:25:12 +08:00
Tim f60f184c84 Update README.md 2025-08-20 16:24:33 +08:00
Tim 06ffb180fe Update README.md 2025-08-20 16:24:05 +08:00
Tim 1b892828f1 Update README.md 2025-08-20 16:23:22 +08:00
Tim 1aa88ab0fe Merge pull request #661 from WoJiaoFuXiaoYun/main 2025-08-20 15:51:52 +08:00
WangHe 86126699d3 fix: 修复超长文本造成ui宽度撑开
Related #602
2025-08-20 15:42:52 +08:00
Tim a6a07b9bda Merge pull request #658 from zpaeng/main
fix:验证邮箱有歧义,修改为验证并注册
2025-08-20 14:32:31 +08:00
zpaeng d8b3c68150 fix:验证邮箱有歧义,修改为验证并注册 2025-08-20 13:51:24 +08:00
tim 318b481c4b fix: 判断close 2025-08-19 22:43:22 +08:00
Tim 7338b891db Merge pull request #648 from nagisa77/feature/daily_bugfix_0819
Feature/daily bugfix 0819
2025-08-19 22:37:42 +08:00
tim eb18dc8e94 feat: 添加关闭 2025-08-19 22:35:28 +08:00
Tim aec5321f89 Merge pull request #650 from nagisa77/codex/add-option-to-close-posts-s8akgv 2025-08-19 22:20:10 +08:00
Tim 2e658f37a4 Merge pull request #649 from nagisa77/codex/add-option-to-close-posts 2025-08-19 22:19:11 +08:00
Tim 7ccb2a44e3 feat: allow closing posts 2025-08-19 22:19:05 +08:00
Tim 0fa08e2260 feat: allow closing posts 2025-08-19 22:18:53 +08:00
Tim 38a49f7414 fix: 信息展示效率低 #632 2025-08-19 21:58:02 +08:00
Tim fb89c9fb25 fix: 弹出弹窗逻辑修改 2025-08-19 21:48:48 +08:00
Tim e9458f5419 fix: hljs 优化导入 2025-08-19 21:24:27 +08:00
Tim 2d87c8f23d fix: 格式化问题修改 2025-08-19 21:17:13 +08:00
Tim cb281e4030 Merge pull request #638 from nagisa77/feature/message_load_more
支持分页加载
2025-08-19 19:52:34 +08:00
Tim 9b85d77158 Merge pull request #647 from nagisa77/codex/fix-pagination-issue-in-notification-queries
Fix notification pagination after filtering disabled types
2025-08-19 19:49:03 +08:00
Tim a3b28eafe4 Fix notification pagination after filtering disabled types 2025-08-19 19:48:41 +08:00
tim 805a8df7d3 Reapply "feat: add paginated notification endpoints"
This reverts commit e7a1e1d159.
2025-08-19 19:38:04 +08:00
tim 02be045f55 Revert "feat: add paginated notification APIs and frontend support"
This reverts commit c344b5b4ae.
2025-08-19 19:37:59 +08:00
Tim ac3c7b7bec Merge pull request #646 from nagisa77/codex/add-pagination-support-for-messages-6ssiwm
feat: add paginated notifications and unread endpoint
2025-08-19 19:35:39 +08:00
Tim c344b5b4ae feat: add paginated notification APIs and frontend support 2025-08-19 19:34:13 +08:00
tim e7a1e1d159 Revert "feat: add paginated notification endpoints"
This reverts commit cc525c1c27.
2025-08-19 19:33:13 +08:00
Tim 30b56e54cf Merge pull request #645 from nagisa77/codex/add-pagination-support-for-messages-owucez
feat: add paginated notification endpoints
2025-08-19 19:27:27 +08:00
Tim cc525c1c27 feat: add paginated notification endpoints 2025-08-19 19:27:07 +08:00
tim 3f2829cd37 Revert "feat: support paginated notifications"
This reverts commit a64fd71bbe.
2025-08-19 19:01:54 +08:00
Tim 3258a42b44 Merge pull request #644 from nagisa77/codex/add-pagination-support-for-messages
feat: paginate and load notifications per page
2025-08-19 18:46:12 +08:00
Tim a64fd71bbe feat: support paginated notifications 2025-08-19 18:45:56 +08:00
tim 1a12bec7b1 Revert "feat: add paginated notification APIs and frontend"
This reverts commit 7dd1f1b3d0.
2025-08-19 18:26:55 +08:00
Tim fbca19791a Merge pull request #643 from nagisa77/codex/add-pagination-support-for-message-page-ymy51v
feat: add paginated notification APIs and frontend
2025-08-19 18:25:10 +08:00
tim 10b6fdd1cb Revert "feat: add paginated notifications and unread endpoint"
This reverts commit 73168c1859.
2025-08-19 18:24:49 +08:00
Tim 7dd1f1b3d0 feat: add paginated notification APIs and frontend 2025-08-19 18:24:27 +08:00
Tim df92ff664c Merge pull request #642 from nagisa77/codex/add-pagination-support-for-message-page-2bmo7x
feat: add paginated notifications and unread endpoint
2025-08-19 18:20:39 +08:00
Tim 73168c1859 feat: add paginated notifications and unread endpoint 2025-08-19 18:20:26 +08:00
tim 77856ff9af fix: make full page 2025-08-19 17:23:50 +08:00
tim df49b21620 Revert "feat: add paginated notification API and frontend support"
This reverts commit df7ca77652.
2025-08-19 17:23:36 +08:00
Tim fbe2c66955 Merge pull request #641 from nagisa77/codex/add-pagination-support-for-message-page
feat: paginate notifications and add unread filter
2025-08-19 17:08:05 +08:00
Tim df7ca77652 feat: add paginated notification API and frontend support 2025-08-19 17:07:27 +08:00
Tim fe84e3f2fa Merge pull request #639 from CH-122/fix/post-page-update
修复文章详情页面返回后不更新数据 & 优化 /reaction-types 接口重复调用
2025-08-19 17:02:30 +08:00
Tim c307732696 Merge pull request #637 from zpaeng/main
fix:删帖需要给发帖者提示
2025-08-19 17:01:44 +08:00
tim 35bcd2cdc2 fix: 支持分页加载 2025-08-19 16:52:34 +08:00
CH-122 a29bf7d860 feat: 增加 useReactionTypes,优化 /reaction-types 接口重复调用 2025-08-19 16:52:33 +08:00
CH-122 27393c15f2 fix: 添加 onActivated 钩子以刷新帖子和评论 2025-08-19 16:51:22 +08:00
zpaeng c91a787f29 Merge branch 'nagisa77:main' into main 2025-08-19 16:49:08 +08:00
zpaeng 6096712291 fix:删帖需要给发帖者提示 2025-08-19 16:45:47 +08:00
Tim 6d20addcde Merge pull request #634 from CH-122/fix/post-list-content
fix: 帖子描述与参与人员重叠
2025-08-19 15:47:21 +08:00
CH-122 d8f9fd670c fix: 帖子描述与参与人员重叠 2025-08-19 15:38:12 +08:00
Tim 5ebe739917 Merge pull request #631 from WoJiaoFuXiaoYun/main
style: 优化行内代码样式
2025-08-19 15:26:29 +08:00
WangHe 022edc866a style: 优化行内代码样式
Related #622
2025-08-19 15:03:08 +08:00
tim b06815cc59 fix: login with google 2025-08-19 09:41:15 +08:00
Tim f1b223a3c9 Merge pull request #627 from nagisa77/codex/fix-null-value-assignment-error
Handle nullable rssExcluded flag
2025-08-19 09:17:23 +08:00
Tim e65273daa6 Use nullable Boolean for rssExcluded 2025-08-19 09:17:10 +08:00
tim d3a2acb605 fix: 移动端降低gap 2025-08-18 20:21:14 +08:00
tim bced24e47d feat: rss 动画 2025-08-18 19:59:29 +08:00
tim 425ad03e6f fix: 默认不推荐 2025-08-18 19:51:57 +08:00
Tim 4462d8f711 Merge pull request #626 from nagisa77/codex/adapt-to-rss-2.0-specification
feat: provide RSS feed with admin exclusion
2025-08-18 19:43:59 +08:00
tim 1b31977ec6 feat: rss细化 2025-08-18 19:43:34 +08:00
tim 42693cb1ff feat: add invite 2025-08-18 19:16:05 +08:00
Tim 6b500466fc feat: expose rss feed endpoint 2025-08-18 19:15:12 +08:00
Tim c84262eb88 Merge pull request #620 from nagisa77/feature/fix_vditor_css
Feature/fix vditor css
2025-08-18 11:28:28 +08:00
Tim fa2ffaa64a fix: viditor样式失效 #586 2025-08-18 11:27:18 +08:00
Tim 3037c856d0 fix: viditor样式失效 #586 2025-08-18 11:27:13 +08:00
Tim 7b1ce3f070 Merge pull request #619 from nagisa77/feature/remove-router-link
fix: router-link
2025-08-18 11:17:14 +08:00
Tim f4a15b3448 fix: router-link 2025-08-18 11:14:28 +08:00
Tim 239f1f8c84 Merge pull request #617 from CH-122/fix/mobile-invite-ui
fix: 优化邀请链接组件样式,增加文本换行支持;调整积分商城页面内边距
2025-08-18 10:55:40 +08:00
CH-122 ac303184c4 fix: 优化邀请链接组件样式,增加文本换行支持;调整积分商城页面内边距 2025-08-18 10:32:55 +08:00
Tim 7f16bbdb94 Merge pull request #607 from nagisa77/feature/coin_store
支持积分商城 & 邀请码
2025-08-18 02:20:59 +08:00
tim f1c83b0f68 fix: 更新提示 2025-08-18 02:19:43 +08:00
tim 22c2b1564d feat: ui 优化+弹窗 2025-08-18 02:18:04 +08:00
tim 628d28c12d feat: 注册流程重构 2025-08-18 02:06:48 +08:00
Tim 2577992ee3 Merge pull request #613 from nagisa77/codex/implement-invitation-link-functionality
feat: add invite link generation and copy
2025-08-18 01:24:05 +08:00
Tim 5b837c9d7f feat: add invite link generation and copy 2025-08-18 01:23:33 +08:00
tim 017ad5bf54 feat: invite ui 2025-08-18 01:15:46 +08:00
Tim f076b70e9b Merge pull request #612 from nagisa77/codex/add-invitejwt-for-generating-invitation-tokens
feat: add invite token support
2025-08-18 01:11:33 +08:00
Tim 62d12ad2a7 feat: track oauth new-user result 2025-08-18 01:11:16 +08:00
tim 923854bbc6 feat: 适配透传invite_code 2025-08-17 21:56:14 +08:00
tim 9ca5d7b167 feat: 各种登录方式传入invite_token 2025-08-17 12:45:58 +08:00
tim 9c3e1d17f0 Merge remote-tracking branch 'origin/main' into feature/coin_store 2025-08-17 12:09:26 +08:00
tim 7906062945 fix: 添加缺失route 2025-08-17 12:08:18 +08:00
tim 785c36d339 feat: 新增邀请页面ui 2025-08-17 11:51:16 +08:00
Tim 197cbca99c Merge pull request #609 from nagisa77/codex/add-invitation-code-points-event-3vhg3b
Add invite points activity
2025-08-17 11:38:34 +08:00
Tim b1076d7256 Add invite points activity 2025-08-17 11:38:09 +08:00
tim ce94cd7e73 feat: 积分禁止删除 2025-08-17 02:31:23 +08:00
Tim 90147d6cd9 Merge pull request #606 from nagisa77/codex/add-new-notification-type-for-points-exchange
feat: add point redeem notification type
2025-08-17 02:27:33 +08:00
Tim 2c187cf2cd feat: add point redeem notification 2025-08-17 02:27:19 +08:00
tim 0b6d4f9709 feat: 积分页面不足展示 2025-08-17 02:19:21 +08:00
Tim cf3b6d8fc7 Merge pull request #605 from nagisa77/codex/update-points-mall-functionality
feat: add point mall redemption
2025-08-17 02:07:02 +08:00
Tim 8d98c876d2 feat: add point mall redemption 2025-08-17 02:06:47 +08:00
tim df4df1933a feat: 积分页面ui 2025-08-17 01:57:42 +08:00
Tim 7507f1bb03 Merge pull request #604 from nagisa77/codex/add-hni7s1
feat: add point rules and products to points mall
2025-08-17 01:32:59 +08:00
Tim 9b4c36c76a feat: add point rules and products 2025-08-17 01:32:26 +08:00
Tim edfc81aeb0 Merge pull request #603 from nagisa77/codex/add
feat: add point mall module
2025-08-17 01:24:06 +08:00
Tim 7bd1225b27 feat: add point mall module 2025-08-17 01:23:47 +08:00
Tim 2dd56e27af Merge pull request #599 from nagisa77/feature/daily_bugfix_0816
Feature/daily bugfix 0816
2025-08-17 01:13:39 +08:00
tim c3ecef3609 feat: tooltip修改 2025-08-17 01:06:21 +08:00
Tim efc74d0f77 Merge pull request #601 from nagisa77/codex/save-user-tab-selection-in-localstorage-4dcpd4
feat: remember home tab selection
2025-08-16 18:13:49 +08:00
Tim f27cb5c703 feat: remember home tab selection 2025-08-16 18:13:37 +08:00
tim a756c2fab3 feat: add 毛玻璃效果 + 开关 2025-08-16 18:11:56 +08:00
Tim 4e2171a8a6 Merge pull request #600 from nagisa77/codex/add-switch-for-frosted-glass-effect
Add frosted glass effect toggle
2025-08-16 17:58:01 +08:00
Tim bcbdff8768 feat: initialize frosted glass setting 2025-08-16 17:57:42 +08:00
Tim b976a1f46f Merge pull request #598 from nagisa77/codex/add-sub-tabs-to-personal-homepage-timeline
feat: add timeline filters on profile page
2025-08-16 16:21:57 +08:00
Tim b9fd9711de feat: add timeline filters on profile page 2025-08-16 16:21:45 +08:00
tim 642a527dcf Revert "feat: persist home tab selection"
This reverts commit 2c5462cd97.
2025-08-16 16:20:52 +08:00
Tim 88afcc5a8e Merge pull request #597 from nagisa77/codex/save-user-tab-selection-in-localstorage-9dskt8
feat: persist home tab selection
2025-08-16 16:19:58 +08:00
Tim 2c5462cd97 feat: persist home tab selection 2025-08-16 16:19:44 +08:00
tim 2f29946b11 Revert "feat: remember selected tab"
This reverts commit 2322b2da15.
2025-08-16 16:19:23 +08:00
Tim e27aa34cfd Merge pull request #596 from nagisa77/codex/save-user-tab-selection-in-localstorage
feat: persist home tab selection
2025-08-16 16:10:49 +08:00
Tim 2322b2da15 feat: remember selected tab 2025-08-16 16:10:37 +08:00
tim 79261054f9 feat: ci & cd 2025-08-16 15:24:32 +08:00
tim 86633e1f21 feat: ci & cd 2025-08-16 15:23:54 +08:00
tim 784598a6f0 feat: ci & cd 2025-08-16 15:23:05 +08:00
tim fdad0e5d34 feat: cd & cd 2025-08-16 15:21:53 +08:00
tim ebf63c4072 feat: test commit 2025-08-16 15:20:46 +08:00
tim 354d6bdaf9 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-16 15:19:21 +08:00
tim d9aebdebdc feat: 预发环境 2025-08-16 15:19:10 +08:00
Tim d6f6495b35 Merge pull request #595 from AnNingUI/main
fix: 修复我的信息界面中的header无法粘性布局的bug以及解决了一些-webkit样式警告
2025-08-16 15:02:48 +08:00
AnNingUI 300f8705ef fix: 修复我的信息界面中的header无法粘性布局的bug以及解决了一些-webkit样式警告
fixed: #588
2025-08-16 13:49:24 +08:00
tim 1f74a29dce fix: 修复header 显示异常 2025-08-16 11:34:03 +08:00
Tim 27ef792b11 Merge pull request #594 from immortal521/feat/user-menu-animation
feat: add transition effects for page and dropdown
2025-08-16 11:25:45 +08:00
Tim 8dd2d59617 Merge pull request #593 from immortal521/fix/mobile-theme-toggle-position
fix: incorrect animation start position on mobile theme toggle
2025-08-16 11:25:06 +08:00
Tim 077ba448d7 Merge pull request #592 from immortal521/fix/unlogin-cant-change-theme
fix: allow theme toggle without requiring user login
2025-08-16 11:22:36 +08:00
immortal521 9ce85f2769 fix: fix incorrect animation start position on mobile theme toggle
- Unified coordinate handling for mouse and touch events to ensure the
animation start point accurately follows the finger position on mobile
devices.
2025-08-16 01:45:57 +08:00
immortal521 f5557cbf08 feat: add transition effects for page and dropdown
- Add page transition CSS with opacity and blur effects

- Wrap dropdown in Transition component with slide effect

- Configure Nuxt pageTransition in config
2025-08-16 01:22:56 +08:00
immortal521 e042c499e1 fix: allow theme toggle without requiring user login 2025-08-16 01:11:30 +08:00
tim e01afb168c Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-16 01:11:14 +08:00
tim c1d81eb1d1 fix: update staging base url 2025-08-16 01:11:02 +08:00
Tim 2b0b429866 Merge pull request #589 from AnNingUI/main
fix: 添加对非startViewTransition支持的浏览器添加一个回退的主题切换动画
2025-08-16 00:34:08 +08:00
AnNingUI 8ea85d78ee fix: 解决menu-background-color变量被firefox的userChrome.css覆盖问题 2025-08-15 22:54:49 +08:00
AnNingUI 3b506fe8a8 Merge branch 'main' of github.com:AnNingUI/OpenIsle 2025-08-15 22:25:40 +08:00
AnNingUI 3cc7a4c01a fix: 添加对非startViewTransition支持的浏览器添加一个回退的主题切换动画
fixes: #583
2025-08-15 22:25:02 +08:00
tim 2e749a5672 fix: update 后端端口 2025-08-15 18:16:10 +08:00
tim 7d553d7750 fix: add staging example file 2025-08-15 17:50:20 +08:00
Tim 16105cef54 Merge pull request #584 from CH-122/fix/mobile-theme-mode
fix: 手机状态栏暗黑模式背景颜色显示不正确
2025-08-15 15:48:09 +08:00
CH-122 2b824d94f2 fix: 更新新增帖子图标类名并调整样式作用域 2025-08-15 15:47:24 +08:00
CH-122 00d3c563e2 feat: 移动端 header 中添加主题切换图标, 菜单中隐藏 2025-08-15 15:36:25 +08:00
CH-122 b26891261c fix: 适配 ios safari 浏览器暗黑模式 2025-08-15 15:23:49 +08:00
CH-122 c1d19b854b fix: 手机状态栏暗黑模式背景颜色显示不正确 2025-08-15 14:52:30 +08:00
Tim 72e7ccf262 Merge pull request #581 from immortal521/feat/theme-toggle-transition
feat: implement theme transition animations and dark mode improvements
2025-08-15 13:27:44 +08:00
tim 84ca6fd28c feat: add refresh home 2025-08-15 13:24:00 +08:00
immortal521 d1c148c5c4 Merge branch 'main' into feat/theme-toggle-transition 2025-08-15 13:20:37 +08:00
immortal521 ef58630dae feat: implement theme transition animations and dark mode improvements
- Add view transition API for theme switching

- Update cycleTheme to handle animation circle

- Refactor CSS with consistent quoting and indentation

- Improve theme variable handling and no-op optimizations

- Pass event to cycleTheme in MenuComponent
2025-08-15 13:12:27 +08:00
Tim f025e82e7c Merge pull request #580 from nagisa77/codex/resolve-chunk-size-warning-issue
chore: split large vite chunks
2025-08-15 13:11:00 +08:00
Tim 4380a988f7 chore: split large vite chunks 2025-08-15 13:10:47 +08:00
tim 2899f7af48 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-15 13:04:48 +08:00
tim d4b05256a3 fix: update package-lock 2025-08-15 13:03:43 +08:00
Tim 57a26e375d Merge pull request #579 from palmcivet/docs/update-readme
feat: 更新 README “开发”章节
2025-08-15 12:57:05 +08:00
Palm Civet 8a202c4fba feat: 更新 README 2025-08-15 12:39:51 +08:00
Tim 089b2a3f5f Merge pull request #578 from AnNingUI/main
feat: Add Messages Update
2025-08-15 12:26:40 +08:00
AnNingUI 0b3d7a21d5 fix: 迁移markAllRead函数 2025-08-15 11:59:29 +08:00
AnNingUI fe8a705a28 Merge branch 'main' of github.com:AnNingUI/OpenIsle 2025-08-15 11:44:19 +08:00
AnNingUI 974c7ba83e feat: Add Message Update 2025-08-15 11:42:39 +08:00
Tim f2937d735d Merge pull request #576 from nagisa77/feature/ui_fix_v0
fix: 移动端才显示
2025-08-15 11:40:21 +08:00
Tim 423248c574 fix: 移动端才显示 2025-08-15 11:39:47 +08:00
Tim 5126cfda8c Merge pull request #575 from nagisa77/feature/ui_fix_v0
fix: 仅仅在主页显示
2025-08-15 11:38:07 +08:00
Tim e009875797 fix: 仅仅在主页显示 2025-08-15 11:37:30 +08:00
Tim 04ff17f796 Merge pull request #574 from nagisa77/feature/ui_fix_v0
fix: ui fix
2025-08-15 11:25:45 +08:00
Tim e9c9fbd742 fix: ui fix 2025-08-15 11:24:01 +08:00
Tim b385945c2d Merge pull request #572 from CH-122/refactor/ui
refactor: 在 header 组件中添加发帖功能,移动端添加发帖悬浮按钮,优化首页搜索标题样式 ,
2025-08-15 11:16:31 +08:00
CH-122 24cbed2eda feat: 移动端添加发帖悬浮按钮 2025-08-15 10:59:29 +08:00
CH-122 ba073b71a6 feat: 在头部组件和菜单组件中添加发帖功能,并优化首页搜索标题样式 2025-08-15 10:37:51 +08:00
CH-122 5ff098ea21 feat: 添加 Tooltip 组件 2025-08-15 10:31:53 +08:00
Tim f6713b956e Merge pull request #569 from immortal521/fix/564-theme-toggle-btn-position 2025-08-15 09:27:55 +08:00
Tim b8ea12646f Merge pull request #568 from immortal521/fix/about-page-link-color-#566 2025-08-15 09:27:14 +08:00
immortal521 e573e54c2b fix: correct theme toggle button position (#564) 2025-08-15 03:00:57 +08:00
immortal521 8ec005d392 fix(about): fix link color issue on about page (#566)
Questions:
- Why are markdown styles split into `about-content` and
`info-content-text`?
- Why is `about-content` defined both globally and inside the Vue
component?
2025-08-15 02:42:04 +08:00
tim b1f92f61a6 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-15 01:37:01 +08:00
tim 824b4dd8aa feat: ui update 2025-08-15 01:36:50 +08:00
Tim 6b08db7e58 Merge pull request #565 from nagisa77/feature/daily_bugfix_0814
fix: revert vditor change
2025-08-15 00:51:09 +08:00
tim 6f3830b3f7 fix: revert vditor change 2025-08-15 00:50:44 +08:00
Tim d70dad723f Merge pull request #563 from nagisa77/feature/daily_bugfix_0814
若干问题修复,见评论
2025-08-15 00:31:46 +08:00
tim 2cf89e4802 fix: ssr 水合采用useAsyncData 2025-08-15 00:12:06 +08:00
tim 1fc6460ae0 fix: 修复vditor移动端贴顶的问题 2025-08-15 00:01:18 +08:00
Tim a04e5c2f6f Merge pull request #560 from CH-122/feat/password-recovery-hint
feat: 忘记密码页面添加提示 & 修复缺少定义导致的报错 #535
2025-08-14 23:43:26 +08:00
Tim 77b26937f5 Merge pull request #562 from CH-122/fix/mobile-header-search
fix: 移动端 header 点击搜索图标功能异常
2025-08-14 23:39:19 +08:00
Tim a1134b9d4b Merge pull request #559 from AnNingUI/main 2025-08-14 21:42:32 +08:00
AnNingUI 600f6ac1d1 fix: 修复代码高亮背景与抽奖背景色公用的问题 2025-08-14 21:39:39 +08:00
CH_122 9ad50b35c9 fix: 移动端 header 点击搜索图标功能异常 2025-08-14 21:35:57 +08:00
CH_122 867ee3907b feat: 忘记密码添加提示 & 修复缺少定义导致的报错 2025-08-14 21:21:34 +08:00
CH_122 58fcd42745 style: add cursor pointer to dropdown items for better UX 2025-08-14 21:20:23 +08:00
AnNingUI 0ee62a3a04 fix: 让代码展示背景的样式更加现代化,修复分类选择框仅有一个当前分类的问题
Fixes #558
2025-08-14 21:05:08 +08:00
Tim f0bc7a22a0 fix: google login 问题修复 2025-08-14 20:34:21 +08:00
Tim f6c0c8e226 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-14 20:25:33 +08:00
Tim 8f3c0d6710 fix: google login 问题修复 2025-08-14 20:25:09 +08:00
Tim 4f738778db Merge pull request #557 from nagisa77/feature/code_buauty
fix: 代码风格设置
2025-08-14 20:17:23 +08:00
Tim 84b45f785d fix: 代码风格设置 2025-08-14 19:55:53 +08:00
tim df56d7e885 Revert "optimize(backend): optimize /api/posts/latest-reply"
This reverts commit 1e87e9252d.
2025-08-14 18:54:12 +08:00
tim 76176e135c Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-14 18:27:25 +08:00
tim ab87e0e51c fix: fix missing setup 2025-08-14 18:27:12 +08:00
Tim 5346a063bf Merge pull request #555 from netcaty/main
优化主页列表接口/api/posts/latest-reply
2025-08-14 18:19:19 +08:00
netcaty e53f2130b8 Merge branch 'nagisa77:main' into main 2025-08-14 17:54:08 +08:00
netcat 1e87e9252d optimize(backend): optimize /api/posts/latest-reply
resolves #554
2025-08-14 17:53:01 +08:00
tim 3fc4d29dce Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-14 17:27:42 +08:00
tim bcdac9d9b2 fix: delete hook update 2025-08-14 17:27:30 +08:00
Tim ea9710d16f Merge pull request #553 from nagisa77/codex/fix-missing-comment-pinning-feature
fix: restore comment pin handling
2025-08-14 17:21:26 +08:00
Tim 47134cadc2 fix: handle pinned comments from backend 2025-08-14 17:21:08 +08:00
tim 1a1b20b9cf fix: update css import 2025-08-14 17:20:02 +08:00
Tim b63ebb8fae Merge pull request #552 from immortal521/feat/code-block-line-number
feat: add code block line number display
2025-08-14 16:47:46 +08:00
immortal521 e0f7299a86 feat: add code block line number display
- Added Maple Mono font
- Changed code block font to Maple Mono
- Increased mobile line height from 1.1 to 1.5
2025-08-14 15:40:14 +08:00
Tim 1f9ae8d057 Merge pull request #550 from nagisa77/feature/fix_db_error
fix: fix reward db error
2025-08-14 15:21:31 +08:00
Tim da1ad73cf6 fix: fix reward db error 2025-08-14 15:19:21 +08:00
Tim 53c603f33a Merge pull request #546 from netcaty/main
optimize(backend): batch query for /api/categories && /api/tags
2025-08-14 14:30:14 +08:00
Tim 06f86f2b21 Merge pull request #545 from nagisa77/feature/first_screen
Feature/first screen
2025-08-14 14:26:17 +08:00
Tim 22693bfdd9 fix: 首屏ssr优化 2025-08-14 14:25:38 +08:00
netcat 0058f20b1e optimize(backend): batch query for /api/categories && /api/tags 2025-08-14 14:19:04 +08:00
Tim 304d941d68 Revert "fix: use home path"
This reverts commit 2efe4e733a.
2025-08-14 13:50:58 +08:00
Tim 3dbcd2ac4d Merge pull request #543 from nagisa77/feature/first_screen
fix: use home path
2025-08-14 13:46:48 +08:00
Tim 2efe4e733a fix: use home path 2025-08-14 13:45:29 +08:00
Tim 08239a16b8 Merge pull request #542 from nagisa77/feature/first_screen
fix: 首屏ssr优化
2025-08-14 13:40:07 +08:00
Tim cb49dc9b73 fix: 首屏ssr优化 2025-08-14 13:39:25 +08:00
Tim 43d4c9be43 Merge pull request #541 from nagisa77/feature/first_screen
fix: 首屏ssr优化
2025-08-14 13:24:17 +08:00
Tim 1dc13698ad fix: 首屏ssr优化 2025-08-14 13:22:53 +08:00
Tim d58432dcd9 Merge pull request #540 from nagisa77/codex/fix-logo-click-triggering-window.reload 2025-08-14 12:47:43 +08:00
Tim e7ff73c7f9 fix: prevent header logo from triggering page reload 2025-08-14 12:47:26 +08:00
Tim 4ee9532d5f Merge pull request #539 from nagisa77/codex/fix-logo-click-reload-issue 2025-08-14 12:38:11 +08:00
Tim 80c3fd8ea2 fix: prevent homepage reload on logo click 2025-08-14 12:37:54 +08:00
Tim 7e277d06d5 Merge pull request #538 from nagisa77/feature/first_screen
fix: 首屏幕ssr优化
2025-08-14 12:29:58 +08:00
Tim d2b68119bd fix: 首屏幕ssr优化 2025-08-14 12:29:08 +08:00
Tim f7b0d7edd5 Merge pull request #537 from nagisa77/feature/first_screen
fix: 首屏幕ssr优化
2025-08-14 11:56:26 +08:00
Tim cdea1ab911 fix: 首屏幕ssr优化 2025-08-14 11:55:39 +08:00
Tim ada6bfb5cf Merge pull request #536 from nagisa77/codex/add-logo-click-to-refresh-homepage
feat: refresh home when clicking header logo
2025-08-14 11:00:37 +08:00
Tim 928dbd73b5 feat: allow logo to refresh home page 2025-08-14 11:00:17 +08:00
Tim 8c1a7afc6e Merge pull request #530 from nagisa77/feature/env
fix: 前后端代码域名hardcode调整(for预发环境做准备)
2025-08-14 10:38:49 +08:00
Tim 87453f7198 fix: add .env.example 2025-08-14 10:36:02 +08:00
Tim 48e3593ef9 Merge remote-tracking branch 'origin/main' into feature/env 2025-08-14 10:34:10 +08:00
Tim 655e8f2a65 fix: setup 迁移完成 v1 2025-08-14 10:27:01 +08:00
Tim 7a0afedc7c Merge pull request #533 from CH-122/feat/link 2025-08-13 18:12:34 +08:00
Tim 902fce5174 fix: setup 迁移完成 2025-08-13 17:59:38 +08:00
Tim 0034839e8d fix: 迁移部分页面为setup 2025-08-13 17:49:51 +08:00
CH-122 148fd36fd1 Merge branch 'main' into feat/link 2025-08-13 17:48:23 +08:00
Tim 06cd663eaf Merge pull request #532 from nagisa77/codex/add-comment-pinning-feature
feat: support comment pinning
2025-08-13 16:31:12 +08:00
Tim 0edbeabac2 feat: allow post authors to pin comments 2025-08-13 16:30:48 +08:00
Tim 65cc3ee58b Merge pull request #531 from nagisa77/codex/add-post-lottery-notification-to-author 2025-08-13 16:20:09 +08:00
Tim 6965fcfb7f feat: notify lottery author 2025-08-13 16:19:53 +08:00
Tim 40520c30ec Merge pull request #529 from nagisa77/codex/refactor-to-use-environment-variables
feat: move API and OAuth IDs to runtime config
2025-08-13 16:01:07 +08:00
Tim 5d7ca3d29a feat: use runtime config for API and OAuth client IDs 2025-08-13 16:00:26 +08:00
Tim a3aec1133b Merge pull request #528 from nagisa77/codex/add-new-prize-notification-type
feat: add lottery win notification
2025-08-13 15:58:33 +08:00
Tim 8fa715477b feat: add lottery win notification 2025-08-13 15:57:59 +08:00
CH-122 9209ebea4c feat: 添加链接插件以支持外部链接在新窗口打开 2025-08-13 15:40:40 +08:00
Tim 47a9ce5843 fix: 后端取消网址hardcode 2025-08-13 14:02:32 +08:00
Tim dfef13e2be Merge pull request #520 from AnNingUI/main
fix: 清理掉了大部分warn,优化了在移动端侧边栏的逻辑问题
2025-08-12 21:45:46 +08:00
AnNingUI 2f4d6e68da fix: 用传递menuBtn的ref代替手动查询dom的方式 2025-08-12 21:26:24 +08:00
AnNingUI 414872f61e fix: 解决tag与类别切换需要reload整个页面的bug 2025-08-12 20:42:31 +08:00
AnNingUI 82475f71db fix: 清理掉了所有warn,优化了在移动端侧边栏的逻辑问题 2025-08-12 20:36:00 +08:00
Tim a6874e9be3 Merge pull request #512 from nagisa77/feature/message_control
feat: message control
2025-08-12 17:45:17 +08:00
Tim 720031770d Merge branch 'main' into feature/message_control 2025-08-12 17:43:36 +08:00
Tim eb7a25434f fix: global popup 2025-08-12 17:34:13 +08:00
Tim bda4b24cf0 Revert "Disable post viewed and user activity notifications by default"
This reverts commit aea4f59af7.
2025-08-12 17:31:01 +08:00
Tim 4dedb70d54 Merge pull request #519 from nagisa77/codex/enable-user-notification-filtering
Disable post-viewed and user-activity notifications by default
2025-08-12 17:18:15 +08:00
Tim aea4f59af7 Disable post viewed and user activity notifications by default 2025-08-12 17:16:42 +08:00
Tim 84ed778dc0 Merge pull request #518 from nagisa77/codex/add-notification-settings-pop-up
feat: add notification settings popup
2025-08-12 16:41:13 +08:00
Tim 6ca1862034 feat: allow navigating to notification settings 2025-08-12 16:29:04 +08:00
Tim b3ea41ad1e Merge pull request #513 from AnNingUI/main
fix: 统一使用绝对路径别名“~”并加入jsconfig方便编辑器跳转
2025-08-12 15:19:34 +08:00
Tim 210d3dfa6f fix: add type 2025-08-12 15:01:03 +08:00
AnNingUI 80ecb1620d fix: 统一使用绝对路径别名“~”并加入jsconfig方便编辑器跳转
Fixes #510
2025-08-12 14:45:55 +08:00
Tim b094f2f287 Merge pull request #511 from nagisa77/codex/support-disabling-message-notification-types
feat: support notification type preferences
2025-08-12 14:29:30 +08:00
Tim 02076e24e5 feat: allow updating notification prefs 2025-08-12 14:28:34 +08:00
Tim d195d2f624 fix: basic ui 2025-08-12 14:07:57 +08:00
Tim 8b12402e89 fix: 右上角头像有显示问题, 点击后恢复 #508 2025-08-12 12:46:01 +08:00
Tim d72709ca4d Merge pull request #507 from nagisa77/feature/stats
fix: stat problems
2025-08-12 10:21:08 +08:00
Tim 9878c12e33 fix: stat problems 2025-08-12 10:19:40 +08:00
Tim 84c1833923 Merge pull request #506 from nagisa77/codex/add-three-new-reports 2025-08-12 09:31:42 +08:00
Tim 08a2678bd5 feat: add stat service 2025-08-12 09:31:27 +08:00
Tim ae46cbf216 Merge pull request #505 from nagisa77/codex/adapt-mobile-menu-for-click-outside 2025-08-12 09:27:11 +08:00
Tim 5fee90dfae feat: close mobile menu on outside tap 2025-08-12 09:25:41 +08:00
Tim 5a5d5add23 Merge pull request #503 from nagisa77/feature/nuxt_opt_v2
fix: 前端水合前ui优化. 可以考虑评论框不出
2025-08-12 01:30:20 +08:00
tim cf4c427335 Merge branch 'feature/nuxt_opt_v2' of github.com:nagisa77/OpenIsle into feature/nuxt_opt_v2 2025-08-12 01:30:02 +08:00
tim 85fb1b8a27 fix: search button issue 2025-08-12 01:29:50 +08:00
Tim 72282b1a2f Merge pull request #504 from nagisa77/codex/return-dto-in-activitycontroller-list-method
Use DTO for activity list
2025-08-12 01:22:40 +08:00
Tim 499488c22a Use DTO for activity list 2025-08-12 01:22:26 +08:00
tim e2d812246a fix: 移动端勋章展示有点异常 #485 2025-08-12 01:21:39 +08:00
tim c7d99885dc fix: 30DAYS 2025-08-12 01:17:03 +08:00
tim f977f96407 fix: 抽奖ui优化 #494 2025-08-12 01:07:50 +08:00
tim fb7d134b27 fix: SSR 迁移后 pwa 图标显示问题 #499 2025-08-12 00:37:33 +08:00
tim 98d85a0573 fix: 前端水合前ui优化. 可以考虑评论框不出 2025-08-12 00:20:07 +08:00
Tim 6c2a7f7957 Merge pull request #498 from nagisa77/codex/add-badge-for-first-1000-users
feat: add pioneer medal for first 1000 users
2025-08-11 20:17:26 +08:00
Tim 2ebccb40f5 feat: add pioneer medal dto 2025-08-11 20:15:49 +08:00
Tim 6342b8f3a6 Merge pull request #497 from nagisa77/codex/add-title-and-metadata-for-seo
feat: enhance SEO titles and descriptions
2025-08-11 19:02:49 +08:00
Tim 20585201dd feat: add SSR titles and metadata 2025-08-11 19:02:35 +08:00
Tim 1c4df40f12 fix: 全局格式化 2025-08-11 18:16:13 +08:00
Tim 31cff70f63 fix: test commit 2025-08-11 18:12:18 +08:00
Tim 678626a3d7 Merge pull request #495 from nagisa77/codex/add-gift-icon-for-lottery-posts
feat: add lottery icon to post list
2025-08-11 15:44:50 +08:00
Tim 05bf33dacd feat: add lottery icon to post list 2025-08-11 15:44:34 +08:00
tim 4cf7f1dacf fix: utc 2025-08-11 11:25:23 +08:00
tim 5871d74c4f fix: utc 2025-08-11 11:18:10 +08:00
Tim 1e3e1a78a5 Merge pull request #483 from nagisa77/zrjuux-codex/fix-circular-dependency-in-beans
Avoid PostService self-dependency at startup
2025-08-11 11:11:22 +08:00
Tim 4b987f894d Handle self-invocation in PostService 2025-08-11 11:11:11 +08:00
Tim 3ab1e92a37 Merge pull request #482 from nagisa77/revert-481-codex/fix-circular-dependency-in-beans
Revert "refactor: remove circular dependency in PostService"
2025-08-11 11:10:55 +08:00
Tim 2c334a26b6 Revert "refactor: remove circular dependency in PostService" 2025-08-11 11:10:45 +08:00
Tim 2a25c6edfa Merge pull request #481 from nagisa77/codex/fix-circular-dependency-in-beans
refactor: remove circular dependency in PostService
2025-08-11 11:09:35 +08:00
Tim 3c6553d7f8 refactor: remove circular dependency in PostService 2025-08-11 11:09:23 +08:00
tim 908df079e0 fix: UTC 时间 2025-08-11 11:03:00 +08:00
Tim a3f30e9444 Merge pull request #480 from nagisa77/codex/fix-finalizelottery-execution-issue
Fix lottery finalization scheduling
2025-08-11 10:59:20 +08:00
Tim aff3997687 Merge branch 'main' into codex/fix-finalizelottery-execution-issue 2025-08-11 10:59:06 +08:00
Tim 5fa0bd792b Ensure lottery finalization runs transactionally 2025-08-11 10:57:55 +08:00
tim 2280a16a83 Reapply "fix: UTC 时间"
This reverts commit 86ef6f9ce7.
2025-08-11 10:55:37 +08:00
tim 86ef6f9ce7 Revert "fix: UTC 时间"
This reverts commit bcd499b4bc.
2025-08-11 10:50:36 +08:00
tim bcd499b4bc fix: UTC 时间 2025-08-11 10:43:27 +08:00
tim dcc7c3ebcc fix: 取消时区计算 2025-08-11 10:28:40 +08:00
tim fd2676ef04 fix: add log 2025-08-11 10:24:13 +08:00
Tim ca49407bf9 Merge pull request #479 from nagisa77/codex/refactor-lottery-task-scheduling
Reschedule lottery finalization on startup
2025-08-11 10:21:01 +08:00
Tim ff64f13765 Reschedule lottery finalization on startup 2025-08-11 10:20:50 +08:00
Tim 29e061c885 Merge pull request #478 from nagisa77/codex/fix-postservice-argument-length-error
test: update PostService tests for new signature
2025-08-11 10:07:10 +08:00
Tim 36bc86da7f test: update PostService tests for new signature 2025-08-11 10:06:53 +08:00
Tim 2811a89e3b Merge pull request #477 from nagisa77/codex/remove-schedule-when-deleting-lottery-post
Cancel scheduled lottery finalizations when deleting posts
2025-08-11 10:06:07 +08:00
Tim a774c9cc97 Cancel lottery schedule on post deletion 2025-08-11 10:05:37 +08:00
tim e27f57fab2 fix: website 2025-08-11 10:01:36 +08:00
Tim 692fc6d1d0 Merge pull request #470 from nagisa77/codex/add-lottery-post-type-and-api
feat: add lottery post type with participation API
2025-08-11 09:56:45 +08:00
tim 5360529327 feat: 抽奖ui 2025-08-11 09:56:15 +08:00
Tim e7d0f7fb0e Merge pull request #476 from nagisa77/codex/implement-logic-in-posts-page
feat: add lottery section logic
2025-08-11 02:35:25 +08:00
Tim 6b1aeb82c1 feat: add lottery section logic 2025-08-11 02:34:54 +08:00
tim 8320a84ba0 feat: 抽奖ui 2025-08-11 02:22:38 +08:00
Tim 7aef126181 Merge pull request #475 from nagisa77/codex/add-post-type-selection-and-lottery-options
feat: add lottery post type options
2025-08-11 01:45:38 +08:00
Tim e0291868bc feat: add lottery post type options 2025-08-11 01:45:23 +08:00
Tim 0cf1bf187a Merge pull request #474 from nagisa77/revert-473-f9h526-codex/add-post-creation-enhancements
Revert "feat: add lottery post fields"
2025-08-11 01:33:12 +08:00
Tim 6fb16e91dc Revert "feat: add lottery post fields" 2025-08-11 01:32:50 +08:00
Tim 6d40e6e5e8 Merge pull request #473 from nagisa77/f9h526-codex/add-post-creation-enhancements
feat: add lottery post fields
2025-08-11 01:32:26 +08:00
Tim 398226b9bc feat: add lottery post fields 2025-08-11 01:32:12 +08:00
Tim c1ad6b499f Merge pull request #472 from nagisa77/revert-471-codex/add-post-creation-enhancements
Revert "feat: add lottery post options"
2025-08-11 01:31:00 +08:00
Tim 71e0b1379c Revert "feat: add lottery post options" 2025-08-11 01:30:36 +08:00
Tim 594d8bf994 Merge pull request #471 from nagisa77/codex/add-post-creation-enhancements
feat: add lottery post options
2025-08-11 01:29:42 +08:00
Tim 7616a2d0e0 feat: add lottery post options 2025-08-11 01:29:22 +08:00
tim c4ca1465ee Merge remote-tracking branch 'origin/main' into codex/add-lottery-post-type-and-api 2025-08-11 01:18:50 +08:00
Tim eb32e4bad7 feat: implement lottery post type 2025-08-11 01:17:55 +08:00
tim ae1a8daa22 Revert "Reapply "feat: reuse server data on home page""
This reverts commit dbeaefe9ba.
2025-08-11 01:14:51 +08:00
tim 0fdb4c234a feat: fix menu show 2025-08-11 01:08:44 +08:00
tim 23815fbd0a feat: fix ssr 2025-08-11 00:55:58 +08:00
tim dbeaefe9ba Reapply "feat: reuse server data on home page"
This reverts commit 6d277b5809.
2025-08-11 00:41:34 +08:00
tim 582873e505 Reapply "fix: retain scroll position after hydration"
This reverts commit ff767970a1.
2025-08-11 00:41:08 +08:00
Tim 6b35b43fd6 Merge pull request #469 from nagisa77/feature/nuxt_opt_v1 2025-08-10 22:12:02 +08:00
Tim 06fd7e893e Merge pull request #468 from nagisa77/codex/fix-avatar-misalignment-on-refresh 2025-08-10 22:09:00 +08:00
Tim ef2bf7f32b fix: ensure unique avatar keys on home page 2025-08-10 22:01:56 +08:00
tim f312cf7d1c Revert "fix: correct SSR mobile detection"
This reverts commit 113cec1705.
2025-08-10 17:41:20 +08:00
Tim 351b33bb3c Merge pull request #465 from nagisa77/codex/ssrismobile
fix: correct SSR mobile detection
2025-08-10 17:14:42 +08:00
Tim 113cec1705 fix: correct SSR mobile detection 2025-08-10 17:14:02 +08:00
tim 454f2b4a0b Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-10 13:19:02 +08:00
tim 6ab4879968 fix: 解决帖子评论问题 2025-08-10 13:18:37 +08:00
tim 57acb37e84 fix: 解决帖子评论问题 2025-08-10 12:46:20 +08:00
Tim 4441c697b3 Merge pull request #460 from nagisa77/feature/nuxt_opt_v1
Feature/nuxt opt
2025-08-10 12:30:22 +08:00
tim bda2b54ce9 fix: magic delay 2025-08-10 12:30:09 +08:00
Tim f6f4f198b0 Merge pull request #461 from nagisa77/codex/improve-comment-box-scroll-behavior
fix comment reply editor visibility
2025-08-10 12:27:45 +08:00
Tim f50541bff7 feat: scroll to comment editor when opened 2025-08-10 12:27:32 +08:00
tim 2a5bff1086 feat: 本地回复数据fixed 2025-08-10 12:26:22 +08:00
Tim 8c1386a2d0 Merge pull request #459 from nagisa77/codex/reset-login-state-on-401-error
Reset auth on token expiry
2025-08-10 11:59:39 +08:00
Tim ce5bcb9dca Reset auth on 401 2025-08-10 11:59:23 +08:00
tim 1177a778ee feat: fix 注册失败和登录失败 2025-08-10 11:50:21 +08:00
tim 1a8e216aa9 feat: 新增贡献者前端标识 2025-08-10 02:24:26 +08:00
tim 7189977a2f feat: 防止重新弄错代码行数 2025-08-10 02:14:43 +08:00
Tim d5f52529f7 Merge pull request #457 from nagisa77/codex/fix-compilation-issue-in-medalservicetest
test: update MedalService tests for contributor medal
2025-08-10 02:08:47 +08:00
Tim 1e85e489a7 test: update MedalService tests for contributor medal 2025-08-10 02:08:28 +08:00
Tim 5ec85519c7 Merge pull request #447 from nagisa77/codex/add-new-medallions-and-related-api
feat: implement medal API
2025-08-10 02:03:00 +08:00
tim 9462c284d6 feat: 新增贡献者勋章 2025-08-10 02:02:36 +08:00
Tim c6e88792a3 Merge pull request #456 from nagisa77/codex/add-contributor-achievement-feature
feat: add contributor achievement
2025-08-10 01:30:03 +08:00
Tim 2dfbf0d904 feat: track contributor lines 2025-08-10 01:29:41 +08:00
Tim 68c7b12cb0 Merge pull request #455 from nagisa77/codex/update-backend-to-set-selected-badge
feat: auto select medal for user in mappers
2025-08-10 01:15:21 +08:00
Tim 33b2734ba5 feat: auto select medal for user in mappers 2025-08-10 01:15:02 +08:00
Tim b58a5d975c Merge pull request #454 from nagisa77/codex/update-medal-selection-logic-in-backend
feat: auto select medals and improve navigation
2025-08-10 00:59:51 +08:00
Tim d0df698aa9 feat: auto select medals and improve navigation 2025-08-10 00:59:34 +08:00
tim 6b80f2386b Revert "feat: auto select medals and make badges interactive"
This reverts commit 4516f77727.
2025-08-10 00:32:07 +08:00
Tim 8e475103f8 Merge pull request #452 from nagisa77/codex/add-badge-selection-for-users
feat: auto select medals and make badges interactive
2025-08-10 00:26:54 +08:00
Tim 4516f77727 feat: auto select medals and make badges interactive 2025-08-10 00:25:13 +08:00
Tim 594068bd5e Merge pull request #451 from nagisa77/codex/add-user-badge-selection-feature
feat: enable user medal selection and display
2025-08-10 00:14:31 +08:00
Tim 041496cf98 feat: add user medal selection and display 2025-08-10 00:13:54 +08:00
tim 6aedec7a9b feat: achievement select to show 2025-08-09 22:26:46 +08:00
Tim 6d08d10f19 Merge pull request #450 from nagisa77/codex/add-achievement-popup-to-globalpopups.vue
feat: add medal popup
2025-08-09 17:18:46 +08:00
Tim cdc35878a2 feat: add medal popup 2025-08-09 17:18:31 +08:00
tim 57c0aa5899 feat: 完成的排序在前面 2025-08-09 17:08:48 +08:00
Tim b196be59a2 Merge pull request #449 from nagisa77/codex/tabloading
feat: optimize achievements tab loading
2025-08-09 16:53:40 +08:00
Tim 760bc4fc4b feat: optimize achievements tab loading 2025-08-09 16:53:27 +08:00
tim 6b5b6b8c81 feat: fix some code 2025-08-09 16:47:40 +08:00
Tim 411d24194b Merge pull request #448 from nagisa77/codex/integrate-real-data-for-achievementlist
feat: wire achievements to backend
2025-08-09 14:29:42 +08:00
Tim 2560bf45a7 feat: wire achievements to backend 2025-08-09 14:29:29 +08:00
tim 4207886dce feat: achivement 2025-08-09 14:15:54 +08:00
Tim 987fe0d885 feat: implement medal feature 2025-08-09 02:08:02 +08:00
tim 9c1cedd172 feature: delete vue3 CSR 2025-08-09 01:16:37 +08:00
tim ff767970a1 Revert "fix: retain scroll position after hydration"
This reverts commit 637f5316e8.
2025-08-08 18:45:53 +08:00
tim 6d277b5809 Revert "feat: reuse server data on home page"
This reverts commit 4df96f8aa2.

# Conflicts:
#	frontend_nuxt/pages/index.vue
2025-08-08 18:45:34 +08:00
Tim fddfd07836 Merge pull request #446 from nagisa77/codex/fix-ismobile-check-for-initial-data 2025-08-08 18:12:56 +08:00
Tim 27a2591904 refactor: per-request mobile detection 2025-08-08 18:12:40 +08:00
Tim 70eece7a83 Merge pull request #445 from nagisa77/codex/fix-scroll-issue-on-homepage 2025-08-08 18:06:10 +08:00
Tim 637f5316e8 fix: retain scroll position after hydration 2025-08-08 18:05:36 +08:00
Tim 25a64d7666 Merge pull request #443 from nagisa77/codex/use-server-fetch-data-in-homepage
feat: reuse server data on home page
2025-08-08 17:58:33 +08:00
Tim 4df96f8aa2 feat: reuse server data on home page 2025-08-08 17:53:44 +08:00
Tim 3e4834f0fd fix: profile提速 2025-08-08 17:37:12 +08:00
Tim 10a63d3659 fix: 夜间模式修复 2025-08-08 17:36:39 +08:00
Tim cc1a414df4 feat: support keepalive 2025-08-08 17:24:43 +08:00
Tim 8ceae90962 Revert "feat: enable page keepalive"
This reverts commit d9099c7281.
2025-08-08 17:21:59 +08:00
Tim 12b7c68cae Merge pull request #442 from nagisa77/codex/add-keep-alive-feature-for-navigation
feat: enable page keepalive
2025-08-08 17:10:33 +08:00
Tim d9099c7281 feat: enable page keepalive 2025-08-08 17:10:17 +08:00
Tim 7d793ede6e Merge pull request #441 from nagisa77/codex/fix-vditor-styles-not-applying-in-ssr
fix: apply global Vditor styles in SSR
2025-08-08 17:05:17 +08:00
Tim 6233508442 fix: apply global Vditor styles in SSR 2025-08-08 17:05:00 +08:00
Tim 91298c6922 Merge pull request #440 from nagisa77/codex/fix-flash-of-white-on-night-mode
fix: apply theme before render to avoid flash
2025-08-08 17:02:58 +08:00
Tim 8dcb61dfed fix: apply theme before render to avoid flash 2025-08-08 17:02:43 +08:00
Tim 2b33253182 Merge pull request #439 from nagisa77/codex/fix-homepage-redirection-issue
fix: support user profile trailing slash
2025-08-08 17:01:13 +08:00
Tim 30919212f3 fix: support user profile trailing slash 2025-08-08 17:00:58 +08:00
Tim 1a496dc0ee Merge pull request #438 from nagisa77/codex/fix-server-side-ismobile-detection-for-ssr
fix: handle mobile detection during SSR
2025-08-08 17:00:03 +08:00
Tim 7aafe30b46 feat: improve SSR mobile detection 2025-08-08 16:59:45 +08:00
Tim 688d29f445 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-08 15:53:40 +08:00
Tim 14dd5a8fc2 feat: add global css 2025-08-08 15:53:08 +08:00
Tim 0ec5db5d91 Merge pull request #437 from nagisa77/codex/fix-night-mode-reset-on-refresh
fix: persist theme mode across refresh
2025-08-08 15:41:17 +08:00
Tim 26622a4ad2 fix: persist theme mode across refresh 2025-08-08 15:41:02 +08:00
Tim f36532d45f Merge pull request #436 from nagisa77/codex/add-global-loading-progress-bar
feat(frontend_nuxt): add global loading progress bar
2025-08-08 15:17:44 +08:00
Tim af2cf99041 feat(frontend_nuxt): wire up nprogress plugin 2025-08-08 15:05:33 +08:00
Tim af9028190d feat: 域名修改 2025-08-08 14:26:49 +08:00
Tim 9120ea511b Merge pull request #432 from nagisa77/feature/nuxt_optimization
Feature: nuxt optimization
2025-08-08 14:22:53 +08:00
Tim 37e0f9dbc5 feat: 移动端服务器渲染判断 2025-08-08 14:21:58 +08:00
Tim 98bcbf52ba feat: 首刷返回 2025-08-08 14:15:42 +08:00
Tim 3a23cd8e19 Merge pull request #435 from nagisa77/codex/fix-composable-usage-outside-of-valid-context 2025-08-08 13:57:52 +08:00
Tim e1a1bc8a69 fix: ensure router composable initialized before async 2025-08-08 13:56:56 +08:00
Tim 44c3091951 fix: 解决冲突 2025-08-08 13:50:15 +08:00
Tim 1840284b48 Merge remote-tracking branch 'origin/codex/modify-menu-component-for-server-content' into feature/nuxt_optimization 2025-08-08 13:40:20 +08:00
Tim 9de5f4ce8d feat(frontend_nuxt): fetch menu data server-side 2025-08-08 13:38:17 +08:00
Tim a794872ab6 Merge remote-tracking branch 'origin/main' into feature/nuxt_optimization 2025-08-08 13:35:37 +08:00
Tim 963f2167eb Merge pull request #433 from nagisa77/codex/fix-editing-article-navigation-issue
Fix post edit navigation in Nuxt frontend
2025-08-08 13:33:53 +08:00
Tim 35bdf58cd6 Fix post edit navigation by restructuring routes 2025-08-08 13:33:34 +08:00
Tim 65ae660486 feat: 修改为服务端渲染、解决跳转问题 2025-08-08 13:22:42 +08:00
Tim 6554e66a4e Merge pull request #430 from nagisa77/codex/add-server-side-rendering-for-index.vue
Enable SSR initial render for home and post pages
2025-08-08 12:58:05 +08:00
Tim 5e839be3af Enable SSR initial fetch for posts and home 2025-08-08 12:57:41 +08:00
Tim 44daa255c8 feat: 处理nuxt部分样式问题 & 跳转问题 2025-08-08 11:24:52 +08:00
Tim 2b1958a603 feat: 处理编译问题 2025-08-07 22:35:43 +08:00
Tim 51e958799d feat: 处理编译问题 2025-08-07 22:28:39 +08:00
Tim 676e959d4b feat: toast 问题修改 2025-08-07 22:20:59 +08:00
Tim f9a89ae9ef Merge pull request #426 from nagisa77/codex/migrate-frontend-to-nuxt4-with-ssr
feat: add initial Nuxt frontend with SSR
2025-08-07 21:35:21 +08:00
Tim af85e7eee4 feat: update base url 2025-08-07 21:34:18 +08:00
Tim a9d104735c Merge pull request #428 from nagisa77/codex/fix-element-retrieval-error-on-refresh
fix: stable editor id on SSR
2025-08-07 21:28:34 +08:00
Tim 752d288e3b fix: stable editor id on SSR 2025-08-07 21:28:17 +08:00
Tim 9c59277023 feat: 处理页面报错 2025-08-07 21:18:21 +08:00
Tim d19cfc0797 Merge pull request #427 from nagisa77/codex/assist-migration-of-other-pages-to-nuxt
feat: migrate legacy Vue pages to Nuxt
2025-08-07 20:22:02 +08:00
Tim 565678f79a chore: migrate legacy pages and utilities to nuxt 2025-08-07 20:21:22 +08:00
Tim 73b9dcf0cd fix: 操作ldrs 2025-08-07 20:07:37 +08:00
Tim a65e051af8 Merge pull request #423 from WilliamColton/main
增加积分系统
2025-08-07 20:04:03 +08:00
WilliamColton f2a034f299 Merge remote-tracking branch 'origin/main' 2025-08-07 19:53:52 +08:00
WilliamColton b42cdcf640 增加积分系统 2025-08-07 19:53:25 +08:00
Tim cfdd257b9a feat: add initial Nuxt frontend with SSR 2025-08-07 19:18:42 +08:00
WilliamColton b4ac496b55 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	frontend/src/views/NewPostPageView.vue
#	frontend/src/views/PostPageView.vue
2025-08-07 16:29:14 +08:00
WilliamColton 105f7781b3 增加积分系统 2025-08-07 16:24:40 +08:00
Tim 925973b134 fix 2025-08-06 20:31:58 +08:00
Tim 4a88685e81 fix: 移动端表情面板fix 2025-08-06 20:26:01 +08:00
Tim d121bb08b9 Merge pull request #413 from nagisa77/codex/add-support-for-tieba-emojis-in-vditor
feat: add tieba emoji support
2025-08-06 20:11:07 +08:00
tim b4f85989d0 feat: 移动端 vditor 支持 2025-08-06 20:10:25 +08:00
Tim 21d8984bfb Merge pull request #414 from WoJiaoFuXiaoYun/main
fix: Click outside the drop-down box to not hide
2025-08-06 19:52:03 +08:00
tim 3de6b89cc4 fix: 修复vditor高度问题 2025-08-06 19:47:51 +08:00
Tim 9621efd282 Merge pull request #416 from nagisa77/codex/add-limited-toolbar-options-for-mobile
feat: show compact vditor toolbar on mobile
2025-08-06 19:33:09 +08:00
Tim fbaa05f146 feat: show compact vditor toolbar on mobile 2025-08-06 19:32:56 +08:00
Tim 05089761b6 Merge pull request #415 from nagisa77/codex/prevent-clearing-comments-on-error
fix: preserve comment text on failure
2025-08-06 19:29:10 +08:00
Tim fdf51be5f5 Preserve comment text on submission errors 2025-08-06 19:28:57 +08:00
tim 05dbeccdd7 fix: emoji fix 2025-08-06 19:26:35 +08:00
浮小云 25b8ac97d7 Merge branch 'nagisa77:main' into main 2025-08-06 19:16:00 +08:00
WangHe c2fe5649e2 Merge branch 'main' of https://github.com/WoJiaoFuXiaoYun/OpenIsle 2025-08-06 19:14:24 +08:00
WangHe 2235612070 fix: Click outside the drop-down box to not hide 2025-08-06 19:14:19 +08:00
Tim 6a1b71de0f feat: add tieba emoji support 2025-08-06 18:59:08 +08:00
Tim b9819252d3 Merge pull request #412 from nagisa77/codex/iconmap
refactor: centralize reaction emoji map
2025-08-06 18:58:17 +08:00
Tim 5709b0d6fd refactor: reuse shared reaction emoji map 2025-08-06 18:58:01 +08:00
Tim 5ef104df46 Merge pull request #411 from nagisa77/codex/modify-ui-to-update-on-read-actions
feat: improve notification read UX
2025-08-06 18:55:09 +08:00
Tim c838caf9e1 feat: update notification read UI instantly 2025-08-06 18:52:02 +08:00
Tim 597f682b75 fix: message page layout fix 2025-08-06 18:37:51 +08:00
Tim 2a72345943 Merge pull request #408 from nagisa77/codex/vditor
fix: offset vditor toolbar when pinned
2025-08-06 17:26:12 +08:00
Tim 73066522e3 Merge pull request #410 from WoJiaoFuXiaoYun/main
feat: vditor add loading
2025-08-06 17:25:58 +08:00
Tim f5a3206f36 feat: sticky 优化 2025-08-06 17:23:19 +08:00
浮小云 6a6d743b96 Merge branch 'nagisa77:main' into main 2025-08-06 17:11:29 +08:00
WangHe 2241cfc9da feat: vditor add loading 2025-08-06 17:10:36 +08:00
Tim 597bc09c57 fix: offset vditor toolbar when pinned 2025-08-06 16:15:22 +08:00
Tim fd024cf65d Merge pull request #406 from WoJiaoFuXiaoYun/main
fix: npm ci "highlight.js" build fail
2025-08-06 15:40:18 +08:00
WangHe 393e60c6e9 fix: npm ci "highlight.js" build fail 2025-08-06 15:20:33 +08:00
Tim 9a36b7651b Merge pull request #405 from WoJiaoFuXiaoYun/main
fix: add missing highlight.js
2025-08-06 14:37:26 +08:00
WangHe 5a2ef02ce7 fix: add missing highlight.js 2025-08-06 14:29:10 +08:00
Tim 227269c639 Merge pull request #404 from nagisa77/codex/update-application-approval-logic 2025-08-06 13:12:33 +08:00
Tim beb1bf70bf Test admin register request notification handling 2025-08-06 13:12:14 +08:00
Tim 3167aad6d8 更新 index.js 2025-08-06 12:36:17 +08:00
Tim 79ccc45c95 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-06 11:34:46 +08:00
Tim 48ee45a560 feat: md 格式优化 2025-08-06 11:27:09 +08:00
tim 5f75f34289 fix: callback 2025-08-06 02:07:09 +08:00
tim f0d1caf5f3 feat: 去除多线程操作 规避400问题 2025-08-06 01:45:46 +08:00
tim 004924815b feat: 偶现400错误,线程处理 2025-08-06 00:09:12 +08:00
tim 472db0174b feat: 偶现400错误,线程处理 2025-08-05 23:59:15 +08:00
tim 26ed082f93 Revert "revert: 通知取消异步,并且采用事务,看看能否解决 400"
This reverts commit 4e0dda3a24.
2025-08-05 23:54:40 +08:00
tim e491a00c57 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-05 23:26:45 +08:00
tim 4e0dda3a24 revert: 通知取消异步,并且采用事务,看看能否解决 400 2025-08-05 23:26:15 +08:00
Tim 91862713e7 Merge remote-tracking branch 'origin/main' into codex/fix-sticky-header-and-jumptohashcomment 2025-08-05 19:55:05 +08:00
Tim 009d139549 fix: magic bug with magic wait 2025-08-05 19:54:43 +08:00
Tim 74fa970902 Merge pull request #394 from nagisa77/codex/fix-sticky-header-and-jumptohashcomment
fix: sticky scroller and hash comment navigation
2025-08-05 19:45:32 +08:00
Tim eb933b8f78 fix: scroller fix! 2025-08-05 19:44:59 +08:00
Tim 7fe37d0131 fix: sync post scroller with window 2025-08-05 19:39:13 +08:00
Tim 82c0aa240a fix: make post page scroller sticky and restore comment hash navigation 2025-08-05 19:27:02 +08:00
Tim a543a7bcf2 fix: header use fixed 2025-08-05 19:23:44 +08:00
Tim f0caf930c5 Merge pull request #393 from nagisa77/feature/site_fix
Feature/site fix
2025-08-05 18:37:31 +08:00
Tim 05e28123ed fix: 页面使用最外层滚动 2025-08-05 18:35:51 +08:00
Tim 7292834700 Merge pull request #392 from nagisa77/codex/adapt-load-more-feature-in-homepageview
feat: unify scroll-based loading for outer scroll
2025-08-05 18:25:09 +08:00
Tim 3e4b94f1f2 feat: 通用滚动加载工具 2025-08-05 18:24:45 +08:00
Tim 0957a5c132 feat: 设置为外层滚动 2025-08-05 18:13:01 +08:00
Tim 1edaa50732 Revert "Reapply "feat: handle ios safari keyboard""
This reverts commit fb3eb2646d.
2025-08-05 15:46:31 +08:00
Tim fb3eb2646d Reapply "feat: handle ios safari keyboard"
This reverts commit dc73a74e1c.
2025-08-05 15:31:30 +08:00
Tim 1ed76f7687 feat: fix async request 2025-08-05 15:21:14 +08:00
Tim dc73a74e1c Revert "feat: handle ios safari keyboard"
This reverts commit 9b31df28aa.
2025-08-05 15:20:57 +08:00
Tim 2c0d39a6b8 Merge pull request #391 from nagisa77/356s63-codex/fix-header-overlap-issue-in-ios-safari
fix: handle iOS Safari keyboard scroll offset
2025-08-05 15:16:28 +08:00
Tim 9b31df28aa feat: handle ios safari keyboard 2025-08-05 15:15:57 +08:00
tim caba1c6658 fix: add error code 2025-08-05 13:34:28 +08:00
Tim dd0beb1955 Merge pull request #388 from nagisa77/codex/0
Fix homepage reply count display
2025-08-05 12:45:13 +08:00
Tim c65dfbcbf9 feat: show correct reply counts 2025-08-05 12:44:50 +08:00
Tim 2e8bc012fa feat: delete -webkit-backdrop-filter 2025-08-05 11:01:10 +08:00
Tim 8ac1794853 fix: 互动先取消通知 2025-08-05 10:38:36 +08:00
Tim d047e3d17a Revert "fix: support iOS safe area for header"
This reverts commit ea1588d9e9.
2025-08-05 10:17:57 +08:00
Tim 3673f5b904 Merge pull request #387 from nagisa77/codex/fix-header-overlap-issue-in-ios-safari 2025-08-05 09:39:02 +08:00
Tim ea1588d9e9 fix: support iOS safe area for header 2025-08-05 09:38:48 +08:00
tim 2b9a4d35b6 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-05 01:09:52 +08:00
tim 0cfcd5588f fix: markdown渲染的 code 间距调整 2025-08-05 01:09:22 +08:00
Tim 043b369695 Merge pull request #381 from nagisa77/codex/add-navigation-without-page-reload
Preserve home page state when navigating back
2025-08-05 01:04:30 +08:00
tim 730d5b1d10 feat: 主页缓存 2025-08-05 01:04:01 +08:00
Tim 42c3ef3377 Track home page scroll position 2025-08-05 01:00:19 +08:00
Tim eedde0fd28 Restore scroll position on cached home page 2025-08-05 00:46:08 +08:00
Tim ae054f76de cache home page view 2025-08-05 00:34:13 +08:00
Tim e5c746fe27 fix: test cases 2025-08-04 21:57:52 +08:00
Tim cce0560cb3 Merge pull request #377 from nagisa77/jfcb2y-codex/fix-applicationcontext-loading-error
Handle missing push notification keys
2025-08-04 21:48:12 +08:00
Tim 7368fa77ae Allow missing push notification keys 2025-08-04 21:47:59 +08:00
Tim 90c26c5e7f Merge pull request #376 from nagisa77/codex/fix-usercontrollertest-json-path-assertions
test: mock user mapper for user endpoints
2025-08-04 21:47:22 +08:00
Tim ed7319d61b test: mock user mapper for user endpoints 2025-08-04 21:47:09 +08:00
Tim 232ce26246 Merge pull request #374 from nagisa77/codex/fix-nullpointerexception-in-authcontrollertest
test: fix auth controller tests
2025-08-04 21:39:39 +08:00
Tim 14b4f67bcb Merge pull request #372 from nagisa77/codex/fix-usercontrollertest-bean-resolution-issue
test: mock user controller dependencies
2025-08-04 21:39:22 +08:00
Tim c62c4b2942 Merge pull request #371 from nagisa77/codex/fix-applicationcontext-loading-error
Add default website URL for tests
2025-08-04 21:39:10 +08:00
Tim 7ab247f58d Merge pull request #370 from nagisa77/codex/fix-application-context-startup-error
Add website URL property for tests
2025-08-04 21:38:55 +08:00
Tim 33e1e92af3 test: fix auth controller tests 2025-08-04 21:38:30 +08:00
Tim ac6bafb708 test: mock user controller dependencies 2025-08-04 21:38:26 +08:00
Tim cfe7a44b98 Add default website URL for tests 2025-08-04 21:38:24 +08:00
Tim 49ae2c1fa2 Add website-url property for tests 2025-08-04 21:38:22 +08:00
Tim 3b107ffbd2 Merge pull request #366 from nagisa77/codex/fix-userrepository-bean-not-found-error
Fix TagControllerTest dependency setup
2025-08-04 21:32:06 +08:00
Tim eac582ee74 Merge pull request #365 from nagisa77/codex/fix-commentcontrollertest-bean-loading-issue
test: mock CommentMapper in controller tests
2025-08-04 21:32:00 +08:00
Tim ee5e0f38dc Merge pull request #369 from nagisa77/codex/fix-unsatisfied-dependency-for-postmapper
test: mock PostMapper in CategoryControllerTest
2025-08-04 21:31:54 +08:00
Tim 88c3933540 Merge pull request #364 from nagisa77/codex/fix-missing-usermapper-bean-for-searchcontroller
test: mock mapper dependencies in SearchControllerTest
2025-08-04 21:31:43 +08:00
Tim 6f32de633a Merge pull request #363 from nagisa77/codex/fix-notification-repository-test-assertions
Fix notification handling and email content
2025-08-04 21:31:28 +08:00
Tim 58bed963c5 Merge pull request #362 from nagisa77/codex/fix-missing-githubauthservice-bean
Add missing mocks for AuthControllerTest
2025-08-04 21:31:15 +08:00
Tim 62c6699adc Merge pull request #361 from nagisa77/codex/fix-unsatisfied-dependency-for-jwtservice
test: add missing JWT secrets for tests
2025-08-04 21:31:08 +08:00
Tim 4d78877849 Merge pull request #368 from nagisa77/codex/fix-email-not-sent-in-tests
Send email and push notification every five reactions
2025-08-04 21:30:55 +08:00
Tim 63a30127b7 Merge pull request #367 from nagisa77/codex/fix-unsatisfied-dependency-in-reactioncontroller
Ensure ReactionMapper bean in controller tests
2025-08-04 21:30:18 +08:00
Tim a6a302760a Merge pull request #360 from nagisa77/codex/fix-application-context-loading-error
test: provide jwt secrets for tests
2025-08-04 21:30:06 +08:00
Tim 93a3dd421a Merge pull request #359 from nagisa77/codex/fix-missing-notificationmapper-bean
test: mock NotificationMapper in NotificationControllerTest
2025-08-04 21:29:58 +08:00
Tim 1a1a610b29 Merge pull request #358 from nagisa77/codex/fix-missing-commentmapper-bean
test: include mapper deps in PostControllerTest
2025-08-04 21:29:50 +08:00
Tim 053c05ea26 test: mock PostMapper in CategoryControllerTest 2025-08-04 21:29:45 +08:00
Tim f04c4b27d9 Send email and push every five reactions 2025-08-04 21:29:33 +08:00
Tim e73479feec Load ReactionMapper in controller tests 2025-08-04 21:29:31 +08:00
Tim c99839d75b Mock repository and mapper dependencies for TagControllerTest 2025-08-04 21:29:03 +08:00
Tim 8452ffbd03 test: mock CommentMapper in controller tests 2025-08-04 21:29:02 +08:00
Tim 9985884534 test: mock dependencies in SearchControllerTest 2025-08-04 21:29:00 +08:00
Tim c795bdad28 Fix notification service 2025-08-04 21:28:59 +08:00
Tim 5171f89182 Mock additional services in AuthControllerTest 2025-08-04 21:28:59 +08:00
Tim ccc87f3f10 test: add missing JWT secrets for tests 2025-08-04 21:28:58 +08:00
Tim 7f06964eb2 test: provide jwt secrets for tests 2025-08-04 21:28:52 +08:00
Tim e0fcc0d1f7 test: mock NotificationMapper in NotificationControllerTest 2025-08-04 21:28:51 +08:00
Tim e3964c1b3d test: include mapper deps in PostControllerTest 2025-08-04 21:28:04 +08:00
Tim 0f5d5653f5 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-04 21:16:59 +08:00
Tim e886142b39 feat: fix compile 2025-08-04 21:15:20 +08:00
Tim d11403209d Merge pull request #357 from nagisa77/codex/refactor-dto-structure-in-controller
refactor: extract post dtos
2025-08-04 21:13:34 +08:00
Tim e2e5942941 feat: add dedicated mappers 2025-08-04 21:10:09 +08:00
Tim 2db998a9d9 feat: relocate remaining dtos 2025-08-04 20:51:33 +08:00
Tim a22967fc0c test: verify post dtos 2025-08-04 20:37:43 +08:00
Tim b41835d9c8 refactor: extract post dtos 2025-08-04 20:37:20 +08:00
Tim 93d3023276 Merge pull request #356 from WilliamColton/main
修复申请原因可能为空的bug
2025-08-04 19:26:19 +08:00
WilliamColton 3b82a4aba0 修复申请原因可能为空的bug 2025-08-04 18:36:38 +08:00
Tim 6fa5978613 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-04 17:05:03 +08:00
Tim 0584cdb42c fix 2025-08-04 17:04:49 +08:00
Tim 147598275a Merge pull request #351 from WilliamColton/feature/last-comment-time
添加显示最后评论时间的功能
2025-08-04 16:36:42 +08:00
WilliamColton f6d7020165 添加显示最后评论时间的功能 2025-08-04 16:29:21 +08:00
Tim 44e262a636 Merge pull request #342 from nagisa77/g2s0r1-codex/fix-occasional-errors-in-application
Handle null exception messages in global handler
2025-08-04 14:26:27 +08:00
Tim 3ae27e6216 Handle missing exception messages in global handler 2025-08-04 14:26:12 +08:00
tim 4da16cd071 Revert "fix: guard against null exception messages"
This reverts commit d50e8c0863.
2025-08-04 14:25:43 +08:00
Tim 7eb6ffde1d Merge pull request #341 from nagisa77/codex/fix-occasional-errors-in-application
fix: guard against null exception messages
2025-08-04 14:23:41 +08:00
Tim d50e8c0863 fix: guard against null exception messages 2025-08-04 14:22:55 +08:00
Tim 797c39b1e4 Merge pull request #340 from nagisa77/codex/add-hourly-log-saving
chore: add hourly log rotation
2025-08-04 13:19:30 +08:00
Tim a5899565b1 feat: add log save 2025-08-04 13:18:55 +08:00
Tim b30939dd7d chore: add hourly log rotation 2025-08-04 13:15:01 +08:00
Tim a1b5597944 Merge pull request #339 from nagisa77/codex/add-user-defined-avatar-cropping
feat: add avatar cropping
2025-08-04 13:12:19 +08:00
Tim 9f1080eeb0 feat: cropper 2025-08-04 13:11:55 +08:00
Tim a8187b7d38 feat: add avatar cropping 2025-08-04 12:59:43 +08:00
Tim 11b839b21a Revert "feat: add hourly rolling logs"
This reverts commit afe01bc6ad.
2025-08-04 12:53:43 +08:00
Tim 957a07309a Merge pull request #338 from nagisa77/codex/check-for-log-rotation-and-retention
feat: add hourly rolling logs
2025-08-04 12:51:45 +08:00
Tim afe01bc6ad feat: add hourly rolling logs 2025-08-04 12:51:16 +08:00
Tim ee0aceeab7 Merge pull request #337 from nagisa77/codex/add-debug-logging-to
chore: add debug logging for comments
2025-08-04 12:07:24 +08:00
Tim 8a2adc5632 chore: add debug logging for comments 2025-08-04 12:06:51 +08:00
Tim 9b840ca769 fix: 403 bugfix 2025-08-04 11:03:14 +08:00
Tim 8bd27af592 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-04 10:24:06 +08:00
tim f5f09cddcc Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-04 02:06:34 +08:00
tim c154967564 feat: 评论嵌套规则修复 2025-08-04 02:06:24 +08:00
tim ba8babd68a feat: 评论嵌套规则修复 2025-08-04 02:04:31 +08:00
Tim 3c7915e672 Merge pull request #331 from nagisa77/codex/refactor-callbackpage-into-components
refactor: reuse callback page component
2025-08-04 01:23:11 +08:00
Tim f78a3ae149 refactor: reuse callback page component 2025-08-04 01:22:56 +08:00
Tim b8632acebd Merge pull request #330 from nagisa77/codex/fix-google-login-popup-issue
Open Google login in new window
2025-08-04 01:09:08 +08:00
tim 365bcb86dd feat: fix with google login 2025-08-04 01:08:33 +08:00
tim 089e38f577 feat: fix with google login 2025-08-04 01:07:45 +08:00
Tim 1b206af28c Open Google auth in new window 2025-08-04 00:58:45 +08:00
Tim dc5fdf4857 Merge pull request #329 from WilliamColton/bug/countLikesReceived 2025-08-04 00:43:11 +08:00
WilliamColton d7b0aca4e6 修复收到的点赞显示异常问题 2025-08-03 22:36:29 +08:00
tim 354cc7cd17 feat: 处理添加表情偶现失败的问题 2025-08-03 20:12:44 +08:00
tim d70433ff93 feat: 处理添加评论偶现失败的问题 2025-08-03 20:10:14 +08:00
tim 3a0cea8cd4 Revert "Add popup-based Google login function"
This reverts commit 1b39289dad.
2025-08-03 20:07:59 +08:00
tim 5aeedb07fe fix: header avatar object-fit method 2025-08-03 19:57:44 +08:00
Tim 61e2122ca9 Merge pull request #321 from nagisa77/codex/add-loginwithgooglewithpop-function
Add popup-based Google login option
2025-08-03 19:28:31 +08:00
Tim 1b39289dad Add popup-based Google login function 2025-08-03 19:17:00 +08:00
Tim d58d5014da Merge pull request #320 from nagisa77/codex/add-cache-cleanup-for-vditor-editor
chore: clear stale vditor caches
2025-08-03 17:34:30 +08:00
Tim c3e377ca3c chore: add helper to clear vditor cache 2025-08-03 17:33:48 +08:00
tim 67910317e8 fix: 修复消息页面有时候消息过长的问题 2025-08-03 16:45:38 +08:00
tim ff09df03e3 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-08-03 16:26:34 +08:00
tim a34e213647 feat: ios PWA 2025-08-03 16:26:28 +08:00
tim b393eaadea feat: ios PWA 2025-08-03 16:25:58 +08:00
Tim 80998c71b0 Merge pull request #319 from nagisa77/codex/add-new-reaction-types-to-frontend-and-backend 2025-08-03 15:39:43 +08:00
Tim 9fd67c6c71 feat: add new reaction types 2025-08-03 15:30:11 +08:00
tim 4d2b616aed bugfix: menu 高度调整 2025-08-03 14:35:23 +08:00
tim 41f603e349 bugfix: 规避后台偶现失败的问题 2025-08-03 14:28:51 +08:00
Tim ca9b2cb14d Merge pull request #310 from WilliamColton/refactor/directory-structure
feature: 优化目录结构
2025-08-03 02:15:14 +08:00
WilliamColton c08723574d 优化目录结构 2025-08-03 01:27:28 +08:00
Tim d63081955e Merge pull request #309 from nagisa77/codex/add-immediate-reaction-feedback-in-ui
feat: add optimistic reaction update
2025-08-03 01:17:26 +08:00
Tim 561a622c26 feat: add optimistic reaction update 2025-08-03 01:16:06 +08:00
Tim 50fcdbd12f Merge pull request #308 from nagisa77/codex/update-reply-count-to-include-subcomments
feat: count nested replies in post lists and comments
2025-08-03 01:15:29 +08:00
Tim 06eb9e2c7e feat: count nested replies 2025-08-03 01:15:14 +08:00
Tim 2ad3275753 Merge pull request #307 from nagisa77/codex/fix-sidebar-scroll-syncing-issues
Fix post scroller sync and top time
2025-08-03 00:56:25 +08:00
tim a128bfa960 feat: 时序问题修正 2025-08-03 00:56:05 +08:00
Tim 454c7fb8f3 Fix post scroller sync and top time 2025-08-03 00:33:34 +08:00
tim ac08fc96ce bugfix: 首页列表划到底部最后一条数据会被地址栏挡住部分 2025-08-03 00:14:56 +08:00
tim 6642a248fd feat: 1.添加内网调试地址, 2. Spaceship最新域名优惠码 这条数据横向超出了 挡住发帖人 2025-08-03 00:10:03 +08:00
Tim 9df8a9d123 Merge pull request #306 from nagisa77/codex/display-read-message-status-for-roles
Adjust message for mark-all-read
2025-08-01 16:04:46 +08:00
Tim 486787084a Show detailed mark-all-read message only for admins 2025-08-01 16:04:34 +08:00
Tim 49f5f36630 Merge pull request #305 from nagisa77/fm7fu9-codex
fix comment replies expansion
2025-08-01 12:57:47 +08:00
Tim 624729ae9e fix: expand top-level comment replies 2025-08-01 12:57:35 +08:00
Tim 5b8f3a1284 Merge pull request #304 from nagisa77/codex/update-commentdto-for-multiple-reactions
Add reactions to comment listing
2025-08-01 12:30:28 +08:00
Tim d056bc9120 Include reactions in comment API 2025-08-01 12:30:15 +08:00
Tim f73f0cd45a Merge pull request #303 from nagisa77/codex/update-user-profile-like-statistics
Fix profile like counts
2025-08-01 12:16:54 +08:00
Tim d9d4597e13 fix like counts 2025-08-01 12:16:42 +08:00
Tim 873db304d1 feat: 搜索点击tag、分类需要重入 2025-08-01 12:15:36 +08:00
Tim a239e29c32 Merge pull request #302 from nagisa77/codex/add-default-display-for-level-1-comments
Expand first-level comments by default
2025-08-01 12:09:27 +08:00
Tim 847426a507 feat(frontend): expand first-level comments by default 2025-08-01 12:09:10 +08:00
Tim d4d8245671 Merge pull request #301 from nagisa77/tl0f6z-codex
Fix duplicate post view notifications
2025-08-01 12:02:25 +08:00
Tim 14bd9d86c0 feat: 处理重复阅读问题 2025-08-01 12:01:44 +08:00
Tim db31b5d6c1 Deduplicate post view notifications 2025-08-01 11:55:17 +08:00
Tim e8e77b6467 Revert "Deduplicate post view notifications"
This reverts commit 2fc22e7580.
2025-08-01 11:49:40 +08:00
Tim ba1432d945 Merge pull request #300 from nagisa77/codex/remove-duplicate-notifications-for-posts
Implement deduplication for post view notifications
2025-08-01 11:48:05 +08:00
Tim 2fc22e7580 Deduplicate post view notifications 2025-08-01 11:47:43 +08:00
Tim ba2299e882 feat: 避免消息页面出错 2025-08-01 11:38:46 +08:00
Tim cd020c7e49 Merge pull request #299 from nagisa77/codex/improve-menu-loading-behavior
Implement menu caching
2025-08-01 11:25:16 +08:00
tim caa255b882 feat: 修复menu每次都刷新的问题 2025-08-01 11:24:45 +08:00
Tim f900a45c81 feat: cache menu categories and tags 2025-08-01 11:18:06 +08:00
tim ce1a94dbaf feat: 【界面优化】在看别人帖子的时候发现代码块的内容间距有点紧,尤其在有中文注释的时候更明显 2025-08-01 11:10:53 +08:00
Tim 6a3644bca1 Merge pull request #294 from nagisa77/codex/modify-image-upload-to-frontend-direct-transfer
Enable presigned URL uploads
2025-08-01 10:42:10 +08:00
tim 67db6579e9 feat: vditor 修改 2025-08-01 10:41:16 +08:00
tim ebc39a6388 Revert "Fix paste upload handler"
This reverts commit 97118e7bc8.
2025-08-01 02:12:22 +08:00
Tim a97ca0cec9 Merge pull request #298 from nagisa77/codex/fix-paste-event-for-image-upload
Fix image paste event
2025-08-01 02:10:05 +08:00
Tim 97118e7bc8 Fix paste upload handler 2025-08-01 02:09:50 +08:00
Tim 22c2b41ac5 Merge pull request #297 from nagisa77/codex/fix-image-upload-with-command-+-v
Fix paste image upload in Vditor
2025-08-01 01:06:38 +08:00
Tim 3cd49c64f2 fix paste upload 2025-08-01 01:06:16 +08:00
tim cc371fad85 fix: enable tips 2025-08-01 00:55:10 +08:00
Tim a182b0b8da Merge pull request #296 from nagisa77/codex/fix-image-upload-and-loading-issues
Fix paste upload in custom Vditor handler
2025-08-01 00:51:32 +08:00
Tim 913ffa8a5a fix: enable paste upload with progress 2025-08-01 00:51:11 +08:00
Tim 296b0a737f Merge pull request #295 from nagisa77/codex/fix-vditor-upload-text-output
Fix vditor upload insertion
2025-08-01 00:42:09 +08:00
Tim 69b5e96695 fix: insert uploaded file into vditor 2025-08-01 00:41:52 +08:00
tim c6a133978b fix: old version upload 2025-08-01 00:35:42 +08:00
Tim ea17240cf1 feat: support presigned url upload 2025-07-31 22:34:27 +08:00
Tim 68e3daa736 Merge pull request #292 from nagisa77/n67uug-codex/add-user-mention-feature
Add mention notification feature
2025-07-31 20:24:23 +08:00
Tim 8d3bc728c5 feat: 通知自测通过 2025-07-31 20:22:44 +08:00
Tim 5486b9a6fe Merge pull request #293 from nagisa77/codex/add-special-hyperlink-for-user-mentions
Add user mention hyperlink
2025-07-31 20:08:20 +08:00
Tim d4c1ad54fc Add mention link rendering in Markdown 2025-07-31 20:03:23 +08:00
Tim 4fcc47aa40 feat: 修改 @ 样式 2025-07-31 19:53:21 +08:00
Tim 954eb9afc4 Merge pull request #291 from nagisa77/codex/add-x-n-support-for-categories
Add counts for categories in menu
2025-07-31 18:06:13 +08:00
Tim c94aeb9984 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-31 17:58:33 +08:00
Tim aa70fc3273 feat: 修改通知 2025-07-31 17:58:15 +08:00
Tim c541306494 Add mention suggestions and admin list 2025-07-31 17:57:25 +08:00
Tim ef2aa43f03 feat(menu): show post count for categories 2025-07-31 17:48:28 +08:00
Tim a02129b8f9 Merge pull request #290 from nagisa77/codex/fix-searchservice-constructor-argument-mismatch
Fix SearchServiceTest constructor
2025-07-31 14:08:44 +08:00
Tim c4ecb80524 Fix SearchServiceTest to match new constructor 2025-07-31 14:08:32 +08:00
Tim 3ff94d0a5c bugfix: 修复首页可能会加载相同文章的问题 2025-07-31 13:51:20 +08:00
Tim d385ce8c54 Merge pull request #289 from nagisa77/codex/refine-user_activity-notification-type 2025-07-31 13:15:07 +08:00
Tim e2053c0428 feat: refine USER_ACTIVITY notifications 2025-07-31 13:13:45 +08:00
Tim 62096ba34d Merge pull request #288 from nagisa77/codex/add-keyword-matching-for-categories-and-tags
Add categories/tags to search
2025-07-31 12:52:39 +08:00
Tim d4bfef36f7 feat: include categories and tags in global search 2025-07-31 12:52:25 +08:00
Tim c242c89690 Merge pull request #287 from nagisa77/codex/adjust-latest-and-latest-reply-direction
Adjust default topic view to latest reply
2025-07-31 12:50:37 +08:00
Tim a322d94f42 feat(frontend): default to latest reply view 2025-07-31 12:50:23 +08:00
Tim aa38c2e5e1 Merge pull request #286 from nagisa77/codex/fix-sitemap-invalid-date-errors
Fix sitemap lastmod format
2025-07-30 20:52:21 +08:00
Tim c16709a36d fix sitemap lastmod format 2025-07-30 20:51:59 +08:00
Tim c52ac92549 feat: update robot.txt 2025-07-30 20:47:39 +08:00
Tim 33432a10f4 Merge pull request #285 from nagisa77/codex/fix-sitemap.xml-redirection-issue
Fix sitemap access without auth
2025-07-30 20:46:58 +08:00
Tim cb5411c091 feat: make a sitemap api 2025-07-30 20:44:30 +08:00
Tim dc4159b308 fix: allow public access to sitemap 2025-07-30 20:32:36 +08:00
Tim 86aff7aeb2 Merge pull request #284 from nagisa77/codex/generate-dynamic-sitemap.xml-for-posts
Add sitemap.xml endpoint
2025-07-30 20:19:29 +08:00
Tim 43c1f67b33 feat: add dynamic sitemap endpoint 2025-07-30 20:19:05 +08:00
Tim 2a7727e446 Merge pull request #283 from nagisa77/codex/fix-robots.txt-format-error
Add robots.txt file
2025-07-30 20:12:29 +08:00
Tim b65bf7cc82 feat: add robot.txt 2025-07-30 20:11:35 +08:00
Tim cab4b5c57d Add basic sitemap 2025-07-30 20:06:41 +08:00
Tim 1834636e01 Merge pull request #282 from nagisa77/codex/fix-missing-alt-attributes-for-images
Fix alt attributes for SEO
2025-07-30 20:01:04 +08:00
Tim 1aa39b8f91 Add missing alt attributes 2025-07-30 20:00:43 +08:00
Tim a80ffbf85b Merge pull request #281 from nagisa77/codex/update-milk-tea-redemption-logic
Count real milk tea redemptions
2025-07-30 17:09:58 +08:00
Tim 18f3e31251 feat: track milk tea redemption count 2025-07-30 17:09:44 +08:00
Tim 7129514a9a Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-30 16:55:03 +08:00
Tim 8711237cf8 feat: update toolbar layer 2025-07-30 16:54:51 +08:00
Tim 980e2e6d1e Merge pull request #280 from nagisa77/codex/fix-compilation-errors-in-notificationservicetest
Fix duplicate test mocks in NotificationServiceTest
2025-07-30 16:24:28 +08:00
Tim 1b98f09115 Fix duplicate ReactionRepository variables 2025-07-30 16:24:09 +08:00
Tim e27c821d80 feat: email fix & default avatar 2025-07-30 14:47:10 +08:00
Tim 8efdd5a50d Merge pull request #279 from nagisa77/codex/remove-github-default-avatar
Switch to DiceBear default avatars
2025-07-30 14:25:03 +08:00
Tim 1fcdff6203 feat: use DiceBear for default avatars 2025-07-30 14:24:49 +08:00
Tim b2779759c0 feat: mobile 修改 2025-07-30 13:05:20 +08:00
Tim 36652d3a39 Merge pull request #278 from nagisa77/codex/use-teleport-for-dropdown-mobile-page
Add Teleport for mobile dropdown menu
2025-07-30 13:02:33 +08:00
Tim 23ce2f7d1f use teleport for mobile dropdown 2025-07-30 13:01:43 +08:00
Tim 18c52c18e3 Merge pull request #277 from nagisa77/codex/refactor-notification-handling-to-async-thread
Enable asynchronous notification sending
2025-07-30 12:56:34 +08:00
Tim 03704b62a7 Merge branch 'main' into codex/refactor-notification-handling-to-async-thread 2025-07-30 12:56:27 +08:00
Tim 2a64e3ed14 Make ResendEmailSender asynchronous 2025-07-30 12:54:59 +08:00
Tim 3b69b1b3ee Merge pull request #276 from nagisa77/codex/fix-test-case-compilation-issues
Fix NotificationService tests
2025-07-30 12:47:51 +08:00
Tim c7685f9b92 Fix NotificationServiceTest constructor 2025-07-30 12:47:39 +08:00
Tim 9347d423e2 Merge pull request #273 from nagisa77/codex/integrate-browser-notifications-for-website
Add web push notification support
2025-07-30 12:17:24 +08:00
Tim 854401ca8d feat: delete useless code 2025-07-30 12:16:20 +08:00
Tim 995cfdf87e feat: 修改邮件格式 2025-07-30 12:14:11 +08:00
Tim 748f7f9709 feat: 邮件、讯息通知 2025-07-30 12:06:23 +08:00
Tim fb010607f1 Merge pull request #275 from nagisa77/codex/update-notification-format-for-replies-and-reactions
Improve push notifications
2025-07-30 11:53:56 +08:00
Tim 40c919348f feat: improve push notifications 2025-07-30 11:53:43 +08:00
Tim fe79a5481a Merge remote-tracking branch 'origin/main' into codex/integrate-browser-notifications-for-website 2025-07-30 11:39:58 +08:00
Tim 02b0628bfc Merge pull request #274 from nagisa77/codex/add-email-notifications-for-user-replies
Add email notifications for replies and reactions
2025-07-30 11:37:55 +08:00
Tim 3464137511 feat: email notifications for replies and reactions 2025-07-30 11:37:40 +08:00
Tim aa138afe61 feat: 推送链路调整 2025-07-30 11:35:28 +08:00
Tim dccf8f9d0c feat: add browser push notifications 2025-07-30 10:48:02 +08:00
Tim 69f5745fe8 feat: 邮件发送,修改为中文 2025-07-30 10:42:06 +08:00
Tim df8c5376f6 feat: delete sleep 1 s 2025-07-29 21:54:11 +08:00
Tim 2ec13ed2c9 feat: 评论排序支持 2025-07-29 21:50:11 +08:00
Tim 75a5be2d3c Merge pull request #272 from nagisa77/codex/add-comment-section-sorting-options
Add comment sorting by date and interactions
2025-07-29 21:33:21 +08:00
Tim 143ceebc00 feat: add comment sorting 2025-07-29 21:33:05 +08:00
Tim 24a46384b0 feat: sort by 2025-07-29 21:21:03 +08:00
Tim d248be21e2 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-29 21:04:25 +08:00
Tim 27ec900780 fix: 2025-07-29 21:04:14 +08:00
Tim 393128b326 feat: blur 2025-07-29 21:01:51 +08:00
Tim 80a86cec3b Merge pull request #271 from nagisa77/codex/fix-test-case-compilation-error
Fix PostService test import
2025-07-29 19:52:48 +08:00
Tim d6a1e53646 Fix PostService test compile error 2025-07-29 19:52:37 +08:00
Tim 275360983f feat: update avatar upload 2025-07-29 19:49:57 +08:00
Tim 89241ced04 feat: 搜索层级调整 2025-07-29 19:41:32 +08:00
Tim 3dbeb25a09 feat: 设置页面修改用户名,需要重新发放token 2025-07-29 19:12:39 +08:00
Tim 9aec1afcf5 feat: 活动新增🔥(低成本修改) 2025-07-29 18:41:03 +08:00
Tim 1f18c2b000 feat: 发布rate 明确指引 2025-07-29 18:39:23 +08:00
Tim 74433b507d Merge pull request #270 from nagisa77/codex/add-post-and-comment-rate-limiting
Implement comment and post rate limits
2025-07-29 18:33:43 +08:00
Tim 045693db21 Add rate limit for posts and comments 2025-07-29 18:33:30 +08:00
Tim b84cc19ee5 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-29 18:32:44 +08:00
Tim 846cb4a2de Merge pull request #269 from nagisa77/codex/refactor-activity-popup-to-separate-file
Add global popups component
2025-07-29 18:32:32 +08:00
Tim 20b0eb0df5 refactor: move milk tea popup logic 2025-07-29 18:32:15 +08:00
Tim 08c78c8666 fix: router 页面宽度设置 2025-07-29 18:31:30 +08:00
Tim 23dc6a971c feat: 文章title 修改 2025-07-29 17:20:20 +08:00
Tim 9ed47c727b Merge pull request #268 from nagisa77/codex/optimize-site-for-seo-visibility
Implement dynamic metadata for post pages
2025-07-29 17:18:08 +08:00
Tim e4dd121bb6 feat: dynamic meta for post page 2025-07-29 17:17:40 +08:00
Tim 92b7099a44 feat: 修复网站metaData 2025-07-29 17:13:58 +08:00
Tim 9589b10e2e Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-29 17:04:08 +08:00
Tim 2226577b68 feat: 修复网站metaData 2025-07-29 17:03:43 +08:00
Tim 3bc530cbde Merge pull request #267 from nagisa77/codex/fix-unread-indicator-not-disappearing
Fix menu unread indicator
2025-07-29 14:53:49 +08:00
Tim 2a1c19697a fix: update unread notification handling 2025-07-29 14:53:21 +08:00
Tim 1ed65ff184 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-29 14:12:33 +08:00
Tim 2bc64ecc87 Merge pull request #266 from nagisa77/codex/add-popup-for-new-user-activity-guidance
Add milk-tea activity popup for new users
2025-07-29 14:12:21 +08:00
Tim cdeed1fcb0 fix: 活动页增加loading/个人等级增加loading 2025-07-29 14:11:55 +08:00
Tim 816eacde42 feat: add activity popup for milk tea 2025-07-29 13:50:26 +08:00
Tim 8f76ee80f4 fix: 在 xxx 下回复了 格式修复 2025-07-29 13:49:38 +08:00
Tim 9f3e5df9ca Revert "chore: fix component name for lint"
This reverts commit b900e7c620.
2025-07-29 11:39:54 +08:00
Tim 9255b37533 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-29 11:36:32 +08:00
Tim b48114a34c Merge pull request #265 from nagisa77/codex/add-popup-for-activity-page
Add milk tea activity popup
2025-07-29 11:36:04 +08:00
Tim b900e7c620 chore: fix component name for lint 2025-07-29 11:35:49 +08:00
Tim 03164bc87a fix: 【openisle】就是选了类别或者tag之后,想要回到无筛选状态只能从筛选框点击无类别才能回去。点首页无法回到最初状态,是不是不太符合通用逻辑 2025-07-29 10:30:29 +08:00
Tim cbc3819697 feat: activity page mobile 2025-07-28 16:21:11 +08:00
Tim 5193df6289 feat: redeem ui 2025-07-28 16:07:37 +08:00
Tim 8d6a118e97 Merge pull request #264 from nagisa77/codex/update-dialog-for-milk-tea-exchange
Refine milk tea redeem flow
2025-07-28 15:59:25 +08:00
Tim de7a2c5b80 Update milk tea redeem dialog and notifications 2025-07-28 15:59:09 +08:00
Tim 54bf778977 feat: coffe redeem 2025-07-28 15:47:25 +08:00
Tim 96827afd41 Merge pull request #263 from nagisa77/codex/enhance-event-page-for-tea-exchange
Add milk tea event detail page
2025-07-28 15:11:43 +08:00
Tim 29c584f059 feat: add milk tea activity page 2025-07-28 15:11:25 +08:00
Tim 9a01a5daf6 feat: 活动页面基础ui 2025-07-28 14:52:26 +08:00
Tim 5a3456b878 Merge pull request #262 from nagisa77/codex/add-activity-module-and-endpoints
Add activity module with milk tea event
2025-07-28 14:12:43 +08:00
Tim 51a3a7b8f8 Add activity module with milk tea event 2025-07-28 14:12:28 +08:00
Tim bcd34e1019 Merge pull request #261 from nagisa77/codex/add-info-icon-for-experience-module
Add experience info tooltip
2025-07-28 13:56:07 +08:00
Tim 69dbcd2572 Merge branch 'main' into codex/add-info-icon-for-experience-module 2025-07-28 13:55:45 +08:00
Tim b953b4c8fe feat(profile): add exp info tooltip 2025-07-28 13:55:15 +08:00
Tim 62299d17f0 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-28 13:54:33 +08:00
Tim 38405f89b2 Merge pull request #260 from nagisa77/codex/fix-experience-points-exploitation-issue
Prevent XP farming via deletion
2025-07-28 13:53:06 +08:00
Tim 10080e6d74 fix: track daily experience to prevent abuse 2025-07-28 13:52:50 +08:00
Tim 46531b5461 feat: level 模块 2025-07-28 13:35:59 +08:00
Tim 56c89c3228 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-28 13:11:08 +08:00
Tim 55b545c058 Merge pull request #259 from nagisa77/codex/add-progress-bar-to-profile-page
Add level display on profile page
2025-07-28 13:10:56 +08:00
Tim 2f41da9486 feat: show level progress on profile 2025-07-28 13:10:41 +08:00
Tim d1843fc58d feat: fotgot password 2025-07-28 13:09:10 +08:00
Tim 14008292d9 Merge pull request #258 from nagisa77/codex/add-password-recovery-feature
Add password recovery
2025-07-28 13:02:39 +08:00
Tim 0c784dc5cc feat: add password recovery 2025-07-28 13:02:02 +08:00
Tim ef6ad46d12 Merge pull request #257 from nagisa77/codex/add-leveling-system-with-experience-rewards
Implement user leveling and rewards
2025-07-28 12:40:50 +08:00
Tim 1c2751422d feat: add user leveling and experience system 2025-07-28 12:34:45 +08:00
tim a5900aa60d feat: ui 调整 2025-07-26 18:08:03 +08:00
tim 0028a501fb feat: 优化google登录提醒 2025-07-26 17:09:44 +08:00
Tim df8b67b67d Merge pull request #256 from nagisa77/codex/fix-router-push-not-recognized-in-loginwithgoogle
Fix loginWithGoogle router usage
2025-07-25 16:20:22 +08:00
Tim 7a6136ab99 fix router push in google util 2025-07-25 16:20:10 +08:00
Tim 8c738b6f87 fix: reaction group ui 2025-07-25 14:41:57 +08:00
Tim 3c9c502da9 feat: delete code 2025-07-25 14:12:57 +08:00
Tim af876baf95 feat: delete code 2025-07-25 14:12:06 +08:00
Tim 0cf44c2a42 feat: 评论区支持高度调整 2025-07-25 10:57:29 +08:00
Tim f5447604d6 Merge pull request #255 from nagisa77/codex/upload-images-to-dynamic_assert-folder
Use dynamic_assert directory for COS uploads
2025-07-24 17:47:59 +08:00
Tim 0a1f15e15d Store COS uploads in dynamic_assert directory 2025-07-24 17:47:47 +08:00
Tim 4771f2761a Merge pull request #254 from nagisa77/codex/update-draft-create-and-delete-to-adjust-image-references
Handle images in draft service
2025-07-24 15:52:18 +08:00
Tim c9a0540858 Adjust image references when saving or deleting drafts 2025-07-24 15:52:07 +08:00
Tim a947fc17c4 Merge pull request #253 from nagisa77/codex/implement-image-reference-counting-logic
Add COS image reference tracking
2025-07-24 15:41:55 +08:00
Tim c349add0ef feat: upload 本身不进行引用计数 2025-07-24 15:18:16 +08:00
Tim 0081e51459 Add image reference tracking 2025-07-24 13:42:16 +08:00
Tim f80bee1281 Merge pull request #252 from nagisa77/codex/add-detailed-log.debug-for-cosimageuploader
feat: add debug logging for COS uploads
2025-07-23 21:03:55 +08:00
Tim 2d84b3c668 feat: add debug logging to CosImageUploader 2025-07-23 21:03:09 +08:00
Tim 7b22b2d15d feat: request google login while refresh 2025-07-23 15:49:41 +08:00
Tim 33ddc3bb77 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-23 15:04:43 +08:00
Tim 6a0672cf8c feat: 分页加载 个数修改 2025-07-23 15:04:27 +08:00
Tim bcad49c41a Merge pull request #251 from nagisa77/codex/refine-readme.md-with-detailed-information
Update README with detailed guide
2025-07-23 13:34:37 +08:00
Tim 3cd2f48f88 docs: expand README with deployment and features 2025-07-23 13:34:18 +08:00
Tim 70e3a4efd2 feat: 引导颜色修改 2025-07-23 13:32:11 +08:00
Tim b8a1f2f6d0 feat: update readme.md 2025-07-23 13:22:45 +08:00
Tim 9afe9b0a73 Merge pull request #250 from nagisa77/codex/integrate-vditor-component-into-editors
Refactor Vditor initialization
2025-07-23 11:13:57 +08:00
Tim 8e49a0d0d7 refactor: centralize Vditor init 2025-07-23 11:13:35 +08:00
Tim 6920b07d09 fix: 首页新增tab 2025-07-23 11:11:41 +08:00
Tim 5617e56d40 Merge pull request #249 from nagisa77/codex/add-latest-replies-tab-on-homepage
Add latest reply tab support
2025-07-23 10:58:50 +08:00
Tim bc42fc9d70 Add latest reply tab and backend support 2025-07-23 10:58:37 +08:00
Tim 9ada6bab16 Merge pull request #248 from nagisa77/codex/align-comment-editor-with-post-editor
Enable comment image upload
2025-07-23 10:56:49 +08:00
Tim ce814b938d feat: enable image upload in comment editor 2025-07-23 10:56:12 +08:00
Tim 1b70b08eb1 feat: reddot ui 2025-07-22 20:06:24 +08:00
Tim bd668caa87 Merge pull request #247 from nagisa77/codex/add-red-dot-notifications-to-menu
Add unread message dot on mobile menu
2025-07-22 20:03:20 +08:00
Tim 53e0fc681a feat: add unread indicator on mobile menu button 2025-07-22 20:03:04 +08:00
Tim 082e8d7e71 feat: cdn issue, 标题问题解决 2025-07-22 20:02:16 +08:00
Tim 58d9a6a2f7 Merge pull request #246 from nagisa77/codex/add-article-pinning-feature
Add post pinning feature
2025-07-22 19:13:56 +08:00
Tim f1a82dfda4 Merge branch 'main' into codex/add-article-pinning-feature 2025-07-22 19:13:17 +08:00
Tim ee118c0bf4 feat: add post pinning 2025-07-22 18:11:42 +08:00
Tim 11113d3326 Merge pull request #245 from nagisa77/codex/add-article-edit-feature 2025-07-22 18:10:17 +08:00
Tim 7d29b7d6e8 feat: implement post editing 2025-07-22 18:09:59 +08:00
tim 929b9baa0c feat: markdown style 2025-07-21 23:07:03 +08:00
Tim 846b265b9a Merge pull request #244 from nagisa77/codex/add-copy-button-to-markdown-code-blocks 2025-07-21 22:48:15 +08:00
Tim 9c0a63d054 Add code block copy button with toast 2025-07-21 22:47:57 +08:00
tim ae76260d8f feat: update new post text color 2025-07-21 21:17:26 +08:00
Tim 48b1db5880 feat: add flex wrap for mobile 2025-07-21 20:51:26 +08:00
Tim 8cb92d4b2c feat: add flex wrap for mobile 2025-07-21 19:34:07 +08:00
Tim 8c29606c9e Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-21 19:32:48 +08:00
Tim c8b8f38630 Merge pull request #243 from nagisa77/codex/-vue-toastification
Refine toast style
2025-07-21 19:31:43 +08:00
Tim 8f3993355e style: adjust toastification appearance 2025-07-21 19:30:17 +08:00
Tim 079474c336 Revert "feat: apply sugar theme for toasts"
This reverts commit f961fc211c.
2025-07-21 18:23:56 +08:00
Tim 4a7fa80316 Merge pull request #242 from nagisa77/codex/vue-toast-notification
Add sugar toast theme
2025-07-21 18:05:59 +08:00
Tim f961fc211c feat: apply sugar theme for toasts 2025-07-21 18:05:45 +08:00
Tim de5cb730ff feat: add flex wrap for mobile 2025-07-21 17:55:02 +08:00
Tim 9467b6e5b9 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-21 17:49:39 +08:00
Tim 9e729f1166 feat: add new post page mobile 2025-07-21 17:48:43 +08:00
Tim 50a6db2da1 Revert "feat: add mobile comment editor"
This reverts commit 75a100c8c2.
2025-07-21 17:41:42 +08:00
tim 059f7e15a5 feat: update z-index 2025-07-21 15:44:38 +08:00
Tim 69c93733f0 Merge pull request #241 from nagisa77/6z4sa1-codex/dropdown.vue
Add mobile-friendly dropdown and search
2025-07-21 14:52:25 +08:00
Tim 0cee0141c3 修正搜索功能 2025-07-21 14:51:09 +08:00
Tim 9b6a248725 feat: optimize dropdown for mobile 2025-07-21 11:42:31 +08:00
Tim bc64e45dc2 feat: upadte ip 2025-07-21 10:34:56 +08:00
Tim ff483b874a Revert "feat: add mobile dropdown page and search"
This reverts commit 7a59f413b5.
2025-07-21 10:34:38 +08:00
Tim 06f9b77112 Merge pull request #238 from nagisa77/codex/optimize-dropdown-for-mobile 2025-07-21 09:16:11 +08:00
Tim 7a59f413b5 feat: add mobile dropdown page and search 2025-07-21 09:15:54 +08:00
Tim 2e57a2afad Merge pull request #237 from nagisa77/lja3lv-codex
Centralize open-isle domain
2025-07-20 21:28:39 +08:00
Tim 4c98812601 centralize open isle domain 2025-07-20 21:27:31 +08:00
tim 8c253f5a60 feat: about page 2025-07-20 21:08:06 +08:00
Tim 6674946c7c feat: update redirectUri 2025-07-18 18:02:19 +08:00
Tim e194a14af4 feat: register reason page 2025-07-18 17:57:08 +08:00
Tim f22143e244 Merge pull request #236 from nagisa77/codex/postpageview/commentitem
Implement simple mobile comment editor
2025-07-18 17:45:16 +08:00
Tim 75a100c8c2 feat: add mobile comment editor 2025-07-18 17:45:02 +08:00
Tim 337245d3e9 feat: overlay 支持换行 2025-07-18 17:36:51 +08:00
Tim 8e0a672b8d feat: message page mobile 2025-07-18 17:32:27 +08:00
Tim c07346007f Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-18 16:50:35 +08:00
Tim f3267023bf feat: message page mobile 2025-07-18 16:39:25 +08:00
Tim 8719fcc155 feat: mobile Profile page 2025-07-18 15:40:04 +08:00
tim e430f4d252 feat: 500 ms disappear 2025-07-18 13:07:12 +08:00
Tim 342e944984 feat: update mobile ui for post page 2025-07-18 13:01:20 +08:00
Tim f253e1c870 mobile: make menu layout 2025-07-18 11:53:48 +08:00
Tim 52e9905fa5 mobile: make menu layout 2025-07-18 11:52:05 +08:00
Tim b6a372c571 Merge pull request #235 from nagisa77/codex/markdown
Improve mobile markdown layout
2025-07-18 11:25:26 +08:00
Tim 619260809d style: improve mobile markdown layout 2025-07-18 11:25:11 +08:00
Tim 2374ccaea1 mobile: make menu layout 2025-07-18 11:15:41 +08:00
Tim 9e20993b93 feat: login and register view 2025-07-17 18:50:06 +08:00
Tim a7d3372a7e feat: login and register view 2025-07-17 18:31:53 +08:00
Tim 3ee6c91f77 feat: open remote debug 2025-07-17 17:10:04 +08:00
tim e081443203 feat: mobile home page layout 2025-07-17 16:40:51 +08:00
Tim 386fd99ed4 Merge pull request #234 from nagisa77/codex/update-homepageview-for-avatar-responsive-resizing
Implement avatar width adjustments via container queries
2025-07-17 16:10:22 +08:00
Tim a57fc91e93 Adjust avatar layout using container queries 2025-07-17 16:10:10 +08:00
tim 36b53aa1a8 feat: add isMobile 2025-07-17 15:54:14 +08:00
Tim cf86f66ecc Merge pull request #233 from nagisa77/codex/add-global-ismobile-compute
Add global isMobile computed util
2025-07-17 15:51:43 +08:00
Tim f855d08ff0 Add global isMobile computed util 2025-07-17 15:51:28 +08:00
Tim 362376c84d Merge pull request #232 from nagisa77/codex/fix-mobile-menu-not-appearing-by-default
Fix mobile menu display
2025-07-17 15:07:07 +08:00
Tim 5d9d1f7e22 feat(ui): hide menu by default on mobile 2025-07-17 15:03:22 +08:00
Tim 6f9619f7f6 Merge pull request #231 from nagisa77/codex/close-menu-on-item-click
Fix mobile menu auto close
2025-07-17 14:40:20 +08:00
Tim e1d1727489 feat(ui): close mobile menu on item click 2025-07-17 14:19:15 +08:00
tim 4109c2acb4 fix: vditor fix 2025-07-17 13:45:48 +08:00
Tim 47e0146474 Merge pull request #230 from nagisa77/codex/add-day-and-night-mode-support
Add Vditor dark mode
2025-07-17 13:23:05 +08:00
Tim 25bbb07297 feat: support Vditor theme switching 2025-07-17 13:22:51 +08:00
tim 89de4c7f0e feat: mobile layout v0 2025-07-17 13:21:50 +08:00
tim 8761d828f9 feat: 夜间模式精修 2025-07-17 13:02:47 +08:00
tim 49a8ada0fb Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-17 13:02:15 +08:00
tim 5b581465aa feat: 夜间模式精修 2025-07-17 13:01:54 +08:00
Tim 10f6dc1972 Merge pull request #229 from nagisa77/codex/use-platform-avatars-for-registration
Use avatar from oauth providers
2025-07-16 20:50:53 +08:00
Tim a4faa2c25a use platform avatar for oauth registration 2025-07-16 20:50:40 +08:00
Tim b2686d6d39 Merge pull request #228 from nagisa77/40y3qt-codex/fix-backend-token-request-issue
Fix Twitter OAuth 401 error
2025-07-16 20:28:28 +08:00
Tim 216ee745dc Add Basic auth header for Twitter OAuth 2025-07-16 20:28:15 +08:00
Tim fd2906481f Merge pull request #227 from nagisa77/codex/fix-token-request-failure-in-twitterauthservice
Fix Twitter OAuth debug logs
2025-07-16 19:56:25 +08:00
Tim 8afc80c2b5 Improve TwitterAuthService error logging 2025-07-16 19:56:13 +08:00
tim 03e43bf9a0 feat: update X OAuth 2025-07-16 19:54:50 +08:00
Tim eaa53deee7 Merge pull request #226 from nagisa77/codex/update-username-validation-rules
Adjust username validation and signup UI
2025-07-16 19:52:08 +08:00
Tim 1e14fb21bb Relax username length requirement and remove nickname 2025-07-16 19:51:55 +08:00
Tim ba8e2a4947 Merge pull request #225 from nagisa77/codex/fix-token-request-failure-in-twitterauthservice
Fix Twitter OAuth token request
2025-07-16 19:44:07 +08:00
Tim a97818aa7e fix: include twitter client secret 2025-07-16 19:43:54 +08:00
Tim ee25ba8ec6 Merge pull request #224 from nagisa77/codex/introduce-logging-framework-and-debug-twitterauthservice
Add debug logging for Twitter auth
2025-07-16 19:32:04 +08:00
Tim 68fbbb2566 feat: add logging framework and debug logs 2025-07-16 19:31:19 +08:00
tim 03e3aa77d0 feat: update X OAuth 2025-07-16 18:53:57 +08:00
tim 44093d1a4b feat: update X OAuth 2025-07-16 18:51:54 +08:00
tim efe5a51889 feat: update X OAuth 2025-07-16 18:42:13 +08:00
tim af17156a42 feat: update redict ui 2025-07-16 18:38:54 +08:00
Tim 606e07ede9 Merge pull request #223 from nagisa77/codex/check-authentication-code-for-errors
Fix Twitter OAuth login
2025-07-16 18:22:34 +08:00
Tim 0822d78a34 Implement PKCE for Twitter login 2025-07-16 18:22:19 +08:00
tim 8006afdf00 feat: add discord secret key 2025-07-16 18:20:41 +08:00
tim ad0e3b7690 fix: compile problem 2025-07-16 18:10:47 +08:00
Tim e534b487ba Merge pull request #222 from nagisa77/codex/add-discord-login-support
Add Discord OAuth support
2025-07-16 18:09:13 +08:00
Tim c500dd6fe4 Merge branch 'main' into codex/add-discord-login-support 2025-07-16 18:07:52 +08:00
Tim 18d25e303a Add Discord OAuth login 2025-07-16 18:03:08 +08:00
Tim e8c2bc6a72 feat: X callback page 2025-07-16 16:53:18 +08:00
Tim 5e544eb48a feat: update x client id and sec 2025-07-16 16:46:06 +08:00
Tim 7bf67b24f8 Merge pull request #221 from nagisa77/codex/add-x-twitter-login-support
Add Twitter OAuth login
2025-07-16 16:21:15 +08:00
Tim 840541d8c3 Add Twitter OAuth login support 2025-07-16 16:21:01 +08:00
Tim fa95328f6d feat: auth config 2025-07-16 15:13:39 +08:00
Tim 01e9c93dfd Merge pull request #219 from nagisa77/1aj602-codex
Fix notification deletion without transaction
2025-07-16 13:44:26 +08:00
Tim 98a6f58dcc Add transaction to register request notifications 2025-07-16 13:44:06 +08:00
Tim e42b5db5a0 feat: login logic 2025-07-16 12:54:10 +08:00
Tim ea85af4a52 feat: login logic 2025-07-16 12:38:03 +08:00
Tim ea90a6a7b8 Merge pull request #218 from nagisa77/codex/fix-github-api-404-error-handling
Fix GitHub authentication errors
2025-07-16 11:06:14 +08:00
Tim 6345f5d70b Handle GitHub email API errors 2025-07-16 11:05:58 +08:00
Tim 9ee09f3438 Merge pull request #217 from nagisa77/codex/-homepageview
Fix latest posts ordering
2025-07-15 23:13:45 +08:00
Tim be0e182221 fix post order 2025-07-15 23:13:16 +08:00
tim be4bb5e74c feat: ui update 2025-07-15 23:07:08 +08:00
tim 3efd35ab9e feat: 发布按钮修复 2025-07-15 23:00:53 +08:00
tim 89bddb38d4 feat: update client id 2025-07-15 20:32:28 +08:00
Tim cc55e3114b Merge pull request #216 from nagisa77/codex/add-github-registration-and-login-support
Implement GitHub OAuth login
2025-07-15 20:23:01 +08:00
Tim 8f5b44b3ad feat: add GitHub OAuth login 2025-07-15 20:22:46 +08:00
tim 5fe10d770a Revert "Expose Google client ID via API config and use dynamically"
This reverts commit 76c2771b7b.
2025-07-15 19:57:19 +08:00
tim 43f4e03586 fix: google login problem 2025-07-15 19:40:46 +08:00
Tim 0820ac2a14 Merge pull request #215 from nagisa77/codex/fix-google-login-400-error
Fix dynamic Google OAuth client config
2025-07-15 19:27:16 +08:00
Tim 76c2771b7b Expose Google client ID via API config and use dynamically 2025-07-15 19:25:47 +08:00
tim 1e465a575c revert 2025-07-15 18:58:59 +08:00
tim 06b807dddd revert 2025-07-15 18:34:32 +08:00
tim b245b31b36 fix: update nonce 2025-07-15 18:32:33 +08:00
tim 97d411da03 permit google 2025-07-15 17:39:25 +08:00
tim 351938c6c5 fix: mark read font size 2025-07-15 16:28:37 +08:00
Tim c138ced32a Merge pull request #214 from nagisa77/codex/add-character-count-for-registration-reason
Add char count for signup reason input
2025-07-15 16:23:46 +08:00
Tim ba4cc71713 Add character count to signup reason page 2025-07-15 16:23:27 +08:00
tim e3fd51e133 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-15 16:13:23 +08:00
tim 94eea956ad fix: mark read font size 2025-07-15 16:08:19 +08:00
Tim 0fb0e733b7 Merge pull request #213 from nagisa77/codex/add-email-recovery-for-missing-username
Allow login with email fallback
2025-07-15 14:46:28 +08:00
Tim 52fb0583cd Merge branch 'main' into codex/add-email-recovery-for-missing-username 2025-07-15 14:46:22 +08:00
Tim 34edbefc62 Allow login via email 2025-07-15 14:45:39 +08:00
tim bb9b13664f feat: 注册流程优化 2025-07-15 13:54:01 +08:00
tim 59f03f4f13 fix: whitelist mode 2025-07-15 13:02:36 +08:00
tim 1244a58872 Merge branch 'main' of github.com:nagisa77/OpenIsle
# Conflicts:
#	src/main/java/com/openisle/controller/AuthController.java
2025-07-15 12:53:15 +08:00
tim 7a16d53ada fix: whitelist mode 2025-07-15 12:52:36 +08:00
Tim b03da789c5 Merge pull request #212 from nagisa77/codex/remove-duplicate-notifications-for-register-request
Fix register request notifications duplication
2025-07-15 12:52:29 +08:00
Tim 56a1f534bb Merge branch 'main' into codex/remove-duplicate-notifications-for-register-request 2025-07-15 12:52:21 +08:00
Tim 4036bd25a5 Remove duplicate register request notifications 2025-07-15 12:50:11 +08:00
tim b25a25f5bc fix: whitelist mode 2025-07-15 12:36:27 +08:00
tim 5b886420c5 feat: waitlist mode 2025-07-15 11:41:24 +08:00
Tim 72236ad290 Merge pull request #211 from nagisa77/codex/optimize-google-registration-process
Improve login error handling and Google whitelist signup
2025-07-15 11:07:00 +08:00
Tim abb6c98df7 Refine login error handling and adjust Google signup flow 2025-07-15 11:06:33 +08:00
tim 2d36082c72 fix: waitlist 2025-07-15 11:04:42 +08:00
tim f65df582f6 fix: waitlist 2025-07-15 10:53:35 +08:00
tim edffe48c98 fix: fix compile error 2025-07-15 00:05:06 +08:00
Tim a6552a0ca7 Merge pull request #209 from nagisa77/eh4pzj-codex/add-whitelist-invitation-registration-mode
Implement whitelist registration mode
2025-07-14 22:06:43 +08:00
tim 90bba4b47f feat: update main.js 2025-07-14 22:05:56 +08:00
tim ea337d4d6f Merge remote-tracking branch 'origin/main' into eh4pzj-codex/add-whitelist-invitation-registration-mode 2025-07-14 22:05:27 +08:00
Tim e4e83197d2 Implement registration whitelist flow 2025-07-14 22:03:45 +08:00
tim d5b391cc3a feat: 修复reactions相关请求 2025-07-14 22:00:41 +08:00
Tim cc7b55e050 Merge pull request #208 from nagisa77/codex/allow-access-to-/api/reaction-types-without-login
Fix reaction types access
2025-07-14 21:56:38 +08:00
Tim a1d358bb30 Allow unauthenticated access to reaction types 2025-07-14 21:56:27 +08:00
tim dc238f1522 feat: dau sort logic 2025-07-14 21:55:41 +08:00
Tim d0f84b70cc Merge pull request #207 from nagisa77/codex/add-site-statistics-page-for-dau-chart
Add admin stats page with DAU chart
2025-07-14 21:39:39 +08:00
Tim 40331886df feat: add admin site stats page with DAU chart 2025-07-14 21:39:01 +08:00
Tim d5896ef178 Merge pull request #206 from nagisa77/codex/add-whitelist-invitation-registration-mode
Implement whitelist registration mode
2025-07-14 21:32:23 +08:00
Tim 609156f4e5 feat: add whitelist register mode 2025-07-14 21:32:07 +08:00
tim 271d093ad8 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-14 21:27:12 +08:00
tim 53c878d11d feat: 更新关于页面ui 2025-07-14 21:26:25 +08:00
Tim 1b09a8c7ae Merge pull request #205 from nagisa77/codex/add-stat-module-for-dau-tracking
Add DAU stats filter and endpoint
2025-07-14 21:22:19 +08:00
Tim f42f277cb3 Add DAU statistics module 2025-07-14 21:21:50 +08:00
tim c9c96edcb0 not allow scroll 2025-07-14 20:35:52 +08:00
tim d063625cd7 feat: comment editor required login 2025-07-14 20:33:18 +08:00
Tim 701d568f53 Merge pull request #204 from nagisa77/codex/integrate-vue-easy-lightbox-with-markdown
Add lightbox preview for Markdown images
2025-07-14 19:54:36 +08:00
Tim 5625868c91 Add image preview with vue-easy-lightbox 2025-07-14 19:54:24 +08:00
tim fbe63b3943 feat: update 404 handler 2025-07-14 19:33:20 +08:00
Tim e686fcfb23 Merge pull request #203 from nagisa77/codex/return-404-for-missing-articles-and-users
Return 404 for missing posts and users
2025-07-14 19:24:24 +08:00
Tim aed3c87e4a Return 404 when user or post not found 2025-07-14 19:24:11 +08:00
tim f4cedc3a4f Revert "Return 404 for missing user or post"
This reverts commit 68410c7fd1.
2025-07-14 18:37:08 +08:00
Tim b7534afbf3 Merge pull request #202 from nagisa77/codex/return-404-for-not-found-articles-and-users
Fix not-found responses
2025-07-14 18:34:39 +08:00
Tim 68410c7fd1 Return 404 for missing user or post 2025-07-14 18:34:28 +08:00
tim 42f2a0e057 feat: login overlay ui fix 2025-07-14 18:33:33 +08:00
Tim d3870e9efc Merge pull request #201 from nagisa77/codex/add-404-page-and-disable-editors
Add 404 and login overlays
2025-07-14 18:19:55 +08:00
Tim b757a75db9 Add 404 page and login overlays 2025-07-14 18:19:23 +08:00
tim 60ddd13459 feat: update setting page view 2025-07-14 18:18:19 +08:00
Tim f116c97f51 Merge pull request #200 from nagisa77/codex/add-account-usage-limit-feature
Implement daily AI usage limit
2025-07-14 18:13:58 +08:00
Tim fd6a9521c1 feat: limit daily AI formatting usage 2025-07-14 18:13:36 +08:00
tim 63de1eb567 uidate icon 2025-07-14 18:04:20 +08:00
tim d7287deadb feat: ai generate 2025-07-14 18:01:51 +08:00
Tim c69eeba1a9 Merge pull request #199 from nagisa77/codex/add-ai-access-interface-for-optimization
Add OpenAI markdown format helper
2025-07-14 17:40:14 +08:00
Tim 02ddbb3fda feat: add OpenAI markdown format endpoint 2025-07-14 17:39:52 +08:00
Tim e97db914e7 Merge pull request #198 from nagisa77/codex/fix-delete-article-failure-due-to-foreign-key
Fix deletion of posts with read records
2025-07-14 17:34:32 +08:00
Tim e0e1dea166 fix post deletion cascade 2025-07-14 17:34:15 +08:00
tim 1974b60bdd feat: add "md格式优化" 2025-07-14 17:23:47 +08:00
tim f11f026829 feat: 更新发布中ui 2025-07-14 17:19:38 +08:00
tim 93b54dff18 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-14 17:11:21 +08:00
tim e69a2213fa feat: 新增已读所有消息 2025-07-14 17:11:08 +08:00
Tim 2a556e1bfe Merge pull request #197 from nagisa77/codex/fix-draft-saving-with-custom-tags
Fix draft saving when custom tags present
2025-07-14 16:31:31 +08:00
Tim de04b4be2f fix(draft): ignore custom tags when saving 2025-07-14 16:31:18 +08:00
tim b9a79b5e23 fix: 下拉框触底会展开页面 2025-07-14 16:06:42 +08:00
tim db50e122d4 Revert "fix: save draft with custom tags"
This reverts commit 9cdb740cae.
2025-07-14 15:42:49 +08:00
Tim 97362834ea Merge pull request #196 from nagisa77/codex/fix-custom-tag-draft-saving-issue
Fix draft save with custom tags
2025-07-14 15:40:00 +08:00
Tim 9cdb740cae fix: save draft with custom tags 2025-07-14 15:38:43 +08:00
tim f4c4947bd0 fix: menu超出长度 要自适应滚动 2025-07-14 15:28:14 +08:00
tim 1788774a07 feat: update menu ui 2025-07-14 15:00:19 +08:00
tim 5e9c5d2110 feat: add unread ui 2025-07-14 14:56:58 +08:00
Tim 8d962e83e9 Merge pull request #195 from nagisa77/codex/add-tabs-to-messagepageview
Add unread filter tabs to messages
2025-07-14 14:43:37 +08:00
Tim 5b00923a7d feat: add tabs to message page 2025-07-14 14:42:56 +08:00
tim f5326b6834 feat: ui update 2025-07-14 14:34:42 +08:00
Tim bfcd965a39 Merge pull request #194 from nagisa77/codex/refactor-messagepageview-to-reduce-duplication
Refactor MessagePageView
2025-07-14 14:22:44 +08:00
Tim b0d784139c refactor message page 2025-07-14 14:22:25 +08:00
tim 8ec4894513 feat: mark as read button 2025-07-14 14:15:12 +08:00
Tim e26fcd982e Merge pull request #193 from nagisa77/codex/add-hot-tag-feature-to-profileview
Add tag timeline and summary features
2025-07-14 13:45:26 +08:00
Tim c93452f1e3 feat: add tag timeline and summary sections 2025-07-14 13:41:33 +08:00
tim a043e6fab9 feat: use token to get visit date~ 2025-07-14 12:49:21 +08:00
Tim 424d30db77 Merge pull request #192 from nagisa77/codex/enhance-user-page-with-real-data
Implement user visit tracking on post list
2025-07-14 12:44:09 +08:00
Tim c62af73599 Merge branch 'main' into codex/enhance-user-page-with-real-data 2025-07-14 12:43:29 +08:00
Tim 2c3c74d584 Record user visits on posts listing 2025-07-14 12:42:34 +08:00
tim b4a10c8174 feat: UPDATE main info text ui 2025-07-14 12:41:44 +08:00
tim 9e2ad22e60 feat: fix compile problem 2025-07-14 12:33:55 +08:00
tim 0a36ad0f59 feat: update heart 2025-07-14 12:25:08 +08:00
tim 6cc1373423 feat: 支持图片上传 2025-07-14 12:20:32 +08:00
Tim 2d5c81ec50 Merge pull request #191 from nagisa77/codex/add-image-upload-interface-with-token
Add image upload endpoint with token support
2025-07-14 11:58:24 +08:00
Tim 816a8b7459 feat: add authenticated image upload 2025-07-14 11:58:11 +08:00
tim ba9b9cadaa feat: update menu ui 2025-07-14 09:54:03 +08:00
tim c370242f69 fix: add image setting 2025-07-14 01:51:06 +08:00
tim cf55730bc6 fix: update table css 2025-07-14 01:34:35 +08:00
tim f597be64a3 fix: fix url problem 2025-07-14 01:18:50 +08:00
Tim 0702de253a Merge pull request #190 from nagisa77/codex/remove-notifications-when-deleting-articles
Clean up notifications when posts or comments are removed
2025-07-14 01:00:27 +08:00
Tim df60850c5b Delete notifications when posts or comments are removed 2025-07-14 01:00:17 +08:00
Tim d6e4e93d59 Merge pull request #189 from nagisa77/codex/add-admin-deletion-for-articles-and-comments
Allow admin delete on FE
2025-07-14 00:42:03 +08:00
Tim f71baaf217 feat(frontend): allow admins to delete posts and comments 2025-07-14 00:41:50 +08:00
tim 2327c530f2 feat: menu add category & tags 2025-07-13 23:46:27 +08:00
Tim ae9af013ee Merge pull request #188 from nagisa77/codex/add-category-and-tag-sections-to-menu
Add category and tag sections to menu
2025-07-13 23:04:42 +08:00
Tim eb834688c5 feat: add category and tag sections to menu 2025-07-13 23:04:17 +08:00
tim a5cecd8ab4 feat: update BASE URL 2025-07-13 09:39:03 +08:00
tim 0b106ade31 feat: update test code 2025-07-13 09:33:14 +08:00
tim 577edc8cac feat: test code 2025-07-13 09:30:17 +08:00
tim 273f8473f9 feat: delete unused code 2025-07-13 09:28:24 +08:00
tim b92712bf88 feat: update port 2025-07-13 09:22:57 +08:00
tim b9fd3f03ee feat: update 2025-07-12 22:59:13 +08:00
tim fd8c9217ec feat: add dispath 2025-07-12 22:55:33 +08:00
tim b2f3c80aee feat: add deploy 2025-07-12 22:50:15 +08:00
tim c654928429 feat: update api 2025-07-12 11:32:45 +08:00
tim 1c153cc18c feat: add cros 2025-07-12 11:29:12 +08:00
tim abf60f9224 feat: update api base 2025-07-12 11:25:16 +08:00
tim 2143484b67 feat: update base url 2025-07-12 11:23:02 +08:00
tim 26e1028e4e feat: update api 2025-07-12 11:17:45 +08:00
tim 46b474c66a feat: update api 2025-07-12 11:13:15 +08:00
tim 45602dd3be feat: add api base 2025-07-12 11:10:12 +08:00
tim bc065a073a feat: update add cloudflare domain 2025-07-12 10:47:25 +08:00
tim 705e323e79 feat: update 2025-07-12 10:43:46 +08:00
tim ce06267d5a feat: update wrangler.toml 2025-07-12 10:42:01 +08:00
tim 9099a85c11 feat: update wrangler.toml 2025-07-12 10:38:31 +08:00
tim 0df116918f feat: update icons 2025-07-12 00:28:40 +08:00
Tim eda14105f2 Merge pull request #187 from nagisa77/codex/create-generic-placeholder-component
Add BasePlaceholder component for empty states
2025-07-12 00:25:26 +08:00
Tim fdb357d40d feat(frontend): add BasePlaceholder component 2025-07-12 00:25:11 +08:00
tim 8547e4662b feat: update timeline ui 2025-07-11 18:09:09 +08:00
Tim f791070f13 Merge pull request #186 from nagisa77/codex/implement-delete-article-and-comment-feature
Implement deletion for posts and comments
2025-07-11 17:30:57 +08:00
Tim f4af7a48c7 Add post and comment deletion 2025-07-11 17:24:48 +08:00
tim 216faeb496 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-11 17:06:51 +08:00
tim ac240412b2 feat: update 2025-07-11 17:06:35 +08:00
Tim 90abcacaa9 Merge pull request #185 from nagisa77/codex/update-comment-and-article-menu-items
Implement conditional menu items
2025-07-11 17:06:01 +08:00
Tim fb8fc66733 refactor(menu): show delete/approve options conditionally 2025-07-11 17:05:41 +08:00
tim cb484fa53a feat: menu 2025-07-11 15:25:02 +08:00
Tim 15749ae5e2 Merge pull request #184 from nagisa77/codex/update-notification-system-for-post-reviews
Implement post review notifications
2025-07-11 14:37:17 +08:00
Tim 46b7008152 feat: notify users on post review 2025-07-11 14:37:05 +08:00
tim 27b0205a2b feat: update header 2025-07-11 14:35:39 +08:00
Tim 2f91314b0a Merge pull request #183 from nagisa77/codex/fix-tag-publishing-in-post-approval
Fix tag publishing in review mode
2025-07-11 14:29:59 +08:00
Tim a5e685134f Fix tag publish behavior in review mode 2025-07-11 14:29:37 +08:00
Tim 6c50e2500e Merge pull request #182 from nagisa77/rpf5i0-codex/add-post-review-mechanism
Implement post and tag review workflow
2025-07-11 14:06:04 +08:00
Tim 9a5a1df420 Add post and tag review workflow 2025-07-11 14:04:33 +08:00
Tim a991b20f9c Merge pull request #179 from nagisa77/codex/update-notification-mechanism
Improve notification text
2025-07-11 13:43:15 +08:00
Tim 2657aae369 feat: improve notification details 2025-07-11 13:43:01 +08:00
tim 56a6757190 feat: update reaction panel ui 2025-07-11 13:42:19 +08:00
Tim aa07e6d949 Merge pull request #178 from nagisa77/codex/implement-user-reaction-rules-and-add-new-types
Update reaction feature
2025-07-11 13:31:49 +08:00
Tim 53ce2dfa96 feat: add new reaction types and enforce single reaction per type 2025-07-11 13:31:26 +08:00
tim cac9544195 feat: add article state 2025-07-11 13:30:34 +08:00
Tim 1e1d3dceb4 Merge pull request #177 from nagisa77/codex/implement-article-subscription-mechanism
Add post subscription notifications
2025-07-11 13:17:19 +08:00
Tim 452a486063 feat: implement post subscription notifications 2025-07-11 13:17:04 +08:00
tim abf0203b7c feat: reaction ui 2025-07-11 13:13:51 +08:00
tim bde076a80c feat: update reaction panel ui 2025-07-11 13:07:41 +08:00
tim 4b39ed34b7 feat: update rection code 2025-07-11 13:05:02 +08:00
tim e6f53365b8 faet: update dropdown ui 2025-07-11 13:02:41 +08:00
Tim 2740394c42 Merge pull request #176 from nagisa77/codex/add-menu-icon-and-button-styling
Add dropdown menu for article actions
2025-07-11 12:33:17 +08:00
Tim 004202ce44 feat(ui): add reusable dropdown menu 2025-07-11 12:32:59 +08:00
tim d8f420d0a6 feat: add some buttons 2025-07-11 11:02:01 +08:00
tim 8d4d4e62ae Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-10 17:58:59 +08:00
tim dfcfee37fd feat: update ui 2025-07-10 17:58:47 +08:00
Tim cab58d2c5c Merge pull request #174 from nagisa77/rzngev-codex
Add follow notification details
2025-07-10 17:58:35 +08:00
Tim f4b161dbee Add detailed follow notifications 2025-07-10 17:58:13 +08:00
tim 49ccbb5dc7 feat: add user list click 2025-07-10 17:32:26 +08:00
Tim a2efc34068 Merge pull request #173 from nagisa77/9ajlri-codex
Fix follow action for numeric user ids
2025-07-10 17:28:31 +08:00
Tim b57036e3d0 fix follow by id 2025-07-10 17:27:49 +08:00
Tim ad856ba7f1 Merge pull request #172 from nagisa77/dr918r-codex
Implement follow/unfollow
2025-07-10 16:58:56 +08:00
Tim bef539fcea feat: add follow unsubscribe integration 2025-07-10 16:58:41 +08:00
tim 5ebda0fb1d feat: sub & unsub buttons 2025-07-10 16:40:32 +08:00
tim 57ddddd384 feat: modify flow 2025-07-10 16:28:33 +08:00
Tim 16ae598b13 Merge pull request #171 from nagisa77/codex/tab
Implement profile follow tab
2025-07-10 16:11:22 +08:00
Tim c6d5b8325e feat: add profile follow tab and lazy loading 2025-07-10 16:11:00 +08:00
Tim 814adeb3ca Merge pull request #170 from nagisa77/nukn3x-codex
Implement participants display
2025-07-10 16:03:18 +08:00
Tim 2b9b664aa2 feat: show post participants 2025-07-10 16:03:02 +08:00
tim 50914cc1c6 feat: add sub tab 2025-07-10 15:58:28 +08:00
tim 86134a2a7c feat: fix title wrap 2025-07-10 15:52:53 +08:00
tim 5763a37047 feat: tag & catagory selection 2025-07-10 14:41:23 +08:00
Tim 9be4863366 Merge pull request #169 from nagisa77/codex/-category
Fix category filter initialization
2025-07-10 14:38:50 +08:00
Tim e43130b4ca fix: ensure category query param typed 2025-07-10 14:38:34 +08:00
tim 17a80f2579 feat: update ui logic 2025-07-10 14:19:11 +08:00
Tim c2c0efc0fb Merge pull request #168 from nagisa77/2gqwih-codex
Fix filter dropdown preloading
2025-07-10 13:53:47 +08:00
Tim 7c7f54779d feat(ui): support preloaded options for selects 2025-07-10 13:53:30 +08:00
Tim 0b5883cc20 Merge pull request #167 from nagisa77/codex/create-articlecategory-component-with-click-handling 2025-07-10 13:21:39 +08:00
Tim f61757318d Add ArticleCategory component and update tag/category links 2025-07-10 13:21:26 +08:00
Tim f75c87f51b Merge pull request #166 from nagisa77/codex/add-parameters-for-homepage-display 2025-07-10 13:08:23 +08:00
Tim ab41cd9ddb feat(frontend): support home page query filters 2025-07-10 13:06:44 +08:00
Tim 022c30f378 Merge pull request #165 from nagisa77/codex/update-tag-selection-to-use-and-logic 2025-07-10 13:06:22 +08:00
Tim e502257623 Use AND logic when filtering posts by tags 2025-07-10 13:06:08 +08:00
tim 886d26d251 feat: message page update 2025-07-10 12:05:00 +08:00
tim 67dabeec04 feat: update tag select ui 2025-07-10 12:03:51 +08:00
tim d7a242700b feat: tag select ui 2025-07-10 12:01:47 +08:00
Tim 463629e9c5 Merge pull request #164 from nagisa77/vqqui8-codex
Enhance category and tag dropdowns
2025-07-10 11:51:24 +08:00
Tim a9cffc6e42 Add count and description to category and tag dropdown 2025-07-10 11:51:04 +08:00
Tim bdbc7e72b7 Merge pull request #163 from nagisa77/56d2qk-codex
Improve tag creation error handling on publish
2025-07-10 11:35:49 +08:00
Tim 98485cc7af Improve tag creation error handling 2025-07-10 11:35:36 +08:00
Tim fe6eac5775 Merge pull request #162 from nagisa77/zj6x0a-codex
Clear dropdown search after selection
2025-07-10 11:18:34 +08:00
Tim 10b094c442 Clear dropdown search after selection 2025-07-10 11:18:19 +08:00
Tim 78b088fcea Merge pull request #159 from nagisa77/8uxuiu-codex
Implement tag creation by normal users
2025-07-10 10:46:10 +08:00
Tim dd2485d7da feat: allow user tag creation 2025-07-10 10:45:07 +08:00
tim 0df2acb65a feat: update ui 2025-07-10 00:26:45 +08:00
Tim b1136430f1 Merge pull request #158 from nagisa77/codex/fix-usercontrollertest-null-pointer-exception
Fix user replies test to set post category
2025-07-10 00:16:49 +08:00
Tim 43ed38d592 Fix user replies test by assigning category 2025-07-10 00:16:30 +08:00
Tim 4a163f2a7f Merge pull request #157 from nagisa77/codex/fix-nullpointerexception-in-usercontrollertest
Fix null content handling in UserController
2025-07-10 00:11:29 +08:00
Tim 6351f329cd fix null content handling in user posts 2025-07-10 00:11:13 +08:00
Tim 3dbb1c26bb Merge pull request #153 from nagisa77/codex/fix-test-case-for-complexflowintegrationtest
Fix integration tests by using valid usernames
2025-07-10 00:05:05 +08:00
Tim ed46a617de Merge branch 'main' into codex/fix-test-case-for-complexflowintegrationtest 2025-07-10 00:04:53 +08:00
Tim 43b55e357d Merge pull request #149 from nagisa77/codex/fix-test-cases
Fix user controller tests
2025-07-10 00:03:55 +08:00
Tim f88865772a Merge pull request #150 from nagisa77/codex/fix-test-case-for-searchservice
Fix SearchService NPE in tests
2025-07-10 00:03:51 +08:00
Tim 419e36833a Merge pull request #151 from nagisa77/codex/fix-test-case-assertion-error
Fix NotificationControllerTest JSONPath
2025-07-10 00:03:32 +08:00
Tim 77d2648e68 Merge pull request #152 from nagisa77/codex/fix-test-case-for-publishmodeintegrationtest
Fix PublishModeIntegrationTest user verification
2025-07-10 00:03:23 +08:00
Tim db909332d1 Merge pull request #154 from nagisa77/codex/fix-test-case-for-postid
Fix NotificationControllerTest
2025-07-10 00:03:12 +08:00
Tim e4da357fe0 Merge pull request #155 from nagisa77/codex/fix-test-case-exceptions
Fix PasswordValidator tests
2025-07-10 00:02:47 +08:00
Tim 32a62488ed Merge pull request #156 from nagisa77/codex/fix-test-case
Fix integration tests with valid usernames
2025-07-10 00:02:30 +08:00
Tim d4dd7abe62 Fix PasswordValidator tests to expect FieldException 2025-07-10 00:02:16 +08:00
Tim a354756d45 test: update integration test usernames 2025-07-10 00:02:14 +08:00
Tim 6b3a7cb03b Fix NotificationControllerTest json path 2025-07-10 00:02:12 +08:00
Tim e9d47d22f6 fix tests: use valid usernames 2025-07-10 00:02:11 +08:00
Tim 4224bcd2e2 fix: handle already verified users in PublishModeIntegrationTest 2025-07-10 00:02:10 +08:00
Tim 24f10d008f fix search service null category 2025-07-10 00:02:07 +08:00
Tim e37fd4de82 Fix UserController tests to use identifier 2025-07-10 00:02:06 +08:00
Tim cad31f9ee8 test: fix NotificationControllerTest expectation 2025-07-10 00:02:03 +08:00
tim cfc7f4035e feat: update test 2025-07-09 23:53:39 +08:00
tim b43225a158 feat: update 2025-07-09 23:49:11 +08:00
tim d2e89e32ee Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-09 23:48:46 +08:00
tim 62c2b64859 feat: update 2025-07-09 23:48:24 +08:00
Tim e6c8b0460d Merge pull request #148 from nagisa77/codex/fix-postcontrollertest-issues
Fix PostControllerTest by mocking DraftService
2025-07-09 23:47:49 +08:00
Tim 6ab6fd86b6 test: mock DraftService in PostControllerTest 2025-07-09 23:47:32 +08:00
Tim 7e055f49c3 Merge pull request #147 from nagisa77/codex/fix-searchresult-constructor-argument-mismatch
Fix SearchControllerTest for SearchResult record change
2025-07-09 23:22:04 +08:00
Tim 430414ca1c Fix SearchControllerTest for updated SearchResult 2025-07-09 23:21:49 +08:00
tim 469dfbd1e5 feat: ablout page 2025-07-09 22:34:26 +08:00
Tim f65d46a972 Merge pull request #146 from nagisa77/codex/create-about-page-inspired-by-tos 2025-07-09 21:39:27 +08:00
Tim 23599d7b78 Revamp about page with markdown tabs 2025-07-09 21:38:18 +08:00
Tim 5bb0f9c92a Merge pull request #145 from nagisa77/codex/tag
Support tag/category filters for ranking
2025-07-09 21:14:14 +08:00
Tim e0efca7edf Add ranking filtering by tags and categories 2025-07-09 21:13:50 +08:00
Tim 57a8bfeac6 Merge pull request #144 from nagisa77/huzd4d-codex
Implement ranking posts by views
2025-07-09 20:49:33 +08:00
Tim befe0ff470 Add ranking endpoint and UI 2025-07-09 20:48:58 +08:00
tim 32ef3383bc feat: time cal 2025-07-09 20:44:18 +08:00
tim db58af31c9 feat: update home page ui 2025-07-09 20:38:19 +08:00
Tim daed7e10b8 Merge pull request #143 from nagisa77/i3fpxu-codex
Add none option for category and tag selectors
2025-07-09 20:28:33 +08:00
Tim f0c5780f7a feat(frontend): add none options for category and tag 2025-07-09 20:28:16 +08:00
Tim 72186b8779 Merge pull request #142 from nagisa77/3xl8g6-codex
Fix post filtering logic
2025-07-09 20:20:59 +08:00
Tim 872113172e Implement AND logic for category and tag filters 2025-07-09 20:20:42 +08:00
tim 8baae21fb8 feat: update message page 2025-07-09 19:57:24 +08:00
Tim 8fe0a086ed Merge pull request #141 from nagisa77/aumsr4-codex
Implement filters on home page
2025-07-09 19:54:06 +08:00
Tim f6c0080eb9 feat(ui): filter posts by category and tags 2025-07-09 19:53:39 +08:00
Tim e45f412aa4 Merge pull request #140 from nagisa77/q6ts56-codex
Improve reaction notification detail
2025-07-09 19:28:34 +08:00
Tim 4a23bf5221 feat: detailed reaction notifications 2025-07-09 19:28:18 +08:00
Tim 648a9d4a5c Merge pull request #139 from nagisa77/sdpwko-codex
Allow multiple reactions
2025-07-09 19:09:13 +08:00
Tim 404476973c Allow multiple reactions 2025-07-09 19:09:00 +08:00
Tim 518137182f Merge pull request #138 from nagisa77/s1jpqa-codex
Add frontend time manager
2025-07-09 18:48:22 +08:00
Tim 52ae87e4f4 feat(frontend): add time manager and unify date formats 2025-07-09 18:48:06 +08:00
Tim c9592abba7 Merge pull request #137 from nagisa77/codex/fix-duplicate-entry-sql-error
Fix duplicate reaction creation
2025-07-09 18:43:52 +08:00
Tim f90afedf3a Prevent duplicate reactions 2025-07-09 18:43:37 +08:00
Tim 2c53dd9a9b Merge pull request #136 from nagisa77/agsk8n-codex
Allow multiple reactions per user
2025-07-09 18:36:15 +08:00
Tim 4e12b622ce Allow multiple reactions per user 2025-07-09 18:35:59 +08:00
Tim 9867ed91f4 Merge pull request #135 from nagisa77/codex/post
Add infinite scroll for posts
2025-07-09 18:29:29 +08:00
Tim 7036ff7f2e Merge branch 'main' into codex/post 2025-07-09 18:29:21 +08:00
Tim 2a58a3cb40 feat(frontend): add infinite scroll for posts 2025-07-09 18:27:01 +08:00
Tim 2cef83412d Merge pull request #134 from nagisa77/9vzga6-codex
Add read/unread indicator on messages
2025-07-09 18:24:38 +08:00
Tim 206718640a feat: indicate read messages 2025-07-09 18:23:24 +08:00
tim ccd0c817f6 feat: add reaction token 2025-07-09 18:22:31 +08:00
Tim d7c3e3e8ea Merge pull request #133 from nagisa77/codex/-reactions
Add reaction panel
2025-07-09 18:17:51 +08:00
Tim 4627d34dbe Implement reaction panel with backend support 2025-07-09 18:17:35 +08:00
Tim 5436402127 Merge pull request #132 from nagisa77/codex/ui
Add topic switching placeholders
2025-07-09 18:16:09 +08:00
Tim f3b3b3cacb feat(ui): add topic switching 2025-07-09 18:15:53 +08:00
Tim 9fdf068cd6 Merge pull request #131 from nagisa77/codex/basetimeline
Add icon click handler to timeline
2025-07-09 18:04:48 +08:00
Tim 8feb488c0e Add clickable icons to timeline 2025-07-09 18:03:50 +08:00
tim 5554594123 feat: add profile click 2025-07-09 17:54:16 +08:00
Tim ef08bf32bd Merge pull request #130 from nagisa77/codex/modify-timeline-format-for-replies-and-topics
Update timeline formats
2025-07-09 17:03:20 +08:00
Tim d9b8e578c1 Improve timeline details 2025-07-09 17:03:04 +08:00
tim 601e4e674c feat: update 2025-07-09 16:46:33 +08:00
tim 894c0e3a72 feat: update 2025-07-09 16:17:56 +08:00
tim 1a1f7cf4bc feat: update port 2025-07-09 16:08:15 +08:00
tim 4c6605a685 feat: update pom.xml 2025-07-09 15:46:28 +08:00
Tim c0620172a5 Merge pull request #129 from nagisa77/codex/refactor-profile-timeline-display
Improve timeline details on profile page
2025-07-09 14:54:27 +08:00
Tim 9fc3d0b6b1 refactor(profile): enhance timeline display 2025-07-09 14:54:13 +08:00
tim c7f5bb862a feat: update timeline 2025-07-09 14:44:12 +08:00
Tim 4422acb6a8 Merge pull request #128 from nagisa77/codex/update-usercontroller-to-include-snippets-and-comments
Add snippet preview settings and enrich comment info
2025-07-09 14:43:09 +08:00
Tim c4bf5be049 Add configurable snippet support and extend user comment info 2025-07-09 14:42:51 +08:00
Tim 4ac20d5f78 Merge pull request #127 from nagisa77/codex/fix-gotoprofile-function
Fix profile navigation and persist user info
2025-07-09 14:28:12 +08:00
Tim 9b96aa0d52 fix goToProfile and store user info 2025-07-09 14:28:01 +08:00
tim 4ad3f786ad feat: add gotoprofile 2025-07-09 14:17:45 +08:00
Tim 6cd32e6782 Merge pull request #126 from nagisa77/codex/-400
Fix user lookup by id
2025-07-09 14:13:48 +08:00
Tim a0c5b8c530 Allow fetching user info by id 2025-07-09 14:12:17 +08:00
Tim 178d25f13a Merge pull request #125 from nagisa77/codex/fix-profile-page-access-issue
Fix profile page unauthorized error
2025-07-09 14:05:37 +08:00
Tim 2da14a85e2 Allow public access to user profile 2025-07-09 14:05:24 +08:00
tim 1663825581 feat: fix compile 2025-07-09 13:55:36 +08:00
Tim 182f0152f9 Merge pull request #124 from nagisa77/codex/fix-incorrect-datetime-value-error
Fix MySQL timestamp issue
2025-07-09 13:50:29 +08:00
Tim 36fa4ea570 Fix default creation timestamps 2025-07-09 13:50:16 +08:00
Tim 90e3129e86 Merge pull request #123 from nagisa77/codex/implement-personal-homepage-features
Implement user profile page with real data
2025-07-09 13:41:10 +08:00
Tim 37d1f2ab70 Implement profile page and related backend APIs 2025-07-09 13:40:54 +08:00
tim d9322307fe feat: update profile page 2025-07-09 13:28:15 +08:00
tim 90f33b0508 feat: icon 2025-07-09 11:01:43 +08:00
tim fba2c80b9c feat: night mode 2025-07-09 00:55:42 +08:00
Tim 47171a7649 Merge pull request #122 from nagisa77/codex/add-toggle-button-for-replies
Add expand/collapse toggle for replies
2025-07-08 23:28:38 +08:00
Tim 3ae991f52c feat(ui): toggle replies text 2025-07-08 23:28:17 +08:00
tim 84e0d38918 feat: ui bugfix 2025-07-08 23:23:39 +08:00
Tim b2ea154915 Merge pull request #121 from nagisa77/codex/modify-search-result-navigation-for-comments
Update comment search link
2025-07-08 23:16:48 +08:00
Tim 29e43ae669 feat(search): enable comment result linking 2025-07-08 23:16:29 +08:00
tim 7a8b20047e feat: update jump logic 2025-07-08 23:09:56 +08:00
tim fe3ed1cdf7 feat: update jump logic 2025-07-08 23:09:14 +08:00
Tim 558ef1d6f6 Merge pull request #120 from nagisa77/codex/implement-search-dropdown-click-handler
Implement navigation for search dropdown
2025-07-08 23:06:45 +08:00
Tim 0f5e763a3a feat: enable navigation from search dropdown 2025-07-08 23:06:17 +08:00
tim 2cfa46c3d8 feat: search ui 2025-07-08 22:58:30 +08:00
tim 4b369b2d8b feat: update debug 2025-07-08 20:43:11 +08:00
tim a0d42360c6 feat: search ui 2025-07-08 20:36:59 +08:00
Tim b8ea48b4a1 Merge pull request #119 from nagisa77/codex/update-search-functionality-with-details
Improve search result details
2025-07-08 20:16:01 +08:00
Tim 857eac14a8 Enhance search results with detail 2025-07-08 20:13:17 +08:00
tim c917d01b78 feat: add search 2025-07-08 20:06:17 +08:00
Tim a6b0ef4290 Merge pull request #117 from nagisa77/codex/fix-search-dropdown-display-and-error
Fix dropdown search slot update
2025-07-08 17:25:54 +08:00
Tim 369c1fe376 fix search dropdown 2025-07-08 17:25:15 +08:00
Tim 542119b6ee Merge pull request #116 from nagisa77/codex/extend-dropdown-for-customizable-menu-styles
Implement searchable dropdown
2025-07-08 17:12:21 +08:00
Tim 448c174df5 feat: add search dropdown 2025-07-08 17:12:05 +08:00
tim 4e6f86a5d3 feat: update code 2025-07-08 16:53:52 +08:00
Tim 867892e4f2 Merge pull request #115 from nagisa77/codex/create-generic-article-tags-container-component
Make ArticleTags reusable
2025-07-08 16:31:25 +08:00
Tim 66cee606fd feat: add reusable ArticleTags component 2025-07-08 16:31:12 +08:00
Tim abc41f5741 Merge pull request #114 from nagisa77/codex/customize-markdown-it-rendering-in-global.css
Add markdown css
2025-07-08 16:25:43 +08:00
Tim 03d5f2fbed style: customize markdown rendering 2025-07-08 16:25:26 +08:00
tim bc39dd8ee1 feat: delete useless config 2025-07-08 16:02:06 +08:00
tim 5ed868d121 feat: login & register 2025-07-08 14:50:44 +08:00
Tim 548450dc29 Merge pull request #113 from nagisa77/codex/update-dropdowns-on-settings-page
Fix admin dropdown defaults & input focus style
2025-07-08 14:40:25 +08:00
Tim 0c7fe16c06 fix(settings): show admin dropdown defaults 2025-07-08 14:40:08 +08:00
tim a1c96179ec feat: add setting page loading 2025-07-08 14:32:40 +08:00
tim 6f4d6aa924 feat: setting page loading 2025-07-08 14:15:33 +08:00
tim 5f74fd2f52 feat: update editor 2025-07-08 13:43:50 +08:00
tim 47a27ce5ad Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-08 13:43:43 +08:00
Tim e135b1acee Merge pull request #112 from nagisa77/codex/update-settingspageview-to-show-avatar-instantly
Preview avatar before upload
2025-07-08 13:43:28 +08:00
Tim b4b7484204 feat(settings): preview selected avatar 2025-07-08 13:43:12 +08:00
tim 6d5ef91a30 feat: add saving state 2025-07-08 13:29:56 +08:00
tim dd2d219c00 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-08 13:08:03 +08:00
tim 38b9e0f3e6 fat: update setting view ui 2025-07-08 13:05:04 +08:00
Tim 39f58e417b Merge pull request #111 from nagisa77/codex/add-username-validation-rules
Enforce minimal username length
2025-07-08 13:04:19 +08:00
Tim 3f41fa7b7f feat: enforce username length 2025-07-08 13:03:40 +08:00
tim 4bbc8c6e4d feat: ui update 2025-07-08 12:02:16 +08:00
tim 89ea778f13 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-08 11:03:02 +08:00
tim b14f68d148 feat: base input 2025-07-08 11:02:50 +08:00
Tim 6e4f9432f2 Merge pull request #109 from nagisa77/codex/add-icon-support-to-dropdown-menu
Support icon classes in dropdown menu
2025-07-08 11:02:17 +08:00
Tim 2230b3ebf1 feat(ui): enhance dropdown icons and admin settings 2025-07-08 11:02:01 +08:00
Tim 8fffe7d334 Merge pull request #108 from nagisa77/codex/create-input-components-for-auth-pages
Refactor auth inputs and avatar style
2025-07-08 10:27:56 +08:00
Tim 2ce8f9f7f3 feat: create base input component and update pages 2025-07-08 10:27:36 +08:00
Tim f266368c47 Merge pull request #107 from nagisa77/codex/add-loading-to-dropdown-component
Add loading spinner to dropdown component
2025-07-08 10:25:13 +08:00
Tim 8b5740f7cf feat: add loading spinner to dropdown 2025-07-08 10:24:51 +08:00
tim c1c6aef8a7 feat: setting page ui 2025-07-08 10:09:14 +08:00
Tim 0b1f543b79 Merge pull request #106 from nagisa77/codex/add-profile-and-admin-settings
Add user settings page and admin config API
2025-07-07 20:42:06 +08:00
Tim 693d6d5e6b feat: implement settings page and config management 2025-07-07 20:41:52 +08:00
tim fbf0d9fe2f feat: unread ui 2025-07-07 19:36:40 +08:00
Tim 7237eba192 Merge pull request #105 from nagisa77/codex/add-unread-message-fetch-functionality
Add unread notification count
2025-07-07 19:27:00 +08:00
Tim 87d0441ef6 feat: show unread message count 2025-07-07 19:26:38 +08:00
tim 60b789759a feat: update timeline ui 2025-07-07 18:34:26 +08:00
tim d009c8624d feat: 父容器修改 2025-07-07 18:28:28 +08:00
Tim feed88cde3 Merge pull request #104 from nagisa77/codex/fix-scroll-position-issue-in-postpageview
Fix scroll index update with BaseTimeline
2025-07-07 17:56:35 +08:00
Tim 05c7c6668d fix post scroll indexing with BaseTimeline 2025-07-07 17:55:59 +08:00
tim 15a551d700 feat: rm postItems 2025-07-07 16:23:51 +08:00
Tim 87446930ee Merge pull request #102 from nagisa77/codex/fix-scrollview-positioning-issue-in-postpageview.vue
fix: restore scroll index tracking
2025-07-07 16:22:07 +08:00
Tim 7714cfe066 fix: restore scroll index tracking 2025-07-07 16:21:50 +08:00
tim 54f0c1f261 feat: timeline ui fix 2025-07-07 16:02:24 +08:00
tim 2d99f195ca feat: comments use timeline 2025-07-07 15:57:02 +08:00
tim 09c32059b6 feat: add no message 2025-07-07 15:35:59 +08:00
tim cf72a2d758 Revert "feat: add comment timeline component"
This reverts commit a509099455.
2025-07-07 15:35:33 +08:00
Tim 69114d48c2 Merge pull request #101 from nagisa77/codex/modify-multi-level-comment-component
Add comment timeline component with avatars
2025-07-07 15:34:48 +08:00
Tim a509099455 feat: add comment timeline component 2025-07-07 15:34:34 +08:00
Tim 1ac2d1d4db Merge pull request #100 from nagisa77/codex/fix-ui-expansion-for-multi-level-comment-links
Fix nested comment link expansion
2025-07-07 14:39:44 +08:00
Tim 298afea9bd fix comment link path expansion 2025-07-07 14:39:12 +08:00
tim 3d35d93031 feat: message 2025-07-07 14:36:46 +08:00
Tim fc8f45bba1 Merge pull request #99 from nagisa77/codex/modify-comment_reply-handling-on-messages-page
Improve comment reply notification display
2025-07-07 13:57:39 +08:00
Tim 5e538b19f7 feat(frontend): show comment reply details with link 2025-07-07 13:57:22 +08:00
Tim f0a2c672df Merge pull request #98 from nagisa77/codex/modify-/api/notifications-to-return-full-comment-data
Improve notification API response
2025-07-07 13:42:37 +08:00
Tim a9b9e76194 Enhance notification details 2025-07-07 13:42:25 +08:00
Tim 51f3001d18 Merge pull request #97 from nagisa77/codex/expand-and-locate-link-in-nested-comments
Fix nested comment links
2025-07-07 13:32:16 +08:00
Tim 61c05cdc66 fix comment link navigation 2025-07-07 13:32:02 +08:00
Tim ba368f7bd7 Merge pull request #96 from nagisa77/codex/add-toast-for-link-copy-and-delay-jump-for-comments
Implement toast on copy and wait comment anchor
2025-07-07 13:21:20 +08:00
Tim 0c5fd7fa78 feat(frontend): improve link copy and comment navigation 2025-07-07 13:21:07 +08:00
tim 1903be1f82 feat: add toast 2025-07-07 13:20:00 +08:00
tim 091af64711 feat: dark mode init 2025-07-07 13:15:03 +08:00
tim 7c4c1901b2 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-07 13:10:45 +08:00
Tim b46f34f7a0 Merge pull request #95 from nagisa77/codex/add-night-mode-support-with-theme-manager
Add dark mode toggle
2025-07-07 13:10:30 +08:00
Tim 06af358989 feat(ui): add theme manager and dark mode 2025-07-07 13:09:33 +08:00
tim 081fa859fc feat: update page view 2025-07-07 13:07:19 +08:00
Tim 587c4f795f Merge pull request #94 from nagisa77/codex/create-timeline-component
Add timeline component
2025-07-07 12:53:53 +08:00
Tim 88d2a2cd9d feat: add timeline component and integrate 2025-07-07 12:53:10 +08:00
tim 57863aadf8 feat: add night button 2025-07-07 11:48:13 +08:00
tim 87b2e9b19e feat: fix avatar problem 2025-07-07 01:46:11 +08:00
Tim fe4ccf9efc Merge pull request #93 from nagisa77/codex/include-full-author-info-in-api-responses
Add author details in post and comment APIs
2025-07-07 01:27:39 +08:00
Tim 9d261db077 Include author info in post and comment APIs 2025-07-07 01:27:31 +08:00
tim 2dc9638609 feat: add default avater 2025-07-06 22:14:04 +08:00
tim ea02dce045 feat: update toast 2025-07-06 22:00:01 +08:00
Tim 65251309bd Merge pull request #92 from nagisa77/codex/update-commenteditor.vue-with-loading-and-disabled-state 2025-07-06 21:33:59 +08:00
Tim 955c50597b feat: disable comment submit and add loading 2025-07-06 21:33:10 +08:00
Tim 0dcbd08639 Merge pull request #91 from nagisa77/codex/fix-vditorinstance.getvalue-not-a-function-error
Fix comment editor vditor instance
2025-07-06 21:03:38 +08:00
Tim 6ee59b8702 Fix CommentEditor Vditor instance 2025-07-06 21:03:10 +08:00
tim e86449eebe feat: icon fix 2025-07-06 20:56:00 +08:00
Tim 8c79b095c7 Merge pull request #90 from nagisa77/codex/return-full-object-for-tags-and-categories 2025-07-06 20:36:23 +08:00
Tim 6a25e40cc8 Return full category and tag objects in post API 2025-07-06 20:35:04 +08:00
tim 433a29ccc9 feat: update home page view 2025-07-06 20:24:32 +08:00
Tim 29d7fb54f3 Merge pull request #89 from nagisa77/codex/integrate-real-content-for-homepage,-post,-and-comments
Connect frontend to backend post APIs
2025-07-06 11:52:55 +08:00
Tim 99469fe731 Connect posts and comments to backend 2025-07-06 11:52:35 +08:00
tim 5a2fe4a75e feat: add selection 2025-07-06 11:29:38 +08:00
tim 75d7fb174e feat: homepage layout 2025-07-06 11:22:50 +08:00
tim 5bcabfd0f6 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-06 11:04:23 +08:00
Tim 720e0f9b13 Merge pull request #88 from nagisa77/codex/update-layout-in-homepageview.vue 2025-07-06 11:03:44 +08:00
Tim bcf71aa162 Align header and article columns 2025-07-06 11:03:30 +08:00
Tim 5cca19542a Merge pull request #87 from nagisa77/codex/fix-editor-not-refreshing-content 2025-07-06 11:02:01 +08:00
Tim d4c2959ee3 fix: synchronize vditor content with prop 2025-07-06 11:01:48 +08:00
tim fe58a08882 feat: update example 2025-07-06 10:56:21 +08:00
tim 5f0eaf10cf feat: update header 2025-07-06 10:55:12 +08:00
Tim a559bde6b2 Merge pull request #86 from nagisa77/codex/fix-400-error-for-/api/drafts/me
Fix 400 error when fetching draft
2025-07-06 10:42:32 +08:00
Tim b7c11741b4 Ensure DraftService uses transactions 2025-07-06 10:41:55 +08:00
Tim 17ae94e801 Merge pull request #85 from nagisa77/codex/fix-issue-with-deleting-drafts
Fix draft deletion 400 error
2025-07-06 10:30:47 +08:00
Tim 6cb94a9baa fix: remove content-type header on draft deletion 2025-07-06 10:30:17 +08:00
tim e4eb0cb82a feat: delete draft 2025-07-06 10:24:54 +08:00
Tim d5ff676f08 Merge pull request #84 from nagisa77/codex/implement-draft-saving-logic
Add draft post feature
2025-07-06 01:56:51 +08:00
Tim 1c00c86bc7 feat: add draft post support 2025-07-06 01:56:35 +08:00
tim dd0aaf2b33 feat: add posting 2025-07-06 01:55:26 +08:00
Tim 47d7e88134 Merge pull request #83 from nagisa77/codex/limit-tags-to-two-and-integrate-publishing-api
Limit tags and integrate post publish
2025-07-06 01:49:43 +08:00
Tim 1ba2da65fd Limit tags to two and integrate post publish 2025-07-06 01:49:23 +08:00
tim 9e76b58cac feat: poster 2025-07-06 01:38:48 +08:00
Tim 3f9699534c Merge pull request #82 from nagisa77/codex/fix-sql-syntax-and-table-constraints
Fix reserved keywords in MySQL schema
2025-07-05 18:11:55 +08:00
Tim f7caebe467 Fix reserved word columns and update field names 2025-07-05 18:11:40 +08:00
Tim cb5a4a6bfb Merge pull request #81 from nagisa77/codex/create-reusable-dropdown-components
Add dropdown components for post creation
2025-07-05 17:58:45 +08:00
Tim df55d36e0d Add reusable dropdown components 2025-07-05 17:58:34 +08:00
Tim de23931195 Merge pull request #80 from nagisa77/codex/add-small-icon-support-for-categories-and-tags
Add small icon support for categories and tags
2025-07-05 17:17:44 +08:00
Tim 1f406c4bc5 Add optional small icon for categories and tags 2025-07-05 17:17:32 +08:00
Tim f7d6475d9d Merge pull request #79 from nagisa77/codex/fix-missing-google-api-package
Fix Google Auth compile error
2025-07-05 17:06:35 +08:00
Tim 0c1861cfec Add missing Jackson dependency for Google auth 2025-07-05 17:06:14 +08:00
tim f8772a28b0 feat: update main 2025-07-05 16:02:58 +08:00
Tim 0191f70725 Merge pull request #78 from nagisa77/codex/integrate-google-registration-and-login
Add Google auth integration
2025-07-05 14:51:46 +08:00
Tim ed12fb0fc9 feat: add google auth integration 2025-07-05 14:51:29 +08:00
Tim e5ee4fcabb Merge pull request #77 from nagisa77/codex/integrate-google-sign-in-and-sign-up
Add Google OAuth login
2025-07-05 14:37:57 +08:00
Tim 20337e0501 feat: add Google login support 2025-07-05 14:36:52 +08:00
Tim 11611dbeb5 Merge pull request #76 from nagisa77/codex/fix-profile-menu-collapse-on-click
Fix reactive login UI
2025-07-05 14:24:35 +08:00
Tim ffeadc9cda feat(ui): make auth state reactive and close avatar menu 2025-07-05 14:23:47 +08:00
tim 10e03a0aa8 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-05 14:15:57 +08:00
Tim 227e98ef78 Merge pull request #75 from nagisa77/codex/add-dropdown-menu-to-header-avatar
Add avatar dropdown
2025-07-05 14:13:50 +08:00
Tim bd043350b6 Add avatar dropdown in header 2025-07-05 14:13:35 +08:00
tim 1775a94eb2 feat: avatar 2025-07-05 14:02:39 +08:00
tim 94a1b4a237 feat: add login state 2025-07-05 13:58:24 +08:00
tim f58a22e068 feat: update code 2025-07-05 13:35:54 +08:00
Tim 7e988dbd63 Merge pull request #74 from nagisa77/codex/add-login-state-management-module
Add token check API and client auth module
2025-07-05 13:35:36 +08:00
Tim 6bdc32ff05 feat: add token validation api and auth module 2025-07-05 13:34:47 +08:00
tim 3568e54984 feat: email register and login 2025-07-05 02:06:46 +08:00
Tim d540c995a9 Merge pull request #73 from nagisa77/codex/troubleshoot-403-error-on-register-api
Fix 403 on register by enabling CORS
2025-07-05 01:44:55 +08:00
Tim e745d757b4 Add CORS configuration 2025-07-05 01:44:42 +08:00
tim 6a83a5c351 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-04 22:22:00 +08:00
Tim fec32a9add Merge pull request #72 from nagisa77/codex/integrate-vue-toastification-and-replace-alerts
Add toast notifications
2025-07-04 22:21:39 +08:00
Tim 525fb8e205 Merge branch 'main' into codex/integrate-vue-toastification-and-replace-alerts 2025-07-04 22:21:17 +08:00
Tim 245190d477 feat: replace alerts with toast notifications 2025-07-04 22:20:01 +08:00
tim 132cdc28fe Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-04 22:16:56 +08:00
tim 5987e84fcf feat: change 2025-07-04 22:16:08 +08:00
Tim e6dbad836d Merge pull request #71 from nagisa77/codex/add-form-validation-and-error-handling
Improve registration form validation
2025-07-04 22:15:25 +08:00
Tim 968341dcb1 feat: improve registration validation 2025-07-04 22:15:05 +08:00
Tim b17df96060 Merge pull request #70 from nagisa77/codex/add-configurable-domain-and-port-in-main 2025-07-04 18:29:15 +08:00
Tim a7c6be2735 feat(frontend): make api base configurable 2025-07-04 18:29:01 +08:00
Tim 8519a80485 Merge pull request #69 from nagisa77/codex/integrate-email-registration-and-login
Integrate email signup/login frontend
2025-07-04 17:48:39 +08:00
Tim dcf2dff030 feat(frontend): integrate email register & login 2025-07-04 17:48:11 +08:00
Tim 56f795594b Merge pull request #68 from nagisa77/codex/add-category-and-tag-selection-to-post-page
Add category and tag selection on post form
2025-07-04 17:08:49 +08:00
Tim f905b3e5d8 Add category and tag selection to new post page 2025-07-04 17:08:28 +08:00
tim 99e73dbea2 feat: post ui 2025-07-04 16:50:54 +08:00
Tim 5425c404a8 Merge pull request #67 from nagisa77/codex/fix-uncaught-runtime-error-with-vditor
Fix Vditor init timing
2025-07-04 16:41:21 +08:00
Tim 9f34c72ab0 fix(editor): initialize vditor after setup 2025-07-04 16:41:08 +08:00
Tim 106bb70441 Merge pull request #66 from nagisa77/codex/add-separate-post-publishing-view-with-vditor
Add post creation view using Vditor
2025-07-04 16:25:42 +08:00
Tim 08805452f2 feat: add new post creation view 2025-07-04 16:25:22 +08:00
Tim 19cea8441d Merge pull request #65 from nagisa77/codex/add-article-and-comment-link-copy-features
Add link copy and comment anchor support
2025-07-04 16:19:04 +08:00
Tim 1fb8a53bcd feat: add link copy and comment anchor 2025-07-04 16:18:50 +08:00
Tim 3ba9d62e8f Merge pull request #64 from nagisa77/codex/remove-markdown-from-article-description
Sanitize homepage descriptions
2025-07-04 16:11:18 +08:00
Tim 134bbb4d76 feat: sanitize and clamp home article description 2025-07-04 16:11:07 +08:00
tim 48273887da feat: update home page example 2025-07-04 16:04:40 +08:00
Tim 086b6b5c6a Merge pull request #63 from nagisa77/codex/add-markdown-rendering-for-article-content-and-comments
Enable markdown display
2025-07-04 16:00:20 +08:00
Tim cdc9b412fe feat: render markdown in posts and comments 2025-07-04 15:59:57 +08:00
tim c6c34b201a feat: update markdown example 2025-07-04 15:51:53 +08:00
Tim fb3d3688b8 Merge pull request #62 from nagisa77/codex/create-comment-component-for-postpageview
Add reusable comment editor component
2025-07-04 14:59:36 +08:00
Tim 39ed670752 refactor: extract comment editor component 2025-07-04 14:59:15 +08:00
tim 9957c26025 feat: common-icon 2025-07-04 14:45:09 +08:00
tim 2e9d0ca022 feat: comment ui 2025-07-04 14:41:04 +08:00
Tim 066ac02139 Merge pull request #61 from nagisa77/codex/integrate-vditor-for-comment-posting
Add Vditor comment support
2025-07-04 11:51:50 +08:00
Tim 030ec7c631 Integrate Vditor for comment posting 2025-07-04 11:51:36 +08:00
tim 100bff4a26 feat: comment ui 2025-07-04 11:39:14 +08:00
Tim 859799929b Merge pull request #60 from nagisa77/codex/add-multi-level-comment-support-to-postpageview.vue
Add nested comment support
2025-07-04 11:05:51 +08:00
Tim 1011584756 feat: add nested comment support 2025-07-04 11:05:23 +08:00
tim b2436c4e8b feat: 多级评论demo 2025-07-04 10:57:12 +08:00
tim 821bc95e16 feat: login page 2025-07-04 10:23:58 +08:00
tim 0c4ea5adb0 feat: email next step 2025-07-04 10:18:35 +08:00
tim 7cad6a163f feat: signup page view v1 2025-07-04 10:12:48 +08:00
Tim 0592120a3a Merge pull request #59 from nagisa77/codex/add-signup-and-login-pages
Add login/signup routes
2025-07-03 20:12:44 +08:00
Tim 93a3621462 Add login and signup pages with hidden menu 2025-07-03 20:12:22 +08:00
tim 31f1aa2145 feat: scroller ui 2025-07-03 19:52:08 +08:00
Tim e184afae9b Merge pull request #58 from nagisa77/codex/customize-scroll-bar-style
Customize range slider style
2025-07-03 19:41:56 +08:00
Tim 8150c87fa2 style: customize scroller range 2025-07-03 19:41:43 +08:00
tim 97b7a791e3 feat: update scroller 2025-07-03 19:36:39 +08:00
Tim a3880ebb73 Merge pull request #57 from nagisa77/codex/add-draggable-bar-to-post-page-scroller-container
Add post scroller to PostPageView
2025-07-03 19:09:18 +08:00
Tim a1be02f6b2 feat: add vertical post scroller 2025-07-03 19:08:38 +08:00
tim c37455ca59 feat: update pageview 2025-07-03 18:58:14 +08:00
tim ecf13eb0c2 feat: update file 2025-07-03 16:52:48 +08:00
Tim 7b985ad49c Merge pull request #56 from nagisa77/codex/convert-postpageview-and-homepageview-data-to-js-arrays
Use arrays for home & post views
2025-07-03 16:51:30 +08:00
Tim 92756acd40 Use arrays for post and home views 2025-07-03 16:51:17 +08:00
tim 1ccf3cb970 feat: update posts page ui 2025-07-03 16:24:07 +08:00
tim 6936537875 feat: post main layout 2025-07-03 15:26:38 +08:00
Tim f42b7c54a2 Merge pull request #55 from nagisa77/codex/add-post-page-for-/posts/postid
Add post view page
2025-07-03 14:43:23 +08:00
Tim 2f54574815 feat(cli): add Post page view 2025-07-03 14:43:04 +08:00
Tim 992cc01aa1 Merge pull request #54 from nagisa77/codex/add-messagepageview-and-aboutpageview
Add Message and About views
2025-07-03 14:36:03 +08:00
Tim 0caed0187f feat(cli): add message and about views 2025-07-03 14:35:46 +08:00
tim 9cfb359652 feat: webui demo 2025-07-02 23:43:28 +08:00
tim f607b54957 feat: add menu ui 2025-07-02 22:34:13 +08:00
tim ce2ff8c94a feat: page layout 2025-07-02 22:02:45 +08:00
tim bfc0f95c8f feat: main layout 2025-07-02 21:44:30 +08:00
tim 7519ec760c Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-02 21:18:18 +08:00
Tim 09bbafa191 Merge pull request #53 from nagisa77/codex/initialize-open-isle-cli-with-vue-router
Add Vue Router and basic layout components
2025-07-02 21:17:50 +08:00
Tim 425bd8a596 feat: add vue-router and layout components 2025-07-02 21:17:37 +08:00
tim 5cff97b321 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-02 21:15:24 +08:00
Tim cc5aa89083 Merge pull request #52 from nagisa77/codex/add-subscription-functionality
Implement subscriptions
2025-07-02 21:14:41 +08:00
tim dc20f06614 feat: delete code 2025-07-02 21:09:20 +08:00
tim 8c21b39d78 feat: client init 2025-07-02 21:03:16 +08:00
Tim 47fc78a603 Add subscription feature 2025-07-02 18:17:32 +08:00
Tim 6e9cd7f450 Merge pull request #51 from nagisa77/codex/fix-npe-in-getpost-test
Fix PostControllerTest for unauthenticated view
2025-07-02 17:43:17 +08:00
Tim d69b2333dd Fix PostControllerTest viewPost stubs for unauthenticated requests 2025-07-02 17:43:00 +08:00
tim a1a4cf2b99 feat: update test cases 2025-07-02 17:33:09 +08:00
Tim d3ce98a6de Merge pull request #50 from nagisa77/codex/add-test-cases-for-notification-module
Add notification module tests
2025-07-02 17:29:09 +08:00
Tim 6838bd149f Add tests for notification module 2025-07-02 17:28:51 +08:00
Tim e04c95be51 Merge pull request #49 from nagisa77/codex/add-notification-module
Add notification module
2025-07-02 17:21:41 +08:00
Tim d6b33e65f4 feat: add notification system 2025-07-02 17:16:42 +08:00
Tim 93b14f48e4 Merge pull request #48 from nagisa77/codex/fix-unsatisfieddependencyexception-in-tests
Fix controller tests
2025-07-02 17:00:54 +08:00
Tim 10fe2dc06c test: mock PostService in controller tests 2025-07-02 17:00:40 +08:00
Tim 44854b7fd2 Merge pull request #47 from nagisa77/codex/fix-nullpointerexception-in-publishmodeintegrationtest
Fix integration tests for required category/tag fields
2025-07-02 16:55:43 +08:00
Tim 3c75ab5947 Fix integration tests with updated category and tag fields 2025-07-02 16:55:29 +08:00
Tim 243727e4a8 Merge pull request #46 from nagisa77/codex/add-complex-test-cases
Add complex controller test cases
2025-07-02 16:17:49 +08:00
Tim 414928791b Add additional complex controller tests 2025-07-02 16:17:36 +08:00
Tim 8292616d92 Merge pull request #45 from nagisa77/codex/add-support-for-fetching-articles-by-tag-and-category
Add tag and category post listing APIs
2025-07-02 14:40:08 +08:00
Tim 8dbc940305 Add endpoints to list posts by tags and categories 2025-07-02 14:39:54 +08:00
Tim 054884e66a Merge pull request #44 from nagisa77/codex/add-update-interfaces-for-tags-and-categories
Add update APIs for tags and categories
2025-07-02 14:36:44 +08:00
Tim 19fb175cce Add update endpoints for tags and categories 2025-07-02 14:36:26 +08:00
Tim bbd8fdc4a4 Update README.md 2025-07-02 14:18:30 +08:00
Tim a6fd1b52ed Merge pull request #43 from nagisa77/codex/restrict-tag-creation-and-deletion-to-admins
Add note on tag management
2025-07-02 14:13:59 +08:00
Tim 374f9d64eb docs: add tag management note 2025-07-02 14:13:46 +08:00
Tim fd72e03007 Merge pull request #42 from nagisa77/codex/update-label-and-category-requirements
Add icon and description to tags and categories
2025-07-02 13:58:59 +08:00
Tim 62c18e6d5f Fix post controller test setup 2025-07-02 13:57:57 +08:00
Tim e72ed23b90 Update README.md 2025-07-02 13:34:31 +08:00
Tim 4f1cb92950 Merge pull request #41 from nagisa77/codex/add-tag-module-with-multiple-tags
Add tag module with post associations
2025-07-02 13:20:08 +08:00
Tim f50201aef6 Add tag module with post associations 2025-07-02 13:19:55 +08:00
Tim 3449310a19 Merge pull request #40 from nagisa77/codex/remove-duplicate-results-from-searchposts-and-searchpostsbyt 2025-07-01 23:14:29 +08:00
Tim 0b424805e5 Deduplicate post search results 2025-07-01 23:14:03 +08:00
tim 26e624c43b feat: update test 2025-07-01 21:52:05 +08:00
Tim b93e31e85b Merge pull request #39 from nagisa77/codex/fix-json-deserialization-bug
Fix search endpoint access
2025-07-01 21:43:41 +08:00
Tim 4b7651b6f0 Allow public search endpoints 2025-07-01 21:42:50 +08:00
Tim d6a9deadcc Merge pull request #38 from nagisa77/codex/define-captchaservice-bean
Fix captcha dependency in tests
2025-07-01 21:37:49 +08:00
Tim a8024b2eb9 test: mock captcha service and fix auth helper 2025-07-01 21:37:30 +08:00
Tim afa5e40c1c Merge pull request #37 from nagisa77/codex/add-search-module-with-multiple-features
Add search module
2025-07-01 17:52:16 +08:00
Tim 2fa6af6304 feat: add search module 2025-07-01 17:52:02 +08:00
Tim 93c23dd9df Merge pull request #36 from nagisa77/codex/update-post-endpoint-for-theme-filtering-and-pagination
Add post listing filters and pagination
2025-07-01 16:03:20 +08:00
Tim d9e61ac756 Add post listing filters and pagination 2025-07-01 16:03:07 +08:00
Tim 58ace035fe Merge pull request #35 from nagisa77/codex/add-support-for-integrated-user-data-retrieval
Add aggregated user data endpoint
2025-07-01 16:02:08 +08:00
Tim 464f4528ed Add aggregate user info endpoint 2025-07-01 16:01:55 +08:00
Tim 0e56b7c029 Merge pull request #34 from nagisa77/codex/add-endpoint-to-get-all-reaction-types
Add endpoint to list reaction types
2025-07-01 16:01:11 +08:00
Tim 43a8c75f88 Add endpoint to list reaction types 2025-07-01 16:00:52 +08:00
Tim de463e0884 Update README.md 2025-07-01 15:52:16 +08:00
Tim 125fa1e6a5 Update README.md 2025-07-01 15:51:28 +08:00
Tim d8ab9454c6 Update README.md 2025-07-01 15:51:04 +08:00
Tim 9b1a295324 Merge pull request #33 from nagisa77/codex/implement-captcha-service-for-registration-and-posting
Implement captcha config endpoint
2025-07-01 15:13:39 +08:00
Tim 10fa61d3ed Add configurable captcha endpoints 2025-07-01 14:36:29 +08:00
Tim 0129d89c30 Merge pull request #31 from nagisa77/codex/fix-nosuchelementexception-in-publishmodeintegrationtest
Update integration test passwords
2025-07-01 14:09:25 +08:00
Tim be1afe198e fix tests for password length 2025-07-01 14:09:13 +08:00
Tim 27d498cb06 Merge pull request #30 from nagisa77/codex/add-password-strength-test-cases
Add low strength password length check and tests
2025-07-01 14:04:54 +08:00
Tim 369fcde28a Require 6 char min for low strength passwords and add validator tests 2025-07-01 14:04:36 +08:00
Tim dafdb423a6 Merge pull request #29 from nagisa77/codex/add-password-strength-policy-configuration
Add password strength configuration
2025-07-01 13:45:51 +08:00
Tim 6df855a816 Add configurable password strength policy 2025-07-01 13:45:35 +08:00
Tim e6bee42289 Merge pull request #28 from nagisa77/codex/update-usercontroller-for-user-data-retrieval
Add user posts and replies endpoints
2025-07-01 13:24:35 +08:00
Tim 0392c04b36 Merge branch 'main' into codex/update-usercontroller-for-user-data-retrieval 2025-07-01 13:24:28 +08:00
Tim 0031b825e2 Add user content endpoints 2025-07-01 13:23:04 +08:00
Tim f3cfce0ee4 Merge pull request #27 from nagisa77/codex/rewrite-readme-based-on-symphony
Improve README
2025-07-01 13:21:37 +08:00
Tim bbae932434 docs: overhaul README 2025-07-01 13:21:24 +08:00
Tim 090425feb3 Merge pull request #26 from nagisa77/codex/fix-json-deserialization-error-in-test
Fix admin post integration test auth
2025-07-01 13:20:32 +08:00
Tim 83c7659b88 fix integration test to include auth for admin endpoint 2025-07-01 13:20:15 +08:00
Tim 0cebcdcfa5 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-01 13:19:17 +08:00
Tim 002a2aa716 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-01 13:18:58 +08:00
Tim 13d94bd5bb Merge pull request #25 from nagisa77/codex/fix-test-failure-due-to-incorrect-url
Fix CosImageUploader test
2025-07-01 13:16:45 +08:00
Tim 371fccfa53 Fix CosImageUploader test to allow random filenames 2025-07-01 13:16:30 +08:00
Tim 4f34d6926e Merge pull request #24 from nagisa77/codex/add-article-publishing-modes
Add article publish review mode
2025-07-01 13:10:03 +08:00
Tim af1f3a9230 feat: add post publish mode with review 2025-07-01 13:09:47 +08:00
Tim 227b375eb4 Merge pull request #23 from nagisa77/codex/update-photo-upload-service-rules
Implement image upload validation
2025-07-01 13:01:01 +08:00
Tim d69f7251e0 Add image upload validations and random naming 2025-07-01 13:00:47 +08:00
Tim fb616b724c feat: update config 2025-07-01 11:57:25 +08:00
Tim a37f046898 feat: add internalServerError 2025-07-01 10:25:35 +08:00
Tim 664d7de105 feat: delete curl 2025-07-01 10:22:43 +08:00
Tim e8f4fd8175 Merge pull request #22 from nagisa77/codex/improve-tencent-cloud-cos-upload
Implement async COS upload
2025-07-01 10:19:11 +08:00
Tim 87b9e9acd3 Implement real async COS image upload 2025-07-01 10:18:53 +08:00
tim 48abc381db Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-07-01 10:02:29 +08:00
tim 8e6126e0ad feat: update test 2025-07-01 10:01:49 +08:00
Tim 22543244f9 Merge pull request #21 from nagisa77/codex/create-abstract-emailsender-and-imageuploader
Add pluggable email and image upload
2025-07-01 09:58:52 +08:00
Tim aa64ef5ee1 Introduce pluggable email and image upload 2025-07-01 09:58:40 +08:00
Tim 9db69ba714 Merge pull request #20 from nagisa77/codex/fix-category-creation-in-test
Fix category creation in integration tests
2025-06-30 23:15:45 +08:00
Tim 14561c6438 fix integration test category creation via admin 2025-06-30 23:15:25 +08:00
Tim 77efe0eafe Merge pull request #19 from nagisa77/codex/add-post-category-module
Add Post categories
2025-06-30 23:07:31 +08:00
Tim 5dd29239c9 Add category module and require post category 2025-06-30 23:07:15 +08:00
Tim 4f24934a45 Merge pull request #18 from nagisa77/codex/fix-issue-with-retrieving-post-data
Fix anonymous access for post and comment retrieval
2025-06-30 22:57:35 +08:00
Tim f05e1eba25 Allow anonymous GET for posts and comments 2025-06-30 22:57:24 +08:00
Tim 35cd165621 Merge branch 'main' of github.com:nagisa77/OpenIsle 2025-06-30 21:09:14 +08:00
Tim 00a22d2c16 Merge pull request #17 from nagisa77/codex/fix-issue-with-complex-test-case-exposure
Fix complex test case failure
2025-06-30 21:08:59 +08:00
Tim b5bdff41aa Fix JWT key generation 2025-06-30 21:08:39 +08:00
Tim 785eb371a0 feat: do my test 2025-06-30 21:02:59 +08:00
Tim 384976e982 Merge pull request #16 from nagisa77/codex/add-complex-test-cases
Add complex integration tests
2025-06-30 20:59:47 +08:00
Tim 6df67fa91c Add integration tests for nested comments and reactions 2025-06-30 20:59:28 +08:00
Tim d878f32fdb Merge pull request #15 from nagisa77/codex/fix-postcontrollertest-autowire-issue
Fix PostControllerTest missing mocks
2025-06-30 20:51:21 +08:00
Tim cec92a7515 test: mock services in PostControllerTest 2025-06-30 20:51:04 +08:00
Tim 99341c0795 Merge pull request #14 from nagisa77/codex/fix-customaccessdeniedhandler-not-invoked
Fix AccessDeniedHandler usage in MVC tests
2025-06-30 20:46:35 +08:00
Tim 62c0adee93 Use real CustomAccessDeniedHandler in MVC tests 2025-06-30 20:46:23 +08:00
Tim b5e1e8c949 Merge pull request #13 from nagisa77/codex/add-comments-and-reactions-to-post-info
Add comments and reactions to post detail
2025-06-30 20:44:01 +08:00
Tim eabae2eb5a Expand post details with comments and reactions 2025-06-30 20:43:48 +08:00
Tim d67cb7a44a Merge pull request #12 from nagisa77/codex/add-authentication-failure-cases-to-tests
Add auth failure cases for hello and admin controllers
2025-06-30 20:38:43 +08:00
Tim 83c1d25493 Add auth failure tests for hello and admin controllers 2025-06-30 20:38:01 +08:00
Tim 25a9239cc7 Merge pull request #11 from nagisa77/codex/assist-with-unit-tests-for-controllers
Add controller tests
2025-06-30 20:25:35 +08:00
Tim 06e7e0db9d Add controller unit tests and test dependencies 2025-06-30 20:25:22 +08:00
Tim 7aebde6f6f Merge pull request #10 from nagisa77/codex/return-sc_unauthorized-for-no-admin-permissions
Return 401 when admin role missing
2025-06-30 20:20:47 +08:00
Tim 82d29dc7cd Return 401 for admin access without permission 2025-06-30 20:20:27 +08:00
Tim 8a7b0bde07 feat: do my test 2025-06-30 20:19:28 +08:00
Tim 219d2aea7a Merge pull request #9 from nagisa77/codex/add-curl-test-examples-to-controllers
Add curl examples to comment and reaction controllers
2025-06-30 19:59:05 +08:00
Tim 820d3fac70 docs: add curl examples for comment and reaction controllers 2025-06-30 19:58:52 +08:00
Tim ea87d62bac Merge pull request #8 from nagisa77/codex/add-reaction-module-with-sources
Add reaction module
2025-06-30 19:52:37 +08:00
Tim 69e9ef8532 Add reaction module 2025-06-30 19:52:22 +08:00
Tim b343cbb860 Merge pull request #7 from nagisa77/codex/add-comment-module-with-sub-comments
Add comment module
2025-06-30 19:47:13 +08:00
Tim ff64500ffd Add comment module 2025-06-30 19:46:57 +08:00
Tim 04e7aed9b8 Merge pull request #6 from nagisa77/codex/add-curl-command-example-for-controller-testing
Add curl examples for testing APIs
2025-06-30 19:40:21 +08:00
Tim 8e413ae4c1 Add curl test comments to controllers 2025-06-30 19:40:05 +08:00
Tim 7a35274510 Merge pull request #5 from nagisa77/codex/add-post-module-with-attributes
Add Post module
2025-06-30 19:01:43 +08:00
Tim 8bc53b28ae Merge branch 'main' into codex/add-post-module-with-attributes 2025-06-30 19:01:34 +08:00
Tim d419b45515 Add Post module 2025-06-30 19:00:43 +08:00
Tim dce34461d5 Merge pull request #4 from nagisa77/codex/add-user-permission-module
Add role-based authorization
2025-06-30 18:59:33 +08:00
Tim 31b54f6aac Add role-based authorization 2025-06-30 18:59:11 +08:00
Tim fe894834b7 Merge pull request #3 from nagisa77/codex/add-error-code-for-failed-auth-request
Handle JWT auth failure with 401 response
2025-06-30 18:54:36 +08:00
Tim 150ef6148e Return 401 when JWT auth fails 2025-06-30 18:54:22 +08:00
Tim 17d4af229d feat: add test case 2025-06-30 18:49:46 +08:00
Tim 0d3eb99fd2 feat: update config 2025-06-30 18:23:25 +08:00
Tim c996e579ca Merge pull request #2 from nagisa77/codex/add-email-registration-with-captcha-and-json-error-handling
Add email verification and JSON errors
2025-06-30 17:53:39 +08:00
Tim 39179c370e feat: add email verification 2025-06-30 17:53:13 +08:00
Tim aa6d32e7dd feat: update config 2025-06-30 17:48:11 +08:00
Tim b0c876417d Merge pull request #1 from nagisa77/codex/implement-open-source-community-backend
Add initial Spring Boot backend with JWT
2025-06-30 17:18:08 +08:00
Tim f53e3635d0 Initialize Spring Boot backend with JWT auth 2025-06-30 17:17:54 +08:00
Tim 911f908780 Create README.md 2025-06-30 17:07:42 +08:00
1173 changed files with 58066 additions and 53119 deletions
+19
View File
@@ -0,0 +1,19 @@
---
name: 新功能建议
about: 请为该项目提出一个想法
title: ""
labels: ""
assignees: ""
---
**你的功能请求是否与某个问题相关?请描述。**
请清晰、简洁地说明问题。例如:“我经常因为……而感到困扰。”
**你期望的解决方案**
请清晰、简洁地描述你希望发生的事情/功能如何工作。
**你考虑过的替代方案**
请清晰、简洁地说明你已考虑过的其他解决方案或功能。
**其他上下文**
在此添加与功能请求相关的其他信息或截图。
@@ -0,0 +1,40 @@
---
name: 错误/Bug报告
about: 创建报告以帮助我们改进
title: ""
labels: ""
assignees: ""
---
**描述 Bug**
对该 Bug 进行清晰简明的描述。
**复现步骤**
复现该问题的步骤:
1. 进入 '...'
2. 点击 '...'
3. 下拉到 '...'
4. 看到错误
**预期行为**
清晰简明地描述你期望发生的情况。
**截图**
如果适用,请添加截图以帮助解释问题。
**桌面端(请完成以下信息):**
- 操作系统:\[例如 iOS]
- 浏览器:\[例如 Chrome、Safari]
- 版本:\[例如 22]
**移动端(请完成以下信息):**
- 设备:\[例如 iPhone6]
- 操作系统:\[例如 iOS8.1]
- 浏览器:\[例如 系统自带浏览器、Safari]
- 版本:\[例如 22]
**附加上下文**
在此添加与问题相关的其他上下文信息。
+47
View File
@@ -0,0 +1,47 @@
name: Deploy Documentation
on:
workflow_call:
inputs:
build-id:
required: false
type: string
workflow_dispatch:
permissions:
contents: write
jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Log build
run: echo "Running documentation deployment from build ${{ inputs.build-id }}"
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install Bun dependencies
run: bun install
working-directory: ./docs
- name: Generate API MDX
run: bun run generate
working-directory: ./docs
- name: Build documentation
run: bun run build
working-directory: ./docs
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: ./docs/out
+34
View File
@@ -0,0 +1,34 @@
name: Staging CI & CD
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: write
jobs:
build-and-deploy:
runs-on: ubuntu-latest
environment: Deploy
if: ${{ !github.event.repository.fork }} # 只有非 fork 才执行
steps:
- uses: actions/checkout@v4
- name: Deploy to Server
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: root
key: ${{ secrets.SSH_KEY }}
script: bash /opt/openisle/deploy-staging.sh
deploy-docs:
needs: build-and-deploy
if: ${{ success() }}
uses: ./.github/workflows/deploy-docs.yml
secrets: inherit
with:
build-id: ${{ github.run_id }}
+22
View File
@@ -0,0 +1,22 @@
name: CI & CD
on:
workflow_dispatch:
schedule:
- cron: "0 19 * * *" # 每天 UTC 19:00,相当于北京时间凌晨3点
jobs:
build-and-deploy:
runs-on: ubuntu-latest
environment: Deploy
steps:
- uses: actions/checkout@v4
- name: Deploy to Server
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: root
key: ${{ secrets.SSH_KEY }}
script: bash /opt/openisle/deploy.sh
+32
View File
@@ -0,0 +1,32 @@
# IDE
.idea
target
# log
logs
# deps
node_modules
# test & build
coverage
out/
build
dist
*.tsbuildinfo
# misc
.DS_Store
*.pem
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-lock.yaml
pnpm-workspace.yaml
# env
*.env
.env*.local
# others
openisle.iml
+1
View File
@@ -0,0 +1 @@
npx lint-staged
View File
-1
View File
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
docs.open-isle.com
+32
View File
@@ -0,0 +1,32 @@
# OpenIsle Code of Conduct
Like the technical community as a whole, the OpenIsle team and community is made up of a mixture of professionals and volunteers from all over the world, working on every aspect of the mission - including mentorship, teaching, and connecting people.
Diversity is one of our huge strengths, but it can also lead to communication issues and unhappiness. To that end, we have a few ground rules that we ask people to adhere to. This code applies equally to founders, mentors and those seeking help and guidance.
This isnt an exhaustive list of things that you cant do. Rather, take it in the spirit in which its intended - a guide to make it easier to enrich all of us and the technical communities in which we participate.
This code of conduct applies to all spaces managed by the OpenIsle project or . This includes IRC, the mailing lists, the issue tracker, DSF events, and any other forums created by the project team which the community uses for communication. In addition, violations of this code outside these spaces may affect a person's ability to participate within them.
If you believe someone is violating the code of conduct, we ask that you report it by emailing [](mailto:). For more details please see our
- **Be friendly and patient.**
- **Be welcoming.** We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
- **Be considerate.** Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language.
- **Be respectful.** Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. Its important to remember that a community where people feel uncomfortable or threatened is not a productive one. Members of the OpenIsle community should be respectful when dealing with other members as well as with people outside the OpenIsle community.
- **Be careful in the words that you choose.** We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:
- Violent threats or language directed against another person.
- Discriminatory jokes and language.
- Posting sexually explicit or violent material.
- Posting (or threatening to post) other people's personally identifying information ("doxing").
- Personal insults, especially those using racist or sexist terms.
- Unwelcome sexual attention.
- Advocating for, or encouraging, any of the above behavior.
- Repeated harassment of others. In general, if someone asks you to stop, then stop.
- **When we disagree, try to understand why.** Disagreements, both social and technical, happen all the time and OpenIsle is no exception. It is important that we resolve disagreements and differing views constructively. Remember that were different. The strength of OpenIsle comes from its varied community, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesnt mean that theyre wrong. Dont forget that it is human to err and blaming each other doesnt get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes.
Original text courtesy of the [Speak Up! project](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html).
## Questions?
If you have questions, please see . If that doesn't answer your questions, feel free to [contact us](mailto:).
+357
View File
@@ -0,0 +1,357 @@
- [前置工作](#前置工作)
- [启动后端服务](#启动后端服务)
- [本地 IDEA](#本地-idea)
- [配置环境变量](#配置环境变量)
- [配置 IDEA 参数](#配置-idea-参数)
- [配置 MySQL](#配置-mysql)
- [配置 Redis](#配置-redis)
- [配置 RabbitMQ](#配置-rabbitmq)
- [Docker 环境](#docker-环境)
- [配置环境变量](#配置环境变量-1)
- [构建并启动镜像](#构建并启动镜像)
- [启动前端服务](#启动前端服务)
- [配置环境变量](#配置环境变量-2)
- [安装依赖和运行](#安装依赖和运行)
- [其他配置](#其他配置)
- [配置第三方登录以GitHub为例](#配置第三方登录以GitHub为例)
- [配置Resend邮箱服务](#配置Resend邮箱服务)
- [API文档](#api文档)
- [OpenAPI文档](#openapi文档)
- [部署时间线以及文档时效性](#部署时间线以及文档时效性)
- [OpenAPI文档使用](#OpenAPI文档使用)
- [OpenAPI文档应用场景](#OpenAPI文档应用场景)
## 前置工作
先克隆仓库:
```shell
git clone https://github.com/nagisa77/OpenIsle.git
cd OpenIsle
```
- 后端开发环境
- JDK 17+
- 前端开发环境
- Node.JS 20+
## 启动后端服务
启动后端服务有多种方式,选择一种即可。
> [!IMPORTANT]
> 仅想修改前端的朋友可不用部署后端服务。转到 [启动前端服务](#启动前端服务) 章节。
### 本地 IDEA
```shell
cd backend/
```
IDEA 打开 `backend/` 文件夹。
#### 配置环境变量
1. 生成环境变量文件
```shell
cp open-isle.env.example open-isle.env
```
`open-isle.env.example` 是环境变量模板,`open-isle.env` 才是真正读取的内容
2. 修改环境变量,留下需要的,比如你要开发 Google 登录业务,就需要谷歌相关的变量,数据库是一定要的
![环境变量](assets/contributing/backend_img_7.png)
3. 应用环境文件,选择刚刚的 `open-isle.env`
可以在 `open-isle.env` 按需填写个性化的配置,该文件不会被 Git 追踪。比如你想把服务跑在 `8082`(默认为 `8080`),那么直接改 `open-isle.env` 即可:
```ini
SERVER_PORT=8082
```
另一种方式是修改 `.properities` 文件(但不建议),位于 `src/main/application.properties`,该配置同样来源于 `open-isle.env`,但修改 `.properties` 文件会被 Git 追踪。
![配置数据库](assets/contributing/backend_img_5.png)
#### 配置 IDEA 参数
- 设置 JDK 版本为 java 17
- 设置 VM Option,最好运行在其他端口,非 `8080`,这里设置 `8081`
若上面在环境变量中设置了端口,那这里就不需要再额外设置
```shell
-Dserver.port=8081
```
![配置1](assets/contributing/backend_img_3.png)
![配置2](assets/contributing/backend_img_2.png)
#### 配置 MySQL
> [!TIP]
> 如果不知道怎么配置数据库可以参考 [Docker 环境](#docker-环境) 章节
1. 本机配置 MySQL 服务(网上很多教程,忽略)
- 可以用 Laragon,自带 MySQL 包括 Nodejs,版本建议 `6.x``7` 以后需要 Lisence
- [下载地址](https://github.com/leokhoa/laragon/releases)
2. 填写环境变量
![环境变量](assets/contributing/backend_img_6.png)
```ini
MYSQL_URL=jdbc:mysql://<数据库地址>:<端口>/<数据库名>?useUnicode=yes&characterEncoding=UTF-8&useInformationSchema=true&useSSL=false&serverTimezone=UTC
MYSQL_USER=<数据库用户名>
MYSQL_PASSWORD=<数据库密码>
```
3. 执行 [`db/init/init_script.sql`](backend/src/main/resources/db/init/init_script.sql) 脚本,导入基本的数据
管理员:**admin/123456**
普通用户1**user1/123456**
普通用户2**user2/123456**
![初始化脚本](assets/contributing/resources_img.png)
#### 配置 Redis
后端的登录态缓存、访问频控等都依赖 Redis,请确保本地有可用的 Redis 实例。
1. **启动 Redis 服务**(已有服务可跳过)
```bash
docker run --name openisle-redis -p 6379:6379 -d redis:7-alpine
```
该命令会在本机暴露 `6379` 端口。若你已有其他端口的 Redis,可以根据实际情况调整映射关系。
2. **在 `backend/open-isle.env` 中填写连接信息**
```ini
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
# 可选:若需要切换逻辑库,可新增此变量,默认使用 0 号库
REDIS_DATABASE=0
```
`application.properties` 中的默认值为 `localhost:6379`、数据库 `0`,如果你的环境恰好一致,也可以不额外填写;显式声明可以避免 IDE/运行时读取到意外配置。
3. **验证连接**
```bash
redis-cli -h 127.0.0.1 -p 6379 ping
```
启动后端后,日志中会出现 `Redis connection established ...`(来自 `RedisConnectionLogger`),说明已成功连通。
#### 配置 RabbitMQ
消息通知和 WebSocket 推送链路依赖 RabbitMQ。后端会自动声明交换机与队列,确保本地 RabbitMQ 可用即可。
1. **启动 RabbitMQ 服务**(推荐包含管理界面)
```bash
docker run --name openisle-rabbitmq \
-e RABBITMQ_DEFAULT_USER=openisle \
-e RABBITMQ_DEFAULT_PASS=openisle \
-p 5672:5672 -p 15672:15672 \
-d rabbitmq:3.13-management
```
管理界面位于 http://127.0.0.1:15672 ,可用于查看队列、交换机等资源。
2. **同步填写后端与 WebSocket 服务的环境变量**
```ini
# backend/open-isle.env
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_USERNAME=openisle
RABBITMQ_PASSWORD=openisle
# 如果需要启动 websocket_service,也需要在 websocket_service.env 中保持一致
```
如果沿用 RabbitMQ 默认的 `guest/guest`,可以不显式设置,Spring Boot 会回退到 `application.properties` 中的默认值 (`localhost:5672`、`guest/guest`、虚拟主机 `/`)。
3. **确认自动声明的资源**
- 交换机:`openisle-exchange`
- 旧版兼容队列:`notifications-queue`
- 分片队列:`notifications-queue-0` ~ `notifications-queue-f`(共 16 个,对应路由键 `notifications.shard.0` ~ `notifications.shard.f`
- 队列持久化默认开启,来自 `rabbitmq.queue.durable=true`,如需仅在本地短暂测试,可在 `application.properties` 中调整该配置。
启动后端时可在日志中看到 `=== 开始主动声明 RabbitMQ 组件 ===` 与后续的声明结果,也可以在管理界面中查看是否创建成功。
完成 Redis 与 RabbitMQ 配置后,即可继续启动后端服务。
![运行画面](assets/contributing/backend_img_4.png)
### Docker 环境
#### 配置环境变量
```shell
cd docker/
```
主要配置两个 `.env` 文件
- `backend/open-isle.env`:后端环境变量,配置同上,见 [配置环境变量](#配置环境变量)。
- `docker/.env`Docker Compose 环境变量,主要配置 MySQL 相关
```shell
cp .env.example .env
```
> [!TIP]
> 使用单独的 `.env` 文件是为了兼容线上环境或已启用 MySQL 服务的情况,如果只是想快速体验或者启动统一的环境,则推荐使用本方式。
在指定 `docker/.env` 后,`backend/open-isle.env` 中以下配置会被覆盖,这样就确保使用了同一份配置。
```ini
MYSQL_URL=
MYSQL_USER=
MYSQL_PASSWORD=
```
#### 构建并启动镜像
```shell
docker compose up -d
```
如果想了解启动过程发生了什么可以查看日志
```shell
docker compose logs
```
## 启动前端服务
> [!IMPORTANT]
> **⚠️ 环境要求:Node.js 版本最低 20.0.0(因为 Nuxt 框架要求)**
```shell
cd frontend_nuxt/
```
### 配置环境变量
前端可以依赖本机部署的后端,也可以直接调用线上的后端接口。
- 利用预发环境:**(⚠️ 强烈推荐只开发前端的朋友使用该环境)**
```shell
cp .env.staging.example .env
```
- 利用生产环境
```shell
cp .env.production.example .env
```
- 利用本地环境
```shell
cp .env.dev.example .env
```
若依赖本机部署的后端,需要修改 `.env` 中的 `NUXT_PUBLIC_API_BASE_URL` 值与后端服务端口一致
### 安装依赖和运行
前端安装依赖并启动服务。
```shell
# 安装依赖
npm install --verbose
# 运行前端服务
npm run dev
```
如此一来,浏览器访问 http://127.0.0.1:3000 即可访问前端页面。
## 其他配置
### 配置第三方登录以GitHub为例
- 修改 `application.properties` 配置
![后端配置](assets/contributing/backend_img.png)
- 修改 `.env` 配置
![前端](assets/contributing/fontend_img.png)
- 配置第三方登录回调地址
![github配置](assets/contributing/github_img.png)
![github配置2](assets/contributing/github_img_2.png)
### 配置Resend邮箱服务
https://resend.com/emails 创建账号并登录
- `Domains` -> `Add Domain`
![image-20250906150459400](assets/contributing/image-20250906150459400.png)
- 填写域名
![image-20250906150541817](assets/contributing/image-20250906150541817.png)
- 等待一段时间后解析成功,创建 key
`API Keys` -> `Create API Key`,输入名称,设置 `Permission` 为 `Sending access`
**Key 只能查看一次,务必保存下来**
![image-20250906150811572](assets/contributing/image-20250906150811572.png)
![image-20250906150924975](assets/contributing/image-20250906150924975.png)
![image-20250906150944130](assets/contributing/image-20250906150944130.png)
- 修改 `.env` 配置中的 `RESEND_API_KEY` 和 `RESEND_FROM_EMAIL`
`RESEND_FROM_EMAIL` **noreply@域名**
`RESEND_API_KEY`**刚刚复制的 Key**
![image-20250906151218330](assets/contributing/image-20250906151218330.png)
## API文档
### OpenAPI文档
https://docs.open-isle.com
### 部署时间线以及文档时效性
我已经将API Docs的部署融合进本站CI & CD中,目前如下
- 每次合入main之后,都会构建预发环境 http://staging.open-isle.com/ ,现在文档是紧随其后进行部署,也就是说代码合入main之后,如果是新增后台接口,就可以立即通过OpenAPI文档页面进行查看和调试,但是如果想通过OpenAPI调试需要选择预发环境的
- 每日凌晨三点会构建并重新部署正式环境,届时当日合入main的新后台API也可以通过OpenAPI文档页面调试
![CleanShot 2025-09-10 at 12.04.48@2x.png](https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/168303009f4047ca828344957e911ff1.png)
👆如图是合入main之后构建预发+docs的情形,总大约耗时4分钟左右
### OpenAPI文档使用
- 预发环境/正式环境切换,可以通过如下位置切换API环境
![CleanShot 2025-09-10 at 12.08.00@2x.png](https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/f9fb7a0f020d4a0e94159d7820783224.png)
- API分两种,一种是需要鉴权(需登录后的token),另一种是直接访问,可以直接访问的GET请求,直接点击Send即可调试,如下👇,比如本站的推荐流rss: /api/rss: https://docs.open-isle.com/openapi/feed
![CleanShot 2025-09-10 at 12.09.48@2x.png](https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/2afb42e0c96340559dd42854905ca5fc.png)
- 需要登陆的API,比如关注,取消关注,发帖等,则需要提供token,目前在“API与调试”可获取自身token,可点击link看看👉 https://www.open-isle.com/about?tab=api
![CleanShot 2025-09-10 at 12.11.07@2x.png](https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/74033f1b9cc14f2fab3cbe3b7fe306d8.png)
copy完token之后,粘贴到Bear之后, 即可发送调试, 如下👇,大家亦可自行尝试:https://docs.open-isle.com/openapi/me
![CleanShot 2025-09-10 at 12.13.00@2x.png](https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/63913fe2e70541a486651e35c723765e.png)
#### OpenAPI文档应用场景
- 方便大部分前端调试的需求,如果有只想做前端/客户端的同学参与本项目,该平台会大大提高效率
- 自动化:有自动化发帖/自动化操作的需求,亦可通过该平台实现或调试
- API文档: https://docs.open-isle.com/openapi
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Tim
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+55
View File
@@ -0,0 +1,55 @@
<p align="center">
<img alt="OpenIsle" src="https://openisle-1307107697.cos.ap-guangzhou.myqcloud.com/assert/image.png" width="200">
<br>
高效的开源社区前后端平台
<br><br><br>
<img alt="Image" src="https://openisle-1307107697.cos.accelerate.myqcloud.com/dynamic_assert/22752cfac5a04a9c90c41995b9f55fed.png" width="1200">
<br><br><br>
<a href="https://hellogithub.com/repository/nagisa77/OpenIsle" target="_blank"><img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=8605546658d94cbab45182af2a02e4c8&claim_uid=p5GNFTtZl6HBAYQ" alt="FeaturedHelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a>
</p>
## 💡 简介
OpenIsle 是一个使用 Spring Boot 和 Vue 3 构建的全栈开源社区平台,提供用户注册、登录、贴文发布、评论交互等完整功能,可用于项目社区或直接打造自主社区站点。
## 🚧 开发 & 部署
详细见 [Contributing](https://github.com/nagisa77/OpenIsle?tab=contributing-ov-file)
## ✨ 项目特点
- JWT 认证以及 Google、GitHub、Discord、Twitter 等多种 OAuth 登录
- 支持分类、标签的贴文管理以及草稿保存功能
- 嵌套评论、指定贴文或评论的点赞/抖弹系统
- 定制统计和通知消息,包括日活跃用户等数据
- 全局搜索,支持用户和很多内容的搜索以及内容缩略
- 集成 OpenAI 提供的 Markdown 格式化功能
- 通过环境变量可调整密码强度、登录方式、保护码等多种配置
- 支持图片上传,默认使用腾讯云 COS 扩展
- 默认头像使用 DiceBear Avatars,可通过 `AVATAR_STYLE``AVATAR_SIZE` 环境变量自定义主题和大小
- 浏览器推送通知,离开网站也能及时收到提醒
## 🌟 项目优势
- 全面开源,便于二次开发和自定义扩展
- Spring Boot + Vue 3 成熟技术栈,学习起点低,社区资源丰富
- 支持多种登录方式和角色权限,容易展展到不同场景
- 模块化设计,代码结构清晰,维护成本低
- REST API 可接入任意前端框架,兼容多端平台
- 配置简单,通过环境变量快速调整和部署
- 如需推送通知,请设置 `WEBPUSH_PUBLIC_KEY``WEBPUSH_PRIVATE_KEY` 环境变量
## 🏘️ 社区
欢迎彼此交流和使用 OpenIsle,项目以开源方式提供,想了解更多可访问:<https://github.com/nagisa77/OpenIsle>
## 📋 授权
本项目以 MIT License 发布,欢迎自由使用与修改。
## 🙏 鼓赞
- [Spring Boot](https://spring.io/projects/spring-boot)
- [JJWT](https://github.com/jwtk/jjwt)
- [Lombok](https://github.com/projectlombok/lombok)
- 以及所有开源贡献者
@@ -1 +0,0 @@
self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:1,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[1,0,0,e,e,e,e,r,r,e,r,r,r,e,e,r,e,e,e,e]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:NaN,bitArray:[]},"/_error":["static/chunks/pages/_error-c970d8b55ace1b48.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
self.__SSG_MANIFEST=new Set(["\u002F[[...slug]]"]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1246],{41246:(e,r,n)=>{n.r(r),n.d(r,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"Berry","name":"berry","patterns":[{"include":"#controls"},{"include":"#strings"},{"include":"#comment-block"},{"include":"#comments"},{"include":"#keywords"},{"include":"#function"},{"include":"#member"},{"include":"#identifier"},{"include":"#number"},{"include":"#operator"}],"repository":{"comment-block":{"begin":"#-","end":"-#","name":"comment.berry","patterns":[{}]},"comments":{"begin":"#","end":"\\\\n","name":"comment.line.berry","patterns":[{}]},"controls":{"patterns":[{"match":"\\\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\\\b","name":"keyword.control.berry"}]},"function":{"patterns":[{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*(?=\\\\s*\\\\())","name":"entity.name.function.berry"}]},"identifier":{"patterns":[{"match":"\\\\b[A-Z_a-z]\\\\w+\\\\b","name":"identifier.berry"}]},"keywords":{"patterns":[{"match":"\\\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\\\b","name":"keyword.berry"}]},"member":{"patterns":[{"captures":{"0":{"name":"entity.other.attribute-name.berry"}},"match":"\\\\.([A-Z_a-z][0-9A-Z_a-z]*)"}]},"number":{"patterns":[{"match":"0x\\\\h+|\\\\d+|(\\\\d+\\\\.?|\\\\.\\\\d)\\\\d*([Ee][-+]?\\\\d+)?","name":"constant.numeric.berry"}]},"operator":{"patterns":[{"match":"[-\\\\]!%\\\\&(-+./:<=>\\\\[^|~]","name":"keyword.operator.berry"}]},"strings":{"patterns":[{"begin":"([\\"\'])","end":"\\\\1","name":"string.quoted.double.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"}]},{"begin":"f([\\"\'])","end":"\\\\1","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]}]}},"scopeName":"source.berry","aliases":["be"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1373],{81373:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"Logo","fileTypes":[],"name":"logo","patterns":[{"match":"^to [.\\\\w]+","name":"entity.name.function.logo"},{"match":"continue|do\\\\.until|do\\\\.while|end|for(each)?|if(else|falsetrue|)|repeat|stop|until","name":"keyword.control.logo"},{"match":"\\\\b(\\\\.defmacro|\\\\.eq|\\\\.macro|\\\\.maybeoutput|\\\\.setbf|\\\\.setfirst|\\\\.setitem|\\\\.setsegmentsize|allopen|allowgetset|and|apply|arc|arctan|arity|arrayp??|arraytolist|ascii|ashift|back|background|backslashedp|beforep|bitand|bitnot|bitor|bitxor|buriedp??|bury|buryall|buryname|butfirsts??|butlast|bye|cascade|case|caseignoredp|catch|char|clean|clearscreen|cleartext|close|closeall|combine|cond|contents|copydef|cos|count|crossmap|cursor|define|definedp|dequeue|difference|dribble|edall|edit|editfile|edns??|edpls??|edps|emptyp|eofp|epspict|equalp|erall|erase|erasefile|erns??|erpls??|erps|erract|error|exp|fence|filep|fill|filter|find|firsts??|forever|form|forward|fput|fullprintp|fullscreen|fulltext|gc|gensym|global|goto|gprop|greaterp|heading|help|hideturtle|home|ignore|int|invoke|iseq|item|keyp|label|last|left|lessp|listp??|listtoarray|ln|load|loadnoisily|loadpict|local|localmake|log10|lowercase|lput|lshift|macroexpand|macrop|make|map|map.se|mdarray|mditem|mdsetitem|memberp??|minus|modulo|name|namelist|namep|names|nodes|nodribble|norefresh|not|numberp|openappend|openread|openupdate|openwrite|or|output|palette|parse|pause|pen|pencolor|pendownp??|penerase|penmode|penpaint|penreverse|pensize|penup|pick|plistp??|plists|pllist|po|poall|pons??|popl??|popls|pops|pos|pots??|power|pprop|prefix|primitivep|print|printdepthlimit|printwidthlimit|procedurep|procedures|product|push|queue|quoted|quotient|radarctan|radcos|radsin|random|rawascii|readchars??|reader|readlist|readpos|readrawline|readword|redefp|reduce|refresh|remainder|remdup|remove|remprop|repcount|rerandom|reverse|right|round|rseq|run|runparse|runresult|savel??|savepict|screenmode|scrunch|sentence|setbackground|setcursor|seteditor|setheading|sethelploc|setitem|setlibloc|setmargins|setpalette|setpen|setpencolor|setpensize|setpos|setprefix|setread|setreadpos|setscrunch|settemploc|settextcolor|setwrite|setwritepos|setxy??|sety|shell|show|shownp|showturtle|sin|splitscreen|sqrt|standout|startup|step|steppedp??|substringp|sum|tag|test|text|textscreen|thing|throw|towards|traced??|tracedp|transfer|turtlemode|type|unbury|unburyall|unburyname|unburyonedit|unstep|untrace|uppercase|usealternatenam|wait|while|window|wordp??|wrap|writepos|writer|xcor|ycor)\\\\b","name":"keyword.other.logo"},{"captures":{"1":{"name":"punctuation.definition.variable.logo"}},"match":"(:)(?:\\\\|[^|]*\\\\||[-.\\\\w]*)+","name":"variable.parameter.logo"},{"match":"\\"(?:\\\\|[^|]*\\\\||[-.\\\\w]*)+","name":"string.other.word.logo"},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.logo"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.logo"}},"end":"\\\\n","name":"comment.line.semicolon.logo"}]}],"scopeName":"source.logo"}'))]}}]);
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1381],{41381:(e,a,t)=>{t.r(a),t.d(a,{default:()=>n});var s=t(24313);let m=Object.freeze(JSON.parse('{"displayName":"Git Rebase Message","name":"git-rebase","patterns":[{"captures":{"1":{"name":"punctuation.definition.comment.git-rebase"}},"match":"^\\\\s*(#).*$\\\\n?","name":"comment.line.number-sign.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"name":"constant.sha.git-rebase"},"3":{"name":"meta.commit-message.git-rebase"}},"match":"^\\\\s*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\\\\s+([0-9a-f]+)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"},"2":{"patterns":[{"include":"source.shell"}]}},"match":"^\\\\s*(exec|x)\\\\s+(.*)$","name":"meta.commit-command.git-rebase"},{"captures":{"1":{"name":"support.function.git-rebase"}},"match":"^\\\\s*(b(?:reak|))\\\\s*$","name":"meta.commit-command.git-rebase"}],"scopeName":"text.git-rebase","embeddedLangs":["shellscript"]}')),n=[...s.default,m]}}]);
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1475],{71475:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"Bicep","fileTypes":[".bicep",".bicepparam"],"name":"bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"begin":"\\\\[(?!(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\bfor\\\\b)","end":"]","name":"meta.array-literal.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"begin":"/\\\\*","end":"\\\\*/","name":"comment.block.bicep"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"begin":"@(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*(?=\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b)","end":"","name":"meta.decorator.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"directive":{"begin":"#\\\\b[-0-9A-Z_a-z]+\\\\b","end":"$","name":"meta.directive.bicep","patterns":[{"include":"#directive-variable"},{"include":"#comments"}]},"directive-variable":{"match":"\\\\b[-0-9A-Z_a-z]+\\\\b","name":"keyword.control.declaration.bicep"},"escape-character":{"match":"\\\\\\\\(u\\\\{\\\\h+}|[\'\\\\\\\\nrt]|\\\\$\\\\{)","name":"constant.character.escape.bicep"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#string-verbatim"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"},{"include":"#lambda-start"},{"include":"#directive"}]},"function-call":{"begin":"\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\(","beginCaptures":{"1":{"name":"entity.name.function.bicep"}},"end":"\\\\)","name":"meta.function-call.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"identifier":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?!(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\()","name":"variable.other.readwrite.bicep"},"keyword":{"match":"\\\\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|extends|func|assert|extension)\\\\b","name":"keyword.control.declaration.bicep"},"lambda-start":{"begin":"(\\\\((?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*(,(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*)*\\\\)|\\\\((?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\)|(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*)(?=(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*=>)","beginCaptures":{"1":{"name":"meta.undefined.bicep","patterns":[{"include":"#identifier"},{"include":"#comments"}]}},"end":"(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*=>","name":"meta.lambda-start.bicep"},"line-comment":{"match":"//.*(?=$)","name":"comment.line.double-slash.bicep"},"named-literal":{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.bicep"},"numeric-literal":{"match":"[0-9]+","name":"constant.numeric.bicep"},"object-literal":{"begin":"\\\\{","end":"}","name":"meta.object-literal.bicep","patterns":[{"include":"#object-property-key"},{"include":"#expression"},{"include":"#comments"}]},"object-property-key":{"match":"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b(?=(?:[\\\\t\\\\n\\\\r ]|/\\\\*(?:\\\\*(?!/)|[^*])*\\\\*/)*:)","name":"variable.other.property.bicep"},"string-literal":{"begin":"\'(?!\'\')","end":"\'","name":"string.quoted.single.bicep","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"begin":"(?<!\\\\\\\\)(\\\\$\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}},"name":"meta.string-literal-subst.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}]},"string-verbatim":{"begin":"\'\'\'","end":"\'\'\'(?!\')","name":"string.quoted.multi.bicep","patterns":[]}},"scopeName":"source.bicep"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1564],{31564:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"JSON Lines","name":"jsonl","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json.lines"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json.lines"}},"name":"meta.structure.array.json.lines","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json.lines"},{"match":"[^]\\\\s]","name":"invalid.illegal.expected-array-separator.json.lines"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json.lines"}},"end":"\\\\*/","name":"comment.block.documentation.json.lines"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.json.lines"}},"end":"\\\\*/","name":"comment.block.json.lines"},{"captures":{"1":{"name":"punctuation.definition.comment.json.lines"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.json.lines"},"number":{"match":"-?(?:0|[1-9]\\\\d*)(?:(?:\\\\.\\\\d+)?(?:[Ee][-+]?\\\\d+)?)?","name":"constant.numeric.json.lines"},"object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json.lines"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json.lines"}},"name":"meta.structure.dictionary.json.lines","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json.lines"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json.lines"}},"name":"meta.structure.dictionary.value.json.lines","patterns":[{"include":"#value"},{"match":"[^,\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.lines"}]},{"match":"[^}\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.lines"}]},"objectkey":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json.lines"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json.lines"}},"name":"string.json.lines support.type.property-name.json.lines","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json.lines"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json.lines"}},"name":"string.quoted.double.json.lines","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\(?:[\\"/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.json.lines"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.json.lines"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json.lines"}'))]}}]);
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1600],{11600:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"Fennel","name":"fennel","patterns":[{"include":"#expression"}],"repository":{"comment":{"patterns":[{"begin":";","end":"$","name":"comment.line.semicolon.fennel"}]},"constants":{"patterns":[{"match":"nil","name":"constant.language.nil.fennel"},{"match":"false|true","name":"constant.language.boolean.fennel"},{"match":"(-?\\\\d+\\\\.\\\\d+([Ee][-+]?\\\\d+)?)","name":"constant.numeric.double.fennel"},{"match":"(-?\\\\d+)","name":"constant.numeric.integer.fennel"}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#sexp"},{"include":"#table"},{"include":"#vector"},{"include":"#keywords"},{"include":"#special"},{"include":"#lua"},{"include":"#strings"},{"include":"#methods"},{"include":"#symbols"}]},"keywords":{"match":":[^ ]+","name":"constant.keyword.fennel"},"lua":{"patterns":[{"match":"\\\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\\\b","name":"support.function.fennel"},{"match":"\\\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\\\b","name":"support.function.library.fennel"},{"match":"\\\\b(_(?:G|VERSION))\\\\b","name":"constant.language.fennel"}]},"methods":{"patterns":[{"match":"\\\\w+:\\\\w+","name":"entity.name.function.method.fennel"}]},"sexp":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.paren.open.fennel"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.paren.close.fennel"}},"name":"sexp.fennel","patterns":[{"include":"#expression"}]},"special":{"patterns":[{"match":"[#%*+]|\\\\?\\\\.|(\\\\.)?\\\\.|(/)?/|:|<=?|=|>=?|\\\\^","name":"keyword.special.fennel"},{"match":"(->(>)?)","name":"keyword.special.fennel"},{"match":"-\\\\?>(>)?","name":"keyword.special.fennel"},{"match":"-","name":"keyword.special.fennel"},{"match":"not=","name":"keyword.special.fennel"},{"match":"set-forcibly!","name":"keyword.special.fennel"},{"match":"\\\\b(and|band|bnot|bor|bxor|collect|comment|doc??|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\b","name":"keyword.special.fennel"},{"match":"\\\\b(fn)\\\\b","name":"keyword.control.fennel"},{"match":"~=","name":"keyword.special.fennel"},{"match":"λ","name":"keyword.special.fennel"}]},"strings":{"begin":"\\"","end":"\\"","name":"string.quoted.double.fennel","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.fennel"}]},"symbols":{"patterns":[{"match":"\\\\w+(?:\\\\.\\\\w+)+","name":"entity.name.function.symbol.fennel"},{"match":"\\\\w+","name":"variable.other.fennel"}]},"table":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.table.bracket.open.fennel"}},"end":"}","endCaptures":{"0":{"name":"punctuation.table.bracket.close.fennel"}},"name":"table.fennel","patterns":[{"include":"#expression"}]},"vector":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.vector.bracket.open.fennel"}},"end":"]","endCaptures":{"0":{"name":"punctuation.vector.bracket.close.fennel"}},"name":"meta.vector.fennel","patterns":[{"include":"#expression"}]}},"scopeName":"source.fnl"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1919],{11919:(e,s,a)=>{a.r(s),a.d(s,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"1C (Query)","fileTypes":["sdbl","query"],"firstLineMatch":"(?i)Выбрать|Select(\\\\s+Разрешенные|\\\\s+Allowed)?(\\\\s+Различные|\\\\s+Distinct)?(\\\\s+Первые|\\\\s+Top)?.*","name":"sdbl","patterns":[{"match":"^(\\\\s*//.*)$","name":"comment.line.double-slash.sdbl"},{"begin":"//","end":"$","name":"comment.line.double-slash.sdbl"},{"begin":"\\"","end":"\\"(?!\\")","name":"string.quoted.double.sdbl","patterns":[{"match":"\\"\\"","name":"constant.character.escape.sdbl"},{"match":"^(\\\\s*//.*)$","name":"comment.line.double-slash.sdbl"}]},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Неопределено|Undefined|Истина|True|Ложь|False|NULL)(?=[^.а-яё\\\\w]|$)","name":"constant.language.sdbl"},{"match":"(?<=[^.а-яё\\\\w]|^)(\\\\d+\\\\.?\\\\d*)(?=[^.а-яё\\\\w]|$)","name":"constant.numeric.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Выбор|Case|Когда|When|Тогда|Then|Иначе|Else|Конец|End)(?=[^.а-яё\\\\w]|$)","name":"keyword.control.conditional.sdbl"},{"match":"(?i)(?<!КАК\\\\s|AS\\\\s)(?<=[^.а-яё\\\\w]|^)(НЕ|NOT|И|AND|ИЛИ|OR|В\\\\s+ИЕРАРХИИ|IN\\\\s+HIERARCHY|В|In|Между|Between|Есть(\\\\s+НЕ)?\\\\s+NULL|Is(\\\\s+NOT)?\\\\s+NULL|Ссылка|Refs|Подобно|Like)(?=[^.а-яё\\\\w]|$)","name":"keyword.operator.logical.sdbl"},{"match":"<=|>=|[<=>]","name":"keyword.operator.comparison.sdbl"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.sdbl"},{"match":"([,;])","name":"keyword.operator.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Выбрать|Select|Разрешенные|Allowed|Различные|Distinct|Первые|Top|Как|As|ПустаяТаблица|EmptyTable|Поместить|Into|Уничтожить|Drop|Из|From|((Левое|Left|Правое|Right|Полное|Full)\\\\s+(Внешнее\\\\s+|Outer\\\\s+)?Соединение|Join)|((Внутреннее|Inner)\\\\s+Соединение|Join)|Где|Where|(Сгруппировать\\\\s+По(\\\\s+Группирующим\\\\s+Наборам)?)|(Group\\\\s+By(\\\\s+Grouping\\\\s+Set)?)|Имеющие|Having|Объединить(\\\\s+Все)?|Union(\\\\s+All)?|(Упорядочить\\\\s+По)|(Order\\\\s+By)|Автоупорядочивание|Autoorder|Итоги|Totals|По(\\\\s+Общие)?|By(\\\\s+Overall)?|(Только\\\\s+)?Иерархия|(Only\\\\s+)?Hierarchy|Периодами|Periods|Индексировать|Index|Выразить|Cast|Возр|Asc|Убыв|Desc|Для\\\\s+Изменения|(For\\\\s+Update(\\\\s+Of)?)|Спецсимвол|Escape|СгруппированоПо|GroupedBy)(?=[^.а-яё\\\\w]|$)","name":"keyword.control.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Значение|Value|ДатаВремя|DateTime|Тип|Type)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Подстрока|Substring|НРег|Lower|ВРег|Upper|Лев|Left|Прав|Right|ДлинаСтроки|StringLength|СтрНайти|StrFind|СтрЗаменить|StrReplace|СокрЛП|TrimAll|СокрЛ|TrimL|СокрП|TrimR)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Год|Year|Квартал|Quarter|Месяц|Month|ДеньГода|DayOfYear|День|Day|Неделя|Week|ДеньНедели|Weekday|Час|Hour|Минута|Minute|Секунда|Second|НачалоПериода|BeginOfPeriod|КонецПериода|EndOfPeriod|ДобавитьКДате|DateAdd|РазностьДат|DateDiff|Полугодие|HalfYear|Декада|TenDays)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(ACOS|COS|ASIN|SIN|ATAN|TAN|EXP|POW|LOG|LOG10|Цел|Int|Окр|Round|SQRT)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(Сумма|Sum|Среднее|Avg|Минимум|Min|Максимум|Max|Количество|Count)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w]|^)(ЕстьNULL|IsNULL|Представление|Presentation|ПредставлениеСсылки|RefPresentation|ТипЗначения|ValueType|АвтономерЗаписи|RecordAutoNumber|РазмерХранимыхДанных|StoredDataSize|УникальныйИдентификатор|UUID)(?=\\\\()","name":"support.function.sdbl"},{"match":"(?i)(?<=[^.а-яё\\\\w])(Число|Number|Строка|String|Дата|Date|Булево|Boolean)(?=[^.а-яё\\\\w]|$)","name":"support.type.sdbl"},{"match":"(&[а-яё\\\\w]+)","name":"variable.parameter.sdbl"}],"scopeName":"source.sdbl","aliases":["1c-query"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2010],{12010:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"JSON","name":"json","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json"}},"name":"meta.structure.array.json","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json"},{"match":"[^]\\\\s]","name":"invalid.illegal.expected-array-separator.json"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json"}},"end":"\\\\*/","name":"comment.block.documentation.json"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.json"}},"end":"\\\\*/","name":"comment.block.json"},{"captures":{"1":{"name":"punctuation.definition.comment.json"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.json"},"number":{"match":"-?(?:0|[1-9]\\\\d*)(?:(?:\\\\.\\\\d+)?(?:[Ee][-+]?\\\\d+)?)?","name":"constant.numeric.json"},"object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json"}},"name":"meta.structure.dictionary.json","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json"}},"name":"meta.structure.dictionary.value.json","patterns":[{"include":"#value"},{"match":"[^,\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json"}]},{"match":"[^}\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json"}]},"objectkey":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json"}},"name":"string.json support.type.property-name.json","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json"}},"name":"string.quoted.double.json","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\(?:[\\"/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.json"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.json"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json"}'))]}}]);
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2102],{92102:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"Polar","name":"polar","patterns":[{"include":"#comment"},{"include":"#rule"},{"include":"#rule-type"},{"include":"#inline-query"},{"include":"#resource-block"},{"include":"#test-block"},{"include":"#fixture"}],"repository":{"boolean":{"match":"\\\\b(true|false)\\\\b","name":"constant.language.boolean"},"comment":{"match":"#.*","name":"comment.line.number-sign"},"fixture":{"patterns":[{"match":"\\\\bfixture\\\\b","name":"keyword.control"},{"begin":"\\\\btest\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":"\\\\bfixture\\\\b","endCaptures":{"0":{"name":"keyword.control"}}}]},"inline-query":{"begin":"\\\\?=","beginCaptures":{"0":{"name":"keyword.control"}},"end":";","name":"meta.inline-query","patterns":[{"include":"#term"}]},"keyword":{"patterns":[{"match":"\\\\b(cut|or|debug|print|in|forall|if|and|of|not|matches|type|on|global)\\\\b","name":"constant.character"}]},"number":{"patterns":[{"match":"\\\\b[-+]?\\\\d+(?:(\\\\.)\\\\d+(?:e[-+]?\\\\d+)?|e[-+]?\\\\d+)\\\\b","name":"constant.numeric.float"},{"match":"\\\\b([-+])\\\\d+\\\\b","name":"constant.numeric.integer"},{"match":"\\\\b\\\\d+\\\\b","name":"constant.numeric.natural"}]},"object-literal":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\s*\\\\{","beginCaptures":{"1":{"name":"entity.name.type.resource"}},"end":"}","name":"constant.other.object-literal","patterns":[{"include":"#string"},{"include":"#number"},{"include":"#boolean"}]},"operator":{"captures":{"1":{"name":"keyword.control"}},"match":"([-!*+/<=>])"},"resource-block":{"begin":"(?<resourceType>[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*){0}((resource|actor)\\\\s+(\\\\g<resourceType>)(?:\\\\s+(extends)\\\\s+(\\\\g<resourceType>(?:\\\\s*,\\\\s*\\\\g<resourceType>)*)\\\\s*,?\\\\s*)?|(global))\\\\s*\\\\{","beginCaptures":{"3":{"name":"keyword.control"},"4":{"name":"entity.name.type"},"5":{"name":"keyword.control"},"6":{"patterns":[{"match":"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)","name":"entity.name.type"}]},"7":{"name":"keyword.control"}},"end":"}","name":"meta.resource-block","patterns":[{"match":";","name":"punctuation.separator.sequence.declarations"},{"begin":"\\\\{","end":"}","name":"meta.relation-declaration","patterns":[{"include":"#specializer"},{"include":"#comment"},{"match":",","name":"punctuation.separator.sequence.dict"}]},{"include":"#term"}]},"rule":{"name":"meta.rule","patterns":[{"include":"#rule-functor"},{"begin":"\\\\bif\\\\b","beginCaptures":{"0":{"name":"keyword.control.if"}},"end":";","patterns":[{"include":"#term"}]},{"match":";"}]},"rule-functor":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)\\\\s*\\\\(","beginCaptures":{"1":{"name":"support.function.rule"}},"end":"\\\\)","patterns":[{"include":"#specializer"},{"match":",","name":"punctuation.separator.sequence.list"},{"include":"#term"}]},"rule-type":{"begin":"\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword.other.type-decl"}},"end":";","name":"meta.rule-type","patterns":[{"include":"#rule-functor"}]},"specializer":{"captures":{"1":{"name":"entity.name.type.resource"}},"match":"[A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*\\\\s*:\\\\s*([A-Z_a-z][0-9A-Z_a-z]*(?:::[0-9A-Z_a-z]+)*)"},"string":{"begin":"\\"","end":"\\"","name":"string.quoted.double","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape"}]},"term":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#number"},{"include":"#keyword"},{"include":"#operator"},{"include":"#boolean"},{"include":"#object-literal"},{"begin":"\\\\[","end":"]","name":"meta.bracket.list","patterns":[{"include":"#term"},{"match":",","name":"punctuation.separator.sequence.list"}]},{"begin":"\\\\{","end":"}","name":"meta.bracket.dict","patterns":[{"include":"#term"},{"match":",","name":"punctuation.separator.sequence.dict"}]},{"begin":"\\\\(","end":"\\\\)","name":"meta.parens","patterns":[{"include":"#term"}]}]},"test-block":{"begin":"(test)\\\\s+(\\"[^\\"]*\\")\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control"},"2":{"name":"string.quoted.double"}},"end":"}","name":"meta.test-block","patterns":[{"begin":"(setup)\\\\s*\\\\{","beginCaptures":{"1":{"name":"keyword.control"}},"end":"}","name":"meta.test-setup","patterns":[{"include":"#rule"},{"include":"#comment"},{"include":"#fixture"}]},{"include":"#rule"},{"match":"\\\\b(assert(?:|_not))\\\\b","name":"keyword.other"},{"include":"#comment"},{"name":"meta.iff-rule","patterns":[{"include":"#rule-functor"},{"begin":"\\\\biff\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":";","patterns":[{"include":"#term"}]},{"match":";"}]}]}},"scopeName":"source.polar"}'))]}}]);
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77,2110],{42110:(e,n,t)=>{t.r(n),t.d(n,{default:()=>m});var i=t(50077);let a=Object.freeze(JSON.parse('{"displayName":"Git Commit Message","name":"git-commit","patterns":[{"begin":"(?=^diff --git)","contentName":"source.diff","end":"\\\\z","name":"meta.embedded.diff.git-commit","patterns":[{"include":"source.diff"}]},{"begin":"^(?!#)","end":"^(?=#)","name":"meta.scope.message.git-commit","patterns":[{"captures":{"1":{"name":"invalid.deprecated.line-too-long.git-commit"},"2":{"name":"invalid.illegal.line-too-long.git-commit"}},"match":"\\\\G.{0,50}(.{0,22}(.*))$","name":"meta.scope.subject.git-commit"}]},{"begin":"^(?=#)","contentName":"comment.line.number-sign.git-commit","end":"^(?!#)","name":"meta.scope.metadata.git-commit","patterns":[{"captures":{"1":{"name":"markup.changed.git-commit"}},"match":"^#\\\\t((modified|renamed):.*)$"},{"captures":{"1":{"name":"markup.inserted.git-commit"}},"match":"^#\\\\t(new file:.*)$"},{"captures":{"1":{"name":"markup.deleted.git-commit"}},"match":"^#\\\\t(deleted.*)$"},{"captures":{"1":{"name":"keyword.other.file-type.git-commit"},"2":{"name":"string.unquoted.filename.git-commit"}},"match":"^#\\\\t([^:]+): *(.*)$"}]}],"scopeName":"text.git-commit","embeddedLangs":["diff"]}')),m=[...i.default,a]},50077:(e,n,t)=>{t.r(n),t.d(n,{default:()=>i});let i=[Object.freeze(JSON.parse('{"displayName":"Diff","name":"diff","patterns":[{"captures":{"1":{"name":"punctuation.definition.separator.diff"}},"match":"^((\\\\*{15})|(={67})|(-{3}))$\\\\n?","name":"meta.separator.diff"},{"match":"^\\\\d+(,\\\\d+)*([acd])\\\\d+(,\\\\d+)*$\\\\n?","name":"meta.diff.range.normal"},{"captures":{"1":{"name":"punctuation.definition.range.diff"},"2":{"name":"meta.toc-list.line-number.diff"},"3":{"name":"punctuation.definition.range.diff"}},"match":"^(@@)\\\\s*(.+?)\\\\s*(@@)($\\\\n?)?","name":"meta.diff.range.unified"},{"captures":{"3":{"name":"punctuation.definition.range.diff"},"4":{"name":"punctuation.definition.range.diff"},"6":{"name":"punctuation.definition.range.diff"},"7":{"name":"punctuation.definition.range.diff"}},"match":"^(((-{3}) .+ (-{4}))|((\\\\*{3}) .+ (\\\\*{4})))$\\\\n?","name":"meta.diff.range.context"},{"match":"^diff --git a/.*$\\\\n?","name":"meta.diff.header.git"},{"match":"^diff (-|\\\\S+\\\\s+\\\\S+).*$\\\\n?","name":"meta.diff.header.command"},{"captures":{"4":{"name":"punctuation.definition.from-file.diff"},"6":{"name":"punctuation.definition.from-file.diff"},"7":{"name":"punctuation.definition.from-file.diff"}},"match":"^((((-{3}) .+)|((\\\\*{3}) .+))$\\\\n?|(={4}) .+(?= - ))","name":"meta.diff.header.from-file"},{"captures":{"2":{"name":"punctuation.definition.to-file.diff"},"3":{"name":"punctuation.definition.to-file.diff"},"4":{"name":"punctuation.definition.to-file.diff"}},"match":"(^(\\\\+{3}) .+$\\\\n?| (-) .* (={4})$\\\\n?)","name":"meta.diff.header.to-file"},{"captures":{"3":{"name":"punctuation.definition.inserted.diff"},"6":{"name":"punctuation.definition.inserted.diff"}},"match":"^(((>)( .*)?)|((\\\\+).*))$\\\\n?","name":"markup.inserted.diff"},{"captures":{"1":{"name":"punctuation.definition.changed.diff"}},"match":"^(!).*$\\\\n?","name":"markup.changed.diff"},{"captures":{"3":{"name":"punctuation.definition.deleted.diff"},"6":{"name":"punctuation.definition.deleted.diff"}},"match":"^(((<)( .*)?)|((-).*))$\\\\n?","name":"markup.deleted.diff"},{"begin":"^(#)","captures":{"1":{"name":"punctuation.definition.comment.diff"}},"end":"\\\\n","name":"comment.line.number-sign.diff"},{"match":"^index [0-9a-f]{7,40}\\\\.\\\\.[0-9a-f]{7,40}.*$\\\\n?","name":"meta.diff.index.git"},{"captures":{"1":{"name":"punctuation.separator.key-value.diff"},"2":{"name":"meta.toc-list.file-name.diff"}},"match":"^Index(:) (.+)$\\\\n?","name":"meta.diff.index"},{"match":"^Only in .*: .*$\\\\n?","name":"meta.diff.only-in"}],"scopeName":"source.diff"}'))]}}]);
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2140],{2140:(e,n,i)=>{i.r(n),i.d(n,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"Dockerfile","name":"docker","patterns":[{"captures":{"1":{"name":"keyword.other.special-method.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\\\s*\\\\b(?i:(FROM))\\\\b.*?\\\\b(?i:(AS))\\\\b"},{"captures":{"1":{"name":"keyword.control.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\\\s*(?i:(ONBUILD)\\\\s+)?(?i:(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR))\\\\s"},{"captures":{"1":{"name":"keyword.operator.dockerfile"},"2":{"name":"keyword.other.special-method.dockerfile"}},"match":"^\\\\s*(?i:(ONBUILD)\\\\s+)?(?i:(CMD|ENTRYPOINT))\\\\s"},{"include":"#string-character-escape"},{"begin":"\\"","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dockerfile"}},"end":"\\"","endCaptures":{"1":{"name":"punctuation.definition.string.end.dockerfile"}},"name":"string.quoted.double.dockerfile","patterns":[{"include":"#string-character-escape"}]},{"begin":"\'","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dockerfile"}},"end":"\'","endCaptures":{"1":{"name":"punctuation.definition.string.end.dockerfile"}},"name":"string.quoted.single.dockerfile","patterns":[{"include":"#string-character-escape"}]},{"captures":{"1":{"name":"punctuation.whitespace.comment.leading.dockerfile"},"2":{"name":"comment.line.number-sign.dockerfile"},"3":{"name":"punctuation.definition.comment.dockerfile"}},"match":"^(\\\\s*)((#).*$\\\\n?)"}],"repository":{"string-character-escape":{"match":"\\\\\\\\.","name":"constant.character.escaped.dockerfile"}},"scopeName":"source.dockerfile","aliases":["dockerfile"]}'))]}}]);
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2168],{42168:(a,e,n)=>{n.r(e),n.d(e,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"Log file","fileTypes":["log"],"name":"log","patterns":[{"match":"\\\\b([Tt]race|TRACE)\\\\b:?","name":"comment log.verbose"},{"match":"(?i)\\\\[(v(?:erbose|erb|rb|b?))]","name":"comment log.verbose"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bV\\\\b","name":"comment log.verbose"},{"match":"\\\\b(D(?:EBUG|ebug))\\\\b|(?i)\\\\b(debug):","name":"markup.changed log.debug"},{"match":"(?i)\\\\[(d(?:ebug|bug|bg|e?))]","name":"markup.changed log.debug"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bD\\\\b","name":"markup.changed log.debug"},{"match":"\\\\b(HINT|INFO|INFORMATION|Info|NOTICE|II)\\\\b|(?i)\\\\b(info(?:|rmation)):","name":"markup.inserted log.info"},{"match":"(?i)\\\\[(i(?:nformation|nfo?|n?))]","name":"markup.inserted log.info"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bI\\\\b","name":"markup.inserted log.info"},{"match":"\\\\b(W(?:ARNING|ARN|arn|W))\\\\b|(?i)\\\\b(warning):","name":"markup.deleted log.warning"},{"match":"(?i)\\\\[(w(?:arning|arn|rn|n?))]","name":"markup.deleted log.warning"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bW\\\\b","name":"markup.deleted log.warning"},{"match":"\\\\b(ALERT|CRITICAL|EMERGENCY|ERROR|FAILURE|FAIL|Fatal|FATAL|Error|EE)\\\\b|(?i)\\\\b(error):","name":"string.regexp, strong log.error"},{"match":"(?i)\\\\[(error|eror|err?|e|fatal|fatl|ftl|fa?)]","name":"string.regexp, strong log.error"},{"match":"(?<=^[p\\\\s\\\\d]*)\\\\bE\\\\b","name":"string.regexp, strong log.error"},{"match":"\\\\b\\\\d{4}-\\\\d{2}-\\\\d{2}(?=T|\\\\b)","name":"comment log.date"},{"match":"(?<=(^|\\\\s))\\\\d{2}[^\\\\w\\\\s]\\\\d{2}[^\\\\w\\\\s]\\\\d{4}\\\\b","name":"comment log.date"},{"match":"T?\\\\d{1,2}:\\\\d{2}(:\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}:\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"T\\\\d{2}\\\\d{2}(\\\\d{2}([,.]\\\\d+)?)?(Z| ?[-+]\\\\d{1,2}\\\\d{2})?\\\\b","name":"comment log.date"},{"match":"\\\\b(\\\\h{40}|\\\\h{10}|\\\\h{7})\\\\b","name":"constant.language"},{"match":"\\\\b\\\\h{8}-?(\\\\h{4}-?){3}\\\\h{12}\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(\\\\h{2,}[-:])+\\\\h{2,}+\\\\b","name":"constant.language log.constant"},{"match":"\\\\b([0-9]+|true|false|null)\\\\b","name":"constant.language log.constant"},{"match":"\\\\b(0x\\\\h+)\\\\b","name":"constant.language log.constant"},{"match":"\\"[^\\"]*\\"","name":"string log.string"},{"match":"(?<!\\\\w)\'[^\']*\'","name":"string log.string"},{"match":"\\\\b([.A-Za-z]*Exception)\\\\b","name":"string.regexp, emphasis log.exceptiontype"},{"begin":"^[\\\\t ]*at[\\\\t ]","end":"$","name":"string.key, emphasis log.exception"},{"match":"\\\\b[a-z]+://\\\\S+\\\\b/?","name":"constant.language log.constant"},{"match":"(?<![/\\\\\\\\\\\\w])([-\\\\w]+\\\\.)+([-\\\\w])+(?![/\\\\\\\\\\\\w])","name":"constant.language log.constant"}],"scopeName":"text.log"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[220],{20220:(e,n,a)=>{a.r(n),a.d(n,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"Lean 4","fileTypes":[],"name":"lean","patterns":[{"include":"#comments"},{"match":"\\\\b(Prop|Type|Sort)\\\\b","name":"storage.type.lean4"},{"match":"\\\\battribute\\\\b\\\\s*\\\\[[^]]*]","name":"storage.modifier.lean4"},{"match":"@\\\\[[^]]*]","name":"storage.modifier.lean4"},{"match":"\\\\b(?<!\\\\.)(global|local|scoped|partial|unsafe|private|protected|noncomputable)(?!\\\\.)\\\\b","name":"storage.modifier.lean4"},{"match":"\\\\b(sorry|admit|stop)\\\\b","name":"invalid.illegal.lean4"},{"match":"#(print|eval|reduce|check|check_failure)\\\\b","name":"keyword.other.lean4"},{"match":"\\\\bderiving\\\\s+instance\\\\b","name":"keyword.other.command.lean4"},{"begin":"\\\\b(?<!\\\\.)(inductive|coinductive|structure|theorem|axiom|abbrev|lemma|def|instance|class|constant)\\\\b\\\\s+(\\\\{[^}]*})?","beginCaptures":{"1":{"name":"keyword.other.definitioncommand.lean4"}},"end":"(?=\\\\bwith\\\\b|\\\\bextends\\\\b|\\\\bwhere\\\\b|[(:<>\\\\[{|⦃])","name":"meta.definitioncommand.lean4","patterns":[{"include":"#comments"},{"include":"#definitionName"},{"match":","}]},{"match":"\\\\b(?<!\\\\.)(theorem|show|have|from|suffices|nomatch|def|class|structure|instance|set_option|initialize|builtin_initialize|example|inductive|coinductive|axiom|constant|universes??|variables??|import|open|export|theory|prelude|renaming|hiding|exposing|do|by|let|extends|mutual|mut|where|rec|syntax|macro_rules|macro|deriving|fun|section|namespace|end|infixl??|infixr|postfix|prefix|notation|abbrev|if|then|else|calc|match|with|for|in|unless|try|catch|finally|return|continue|break)(?!\\\\.)\\\\b","name":"keyword.other.lean4"},{"begin":"\xab","contentName":"entity.name.lean4","end":"\xbb"},{"begin":"(s!)\\"","beginCaptures":{"1":{"name":"keyword.other.lean4"}},"end":"\\"","name":"string.interpolated.lean4","patterns":[{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.other.lean4"}},"end":"(})","endCaptures":{"1":{"name":"keyword.other.lean4"}},"patterns":[{"include":"$self"}]},{"match":"\\\\\\\\[\\"\'\\\\\\\\nrt]","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\x\\\\h\\\\h","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\u\\\\h\\\\h\\\\h\\\\h","name":"constant.character.escape.lean4"}]},{"begin":"\\"","end":"\\"","name":"string.quoted.double.lean4","patterns":[{"match":"\\\\\\\\[\\"\'\\\\\\\\nrt]","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\x\\\\h\\\\h","name":"constant.character.escape.lean4"},{"match":"\\\\\\\\u\\\\h\\\\h\\\\h\\\\h","name":"constant.character.escape.lean4"}]},{"match":"\\\\b(true|false)\\\\b","name":"constant.language.lean4"},{"match":"\'[^\'\\\\\\\\]\'","name":"string.quoted.single.lean4"},{"captures":{"1":{"name":"constant.character.escape.lean4"}},"match":"\'(\\\\\\\\(x\\\\h\\\\h|u\\\\h\\\\h\\\\h\\\\h|.))\'","name":"string.quoted.single.lean4"},{"match":"`+[^(\\\\[]\\\\S+","name":"entity.name.lean4"},{"match":"\\\\b([0-9]+|0([Xx]\\\\h+)|-?(0|[1-9][0-9]*)(\\\\.[0-9]+)?([Ee][-+]?[0-9]+)?)\\\\b","name":"constant.numeric.lean4"}],"repository":{"blockComment":{"begin":"/-","end":"-/","name":"comment.block.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]},"comments":{"patterns":[{"include":"#dashComment"},{"include":"#docComment"},{"include":"#modDocComment"},{"include":"#blockComment"}]},"dashComment":{"begin":"--","end":"$","name":"comment.line.double-dash.lean4","patterns":[{"include":"source.lean4.markdown"}]},"definitionName":{"patterns":[{"match":"\\\\b[^():=?{}\xab\xbbλ→∀\\\\s][^():{}\xab\xbb\\\\s]*","name":"entity.name.function.lean4"},{"begin":"\xab","contentName":"entity.name.function.lean4","end":"\xbb"}]},"docComment":{"begin":"/--","end":"-/","name":"comment.block.documentation.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]},"modDocComment":{"begin":"/-!","end":"-/","name":"comment.block.documentation.lean4","patterns":[{"include":"source.lean4.markdown"},{"include":"#blockComment"}]}},"scopeName":"source.lean4","aliases":["lean4"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2247],{22247:(e,a,s)=>{s.r(a),s.d(a,{createOnigurumaEngine:()=>t.Mk,getDefaultWasmLoader:()=>t.X,loadWasm:()=>t.ti,setDefaultWasmLoader:()=>t.xz});var t=s(83655)}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2309],{92309:(e,n,t)=>{t.r(n),t.d(n,{default:()=>s});let s=[Object.freeze(JSON.parse('{"displayName":"SSH Config","fileTypes":["ssh_config",".ssh/config","sshd_config"],"name":"ssh-config","patterns":[{"match":"\\\\b(A(cceptEnv|dd(ressFamily|KeysToAgent)|llow(AgentForwarding|Groups|StreamLocalForwarding|TcpForwarding|Users)|uth(enticationMethods|orized((Keys(Command(User)?|File)|Principals(Command(User)?|File)))))|B(anner|atchMode|ind(Address|Interface))|C(anonical(Domains|ize(FallbackLocal|Hostname|MaxDots|PermittedCNAMEs))|ertificateFile|hallengeResponseAuthentication|heckHostIP|hrootDirectory|iphers?|learAllForwardings|ientAlive(CountMax|Interval)|ompression(Level)?|onnect(Timeout|ionAttempts)|ontrolMaster|ontrolPath|ontrolPersist)|D(eny(Groups|Users)|isableForwarding|ynamicForward)|E(nableSSHKeysign|scapeChar|xitOnForwardFailure|xposeAuthInfo)|F(ingerprintHash|orceCommand|orward(Agent|X11(T(?:imeout|rusted))?))|G(atewayPorts|SSAPI(Authentication|CleanupCredentials|ClientIdentity|DelegateCredentials|KeyExchange|RenewalForcesRekey|ServerIdentity|StrictAcceptorCheck|TrustDns)|atewayPorts|lobalKnownHostsFile)|H(ashKnownHosts|ost(based(AcceptedKeyTypes|Authentication|KeyTypes|UsesNameFromPacketOnly)|Certificate|Key(A(?:gent|lgorithms|lias))?|Name))|I(dentit(iesOnly|y(Agent|File))|gnore(Rhosts|Unknown|UserKnownHosts)|nclude|PQoS)|K(bdInteractive(Authentication|Devices)|erberos(Authentication|GetAFSToken|OrLocalPasswd|TicketCleanup)|exAlgorithms)|L(istenAddress|ocal(Command|Forward)|oginGraceTime|ogLevel)|M(ACs|atch|ax(AuthTries|Sessions|Startups))|N(oHostAuthenticationForLocalhost|umberOfPasswordPrompts)|P(KCS11Provider|asswordAuthentication|ermit(EmptyPasswords|LocalCommand|Open|RootLogin|TTY|Tunnel|User(Environment|RC))|idFile|ort|referredAuthentications|rint(LastLog|Motd)|rotocol|roxy(Command|Jump|UseFdpass)|ubkey(A(?:cceptedKeyTypes|uthentication)))|R(Domain|SAAuthentication|ekeyLimit|emote(Command|Forward)|equestTTY|evoked((?:Host|)Keys)|hostsRSAAuthentication)|S(endEnv|erverAlive(CountMax|Interval)|treamLocalBind(Mask|Unlink)|trict(HostKeyChecking|Modes)|ubsystem|yslogFacility)|T(CPKeepAlive|rustedUserCAKeys|unnel(Device)?)|U(pdateHostKeys|se(BlacklistedKeys|DNS|Keychain|PAM|PrivilegedPort|r(KnownHostsFile)?))|V(erifyHostKeyDNS|ersionAddendum|isualHostKey)|X(11(DisplayOffset|Forwarding|UseLocalhost)|AuthLocation))\\\\b","name":"keyword.other.ssh-config"},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ssh-config"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ssh-config"}},"end":"\\\\n","name":"comment.line.number-sign.ssh-config"}]},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ssh-config"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.ssh-config"}},"end":"\\\\n","name":"comment.line.double-slash.ssh-config"}]},{"captures":{"1":{"name":"storage.type.ssh-config"},"2":{"name":"entity.name.section.ssh-config"},"3":{"name":"meta.toc-list.ssh-config"}},"match":"(?:^|[\\\\t ])(Host)\\\\s+((.*))$"},{"match":"\\\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\b","name":"constant.numeric.ssh-config"},{"match":"\\\\b[0-9]+\\\\b","name":"constant.numeric.ssh-config"},{"match":"\\\\b(yes|no)\\\\b","name":"constant.language.ssh-config"},{"match":"\\\\b[A-Z_]+\\\\b","name":"constant.language.ssh-config"}],"scopeName":"source.ssh-config"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[244],{90244:(n,e,i)=>{i.r(e),i.d(e,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"INI","name":"ini","patterns":[{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.number-sign.ini"}]},{"begin":"(^[\\\\t ]+)?(?=;)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ini"}},"end":"(?!\\\\G)","patterns":[{"begin":";","beginCaptures":{"0":{"name":"punctuation.definition.comment.ini"}},"end":"\\\\n","name":"comment.line.semicolon.ini"}]},{"captures":{"1":{"name":"keyword.other.definition.ini"},"2":{"name":"punctuation.separator.key-value.ini"}},"match":"\\\\b([-.0-9A-Z_a-z]+)\\\\b\\\\s*(=)"},{"captures":{"1":{"name":"punctuation.definition.entity.ini"},"3":{"name":"punctuation.definition.entity.ini"}},"match":"^(\\\\[)(.*?)(])","name":"entity.name.section.group-title.ini"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.single.ini","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.ini"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ini"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.ini"}},"name":"string.quoted.double.ini"}],"scopeName":"source.ini","aliases":["properties"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,3 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2615],{32615:(e,t,r)=>{r.r(t),r.d(t,{ApiProvider:()=>y,useApiContext:()=>d,useServerSelectContext:()=>f});var n=r(95155),o=r(12115),a=r(71797),i=r(77944);let l={"application/json":{encode:e=>JSON.stringify(e.body),generateExample:(e,t)=>s(e.body,"application/json",t)},"application/xml":{encode:e=>i(e.body,{compact:!0,spaces:2}),generateExample:(e,t)=>s(e.body,"application/xml",t)},"application/x-ndjson":{encode:e=>Array.isArray(e.body)?e.body.map(e=>JSON.stringify(e)).join("\n"):JSON.stringify(e.body),generateExample:(e,t)=>s(e.body,"application/x-ndjson",t)},"application/x-www-form-urlencoded":{encode(e){if("object"!=typeof e.body)throw Error(`Input value must be object, received: ${typeof e.body}`);let t=new URLSearchParams;for(let r in e.body)t.set(r,String(e.body[r]));return t},generateExample:(e,t)=>"js"===t.lang?`const body = new URLSearchParams(${JSON.stringify(e.body,null,2)})`:s(e.body,"application/x-www-form-urlencoded",t)},"multipart/form-data":{encode(e){let t=new FormData,r=e.body;if("object"!=typeof r||!r)throw Error(`Unsupported body type: ${typeof r}, expected: object`);for(let e in r){let n=r[e];if(!(null==n||Number.isNaN(n)))if(Array.isArray(n))for(let r of n)null!=r&&(r instanceof File?t.append(e,r,r.name):r instanceof Blob?t.append(e,r,"blob"):"object"==typeof r?t.append(e,JSON.stringify(r)):t.append(e,String(r)));else n instanceof File?t.set(e,n,n.name):n instanceof Blob?t.set(e,n,"blob"):"object"==typeof n?t.set(e,JSON.stringify(n)):t.set(e,String(n))}return t},generateExample(e,t){if("python"===t.lang)return`body = ${JSON.stringify(e.body,null,2)}`;let r=[];if("js"===t.lang)for(let[t,n]of(r.push("const body = new FormData();"),Object.entries(e.body)))r.push(`body.set(${t}, ${JSON.stringify((0,a.N)(n))})`);if("go"===t.lang){let{addImport:n}=t;for(let[t,o]of(n("mime/multipart"),n("bytes"),r.push("body := new(bytes.Buffer)"),r.push("mp := multipart.NewWriter(payload)"),Object.entries(e.body))){if(!o)continue;let e=(0,a.$)((0,a.N)(o,"application/json"),"`");r.push(`mp.WriteField("${t}", ${e})`)}}if("java"===t.lang){let{addImport:e}=t;e("java.net.http.HttpRequest.BodyPublishers"),r.push("var body = BodyPublishers.ofByteArray(new byte[] { ... });")}if("csharp"===t.lang&&r.push("var body = new MultipartFormDataContent();"),r.length>0)return r.join("\n")}},"application/octet-stream":{encode:e=>e.body,generateExample(){}}};function s(e,t,r){if("js"===r.lang)return"application/json"===t?`const body = JSON.stringify(${JSON.stringify(e,null,2)})`:`const body = ${(0,a.$)((0,a.N)(e,t),"`")}`;if("python"===r.lang)return"application/json"===t?`body = ${JSON.stringify(e,null,2)}`:`body = ${(0,a.$)((0,a.N)(e,t),'"""')}`;if("go"===r.lang){let{addImport:n}=r;return n("strings"),`body := strings.NewReader(${(0,a.$)((0,a.N)(e,t),"`")})`}if("java"===r.lang){let{addImport:n}=r;return n("java.net.http.HttpRequest.BodyPublishers"),`var body = BodyPublishers.ofString(${(0,a.$)((0,a.N)(e,t),'"""')});`}if("csharp"===r.lang){let r=`
${(0,a.N)(e,t)}
`;return`var body = new StringContent(${(0,a.$)(r,'"""')}, Encoding.UTF8, "${t}");`}}let p=(0,o.createContext)(null),u=(0,o.createContext)(null);function d(){let e=(0,o.useContext)(p);if(!e)throw Error("Component must be used under <ApiProvider />");return e}function f(){let e=(0,o.useContext)(u);if(!e)throw Error("Component must be used under <ApiProvider />");return e}function y(e){let{defaultBaseUrl:t,children:r,servers:a,mediaAdapters:i,shikiOptions:s}=e,[d,f]=(0,o.useState)(()=>{let e=t?a.find(e=>e.url===t):a.at(0);return e?{url:e.url,variables:c(e)}:null});return(0,o.useEffect)(()=>{let e=localStorage.getItem("apiBaseUrl");if(e)try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return;f(t)}catch(e){}},[]),(0,n.jsx)(p.Provider,{value:(0,o.useMemo)(()=>({shikiOptions:s,mediaAdapters:{...l,...i},servers:a}),[i,a,s]),children:(0,n.jsx)(u.Provider,{value:(0,o.useMemo)(()=>({server:d,setServerVariables(e){f(t=>{if(!t)return null;let r={...t,variables:e};return localStorage.setItem("apiBaseUrl",JSON.stringify(r)),r})},setServer(e){let t=a.find(t=>t.url===e);if(!t)return;let r={url:e,variables:c(t)};localStorage.setItem("apiBaseUrl",JSON.stringify(r)),f(r)}}),[d,a]),children:r})})}function c(e){var t;return Object.fromEntries(Object.entries(null!=(t=e.variables)?t:{}).map(e=>{let[t,r]=e;return[t,r.default]}))}}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2787],{62787:(n,e,t)=>{t.r(e),t.d(e,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"JSON with Comments","name":"jsonc","patterns":[{"include":"#value"}],"repository":{"array":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.array.begin.json.comments"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.array.end.json.comments"}},"name":"meta.structure.array.json.comments","patterns":[{"include":"#value"},{"match":",","name":"punctuation.separator.array.json.comments"},{"match":"[^]\\\\s]","name":"invalid.illegal.expected-array-separator.json.comments"}]},"comments":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","captures":{"0":{"name":"punctuation.definition.comment.json.comments"}},"end":"\\\\*/","name":"comment.block.documentation.json.comments"},{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.json.comments"}},"end":"\\\\*/","name":"comment.block.json.comments"},{"captures":{"1":{"name":"punctuation.definition.comment.json.comments"}},"match":"(//).*$\\\\n?","name":"comment.line.double-slash.js"}]},"constant":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.json.comments"},"number":{"match":"-?(?:0|[1-9]\\\\d*)(?:(?:\\\\.\\\\d+)?(?:[Ee][-+]?\\\\d+)?)?","name":"constant.numeric.json.comments"},"object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dictionary.begin.json.comments"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dictionary.end.json.comments"}},"name":"meta.structure.dictionary.json.comments","patterns":[{"include":"#objectkey"},{"include":"#comments"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.dictionary.key-value.json.comments"}},"end":"(,)|(?=})","endCaptures":{"1":{"name":"punctuation.separator.dictionary.pair.json.comments"}},"name":"meta.structure.dictionary.value.json.comments","patterns":[{"include":"#value"},{"match":"[^,\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.comments"}]},{"match":"[^}\\\\s]","name":"invalid.illegal.expected-dictionary-separator.json.comments"}]},"objectkey":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.support.type.property-name.begin.json.comments"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.support.type.property-name.end.json.comments"}},"name":"string.json.comments support.type.property-name.json.comments","patterns":[{"include":"#stringcontent"}]},"string":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.json.comments"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.json.comments"}},"name":"string.quoted.double.json.comments","patterns":[{"include":"#stringcontent"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\(?:[\\"/\\\\\\\\bfnrt]|u\\\\h{4})","name":"constant.character.escape.json.comments"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.json.comments"}]},"value":{"patterns":[{"include":"#constant"},{"include":"#number"},{"include":"#string"},{"include":"#array"},{"include":"#object"},{"include":"#comments"}]}},"scopeName":"source.json.comments"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[286],{10286:(e,a,n)=>{n.r(a),n.d(a,{default:()=>r});let r=[Object.freeze(JSON.parse('{"displayName":"CSV","fileTypes":["csv"],"name":"csv","patterns":[{"captures":{"1":{"name":"rainbow1"},"2":{"name":"keyword.rainbow2"},"3":{"name":"entity.name.function.rainbow3"},"4":{"name":"comment.rainbow4"},"5":{"name":"string.rainbow5"},"6":{"name":"variable.parameter.rainbow6"},"7":{"name":"constant.numeric.rainbow7"},"8":{"name":"entity.name.type.rainbow8"},"9":{"name":"markup.bold.rainbow9"},"10":{"name":"invalid.rainbow10"}},"match":"( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?( *\\"(?:[^\\"]*\\"\\")*[^\\"]*\\" *(?:,|$)|[^,]*(?:,|$))?","name":"rainbowgroup"}],"scopeName":"text.csv"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3151],{53151:(e,n,t)=>{t.r(n),t.d(n,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"Tcl","fileTypes":["tcl"],"foldingStartMarker":"\\\\{\\\\s*$","foldingStopMarker":"^\\\\s*}","name":"tcl","patterns":[{"begin":"(?<=^|;)\\\\s*((#))","beginCaptures":{"1":{"name":"comment.line.number-sign.tcl"},"2":{"name":"punctuation.definition.comment.tcl"}},"contentName":"comment.line.number-sign.tcl","end":"\\\\n","patterns":[{"match":"(\\\\\\\\[\\\\n\\\\\\\\])"}]},{"captures":{"1":{"name":"keyword.control.tcl"}},"match":"(?<=^|[;\\\\[{])\\\\s*(if|while|for|catch|default|return|break|continue|switch|exit|foreach|try|throw)\\\\b"},{"captures":{"1":{"name":"keyword.control.tcl"}},"match":"(?<=^|})\\\\s*(then|elseif|else)\\\\b"},{"captures":{"1":{"name":"keyword.other.tcl"},"2":{"name":"entity.name.function.tcl"}},"match":"(?<=^|\\\\{)\\\\s*(proc)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.tcl"}},"match":"(?<=^|[;\\\\[{])\\\\s*(after|append|array|auto_execok|auto_import|auto_load|auto_mkindex|auto_mkindex_old|auto_qualify|auto_reset|bgerror|binary|cd|clock|close|concat|dde|encoding|eof|error|eval|exec|expr|fblocked|fconfigure|fcopy|file|fileevent|filename|flush|format|gets|glob|global|history|http|incr|info|interp|join|lappend|library|lindex|linsert|list|llength|load|lrange|lreplace|lsearch|lset|lsort|memory|msgcat|namespace|open|package|parray|pid|pkg::create|pkg_mkIndex|proc|puts|pwd|re_syntax|read|registry|rename|resource|scan|seek|set|socket|SafeBase|source|split|string|subst|Tcl|tcl_endOfWord|tcl_findLibrary|tcl_startOfNextWord|tcl_startOfPreviousWord|tcl_wordBreakAfter|tcl_wordBreakBefore|tcltest|tclvars|tell|time|trace|unknown|unset|update|uplevel|upvar|variable|vwait)\\\\b"},{"begin":"(?<=^|[;\\\\[{])\\\\s*(reg(?:exp|sub))\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.tcl"}},"end":"[]\\\\n;]","patterns":[{"match":"\\\\\\\\(?:.|\\\\n)","name":"constant.character.escape.tcl"},{"match":"-\\\\w+\\\\s*"},{"applyEndPatternLast":1,"begin":"--\\\\s*","end":"","patterns":[{"include":"#regexp"}]},{"include":"#regexp"}]},{"include":"#escape"},{"include":"#variable"},{"include":"#operator"},{"include":"#numeric"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.tcl"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.tcl"}},"name":"string.quoted.double.tcl","patterns":[{"include":"#escape"},{"include":"#variable"},{"include":"#embedded"}]}],"repository":{"bare-string":{"begin":"(?:^|(?<=\\\\s))\\"","end":"\\"([^]\\\\s]*)","endCaptures":{"1":{"name":"invalid.illegal.tcl"}},"patterns":[{"include":"#escape"},{"include":"#variable"}]},"braces":{"begin":"(?:^|(?<=\\\\s))\\\\{","end":"}([^]\\\\s]*)","endCaptures":{"1":{"name":"invalid.illegal.tcl"}},"patterns":[{"match":"\\\\\\\\[\\\\n{}]","name":"constant.character.escape.tcl"},{"include":"#inner-braces"}]},"embedded":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.tcl"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.embedded.end.tcl"}},"name":"source.tcl.embedded","patterns":[{"include":"source.tcl"}]},"escape":{"match":"\\\\\\\\(\\\\d{1,3}|x\\\\h+|u\\\\h{1,4}|.|\\\\n)","name":"constant.character.escape.tcl"},"inner-braces":{"begin":"\\\\{","end":"}","patterns":[{"match":"\\\\\\\\[\\\\n{}]","name":"constant.character.escape.tcl"},{"include":"#inner-braces"}]},"numeric":{"match":"(?<![A-Za-z])([-+]?([0-9]*\\\\.)?[0-9]+f?)(?![.A-Za-z])","name":"constant.numeric.tcl"},"operator":{"match":"(?<=[ \\\\d])([-+~]|&{1,2}|\\\\|{1,2}|<{1,2}|>{1,2}|\\\\*{1,2}|[!%/]|<=|>=|={1,2}|!=|\\\\^)(?=[ \\\\d])","name":"keyword.operator.tcl"},"regexp":{"begin":"(?=\\\\S)(?![]\\\\n;])","end":"(?=[]\\\\n;])","patterns":[{"begin":"(?=[^\\\\t\\\\n ;])","end":"(?=[\\\\t\\\\n ;])","name":"string.regexp.tcl","patterns":[{"include":"#braces"},{"include":"#bare-string"},{"include":"#escape"},{"include":"#variable"}]},{"begin":"[\\\\t ]","end":"(?=[]\\\\n;])","patterns":[{"include":"#variable"},{"include":"#embedded"},{"include":"#escape"},{"include":"#braces"},{"include":"#string"}]}]},"string":{"applyEndPatternLast":1,"begin":"(?:^|(?<=\\\\s))(?=\\")","end":"","name":"string.quoted.double.tcl","patterns":[{"include":"#bare-string"}]},"variable":{"captures":{"1":{"name":"punctuation.definition.variable.tcl"}},"match":"(\\\\$)((?:[0-9A-Z_a-z]|::)+(\\\\([^)]+\\\\))?|\\\\{[^}]*})","name":"support.function.tcl"}},"scopeName":"source.tcl"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3205],{63205:(n,a,e)=>{e.r(a),e.d(a,{default:()=>t});let t=[Object.freeze(JSON.parse('{"displayName":"JSSM","fileTypes":["jssm","jssm_state"],"name":"jssm","patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.mn"}},"end":"\\\\*/","name":"comment.block.jssm"},{"begin":"//","end":"$","name":"comment.line.jssm"},{"begin":"\\\\$\\\\{","captures":{"0":{"name":"entity.name.function"}},"end":"}","name":"keyword.other"},{"match":"([0-9]*)(\\\\.)([0-9]*)(\\\\.)([0-9]*)","name":"constant.numeric"},{"match":"graph_layout(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"machine_name(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"machine_version(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"jssm_version(\\\\s*)(:)","name":"constant.language.jssmLanguage"},{"match":"<->","name":"keyword.control.transition.jssmArrow.legal_legal"},{"match":"<-","name":"keyword.control.transition.jssmArrow.legal_none"},{"match":"->","name":"keyword.control.transition.jssmArrow.none_legal"},{"match":"<=>","name":"keyword.control.transition.jssmArrow.main_main"},{"match":"=>","name":"keyword.control.transition.jssmArrow.none_main"},{"match":"<=","name":"keyword.control.transition.jssmArrow.main_none"},{"match":"<~>","name":"keyword.control.transition.jssmArrow.forced_forced"},{"match":"~>","name":"keyword.control.transition.jssmArrow.none_forced"},{"match":"<~","name":"keyword.control.transition.jssmArrow.forced_none"},{"match":"<-=>","name":"keyword.control.transition.jssmArrow.legal_main"},{"match":"<=->","name":"keyword.control.transition.jssmArrow.main_legal"},{"match":"<-~>","name":"keyword.control.transition.jssmArrow.legal_forced"},{"match":"<~->","name":"keyword.control.transition.jssmArrow.forced_legal"},{"match":"<=~>","name":"keyword.control.transition.jssmArrow.main_forced"},{"match":"<~=>","name":"keyword.control.transition.jssmArrow.forced_main"},{"match":"([0-9]+)%","name":"constant.numeric.jssmProbability"},{"match":"\'[^\']*\'","name":"constant.character.jssmAction"},{"match":"\\"[^\\"]*\\"","name":"entity.name.tag.jssmLabel.doublequoted"},{"match":"([!#\\\\&()+,.0-9?-Z_a-z])","name":"entity.name.tag.jssmLabel.atom"}],"scopeName":"source.jssm","aliases":["fsl"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3332],{13332:(e,a,t)=>{t.r(a),t.d(a,{default:()=>n});let n=[Object.freeze(JSON.parse('{"displayName":"Pascal","fileTypes":["pas","p","pp","dfm","fmx","dpr","dpk","lfm","lpr","ppr"],"name":"pascal","patterns":[{"match":"\\\\b(?i:(absolute|abstract|add|all|and_then|array|asc??|asm|assembler|async|attribute|autoreleasepool|await|begin|bindable|block|by|case|cdecl|class|concat|const|constref|copy|cppdecl|contains|default|delegate|deprecated|desc|distinct|div|each|else|empty|end|ensure|enum|equals|event|except|exports??|extension|external|far|file|finalization|finalizer|finally|flags|forward|from|future|generic|goto|group|has|helper|if|implements|implies|import|in|index|inherited|initialization|inline|interrupt|into|invariants|is|iterator|label|library|join|lazy|lifetimestrategy|locked|locking|loop|mapped|matching|message|method|mod|module|name|namespace|near|nested|new|nostackframe|not|notify|nullable|object|of|old|oldfpccall|on|only|operator|optional|or_else|order|otherwise|out|override|package|packed|parallel|params|partial|pascal|pinned|platform|pow|private|program|protected|public|published|interface|implementation|qualified|queryable|raises|read|readonly|record|reference|register|remove|resident|requires??|resourcestring|restricted|result|reverse|safecall|sealed|segment|select|selector|sequence|set|shl|shr|skip|specialize|soft|static|stored|stdcall|step|strict|strong|take|then|threadvar|to|try|tuple|type|unconstrained|unit|unmanaged|unretained|unsafe|uses|using|var|view|virtual|volatile|weak|dynamic|overload|reintroduce|where|with|write|xor|yield))\\\\b","name":"keyword.pascal"},{"captures":{"1":{"name":"storage.type.prototype.pascal"},"2":{"name":"entity.name.function.prototype.pascal"}},"match":"\\\\b(?i:(function|procedure|constructor|destructor))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)(\\\\(.*?\\\\))?;\\\\s*(?=(?i:attribute|forward|external))","name":"meta.function.prototype.pascal"},{"captures":{"1":{"name":"storage.type.function.pascal"},"2":{"name":"entity.name.function.pascal"}},"match":"\\\\b(?i:(function|procedure|constructor|destructor|property|read|write))\\\\b\\\\s+(\\\\w+(\\\\.\\\\w+)?)","name":"meta.function.pascal"},{"match":"\\\\b(?i:(self|result))\\\\b","name":"token.variable"},{"match":"\\\\b(?i:(and|or))\\\\b","name":"keyword.operator.pascal"},{"match":"\\\\b(?i:(break|continue|exit|abort|while|do|downto|for|raise|repeat|until))\\\\b","name":"keyword.control.pascal"},{"begin":"\\\\{\\\\$","captures":{"0":{"name":"string.regexp"}},"end":"}","name":"string.regexp"},{"match":"\\\\b(?i:(ansichar|ansistring|boolean|byte|cardinal|char|comp|currency|double|dword|extended|file|integer|int8|int16|int32|int64|longint|longword|nativeint|nativeuint|olevariant|pansichar|pchar|pwidechar|pointer|real|shortint|shortstring|single|smallint|string|uint8|uint16|uint32|uint64|variant|widechar|widestring|word|wordbool|uintptr|intptr))\\\\b","name":"storage.support.type.pascal"},{"match":"\\\\b(\\\\d+)|(\\\\d*\\\\.\\\\d+([Ee][-+]?\\\\d+)?)\\\\b","name":"constant.numeric.pascal"},{"match":"\\\\$\\\\h{1,16}\\\\b","name":"constant.numeric.hex.pascal"},{"match":"\\\\b(?i:(true|false|nil))\\\\b","name":"constant.language.pascal"},{"match":"\\\\b(?i:(Assert))\\\\b","name":"keyword.control"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.pascal"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.pascal"}},"end":"\\\\n","name":"comment.line.double-slash.pascal.two"}]},{"begin":"\\\\(\\\\*","captures":{"0":{"name":"punctuation.definition.comment.pascal"}},"end":"\\\\*\\\\)","name":"comment.block.pascal.one"},{"begin":"\\\\{(?!\\\\$)","captures":{"0":{"name":"punctuation.definition.comment.pascal"}},"end":"}","name":"comment.block.pascal.two"},{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pascal"}},"end":"\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.pascal"}},"name":"string.quoted.single.pascal","patterns":[{"match":"\'\'","name":"constant.character.escape.apostrophe.pascal"}]},{"match":"#\\\\d+","name":"string.other.pascal"}],"scopeName":"source.pascal"}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3486],{93486:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});let i=[Object.freeze(JSON.parse('{"displayName":"Turtle","fileTypes":["turtle","ttl","acl"],"name":"turtle","patterns":[{"include":"#rule-constraint"},{"include":"#iriref"},{"include":"#prefix"},{"include":"#prefixed-name"},{"include":"#comment"},{"include":"#special-predicate"},{"include":"#literals"},{"include":"#language-tag"}],"repository":{"boolean":{"match":"\\\\b(?i:true|false)\\\\b","name":"constant.language.sparql"},"comment":{"match":"#.*$","name":"comment.line.number-sign.turtle"},"integer":{"match":"[-+]?(?:\\\\d+|[0-9]+\\\\.[0-9]*|\\\\.[0-9]+(?:[Ee][-+]?\\\\d+)?)","name":"constant.numeric.turtle"},"iriref":{"match":"<[^ \\"<>\\\\\\\\^`{|}]*>","name":"entity.name.type.iriref.turtle"},"language-tag":{"captures":{"1":{"name":"entity.name.class.turtle"}},"match":"@(\\\\w+)","name":"meta.string-literal-language-tag.turtle"},"literals":{"patterns":[{"include":"#string"},{"include":"#numeric"},{"include":"#boolean"}]},"numeric":{"patterns":[{"include":"#integer"}]},"prefix":{"match":"(?i:@?base|@?prefix)\\\\s","name":"keyword.operator.turtle"},"prefixed-name":{"captures":{"1":{"name":"storage.type.PNAME_NS.turtle"},"2":{"name":"support.variable.PN_LOCAL.turtle"}},"match":"(\\\\w*:)(\\\\w*)","name":"constant.complex.turtle"},"rule-constraint":{"begin":"(rule:content) (\\"\\"\\")","beginCaptures":{"1":{"patterns":[{"include":"#prefixed-name"}]},"2":{"name":"string.quoted.triple.turtle"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"string.quoted.triple.turtle"}},"name":"meta.rule-constraint.turtle","patterns":[{"include":"source.srs"}]},"single-dquote-string-literal":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.double.turtle","patterns":[{"include":"#string-character-escape"}]},"single-squote-string-literal":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\'","endCaptures":{"1":{"name":"punctuation.definition.string.end.turtle"},"2":{"name":"invalid.illegal.newline.turtle"}},"name":"string.quoted.single.turtle","patterns":[{"include":"#string-character-escape"}]},"special-predicate":{"captures":{"1":{"name":"keyword.control.turtle"}},"match":"\\\\s(a)\\\\s","name":"meta.specialPredicate.turtle"},"string":{"patterns":[{"include":"#triple-squote-string-literal"},{"include":"#triple-dquote-string-literal"},{"include":"#single-squote-string-literal"},{"include":"#single-dquote-string-literal"},{"include":"#triple-tick-string-literal"}]},"string-character-escape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.turtle"},"triple-dquote-string-literal":{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]},"triple-squote-string-literal":{"begin":"\'\'\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"\'\'\'","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]},"triple-tick-string-literal":{"begin":"```","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.turtle"}},"end":"```","endCaptures":{"0":{"name":"punctuation.definition.string.end.turtle"}},"name":"string.quoted.triple.turtle","patterns":[{"include":"#string-character-escape"}]}},"scopeName":"source.turtle"}'))]}}]);
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3527],{3527:(e,n,t)=>{t.r(n),t.d(n,{default:()=>m});let m=[Object.freeze(JSON.parse('{"displayName":"QML Directory","name":"qmldir","patterns":[{"include":"#comment"},{"include":"#keywords"},{"include":"#version"},{"include":"#names"}],"repository":{"comment":{"patterns":[{"begin":"#","end":"$","name":"comment.line.number-sign.qmldir"}]},"file-name":{"patterns":[{"match":"\\\\b\\\\w+\\\\.(qmltypes|qml|js)\\\\b","name":"string.unquoted.qmldir"}]},"identifier":{"patterns":[{"match":"\\\\b\\\\w+\\\\b","name":"variable.parameter.qmldir"}]},"keywords":{"patterns":[{"match":"\\\\b(module|singleton|internal|plugin|classname|typeinfo|depends|designersupported)\\\\b","name":"keyword.other.qmldir"}]},"module-name":{"patterns":[{"match":"\\\\b[A-Z]\\\\w*\\\\b","name":"entity.name.type.qmldir"}]},"names":{"patterns":[{"include":"#file-name"},{"include":"#module-name"},{"include":"#identifier"}]},"version":{"patterns":[{"match":"\\\\b\\\\d+\\\\.\\\\d+\\\\b","name":"constant.numeric.qml"}]}},"scopeName":"source.qmldir"}'))]}}]);
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3556],{33556:(e,t,s)=>{s.r(t),s.d(t,{default:()=>a});let a=[Object.freeze(JSON.parse('{"displayName":"MIPS Assembly","fileTypes":["s","mips","spim","asm"],"name":"mipsasm","patterns":[{"match":"\\\\b(mul|abs|divu??|mulou??|negu??|not|remu??|rol|ror|li|seq|sgeu??|sgtu??|sleu??|sne|b|beqz|bgeu??|bgtu??|bleu??|bltu??|bnez|la|ld|ulhu??|ulw|sd|ush|usw|move|mfc1\\\\.d|l\\\\.d|l\\\\.s|s\\\\.d|s\\\\.s)\\\\b","name":"support.function.pseudo.mips"},{"match":"\\\\b(abs\\\\.d|abs\\\\.s|add|add\\\\.d|add\\\\.s|addiu??|addu|andi??|bc1f|bc1t|beq|bgez|bgezal|bgtz|blez|bltz|bltzal|bne|break|c\\\\.eq\\\\.d|c\\\\.eq\\\\.s|c\\\\.le\\\\.d|c\\\\.le\\\\.s|c\\\\.lt\\\\.d|c\\\\.lt\\\\.s|ceil\\\\.w\\\\.d|ceil\\\\.w\\\\.s|clo|clz|cvt\\\\.d\\\\.s|cvt\\\\.d\\\\.w|cvt\\\\.s\\\\.d|cvt\\\\.s\\\\.w|cvt\\\\.w\\\\.d|cvt\\\\.w\\\\.s|div|div\\\\.d|div\\\\.s|divu|eret|floor\\\\.w\\\\.d|floor\\\\.w\\\\.s|j|jalr??|jr|lbu??|lhu??|ll|lui|lw|lwc1|lwl|lwr|maddu??|mfc0|mfc1|mfhi|mflo|mov\\\\.d|mov\\\\.s|movf|movf\\\\.d|movf\\\\.s|movn|movn\\\\.d|movn\\\\.s|movt|movt\\\\.d|movt\\\\.s|movz|movz\\\\.d|movz\\\\.s|msub|mtc0|mtc1|mthi|mtlo|mul|mul\\\\.d|mul\\\\.s|multu??|neg\\\\.d|neg\\\\.s|nop|nor|ori??|round\\\\.w\\\\.d|round\\\\.w\\\\.s|sb|sc|sdc1|sh|sllv??|slti??|sltiu|sltu|sqrt\\\\.d|sqrt\\\\.s|srav??|srlv??|sub|sub\\\\.d|sub\\\\.s|subu|sw|swc1|swl|swr|syscall|teqi??|tgei??|tgeiu|tgeu|tlti??|tltiu|tltu|trunc\\\\.w\\\\.d|trunc\\\\.w\\\\.s|xori??)\\\\b","name":"support.function.mips"},{"match":"\\\\.(asciiz??|byte|data|double|float|half|kdata|ktext|space|text|word|set\\\\s*(noat|at))\\\\b","name":"storage.type.mips"},{"match":"\\\\.(align|extern||globl)\\\\b","name":"storage.modifier.mips"},{"captures":{"1":{"name":"entity.name.function.label.mips"}},"match":"\\\\b([0-9A-Z_a-z]+):","name":"meta.function.label.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)([02-9]|1[0-9]|2[0-5]|2[89]|3[01])\\\\b","name":"variable.other.register.usable.by-number.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)(zero|v[01]|a[0-3]|t[0-9]|s[0-7]|gp|sp|fp|ra)\\\\b","name":"variable.other.register.usable.by-name.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)(at|k[01]|1|2[67])\\\\b","name":"variable.other.register.reserved.mips"},{"captures":{"1":{"name":"punctuation.definition.variable.mips"}},"match":"(\\\\$)f([0-9]|1[0-9]|2[0-9]|3[01])\\\\b","name":"variable.other.register.usable.floating-point.mips"},{"match":"\\\\b\\\\d+\\\\.\\\\d+\\\\b","name":"constant.numeric.float.mips"},{"match":"\\\\b(\\\\d+|0([Xx])\\\\h+)\\\\b","name":"constant.numeric.integer.mips"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mips"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.mips"}},"name":"string.quoted.double.mips","patterns":[{"match":"\\\\\\\\[\\"\\\\\\\\nrt]","name":"constant.character.escape.mips"}]},{"begin":"(^[\\\\t ]+)?(?=#)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.mips"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.mips"}},"end":"\\\\n","name":"comment.line.number-sign.mips"}]}],"scopeName":"source.mips","aliases":["mips"]}'))]}}]);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More