 Your NameandClaude Sonnet 5
|
4e8f45d7d8
|
路由从 hash 换成 History API(pushState/replaceState/popstate),不再依赖 location.hash
HashNavigation 改名 Navigation(src/lib/navigation.js),接口不变,内部改用真实路径:
parseUrlHash/composeUrlHash 改名 parseUrl/composeUrl;navigateTo/navigateReplace 改调
pushState/replaceState 后手动派发 popstate(pushState/replaceState 不会像赋值 location.hash
那样自动触发事件,这里复用 navigateReplace 早就在用的同一个手动 dispatch 手法);goBack()
不用改,history.back() 本来就是真实浏览器历史机制。新增 Navigation.currentUrl() 替代调用方
原本直接读的 window.location.hash(这个类从来没包装过这个读取)。
一处需要专门处理的边界情况:当 path[0] 是空字符串("不选中侧栏视图、只开一个会话"这个仓库里
的合法状态)时,拼出的真实路径开头会变成双斜杠,被浏览器当协议相对地址解析、试图跳到一个叫
会话id的host,pushState 直接抛 SecurityError。composeUrl/parseUrl 内部用占位 token "_" 处理
这种情况,对外的调用方(19个文件)完全无感。
tinode-web.jsx 的 handleHashRoute 改名 handleRouteChange,监听从 hashchange 换成 popstate;
service-worker.js 的推送通知点击跳转手动改写成同样的路径格式(这个文件在打包之外单独执行,
没法 import Navigation)。index.html/index-dev.html 加了 <base href="/">——所有静态资源引用
都是相对路径,hash 路由下页面路径永远是 /,换真实路径后深层地址刷新会按当前目录解析出错误
资源地址导致白屏,这一行是标准修法。nginx.conf 的 try_files 兜底规则本来就适用两种路由,只
更新了注释。
实机验证:地址栏不再有 #;点击会话/设置等各类视图正常跳转;浏览器前进后退和应用内"返回"
按钮都正常;收藏页内部的类型 tab 切换(navigateReplace)确认不产生新的历史记录;在会话页/
个人中心页刷新、直接用完整深层路径打开新标签页都能正确恢复到位,资源正常加载不白屏。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-07 21:00:39 +08:00 |
|
 Your NameandClaude Sonnet 5
