/** * @dsh-local/im-conversation-tabs — host 半边(E 单)。 * * ## 为什么 host 面几乎为空 * 本插件的全部交付在**客户端**(会话区 tab 接管)。host 行只需要存在于 * profile 的 cordis 树里,客户端半边才会被 dsh 的 client bundle 加载器加载 * (`package.json` 的 `dsh.client` 字段声明注入面)。 * * ⛔ host 面**不注册任何 ctx 服务**、⛔ 不碰 DB、⛔ 不碰实例文件系统 —— * 房间数据一律由客户端走**同源相对路径** `/api/im/**` 取(见 lib/client.js)。 * ⇒ 因此 `cordis.patch.yml` 里本行**不带 `inject`**(apply 不用任何服务)。 * * @module @dsh-local/im-conversation-tabs */ /** apply 只做一件事:留下一条"已加载"的标记(便于运维排查 profile 是否带上了本插件)。 */ export function apply(ctx) { const logger = ctx?.logger ?? ctx?.log if (logger !== undefined && typeof logger.info === 'function') { logger.info({ plugin: '@dsh-local/im-conversation-tabs' }, 'im_conversation_tabs_host_loaded') } } /** 无服务依赖(见模块头)。 */ export const inject = []