hcengineering/platform · warning · Error

Not implemented

Error message

Not implemented

What it means

The share() function in telegram-resources Chat.svelte is an unfinished feature: it immediately throws Error('Not implemented') with a TODO FIXME comment, and the original implementation body is commented out. Any user invoking the share action on a telegram chat hits this unconditionally — it is not a runtime failure but intentionally unshipped functionality.

Source

Thrown at plugins/telegram-resources/src/components/Chat.svelte:142

      {
        content: jsonToHTML(markupToJSON(message)),
        status: 'new',
        attachments
      },
      objectId
    )

    objectId = generateId()
    loading = false
  }

  // function getName (message: TelegramMessage, accounts: IdMap<PersonAccount>): string {
  //   return message.incoming ? object.name : accounts.get(message.modifiedBy as PersonId)?.name ?? ''
  // }

  async function share (): Promise<void> {
    // TODO: FIXME
    throw new Error('Not implemented')
    // const selectedMessages = messages.filter((m) => selected.has(m._id as unknown as Ref<SharedTelegramMessage>))
    // await client.addCollection(
    //   telegram.class.SharedMessages,
    //   object.space,
    //   object._id,
    //   object._class,
    //   'sharedTelegramMessages',
    //   {
    //     messages: convertMessages(selectedMessages, $personAccountByIdStore)
    //   }
    // )
    // if (channel !== undefined) {
    //   await inboxClient.forceReadDoc(channel._id, channel._class)
    // }
    // clear()
  }

  function clear (): void {

View on GitHub (pinned to 63e28dc964)

Solutions

  1. Hide or disable the share button in the UI until the feature is implemented.
  2. Restore the commented-out implementation that filters selected messages and adds telegram.class.SharedMessages via client.addCollection.
  3. If the underlying SharedMessages class was removed in a newer version, re-implement sharing against the current plugin API.

Example fix

// before
async function share (): Promise<void> {
  // TODO: FIXME
  throw new Error('Not implemented')
}
// after
async function share (): Promise<void> {
  const selectedMessages = messages.filter((m) => selected.has(m._id as unknown as Ref<SharedTelegramMessage>))
  await client.addCollection(
    telegram.class.SharedMessages,
    object.space,
    object._id,
    object._class
  )
}
Defensive patterns

Strategy: fallback

Validate before calling

// feature flag check before offering the action
if (!isShareAvailable) hideShareButton()

Try / catch

try {
  await share()
} catch (e) {
  if (e.message === 'Not implemented') {
    showNotification('Message sharing is not available yet')
  } else throw e
}

Prevention

When it happens

Trigger: Clicking the share button / calling share() in the Telegram chat view — the function's first statement is the throw, so every invocation fails.

Common situations: User tries to share selected telegram messages to another chat; UI exposes an action whose backend (telegram.class.SharedMessages collection add) was disabled during a refactor.

Related errors


AI-assisted analysis of hcengineering/platform@63e28dc964 (2026-08-29). Data as JSON: /api/errors/33d39d1e2dcfdc33. Report an issue: GitHub.