第八轮改用"读CSS选择器+核对JSX结构"的方式复测全部11章,命中了7轮纯接口测试从未发现的一类 问题——选择器写对了但目标元素的实际DOM结构/className对不上,样式静默失效: - 语音通话最小化胶囊按钮尺寸被同特异度规则覆盖;移动端悬浮通话窗口left/right/width三值同时 生效导致过度约束;来电全屏页认证徽章/姓名标题缺少专属样式覆盖 - 我的收藏-语音卡片三列grid对应实际只有1个子元素,播放器被压缩到卡片左侧一角;链接/记录头部 完全没有基础样式,退化成浏览器默认外观 - 多选模式下"收到的"消息气泡被flex auto-margin一起拖到最右侧;.avatar-box/#send-message-panel 两处逗号断句错误导致后半句选择器丢失祖先限定 - 按住说话悬浮反馈渲染成内联胶囊,而参考图要求的居中悬浮卡片样式其实已经存在(挂在了另一个非 生产demo组件上);批量转发确认框沿用了80%视口高度;audio-player.jsx的playback类点在canvas 上而非包裹层,波形和计时器可能纵向堆叠 - "消息已撤回"占位符误拼了日期分隔条的class而非专属的deleted 品牌清理:浏览器标签页标题、未读数标题更新均硬编码"Tinode";LINK_CONTACT_US等三个链接常量 指向开源Tinode项目自己的域名(联系我们改为跟用户条款/隐私协议一致的toast,不再发起外部mailto)。 以及:空会话丢失.chat-box样式类、青少年模式PIN定位、若干收藏/文件类型展示细节。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
56 lines
3.1 KiB
HTML
56 lines
3.1 KiB
HTML
<!-- DEVELOPMENT version of the web app. -->
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>MeetingIM</title>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="application-name" content="Tinode Web, version for developers" />
|
|
<meta name="description" content="Tinode instant messenger, development version" />
|
|
<meta name="application-url" content="https://web.tinode.co/">
|
|
<!-- Browser styling for Chrome, FF, Opera -->
|
|
<meta name="theme-color" content="#3949AB" />
|
|
<!-- Ask Google not to offer page translation -->
|
|
<meta name="google" value="notranslate" />
|
|
<!-- Open Graph description -->
|
|
<meta name="og:url" content="https://web.tinode.co/">
|
|
<meta name="og:title" content="Tinode Web Development">
|
|
<meta name="og:image" content="img/og-logo.jpeg">
|
|
<meta name="og:description" content="Tinode instant messenger, development version" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<link rel="manifest" href="manifest.json" />
|
|
<link rel="shortcut icon" id="shortcut-icon" href="img/logo32x32.png" type="image/png" />
|
|
<link rel="apple-touch-icon" sizes="192x192" href="img/logo192.png" type="image/png" />
|
|
<link rel="canonical" href="https://web.tinode.co/" />
|
|
<!-- Google's Roboto font -->
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700,700i" />
|
|
<!-- Google's material design icons -->
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
|
<!-- Styles for local elements -->
|
|
<link rel="stylesheet" href="css/base.css" />
|
|
<!-- Polyfill Intl.Segmenter for Firefox 124 and earlier. This can be safely removed in the end of 2024. -->
|
|
<script crossorigin="anonymous" src="https://polyfill-fastly.io/v3/polyfill.min.js?features=Intl.Segmenter"></script>
|
|
<!-- ReactJS -->
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react@18/umd/react.development.js"></script>
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-dom@18/umd/react-dom.development.js"></script>
|
|
<!-- React-Intl for translations -->
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/react-intl@7/react-intl.iife.js"></script>
|
|
<!-- Displaying QR code with ID of the topic -->
|
|
<script crossorigin="anonymous" src="https://cdn.jsdelivr.net/npm/qrcodejs@1.0.0/qrcode.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<noscript><div id="noscript-message"><div id="noscript-title">Javascript support is required.</div>
|
|
<div id="noscript-content">It appears JavaScript is turned off or is not supported by your browser.
|
|
TinodeWeb does not work without JavaScript. Please enable JavaScript by changing your browser options,
|
|
then <a href="">try again</a>.
|
|
</div>
|
|
</div></noscript>
|
|
<div id="mountPoint"></div>
|
|
<script src="firebase-init.js"></script>
|
|
<script src="umd/tinode.dev.js"></script>
|
|
<script src="umd/index.dev.js"></script>
|
|
</body>
|
|
</html>
|