Context
The main Tabularis app is building a builtin-to-plugin migration flow (moving users off the in-tree postgres driver onto this plugin ahead of the builtin's eventual removal, tentatively Oct 5 2026). Full design: TabularisDB/tabularis#685 (.github/planning/postgres-plugin-force-install.md in that PR).
Two parts of that design need work in this repo before it ships.
1. Issue Form templates
The migration flow drafts a GitHub issue in this repo for the user to review and submit themselves (no automated posting) in three situations: a failed migration, a builtin-only capability the plugin doesn't yet cover, and general bug reports from a standing "Report a plugin issue" link in the app's Settings.
Rather than GitHub's plain issues/new?title=&body= prefill (a single free-text field, no way to enforce required info, and broken outright on any repo with an issue-template chooser), the app targets GitHub Issue Forms — structured YAML templates with named, typed fields it can pre-fill via query params, e.g. ?template=migration-failure.yml&failure_mode=connection&error=.... Confirmed hands-on that GitHub's login redirect preserves these query params for a signed-out user, so nothing is lost if they need to log in first.
Draft YAML for all three below — ready to drop in as-is, or tweak first.
Ask
name: Migration from builtin failed
description: >-
Filed automatically by Tabularis when switching a connection from the
builtin postgres driver to this plugin fails.
title: "Migration failed: "
labels: ["migration"]
body:
- type: markdown
attributes:
value: |
This form was pre-filled by Tabularis's builtin-to-plugin migration
flow. Review the details below before submitting — nothing has been
sent yet. No credentials or connection strings are included.
- type: dropdown
id: failure_mode
attributes:
label: Failure mode
description: >-
"Process" means the plugin itself never started (interpreter
missing, crash). "Connection" means the plugin started fine but
the specific database connection failed.
options:
- connection
- process
validations:
required: true
- type: input
id: plugin_version
attributes:
label: Plugin version
validations:
required: true
- type: input
id: app_version
attributes:
label: Tabularis app version
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: e.g. macOS 15.1, Windows 11, Ubuntu 24.04
validations:
required: true
- type: input
id: migrated_from_driver
attributes:
label: Migrated from
placeholder: e.g. builtin postgres
validations:
required: false
- type: textarea
id: error
attributes:
label: Error message
description: The exact error returned when the migration or connection failed.
render: text
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: Anything else that might help reproduce or diagnose this.
validations:
required: false
name: Feature parity gap
description: >-
Filed automatically by Tabularis when a connection uses a builtin-only
feature this plugin doesn't yet support.
title: "Feature parity gap: "
labels: ["capability-gap"]
body:
- type: markdown
attributes:
value: |
This form was pre-filled by Tabularis's builtin-to-plugin migration
flow, from a connection that uses a feature the plugin's declared
capabilities don't yet cover. Review before submitting — nothing has
been sent yet. No credentials or connection strings are included.
- type: input
id: feature
attributes:
label: Missing feature
placeholder: e.g. SSH tunneling, IAM auth, Kubernetes port-forwarding
validations:
required: true
- type: input
id: plugin_version
attributes:
label: Plugin version
validations:
required: true
- type: input
id: app_version
attributes:
label: Tabularis app version
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: Anything else that might help scope or reproduce this.
validations:
required: false
name: Bug report
description: Report a problem with the PostgreSQL plugin.
title: "Bug: "
labels: ["bug"]
body:
- type: input
id: plugin_version
attributes:
label: Plugin version
validations:
required: true
- type: input
id: app_version
attributes:
label: Tabularis app version
validations:
required: true
- type: input
id: os
attributes:
label: Operating system
placeholder: e.g. macOS 15.1, Windows 11, Ubuntu 24.04
validations:
required: true
- type: textarea
id: description
attributes:
label: What happened?
description: What did you expect, and what happened instead?
validations:
required: true
- type: textarea
id: repro_steps
attributes:
label: Steps to reproduce
validations:
required: false
- type: textarea
id: error
attributes:
label: Error message, if any
render: text
validations:
required: false
Not blocking on the app side either way: this repo currently has no issue-template chooser configured, so the app's prefill links work against a plain form until these exist, and adding them is additive.
2. Builtin-vs-plugin capability diff
Since this plugin is maintained by the same team as the builtin driver, any gap between them is a bug to close, not a permanent difference — the app's migration flow treats it that way, excluding an affected connection from migration by default rather than pretending the gap doesn't exist.
This diff already runs as part of every plugin release, so no separate ask here — just flagging that gaps it turns up should get filed with the capability-gap template above, so the migration flow's exclusion list reflects real, tracked issues rather than an untracked known-gaps list.
Related
Context
The main Tabularis app is building a builtin-to-plugin migration flow (moving users off the in-tree
postgresdriver onto this plugin ahead of the builtin's eventual removal, tentatively Oct 5 2026). Full design: TabularisDB/tabularis#685 (.github/planning/postgres-plugin-force-install.mdin that PR).Two parts of that design need work in this repo before it ships.
1. Issue Form templates
The migration flow drafts a GitHub issue in this repo for the user to review and submit themselves (no automated posting) in three situations: a failed migration, a builtin-only capability the plugin doesn't yet cover, and general bug reports from a standing "Report a plugin issue" link in the app's Settings.
Rather than GitHub's plain
issues/new?title=&body=prefill (a single free-text field, no way to enforce required info, and broken outright on any repo with an issue-template chooser), the app targets GitHub Issue Forms — structured YAML templates with named, typed fields it can pre-fill via query params, e.g.?template=migration-failure.yml&failure_mode=connection&error=.... Confirmed hands-on that GitHub's login redirect preserves these query params for a signed-out user, so nothing is lost if they need to log in first.Draft YAML for all three below — ready to drop in as-is, or tweak first.
Ask
.github/ISSUE_TEMPLATE/migration-failure.yml:.github/ISSUE_TEMPLATE/capability-gap.yml:.github/ISSUE_TEMPLATE/bug_report.yml:migration,capability-gap, andbuglabels (each template'slabels:frontmatter auto-applies them going forward, but they need to exist first).Not blocking on the app side either way: this repo currently has no issue-template chooser configured, so the app's prefill links work against a plain form until these exist, and adding them is additive.
2. Builtin-vs-plugin capability diff
Since this plugin is maintained by the same team as the builtin driver, any gap between them is a bug to close, not a permanent difference — the app's migration flow treats it that way, excluding an affected connection from migration by default rather than pretending the gap doesn't exist.
This diff already runs as part of every plugin release, so no separate ask here — just flagging that gaps it turns up should get filed with the
capability-gaptemplate above, so the migration flow's exclusion list reflects real, tracked issues rather than an untracked known-gaps list.Related