Skip to content

v1.2.1

Choose a tag to compare

@Maxteabag Maxteabag released this 04 Jan 17:29
· 129 commits to main since this release
3482b71

New Features

This update focuses on optimization and removing UI thread blockages, and a new way of retrieved old queries and connecting to databases.

Telescope

A new global history interface accessible via the leader bindings (<space> <space> and <space> / to automatically activate filtering). This feature allows you to quickly go to previous queries across all connections and automatically connect to the server for that query.

Process-Based Execution

To address UI freezes during demanding queries (caused by Python SQL drivers locking the GIL while processing large row sets),the query execution is moved to a separate OS process.

  • Zero UI Blocking: By delegating processing to a separate process and relying on Arrow tables, there are no hiccups during data retrieval, and the tool should feel much smoother overall
  • Note for windows users: startup times may be slower (via spawning) I'm currently undergoing testing. If experiencing issues you may want to disable the process worker by executing the command :worker to toggle it off

Performance & UI Improvements

Asynchronous Explorer & Schema

  • Off-Thread Indexing: Explorer and auto-complete schema indexing now run off-thread with shared caching.
  • Incremental Rendering: Results tables now render incrementally to prevent long stalls when displaying data.
  • Lots of misc performance gains: Caching in the result filtering will cause filtering in the results view to feel smoother. Lots of stuff like that.

Easier connection to Postgres

  • PostgreSQL: Added optional host handling in URL parsing and adapters. If no host applied, it will default to peer auth. #42

Developer Tools & Debugging

Watchdog & Diagnostics

Added tooling to detect and debug UI hangs.

  • UI Watchdog: Monitors the main thread for hangs lasting longer than 50ms.
  • Debug Commands: Added :watchdog and :debug commands.
  • Logging: Context capture and event logging to file for easier troubleshooting.

Command Registry

  • Command List: Type :commands to view a list of available commands (primarily for debugging and advanced configuration).