Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feat]: Reopen the last closed tab (Ctrl/Cmd+Shift+T)

Open
#866 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
73/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
react, typescript
Domain
database, desktop

Research direction

Start with src/contexts/EditorProvider.tsx and src/utils/editor.ts to trace tab closing, then read src/utils/tabCleaner.ts for state cleanup. Check shortcut handling in src/pages/Editor.tsx, src/config/shortcuts.json, the tab context menu, and existing stack-related tests. Done when closing and reopening tabs meets the acceptance criteria, shortcut rebinding works, and unit tests pass.

Written by the indexing model from the issue text.

Description

feature request help wanted
🚀 Feature Proposal

Add Reopen closed tab (Ctrl/Cmd+Shift+T): restores the most recently closed editor tab with its SQL, title, database/schema and query parameters. Pressing it again walks further back.

Motivation

Closing a tab by mistake currently loses the query unless it was saved.

Where to start
  • src/contexts/EditorProvider.tsx: closeTab (and closeTabWithState in src/utils/editor.ts) discard the tab. Keep a bounded stack (about 20 entries) of closed tabs per connection and expose reopenClosedTab(). Strip heavy state (results) before pushing, see src/utils/tabCleaner.ts.
  • src/config/shortcuts.json: add a reopen_closed_tab entry; handle it in src/pages/Editor.tsx next to close_tab.
  • Add a "Reopen closed tab" item to the tab context menu.
Acceptance criteria
  • After closing a tab, the shortcut restores it at its previous position and activates it.
  • Repeated presses restore tabs in LIFO order; the stack is per connection.
  • SQL, title and parameters are restored; results are not (the user re-runs the query).
  • Closing several tabs at once ("close others", "close all") pushes each of them.
  • The shortcut is listed and rebindable in Settings → Keyboard Shortcuts.
  • Unit tests for the stack logic.
Contributor notes
  • Follow the repo rules in .rules/ (TypeScript, React, design tokens, accessibility, testing).
  • Any new UI string needs a key in every locale under src/i18n/locales/.
  • Run pnpm lint, pnpm typecheck and pnpm test before opening the PR.
  • Questions? Ask here or on Discord.
Dominant language
TypeScript
Stars
5.1k
Forks
335
Avg merge
2d 5h
Merged PRs (30d)
60

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TabularisDB/tabularis

All issues in TabularisDB/tabularis

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.