|
eb4c1cd8da
|
用登录页现有logo重新生成PWA图标/favicon/OG分享图;顺手发现并重建了严重过期的生产构建产物
图标部分:logo.svg/logo96.png/logo192.png/logo32x32.png/logo32x32a.png原来画的是开源Tinode
项目自己的蓝绿橙"t"speech-bubble标志。用登录页AppMark组件的真实CSS参数(白色圆角方卡 + 旋转
-18deg的蓝色squircle + 加粗白色首字母,色值#1677ff,圆角50% 50% 50% 18%)原样重新画成独立
的SVG/PNG资源,不是另起一套新设计——文字/图标/圆角比例/旋转角度均按登录页实测的computed style
数值1:1还原。favicon(32x32)的"未读"变体(右下角绿点)沿用原有的visual language。
og-logo.jpeg(社交分享预览图,og:image meta标签用)问题比图标本身更明显:原图整个背景是金门大桥
照片,前景写着"Tinode / Open Source Instant Messenger",这两行文字是本次engagement里最直接的
一处Tinode品牌泄漏(没有隐藏在代码里,链接分享出去别人就直接看到)。改成深色渐变背景+同一套
logo mark+"MeetingIM"+"即时通讯",不再引用任何第三方项目的名字或素材。
意外发现:umd/index.prod.js(生产构建产物,index.html的<script>直接引用)从很早之前就没有
重新构建过,仍然包含"TinodeWeb"/"web.tinode.co"/tinode.co的隐私政策与服务条款链接/
support@tinode.co邮箱等一整套本轮及更早各轮已经在源码里修掉的Tinode字样——如果这份产物被
原样部署,之前所有品牌清理都不会真正体现在生产环境。已用`npm run build:prod`重新构建(干净
通过,只有两条跟本次改动无关的资源体积警告),确认重建后的产物里"MeetingIM"正确替换了旧品牌名、
真实域名替换了tinode.co。这次只重新生成了产物文件,没有执行任何部署动作。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
2026-09-05 23:30:11 +08:00 |
|
or-else
|
14e1e6b549
|
bug fix: typo
|
2026-07-04 16:01:47 +03:00 |
|
or-else
|
70a9ab8996
|
firebase updated, two bugs related to fb fixed
|
2026-07-04 15:42:55 +03:00 |
|
or-else
|
7bf3fa71d6
|
partially dependencies updated
|
2026-07-04 15:19:03 +03:00 |
|
or-else
|
3bfabc90f3
|
add missing vi translations, rearrange language imports in alpha order
|
2026-03-02 14:06:40 +03:00 |
|
or-else
|
e6dfde28f6
|
restore topic subscription after a reconnect
|
2026-03-01 18:31:24 +03:00 |
|
or-else
|
2aa1b731ee
|
fix for #140, fix for some UI breakage, cosmetic changes
|
2026-03-01 13:59:59 +03:00 |
|
or-else
|
d296bebe1c
|
bump version to 0.25.2
|
2026-01-20 13:00:39 +03:00 |
|
or-else
|
234fb48b93
|
cleanup
|
2026-01-20 12:58:58 +03:00 |
|
or-else
|
a54ae70746
|
split out a few modules, handle esc key
|
2026-01-19 15:41:33 +03:00 |
|
or-else
|
5b7565c8f8
|
debug logging removed
|
2026-01-17 12:58:36 +03:00 |
|
or-else
|
dea781b423
|
adding TheCard preview
|
2026-01-17 12:55:45 +03:00 |
|
or-else
|
930f4f0656
|
TheCard handling in messages
|
2026-01-16 20:51:57 +03:00 |
|
or-else
|
16489432cf
|
fix wallpaper defaults
|
2026-01-16 11:51:42 +03:00 |
|
or-else
|
b2bae67ed2
|
version bumped, dependencies updated
|
2025-12-12 09:13:31 +03:00 |
|
or-else
|
825a6661f3
|
dependencies updated, version changed to 0.25.0-rc1
|
2025-11-26 12:02:48 +03:00 |
|
or-else
|
7fa83d0d3e
|
merge devel
|
2025-11-07 19:33:14 +03:00 |
|
or-else
|
b11d1f6d39
|
dependencies updated, version changed to 25.0-beta3, rebuilt
|
2025-11-07 15:09:26 +03:00 |
|
or-else
|
ad3c6f5d36
|
fixed position of controls in incoming call
|
2025-11-06 13:15:57 +03:00 |
|
or-else
|
4cd3e84178
|
make subscriber count work with older server
|
2025-10-28 12:32:52 +03:00 |
|
or-else
|
89c1cc7add
|
minor UI tweak, screenshots updated
|
2025-10-27 19:07:25 +03:00 |
|
or-else
|
0a1e2d3a3d
|
bump version, update dependencies
|
2025-10-27 10:27:40 +03:00 |
|
or-else
|
ca492e2e93
|
wallpapers in dark/light mode seem to work now
|
2025-10-26 21:51:40 +03:00 |
|
or-else
|
ec3974f2f0
|
dark/light mode wallpaper filters partially work
|
2025-10-26 19:56:55 +03:00 |
|
or-else
|
0f8d94ac2f
|
wallpapers
|
2025-10-18 15:32:14 +03:00 |
|
or-else
|
16e688d4c1
|
fix CallPannel: do not remount between menimized/full screen
|
2025-10-10 14:58:01 +03:00 |
|
or-else
|
16bfaddf2c
|
relabel as beta-1
|
2025-10-08 17:30:31 +03:00 |
|
or-else
|
1085d1caf6
|
allow messaging while call is in progress (same topic only for now)
|
2025-10-08 16:49:45 +03:00 |
|
or-else
|
abf5b19758
|
translations added
|
2025-10-06 21:02:41 +03:00 |
|
or-else
|
8ca7f5cd3e
|
support for showing the number of subscribers
|
2025-09-29 20:51:51 +03:00 |
|
or-else
|
5faacc1f53
|
pinning topics work as expected
|
2025-09-23 17:08:34 +03:00 |
|
or-else
|
4818ee7a25
|
support for pinning topics; truncate text with support for RTL languages
|
2025-09-20 18:18:01 +03:00 |
|
or-else
|
ed6be52228
|
merge master
|
2025-09-05 16:36:03 +03:00 |
|
or-else
|
1dc5ea1655
|
ux improvemnt: use contact name as title in alert dialog
|
2025-09-05 16:34:27 +03:00 |
|
or-else
|
89e9b85551
|
cropper: fix incorrect image positioning after zoom-out
|
2025-08-21 10:13:43 +03:00 |
|
or-else
|
79a1bc98b2
|
add config option to send on Enter vs send on CTRL-Enter
|
2025-08-10 15:25:05 +03:00 |
|
or-else
|
7d1011400e
|
merge devel
|
2025-08-10 12:15:14 +03:00 |
|
or-else
|
3a4794bacb
|
merge master
|
2025-08-10 10:33:20 +03:00 |
|
or-else
|
56790262f3
|
rename drafty form response content type to text/x-drafy-fr
|
2025-08-10 10:30:47 +03:00 |
|
or-else
|
bb1a3f4cea
|
some colors fixed in doc preview
|
2025-08-09 09:43:40 +03:00 |
|
or-else
|
a84a5a677a
|
bump version to 0.24.3 and rebuild
|
2025-08-07 16:13:47 +03:00 |
|
or-else
|
290571f305
|
transition to application/json+drafty as mime type for form responses
|
2025-08-07 15:39:43 +03:00 |
|
or-else
|
7ce9470bf3
|
more consistent jest time mocks
|
2025-07-30 18:12:55 +03:00 |
|
or-else
|
0400c804aa
|
dependencies updated, version bumped, rebuilt
|
2025-07-25 11:44:06 +03:00 |
|
or-else
|
80d3f5336b
|
dependencies updated, rebuilt, version bumped to 24.1
|
2025-07-09 15:22:38 +03:00 |
|
or-else
|
6a208cf040
|
rebuilt
|
2025-07-09 10:54:31 +03:00 |
|
or-else
|
6d02cc903c
|
dark mode mostly done
|
2025-06-13 16:26:48 +03:00 |
|
or-else
|
ff60b3902e
|
bump version and rebuild
|
2025-06-08 16:54:42 +03:00 |
|
or-else
|
e641dc0d32
|
automatically add dir="rtl" to <html> tag when the language is RTL
|
2025-06-06 10:41:10 +03:00 |
|