Screenshot of Basedash showing a dropdown menu in the view header.

October 18, 2021

Improved keyboard navigation & accessibility

Accessibility and keyboard navigation are incredibly important to us for two reasons:

  1. Our vision at Basedash is to enable everyone within a company to easily access the data they need to
  2. Basedash is built for power-users, and we want to reduce the time it takes to take action on your data

We've been consistently updating the UI components within our app to be as accessible as possible. The latest change we've made is to our dropdown menu component, which now uses the latest accessibility standards, and adds full keyboard navigation.

We'll continue updating our components and plan to eventually open-source our component library for others to use.

Other improvements and fixes

  • Improved performance of loading views in table layout
  • Improved filter reliability when changing the attribute
  • Added header and footer to views when loading data
  • Added header and footer to views when an error occurs
  • Added detection of columns being removed from a table
  • Added ability to automatically unset a table's primary attribute if it's been removed from a table
  • Fixed foreign key values not appearing in some cases
  • Fixed Slack notifications showing attribute names as "undefined"
  • Fixed fetching tables if missing read permission for a subset of the database
  • Fixed removing data sources
  • Fixed foreign key tooltip showing the primary attribute instead of the raw value
  • Fixed loading values for columns with very long names
Screenshot of Basedash showing a tooltip with a description when hovering over a column header.

October 4, 2021

Attribute descriptions

Column names in databases can be confusing. They're named by engineers for use in code, not for people. We already humanize the names in the UI (and let you override the display name to something completely different), but now we're adding another level of customization: descriptions.

You can set attribute descriptions in the data source configuration menu. After that, we'll show you the description whenever you (or your teammates) hover over the column header in a table or view. We have plans to incorporate these descriptions into the list layout too, for users who prefer that layout type.

Automatically-set primary attributes

"Primary attributes" is a concept we introduced a few months ago. It lets you pick a column for each table to act as the identifier, which is shown across Basedash. We show the primary attribute as the value for foreign keys, as the title in list layout, and as the sticky column in table layout.

We used to always default the primary key of the table, but we now scan the column names for some good candidates, including "name" or "email" to use as the default. If we can't find anything good, we'll use the primary key as the fallback. You can always override the default primary attribute in your data source configuration.

This should make list layout a lot more usable by default without having to configure your data sources. Give it a try!

Other improvements and fixes

  • Added read-only "Name" fields in data source configuration panels
  • Added read-only "Base table" field to view builder
  • Added view deletion confirmation dialogs
  • Updated the default primary attribute to look for certain column names, instead of the primary key
  • Updated "favorite" icon in the disabled state
  • Updated "Edit view" button icon and text
  • Updated label in connect data source flow for "Display name"
  • Updated table headers to show the display name
  • Fixed deleted records not disappearing in the UI right away
  • Fixed edits not working in views where the primary key column is hidden
  • Fixed duplicate tables in the table selection sidebar
  • Fixed icon color in dropdowns on hover
  • Fixed icon color in sidebar when selected
  • Fixed local cache being cleared when switching workspaces
Screenshot of Basedash showing the list of raw tables in the sidebar.

September 27, 2021

Improved performance loading list of tables

We've been working hard behind the scenes for the past month on large foundational improvements to Basedash's architecture. These improvements will allow us to build new features faster, onboard new teammates more efficiently, and significantly improve performance across the app.

This week, we made our first performance improvements based on these structural changes, started with the loading performance of tables. We use a hierarchical cache system to load the tables in your database nearly instantaneously, allowing you to navigate your database as fast possible. These changes apply to all instances where we render a list of tables from your database, including the sidebar, view creation, and data source configuration.

These performance improvements have proven to be a success, so we will continue to implement these changes to more areas of the app over the coming weeks.

Foundation for improved stability

We've also spent a significant amount of resources on improving stability of the app, through increased test coverage, and better QA processes. We're committed to building a tool that your team will be comfortable relying on for mission-critical workflows.

These improved processes helped us detect and fix a record number of bugsā€”see below for details.

Other improvements and fixes

  • Added "Edit view" button directly to view header
  • Added "is null" filter option to number attributes
  • Removed "Joined tables" section in view builder for tables with no foreign keys
  • Improved first-load performance
  • Improved accessibility and keyboard navigability of switches
  • Improved styling of data source configuration panel whitespace
  • Updated data source configuration panel header text
  • Fixed behavior causing users to get logged out when API calls failed
  • Fixed updating data source names
  • Fixed SQL view queries being reverted when exiting edit mode
  • Fixed data source names not loading in the sidebar
  • Fixed updating data source credentials
  • Fixed updating data source configurations
  • Fixed raw tables not rendering correctly for databases with multiple schemas
  • Fixed fetching data source configuration settings for workspaces with databases that are not accessible
  • Fixed text color of button on hover in Slack alert notification modal
  • Fixed undoing edits not updating the table UI immediately
  • Fixed foreign key dropdown values showing as empty in some cases
  • Fixed disconnecting attributes
  • Fixed updates to views not appearing immediately in the UI
  • Fixed old tables and attributes appearing in data source configuration panels
  • Fixed data source health indicator
Screenshot of Basedash showing a button to "Duplicate view", with a SQL query in the background.

September 13, 2021

Duplicate SQL views

This week we added the ability to duplicate SQL views in two clicks. From any SQL view, just click the dropdown menu in the header, then click "Duplicate view". This lets you easily create modifications of existing views without affecting the original.

Other improvements and fixes

  • Fixed persistent loading spinner for data sources in sidebar
  • Fixed setting date AM/PM values in MySQL
  • Updated favicon to use the new logo
  • Updated theme switcher to use the new logo
  • Fixed workspace creation not redirecting after submission
  • Fixed removing data sources
  • Fixed disconnecting attributes in data source configuration
Screenshot of Basedash with an error message: "Oops, something went wrong".

August 30, 2021

Improved stability of loading views

If you're an active Basedash user, you may have experienced the dreaded "Oops, something went wrong" error. It happens when we run into an error somewhere along the way of loading data for a view (or raw table). This is usually caused by a logic error in our code that converts your view into a SQL query that we run on your database.

This bug can be incredibly annoying, so we spent this past week focused on solving it. The solution took form in a few different ways:

  1. We fixed one cause of this issue, where loading a raw table could fail if it contained too many columns. This was caused because we used to pass all of the attributes in the API header, leading to an overflow of data. We switched to using POST calls and passing this data in the body of the API call, which fixed the issue.
  2. We fixed another cause of this issue, where hiding a primary key column on a view would cause it to fail. This was caused by an issue with column aliasing which we were able to get around with some clever SQL querying.
  3. We improved the error message when this issue occurs, with a button to message the team with context around the issue. This helps us debug and prioritize occurrences of the issue.
  4. Finally, we now track occurrences of this issue as a KPI to determine when a new root cause pops up, allowing us to fix it as soon as the issue goes live.

This is the first step to improving stability of the app. We plan to vastly expand our testing suite which will prevent new bugs from entering the app wherever possible.

Other improvements and fixes

  • Improved intro animation of "Run query" button
  • Fixed app crash caused by database columns being deleted outside of Basedash
  • Updated Ngrok connection to automatically strip out host protocol
  • Replaced data preview overlay with a banner when creating a new view
  • Removed header in the preview window of the view builder
  • Fixed name showing as always being taken when connecting a data source
  • Added a link to chat with the team when encountering a view loading error
  • Updated display names of tables and attributes to be humanized by default
  • Fixed issue with the filter popover appearing below the form panel in list layout
Make your database collaborative in as little as 90 seconds

See how removing barriers can change the way your team works.

No credit card required