Skip to content

v0.27.1 - a new plan hands its key to the import, and a headerless paste keeps its columns

Latest

Choose a tag to compare

@AmanSK5 AmanSK5 released this 04 Sep 12:52
345ebe3

What this fixes

Importing members after linking a second plan failed. Linking a plan with "CSV" as the source opened the import screen with no plan key: the wizard passed on the key it held, which is empty for a new plan because the receiver derives it from the plan name. With one plan on a tool the receiver fills the blank in itself, so this only appeared the moment a second plan was added, and the receiver then refused - rightly - to guess between the two. The API-key path had the same hole for its connection and first sync.

The wizard now reads the key back from the save's answer and hands it to the connection, the first sync and the import. The import screen names the plan it is importing into, and when it is opened without a key on a tool with several plans it asks which one before offering the import.

A headerless paste lost its role and seat tier. jane@corp.example,member,max 5 kept only the address, by the parser's own rules, which reads as a broken import. Columns are now named from their values: every value a role word makes the column the role, every value an account state makes it a status and it is ignored, and when exactly one column is left it is the seat tier. Anything less certain stays unread and the preview says so.

Not a bug

The tool picker lists tools, not plans. A tool that already has plans stays selectable and lists them; a further plan on the same tool is added by choosing the tool again with the new plan name.

Release notes

  • Portal-only change; the receiver is unchanged from 0.27.0.

Verification

  • Portal: 655 tests.
  • Reproduced in the demo stack: Team already linked on Claude, Max 5 added with a CSV source, import succeeds and names the plan; the fallback picker appears for an import opened without a key; five paste shapes checked against the parser.