squawk.

Changelog

What shipped, newest first.

Every change to the SDK, the inbox and delivery, as it lands. Versions are the pub.dev releases; everything else goes live the day it merges.

Latest

The README shows the flow

  • The package README opens with a recording: shake, circle the wrong total, add a label, Next, type a line, Send. Twenty-five seconds, so pub.dev and GitHub show what Squawk does before anyone reads a word.
  • The example gains a demo order screen with a deliberately wrong total, the one in the recording, for anyone who wants to try the sheet on something that looks like an app. Nothing in the package itself changes.

Draw at full size, then describe

  • The report sheet is two steps. The screenshot fills the screen at its real size, with a slim bar of tools at each end, so a finger has the whole screen to aim at. Next slides the form up over the drawing. Before, the form sat under the screenshot and left it at about half size, and a thumbnail once the keyboard came up.
  • Two fingers pinch to zoom in, up to four times, and drag to pan. A Fit button brings the whole picture back. A second finger landing mid-stroke cancels that stroke instead of leaving a dot.
  • The keyboard pushes the sheet and never the drawing. The sheet follows a drag from its grab bar; tapping the drawing or the Android back button returns to it with the typed text kept.
  • Nothing changes in what is sent: drawings were always stored in screenshot pixels and still are.

A new front page, and docs on the site

  • The headline now says what happens: shake the phone, get the whole bug. The phone and the inbox sit side by side in the hero, and a row underneath shows where each platform stands: Flutter available now, React Native, iOS and Android coming soon.
  • How it works is three cards with a visual each, the install snippet, the annotated screen and the inbox. Every report shows a real report as the inbox displays it, with the four things that arrive called out around it.
  • Pricing is one card with the two plans side by side, so the beta note is no longer hidden inside the Pro plan.
  • The README now lives on the site too, at /docs, with a copy button on every snippet and an outline that follows you down the page. The changelog gained filters, and every page has the theme toggle.
  • Sections fade in as you scroll, and every page respects the reduced-motion setting.

Switch it off for the store

  • SquawkOptions(enabled: false) renders your app and nothing else: no shake listener, no button, no log capture, and nothing left in the spool by an earlier build is uploaded. It is a plain runtime value, so it can wait for an answer such as whether the install came from TestFlight.
  • The README is rewritten so a reader can ship Squawk without asking anyone. A new section covers keeping it out of the build the public gets, including a TestFlight build promoted to the App Store, and why Android needs a separate production build. The limits, the retry schedule and the 30-day retention are all stated.

Slack tells you when it is only half working

  • A report can reach Slack two ways: posted as the Squawk app, or through the channel's webhook when the app cannot post there. Both arrive, but only the first can be resolved or deleted from the inbox later. The difference used to be invisible.
  • Send test now says which route it took, and the Slack card warns on its own when real reports have been arriving through the webhook. Both name the cure: invite the app to the channel.
  • The card explains private channels before you pick one, and how to invite the app without inviting somebody else's.
  • The settings page no longer sends the Slack connection's credentials to the browser. It only ever needed the channel and workspace names.

Slack, both ways

  • Reports are posted as the Squawk app rather than through a webhook, so the message can be reached again. Resolve a report in the inbox and the Slack message updates; delete it and the message goes.
  • A report resolved from Slack can be re-opened from Slack. The button flips with the status.
  • The 30-day purge takes the Slack message with the report, so nothing in the channel points at a report that no longer exists.
  • If the app cannot post in a channel, delivery falls back to the webhook rather than dropping the report.
  • The report open on the right no longer goes stale when it is resolved from Slack or by a teammate.

Teams, projects and the 30-day purge

  • Reports on the free tier are deleted 30 days after they arrive, by a daily purge, row and screenshot together. This is the promise the privacy policy makes, now running.
  • Delete your account from the workspace page. It takes every report only you can reach, the same way.
  • Rename or delete a project from its settings. Deleting takes its reports and screenshots with it, and builds still carrying its key are rejected.
  • Invite teammates to a workspace by email. Everyone in it sees the same reports; only owners can invite, remove or delete.

A perfect pub.dev score

  • Restructured a capture code path pub.dev's stricter analyzer flagged. No behaviour change, just a listing that says what it should.

Slack, without leaving Slack

  • Connect Slack with two clicks. The channel is picked on Slack's own consent screen, with no webhook URLs to paste.
  • Every report lands with a Resolve button in the message, so triage happens where you already are.

squawk 0.1.0 on pub.dev

  • The first working release: wrap your app in one widget, shake, annotate, send.
  • Pen, arrow and text-label tools on a frozen screenshot, so drawings stay where they were drawn.
  • Device info, build mode and recent logs ride along on every report; offline reports spool and send when the network is back.

The beta opens

  • Signup is open at app.squawksdk.com, with GitHub or a magic link, free while the beta runs.
  • Pricing published: a free tier that never caps reports, and Pro at $15/mo flat per workspace.
  • Privacy policy and beta terms live, with EU storage and hard deletes as the standing promise.

The shake trigger becomes ours

  • The trigger is now Squawk's own native code on both platforms, with shakeSensitivity to tune it on Android.

Capture, re-architected

  • Screenshot first, annotate on the still image, so a drawing can never land on the wrong pixel again, even after scrolling.
  • Arrow and text-label tools join the pen.