Commit Graph

583 Commits

Author SHA1 Message Date
yuhaibo
c4e1929ecf fix: 水印配置缺失时 xlsx 预览白页 —— officeweb.ftl 补上缺省值
未提供外部 config/application.properties 的部署上,预览任何 xlsx 都失败:
FreeMarker 在 officeweb.ftl 第 25 行抛 InvalidReferenceException,点名
watermarkTxt。DEBUG 模式把错误内联进 HTML,页面断在半截 JavaScript 里、
永远没有 </html>,浏览器上是白页或一直转圈,而 HTTP 状态码是 200 ——
看起来像转换超时,不像模板错。

两处叠在一起:

1. 十个 watermark* 请求属性可能整族不存在。WatermarkConfigConstants 没有
   类级注解(对比 ConfigConstants 上的 @Component),不是 Spring bean,
   那十个 @Value 的 setter 从来不会被调用;唯一填充它们的
   ConfigRefreshComponent#loadConfig() 在配置文件不存在时直接 return。
   于是十个 getter 全返回 null,AttributeSetFilter 的
   setAttribute(name, null) 按 Servlet 规范等同于删除属性。

2. officeweb.ftl 是唯一没有 classic_compatible 兜底的预览模板。
   commonHeader.ftl 第 1 行是 <#setting classic_compatible=true>,
   所有 include 它的模板在属性缺失时把变量渲染成空串、照常出页面;
   officeweb.ftl 既不 include 它、自己也没有这个设置。

缺省值取 WatermarkConfigConstants.DEFAULT_*,watermarkTxt 取空串——
空串会让下一行的 if (watermarkTxt !== '') 跳过 watermark.init(),不会给
所有预览凭空加上水印。其余九个只在水印开着时才用到,但那个 if 是
JavaScript 的、不是模板的,FreeMarker 两条分支都渲染,所以十个都要给。

