← Back to the minutes

Shipping 1.5.0 and tweaking the referral scheme

The talat team

Overview

This was a long working session (around two and a half hours) between Mike and Nick to finalise and ship the talat 1.5.0 release. The bulk of the meeting covered reviewing the regression document, resolving a meeting-to-import demotion bug, and tweaking the Refer a Friend scheme before building, testing and publishing the release. The release went out successfully, with a couple of items logged for follow-up.

Key discussion points

Release candidates and testing

  • Nick had published the first release candidate the previous night and a second that morning, both of which Mike had already tested.
  • The API was confirmed deployed, so the app under test matched what should be live.

Import assignment bug (pre-existing)

  • On every imported recording the current user is always assigned, because that mirrors how meetings work.
  • Nick argued this is genuinely a bug from a user's perspective: if you import a podcast with two people who aren't you, you end up with a meeting full of unassigned speech and a "you" label you can't remove.
  • Mike acknowledged the point but was wary that removing the behaviour would affect a lot of other things.
  • Decision to leave it as-is for this release, since it is pre-existing.

Resume versus merge guardrails

  • Nick noted that "resume meeting" is effectively a merge but without the time-limit guardrails merge has, so resume needs guarding.
  • He floated removing resume entirely as it's so seldom used, but Mike defended it: it's good if you step away for a break.
  • Nick's main frustration as a user is not knowing when the record/resume option appears on a meeting page. Logged for the future rather than actioned now.

Meeting to import demotion bug

  • The restructure works: meetings can be moved, and imports can be promoted to meetings.
  • Bug found: the app also lets you demote a genuinely recorded meeting to an import, which is logically wrong. A meeting you recorded shouldn't be demotable to a plain recording.
  • Both agreed there's no functional or data reason preventing it (the file name and other fields are optional; they're the same records, just a different view), so it wouldn't break anything.
  • Agreed rule: items that were originally imports should move freely both ways using their source metadata; genuinely recorded meetings should be a one-way promotion only, never demotable.
  • Initially considered living with it for one release, but the fix turned out simple (it was always meant to work this way), so Nick fixed and merged it during the call, verified with before and after screenshots.

Settings tidy-up

  • Group all hotkey settings under a single Hotkeys section.
  • Tags currently live under Recordings; agreed they justify their own section, potentially bundled with speaker groups (which are also tags). Deferred to a future release.
  • Idea: clicking the "5 meetings" count on a tag should take you to the homepage filtered by that tag. Future.

Calendar polling

  • Poll interval brought down from 5 minutes to 2 minutes during local daytime hours (7am to 7pm), falling back to 5 minutes outside those hours. Nick couldn't reproduce the original issue but worked through the numbers.

Minor fixes in the release

  • Notifications now show the meeting time on the card.
  • Fixed several places that didn't know which speaker was you, so the app no longer asks odd questions about yourself.
  • The "update available" prompt now takes priority over most error notices (noted as dormant for now).
  • Export front matter: users can choose plain text or front matter and edit the whole template (for example to list emails or other fields).

Changelog and release framing

  • Notable entry: imports split from meetings, treated as a near-breaking change since imports disappear from the meetings list.
  • Also covered tags and the referral scheme.
  • Nick summarised it as a big release from our point of view but a small one from a changelog point of view, the referral work being the large code change.

Build, deploy and publish

  • Agreed to build and test the production build against the live API before switching the manifest.
  • Mike built the Mac artifact; Nick built the Windows artifact. The API deployed from the latest code so it included the just-added logging.
  • The release was published; both confirmed checkout applied the $5 coupon correctly across monthly, yearly and lifetime.

Decisions made

  • Ship talat 1.5.0; leave the pre-existing import auto-assignment bug unfixed for this release.
  • Fix and merge the meeting-to-import demotion bug now (a simple, always-intended fix). Rule: original imports move freely; recorded meetings are one-way promote only.
  • Enforce first-time-order eligibility and harden the referral terms; add logging on the API side.
  • Reduce the calendar poll interval to 2 minutes within 7am to 7pm local hours, falling back to 5 minutes outside.

Additional notes

  • The "assign speaker from the start of an utterance" work is nearly done, with a few edge cases remaining, but is not in this release.
  • Marketing and growth: interest in a renewed effort on socials, with some positive inbound feedback and untapped growth opportunities.