Every so often we run a hackweek at Linear. For a few days, we put down product work and build out smaller features, improvements, or ideas. This hackweek's theme was Magical Moments, but you could work on whatever you wanted, in teams or solo, with the goal of improving the product, creating customer delight, or building something for the team.
VS Code extension
Our Linear Connect extension makes it easy to build other VS Code extensions by providing an authentication provider that takes care of the OAuth flow to the Linear API. You usually won't use or install that extension on its own, but rather as a dependency in another extension.
To show you how easy it is, we built an extension called Linear Open Issue that opens the current Linear issue based on the Git branch you’re on. Give it a spin!
Magic tricks sometimes require a secret spell and these hackweek projects are no different. Some hackweek projects have already been released but are hiding deep down in a corner of the Linear app waiting to be discovered. A magic trick stops being magical once you know how it works, so we won't tell you where to find them but we'll give you a little hint: open any issue and then try Konami code 🤫.
Other hackweek projects are still in flight and will trickle into the app over the next few weeks. You'll see more accessibility improvements, some sparkle to the website, and a long-awaited integration.
New Select component
We rebuilt our Select component that is used across all views in Settings. This new implementation uses Radix primitives under the hood. Using this library made our select components compatible with W3C accessibility requirements, enhanced keyboard support for navigating between select items, and made all selects to match a currently selected interface theme. More accessibility improvements are coming, stay tuned.
We improved the iconography for cycles. They now better represent their cyclical nature and progress can be more easily tracked with the new icons. We added these progress icons to titles and cycle pages, so you can see how your cycle is going with a quick glance.
API change: Improved upload asset security
Not related to hackweek, we're making a change to how uploaded images are accessed to improve Linear's security. So far we relied on obfuscated high-entropy URLs to secure uploaded assets. On April 20th we'll start requiring authentication for opening any Linear hosted assets for API users on
uploads.linear.app. If you display comment or issue images in your system, you'll need to pass the same API authentication headers to access the images as you would when making a GraphQL API call. We expect this to have a minimal impact for the majority of Linear's API users.
Fixes & improvements
- [API] Fixed incorrect historic calculations of cycles that have issues with 0 estimates
- [API] Fixed filtering using a null-constraint within an OR logical operator
- Workspace security settings have been moved from the "Members" section into their own section accessible for workspace admins
- Triage issues will now appear in the "My issues" view
- Added the CmdShift' shortcut to copy issue title
- Project name input is now always correctly focused when opening the create project dialog
- Milestones can now be deleted even if there are projects in them
- Added an option to select a custom date for snoozing notifications
- Fixed display of GitHub linkbacks messages when containing HTML characters
- You can now search for an assignee from the Slack integration issue creation or assign dialogs with only two characters
- If an issue has multiple attached open pull requests, the issue will only be moved to the review status when the last pull request is marked as in review
- Improved accessibility of custom select components
- Fixed a regression in application startup performance for many workspaces
- Our PWA now uses the new desktop icon
- It's now possible to format message when contacting Linear support from the application
- Failing to open mail links will now offer to copy the email address to your clipboard
- Fixed an issue where changing checkboxes in a document wouldn't be saved
- Adding issue attachments on mobile will no longer cover the available options with the software keyboard
- Improved background colors for code blocks in issue descriptions & comments
- Improved behavior when converting plain text into a code block
- Embed links will no longer expand inside of code blocks
- Project graphs are now not drawn when the project has been started and completed within the same week
- We fixed some text mysteriously going missing when pasting from issues as plain text in other apps
- Fixed an issue that might have made the client think that issue archive transactions were hanging for a long time
- Fixed a regression where assignees would not be correctly subscribed to the issue
- We now use consistent emoji fonts across the application
- Cycle and progress icons now display the progress more clearly
- Fixed an issue where you could not initiate an action immediately on closing a modal
- Pull requests will no longer be linked with issues on close if they were not already linked with an issue
- Fixed "Add to cycle" when issues from multiple teams are listed
- Improved rendering performance in desktop app
- Linear onboarding is now better optimized for mobile devices
- Improved validation of URLs when creating attachments
- It's now possible to toggle the transparent sidebar from the Cmd/CtrlK menu
- Status filter now only includes issue statuses that are part of the view
- More icons and images across the app have alternative text
- Fixed some places where styles differed in the issue template editor
- We improved the search results surfaced inside of Front when linking an issue