新增的测试直接用 FreeMarker 渲染这个模板,不需要把服务跑起来:
数据模型里一个 watermark* 都不给(那正是缺陷发生时的情形),断言渲染得出
</html>;另一条把十个值全给上,断言逐个原样渲染,保证缺省值不会盖掉真实配置。
改模板之前先跑过一遍,第一条报 InvalidReferenceException、第二条通过。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 00:54:15 -07:00
kl
a199b4a7fe fix: honor custom watermark settings in PDF preview 2026-08-25 08:39:11 +08:00
kl
e2bcb67d43 chore(release): prepare v5.0.2 2026-08-14 14:28:41 +08:00
kl
69b234fda2 Merge commit from fork
Fix insecure default file deletion
2026-08-14 14:14:37 +08:00
kl
f852bf844b fix: secure demo file deletion 2026-08-14 11:12:50 +08:00
kl
583208898f fix: sandbox HTML preview execution 2026-08-14 11:12:50 +08:00
kl
257180eb95 fix: refresh ImageIO plugins before PDF conversion 2026-08-11 12:54:50 +08:00
kl
3a08031929 chore(release): prepare v5.0.1 2026-07-13 17:12:40 +08:00
kl
47745e4d74 Merge commit from fork 2026-07-13 16:53:58 +08:00
Spencer.Chang
67c6ba3b13 Optimize LuckyExcel xlsx preview conversion with Web Worker (#766)
* Optimize LuckyExcel conversion with worker

* Fallback LuckyExcel worker errors to main thread
2026-06-29 11:20:50 +08:00
kl
32a887aa2c fix: protect addTask with trust filters (#767) 2026-06-24 14:19:20 +08:00
gaoxingzaq
1f60e30f09 优化:区分 HTTP 错误,返回明确原因 (#752)
* 优化:区分 HTTP 错误,返回明确原因

* 修复 缓存关闭共享的 client,会导致后续请求失败

* 修复 缓存关闭共享的 client,会导致后续请求失败

---------

Co-authored-by: 高雄 <admin@cxcp.com>
2026-05-09 15:04:25 +08:00
Lanwood
4474ab1d57 fix(xlsx): 修复 LuckyExcel 解析数据校验时 matchType 未映射导致的崩溃 (#730)
* fix(xlsx): 修复 LuckyExcel 解析数据校验时 matchType 未映射导致的崩溃

* fix(xlsx): improve matchType handling in data verification logic

* fix(xlsx): simplify matchType mapping logic in LuckySheet class

---------

Co-authored-by: 何武德 <hewude@ruijie.com.cn>
2026-05-09 15:03:26 +08:00
kl
fd78fe9a6e test/docs: adjust PDF sidebar config test for conditional default (#756) 2026-04-30 18:50:39 +08:00
kl
cdce432740 feat: make pdf sidebar default open configurable (#755) 2026-04-30 18:36:40 +08:00
陈精华
4ea1d7468a Merge pull request #746 from gaoxingzaq/pdfjs2
pdf 添加跨域功能 修复pdf 页码和高亮没启用bug
2026-04-29 14:22:00 +08:00
高雄
4cf19d1dbe 优化结构 去掉JQ脚本 内置水印脚本 2026-04-25 08:45:22 +08:00
高雄
3abf864184 修复 pdf无法打印问题 修复pdf打印添加水印问题 2026-04-24 16:42:19 +08:00
高雄
e7fe1afe19 修复:1、redis报错、统一了所有模式(单机、集群、主从、哨兵)的配置参数:都设置了 retryAttempts, retryInterval, timeout, connectTimeout, idleConnectionTimeout, 连接池大小等。3、地址自动补齐协议前缀:normalizeAddress() 方法自动添加 redis://,用户配置可以省略, 其他等等。 2026-04-21 14:08:16 +08:00
高雄
cd2abb4be1 修复反代后 绝对路径错误 2026-04-17 17:37:03 +08:00
高雄
dd803126dd 修复反代后 绝对路径错误 2026-04-16 17:32:09 +08:00
高雄
633e47b765 修复反代后 绝对路径错误 2026-04-16 17:26:41 +08:00
高雄
c52d80c123 修复水印和高亮 特殊符号会导致解析失败问题 2026-04-16 11:21:59 +08:00
高雄
ee2a27501b pdf 添加跨域功能 修复pdf 页码和高亮没启用bug 2026-04-15 14:40:41 +08:00
kl
76e091900b Complete 5.0.0 release notes from v4.4.0 diff 2026-04-14 09:07:18 +08:00
kl
bfa4ceab90 Document 5.0.0 default config changes 2026-04-14 09:04:43 +08:00
kl
b18cfa797a Align release record page with 5.0.0 2026-04-14 09:02:29 +08:00
kl
17ba41320e Prepare 5.0.0 release 2026-04-14 08:57:01 +08:00
kl
a8a08c1dcc Address PR review feedback 2026-04-13 21:02:59 +08:00
kl
7757729efd Refine archive preview and PDF defaults 2026-04-13 20:54:27 +08:00
chenkailing
d35393ba22 fix: tighten index form layout 2026-04-11 21:30:25 +08:00
chenkailing
c893dd7095 fix: keep preview parameters on one row 2026-04-11 21:12:06 +08:00
chenkailing
dd6e369e6a feat: polish demo portal pages 2026-04-11 15:19:26 +08:00
chenkailing
bd20546b6d feat: redesign demo pages v1 2026-04-11 00:29:49 +08:00
copilot-swe-agent[bot]
3fbf0156e2 fix: refine pdfjs at compatibility polyfill
Agent-Logs-Url: https://github.com/kekingcn/kkFileView/sessions/287f0212-d368-4b59-ae70-0374fb3fe76f

Co-authored-by: klboke <18591662+klboke@users.noreply.github.com>
2026-04-09 02:50:17 +00:00
copilot-swe-agent[bot]
530304b832 test: use junit assertions for pdf viewer compatibility
Agent-Logs-Url: https://github.com/kekingcn/kkFileView/sessions/287f0212-d368-4b59-ae70-0374fb3fe76f

Co-authored-by: klboke <18591662+klboke@users.noreply.github.com>
2026-04-09 02:48:24 +00:00
copilot-swe-agent[bot]
5499150395 fix: add pdfjs at compatibility polyfill
Agent-Logs-Url: https://github.com/kekingcn/kkFileView/sessions/287f0212-d368-4b59-ae70-0374fb3fe76f

Co-authored-by: klboke <18591662+klboke@users.noreply.github.com>
2026-04-09 02:46:24 +00:00
kl
be6023701c Merge PR342 into master with trust-host conflict resolution 2026-04-07 15:59:20 +08:00
kl
02bcd35779 verify: 回退到原始 OFD 修复版本进行验证 (#724)
使用原始选择器 #content svg { overflow: hidden !important; }
验证该版本是否存在问题
2026-03-11 21:02:55 +08:00
kl
b6dd8129ea refactor: 优化 OFD 表格溢出修复选择器 - 仅覆盖有 inline style 的 SVG
采纳 Copilot 的建议,改用更精准的选择器 #content svg[style="overflow:visible"]。
这样可以只覆盖有 inline style overflow:visible 的 SVG 容器,避免影响其他
已有 overflow:hidden 的元素。保留完整的注释说明问题根因和解决方案。

Ref: Copilot suggestion on PR #723
2026-03-11 20:37:01 +08:00
kl
db5cd68a1e fix: OFD 表格竖线溢出修复 (#723)
cnofd 库渲染 OFD 表格时,为每个元素创建独立 SVG 容器并设置
inline style overflow:visible。当表格中间竖线的 path 元素
y 坐标超过 SVG 容器高度时,线条会溢出到表格底部边框之外。

修复方案:对 #content 下的 SVG 元素强制 overflow:hidden,
使用 !important 覆盖 inline style,精确裁剪超出部分。

Closes #xxx
2026-03-11 20:04:00 +08:00
kl
8c3bc81e08 fix(security): support wildcard/cidr host pattern matching (#710)
* fix(security): support wildcard/cidr host pattern matching

* fix(security): harden host matching against null and DNS rebinding

* fix(security): handle ipv4 unsigned range and deny template fallback

* test(security): verify CIDR matching for IPv4 upper boundary

* fix(security): set UTF-8 deny response and use Locale.ROOT

* fix(security): enforce whitelist with blacklist and harden wildcard rules
2026-03-03 15:26:35 +08:00
高雄
9d72706c2d 5.0版本 发布 美化首页 修复压缩包 秘钥问题 修复分页问题 2026-01-26 10:58:50 +08:00
高雄
0aa8de27d4 5.0版本 发布 新增pptm 新增heif 美化heif 模板 美化tif 美化md 优化http方法 优化首页目录读取方法 2026-01-23 15:50:24 +08:00
高雄
b08f4657e5 5.0版本 发布 重构下载方法 修复pdf 占用demo文件夹 2026-01-22 17:17:37 +08:00
高雄
1e04822532 5.0版本 发布 优化下载方法 修复office 重复转换方法错误 2026-01-22 15:41:54 +08:00
高雄
4e5e9b7cba 5.0版本 发布 新增 cadviewer转换方法 2026-01-22 11:53:14 +08:00
高雄
a2fe4658c4 5.0版本 发布 新增 cadviewer转换方法 2026-01-22 11:35:09 +08:00
高雄
e43f10138f 5.0版本 发布 新增 cadviewer转换方法 2026-01-22 11:28:25 +08:00
高雄
7dc0469b30 新增 页码定位 美化前端 其他功能调整等 2026-01-19 17:46:32 +08:00