Over the past two months we received reports of slow performance affecting some of the larger Linear workspaces. We looked into the issues, and even made some changes to speed up the app, but determined that fixing the problem would require deeper work. Over the last couple of weeks, we have been heads down implementing fixes and planning larger changes to Linear’s architecture to support the long term scalability of the service.
Unfortunately what makes Linear extremely fast for most users can also make it slow for others if we scale faster than expected, which we did. This stems from technical architecture choices we made to build Linear and their trade-offs. This didn’t come as a surprise to us and we anticipated having to make changes sometime in the future, but not so soon and especially not after customers hit performance issues. We do our best to work on these issues before they can become a problem for an end-user.
This week we shared a pre-mortem that explains Linear’s architecture, the performance issues these customers were hitting, and the steps we’re taking in the near and short term to address them. While your workspace might not be affected, we wanted to share the document with all of you as we work through these challenges. If you hit performance issues, now or in the future, we’d like you to reach out so that we can fix them. The good news is that thanks to this work, Linear has gotten significantly faster for all users in the past two weeks. We consider speed a core feature of the product and will continue to treat it as a top priority as we scale.
Fixes and improvements
- [API] attachmentsForURL query now returns a paginated list of results instead of an array
- [API] attachmentIssue query has been deprecated. Please use attachmentsForURL with issuesub-query instead.
- Zendesk integration now supports linking multiple issues into a customer ticket
- There’s a new “Open issue” action, also accessible through the global [ O ] then [ I ] key shortcut, that lists all the recently accessed issues and enables a quick search through issue titles, similar to how it used to work in the global command menu.
- Notifications for actions that have been changed or undone will no longer show up in your Inbox
- Fixed a bug where codeblocks would cause a CSS bug in issue description & comments
- The “Open projects” list now includes projects from all teams you’re part of
- Removed duplicate fullscreen options from the desktop app menu
- Several style fixes for search input fields
- You can now filter issue states in the dropdown in issue create
- You can now unsubscribe from notifications for multiple issues
- Fixed a long-standing bug where lists would render incorrectly
- When creating a new team, we will now use your timezone rather than defaulting to UTC-7, Pacific Time
- Fixed a crash that could occur on the search page when searching a mis-formatted string
- Reduced minimum characters for searching to 2
- Added highlighting to issue identifier matches on the search page
- When using the keyboard shortcut [ / ] to focus the search input, the text is selected if the input is not empty for quicker searching
- History and navigation on the search page is improved. The back button and/or clicking the sidebar search button works correctly.
- Searching just for a number “123” will find issues that have 123 in their identifiers
- Fixed potential app crash with strings containing multiple or trailing spaces
- Added ability to clear recent items such as recent search queries or recently viewed issues. You can search for it in the command menu, by typing “clear recent”.
- Links to shared custom views are now unfurled when shared to Slack
- Improved issue contextual menus by alphabetically ordering projects, limiting assignee list to issue’s team members and improving styling
- Text formatted as inline code can now also have strikethrough formatting