Skip to content

iOS .lime import without cname does not appear in installed IM list #93

@limeimetw

Description

@limeimetw

Problem

On iOS, importing a .lime table that does not include @cname@ / %cname metadata can report success, but the installed IM list shows no installed input method afterward. In the IM catalog, the same IM/table still appears as installed.

Observed behavior

  • User imports a .lime file without cname metadata.
  • Import completes successfully.
  • The IM manager / installed IM list shows no installed IM.
  • The IM catalog still marks the imported IM/table as installed.

Expected behavior

After a successful .lime import, iOS should register and display the imported IM in the installed IM list even when cname metadata is missing. If cname is absent, the app should use a safe fallback display name such as version metadata, file name, table name, or a localized custom-table name.

Suggested investigation

  • Check the iOS .lime import path for text files in SetupImController.importTxtFile(...) and LimeDB.importTxtFile(...).
  • Verify whether successful text import writes mapping rows but does not create/update the corresponding im table row when cname is absent.
  • Compare installed-list source (ManageImController.loadIMList() / DBServer.getAllImConfigs()) with IM catalog installed detection (IMDownloadManager.refreshInstalledTables() / tableHasData(...)).
  • Confirm whether keyboard_state / active IM state is rebuilt after text import.

Verification plan

  • Import a .lime file without @cname@ / %cname metadata.
  • Confirm the imported table appears in the installed IM list with a fallback name.
  • Confirm the IM catalog installed state and installed IM list agree.
  • Confirm the imported IM can be enabled/disabled and used by the keyboard.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions