Over the past few weeks we’ve been working on stabilising Zapp! and fixing outstanding bugs!, both on the frontend editor and some of our backend services which power our Pub server and import workflow.
Below is an overview of the main changes we’ve made, which are now live.
Ensuring Zapp! is snappy and responsive is one of our biggest priorities. The analyzer is an important part of a developers toolkit, as it powered much of the expected feedback you receive such as code errors. It also enables useful functionality such as IntelliSense – jumping to definition, automatic imports and much more.
With this release, we’ve reworked how the analyzer is implemented. It still runs directly in your browser, however we’ve improved a number of aspects with how it integrates with Zapp!. These improvements how mean the analyzer performs better, and fixes a number of outstanding issues such as:
- Documentation of internal (e.g. flutter/material) widgets how works as expected when hovering over a widget. Markdown quality rendering inside of the hover tooltip is now working as expected.
- Startup time has been reduced.
- Reduced initial download size of the analyzer.
- Jump to definition – previously buggy, is now working as expected.
This rework also opens the door to supporting other features such as Semantic Token Highlighting and Analysis Options.
Zapp! is now running on the latest Flutter version. We’ve got plans to introduce switching between various versions via the UI, however this isn’t our immediate priority.
It is now possible to stop an application via the “Stop” button in the header. This unmounts your Flutter application from the editor. You can start it again by pressing the “Run” button.
When viewing a project, the details view above the explorer is now updated to show useful information depending on the project type (pub.dev import, GitHub import, Gist etc).
When viewing the QR Code for a project, you are now presented with the option to toggle between displaying the QR Code to link to the preview or editor. Useful for workshops.
A number of UI fixes have been applied in this update:
- Jumping to a specific file/line in the editor, for example from Search, Logs or Diagnostics was previously buggy. This has now been fixed to work as expected.
- The entrypoint selector had a bug where it would not synchronise with the build pipeline, resulting in unexpected output when running the build. This has now been fixed.
- When choosing a different entrypoint, a bug where build files were missing from the saved project has also been fixed.
- Projects with long names would cause the Menu pane to blowout, overlapping various UI elements. This has now been fixed.
- Some logs from the Dart/Flutter application were being displayed in a “reversed” format. This has now been fixed.