docs(05): 锚点三十补第 7 节 —— 新登记「分享确认面板」(主人 2026-10-06 提)

现状已核实:分享一进来就在 ChatScreen 的 ShareLanding.Send 支被立刻发出(ShareIntake.take() → sendShared),
用户没有任何确认机会。主人要的是像其他 IM 一样:能预览(图片/文件名与大小)、能附文字(预填分享自带的文本)、
由用户点发送才真发、可取消。已指派 W53X 且写明边界(不动 shareLanding/sendShared 语义、take 只许一次)。
This commit is contained in:
AskaEth committed 2026-10-06 18:47:02 +08:00
1 parent ed0824f335
commit 659ab83f00
1 file changed
+7
+7
View File
@@ -1654,3 +1654,10 @@ S2 我第一次测出「没生效」,差点去改代码——真因是**设备
### 6. 两件小收尾(主人「不反对」后做的;同批的第 3 件事见锚点三十一)
- **`INTERNET` 显式声明**(`app/src/main/AndroidManifest.xml`):原来 release 能联网是**搭在 `okhttp-android:5.5.0` 的清单合并**上的;现在**显式写进源码**,并在注释里写清「为什么这里必须显式」(换掉那个依赖就会静默断网)。验收(按判据核过):`:app:processReleaseMainManifest` 的 merger 报告里它已是 `ADDED from app/src/main/AndroidManifest.xml:26` 且 `MERGED from [okhttp-android]` ⇒ **来源是源码**。
- **构建锁协议写死**(这批真踩到:有切片**整文件删除**,把别人的占用行一起删了)。三条约定:① **一行一个占用者**(`<分支名> <PID> <时间>`);② **只删自己那一行,绝不整文件删除**;③ **改/删之前先读一遍**当前有谁在占。
### 7. 新登记:分享进来的内容**不再直接发出**,改成确认面板(主人 2026-10-06 提)
**现状(已核实)**:分享一进来就在 `ui/chat/ChatScreen.kt` 的分享落地那一支被**立刻发出** ——
`ShareLanding.Send -> { ShareIntake.take()?.let { view: sendShared(share, shareNoticeFor(share)) } }`。
**主人要的**:像其他 IM 一样给一个**确认面板** —— ① **能预览**支持的文件(图片缩略图 / 文件名字与大小);② 下方一个**输入框**让用户附上文字描述;③ 由用户点「发送」才真的发出去(可取消)。
**指派**:`W53X`(与 W53N/W53S 并行;它只许在 `ChatScreen.kt` 的分享落地那一小段动刀,其余放新文件)。
**边界**:不动 `shareLanding` / `shareNoticeFor` / `shareWaitingNotice` 的语义,不动 `sendShared` 的「超长文本走文件」那条(主人当时的裁决),不发则不 take 之前的内容——**take 只许发生一次**(否则 effect 重跑会重复弹面板)。