// Chat+: its feature modules (docs/AREA-PLUGINS.md; Navigation+ in ../navigation is the reference). // One module per `backing: 'module'` row of ./features.ts; the registry starts each only while its // flag is on, the area is on and the page is on one of its surfaces. // // X's chat is the one place the rest of the app stays out of (a heavy page). These modules run // there on purpose and keep it cheap: one shared watch each (child list only, one frame), looking // only at X's message list or its conversation list. ./x.ts is what they know about X's chat. // None of them writes or sends a message, reacts, deletes or marks anything read. The one request is // Link previews' (owner-approved, 2026-10-10): the link alone, to native code, which fetches its preview. import type { FeatureModule } from '../../../../../waybetter/packages/runtime/src/featureModules.ts'; import type { PluginApi } from '../../inject/pluginApi.ts'; import { bookmarks } from './bookmarks.ts'; import { keywords } from './keywords.ts'; import { linkPreviews } from './linkPreviews.ts'; import { personFilter } from './personFilter.ts'; import { pins } from './pins.ts'; import { searchLoaded } from './searchLoaded.ts'; export const MODULES: ReadonlyArray> = [ bookmarks, searchLoaded, pins, personFilter, keywords, linkPreviews, ];