Repository navigation
Highlights
This release brings a full-screen task experience to mobile, lets businesses connect bank accounts without leaving their tasks, and makes file uploads easier. It also fixes a number of issues in tasks, transactions, receipts, invoices, and bank connections.
Before you upgrade: review your styling
Several screens have new or changed layouts. Please check them against your theme and any CSS overrides on both desktop and mobile widths:
- Mobile task view: a new full-screen experience with a task list, progress tracking, and “Show all” drawers.
- Task forms: new subtitles, paragraphs, confirmation checklists, and stored-file lists.
- File upload fields: new drag-and-drop states, plus a simpler CSV step in the transaction upload flow.
- Task and transaction lists: now limited to three rows, with a drawer for the rest.
- Animations: new transitions when selecting an option, answering a follow-up, or completing a task.
What’s new
- A full-screen task experience on mobile. On small screens, bookkeeping tasks now open in a focused, full-screen view. Owners tap to move forward, track their progress, skip tasks, and see the full list in a “Show all” drawer. This turns on automatically, with no setup needed.
- Richer task forms. Tasks can now include subtitles, explanatory paragraphs, and confirmation checklists. Owners can manage files they’ve already uploaded and connect a bank account directly from the task.
- Drag-and-drop uploads on desktop. Users can drop files straight into upload fields.
- Plaid Link outcomes in your event callbacks. A new linked_accounts.link_finished event is sent through eventCallbacks.onEvent. It tells you whether each connection attempt was completed, exited, or errored, along with:
- the institution
- the link session ID
- Plaid’s exit status
- error details, when the attempt fails
You can use it to track connection success or to trigger your own follow-up.
Improvements
- Smoother bank connections. Connecting a newly found account finishes the related task right away and refreshes the task list. Bank connections started from tasks now use your Plaid configuration.
- Account confirmation from the overview. Users can open account confirmation directly from the Bookkeeping Overview.
- Clearer task status. Tasks now show exactly what your Layer setup provides. Answered tasks, including archived ones, show a completion check. Uploads that were already handled are clearly labeled, and a redundant answer badge has been removed from task titles.
- Safer invoice editing. Edit actions are hidden on invoices that can no longer be changed.
- Steadier uploads. The transaction upload area keeps its size while a file is dragged over it.
Fixes
- Bank transaction rows show the counterparty name again.
- Receipts no longer show a duplicate PDF preview.
- Account confirmation windows no longer flicker or reset unexpectedly.
- Service and account-linking screens stay steady as you move between steps.
- Notifications no longer appear after the Layer components are removed from the page.
What's Changed
- [LAY-2695] Hide redundant PDF preview on receipts by @augmentcode[bot] in #1797
- [LAY-2758] feat: hide invoice mutation actions when is_editable is false by @AndrewAcomb in #1831
- [LAY-2754] Unified ask form: contract and schemas (1/6) by @darrensapalo in #1832
- [LAY-2754] Unified ask form: load periods from the unified tasks route (2/6) by @darrensapalo in #1834
- [LAY-2754] Unified ask form: submit, next-page and search hooks (3/6) by @darrensapalo in #1835
- [LAY-2754] Unified ask form: form state, routing and answer helpers (4/6) by @darrensapalo in #1836
- [LAY-2761] Remove unused tag dimension create hooks and schemas by @sarahraines in #1840
- [LAY-2754] Unified ask form: TanStack form steps and the unified step components (5/6) by @darrensapalo in #1837
- [LAY-2754] Unified ask form: render bookkeeping tasks (6/6) by @darrensapalo in #1833
- [LAY-2754] Unified ask form: remove the legacy and counterparty task paths (7/6) by @sarahraines in #1839
- chore(release): v0.1.147-alpha.0 by @github-actions[bot] in #1842
- [LAY-2763] chore: npm audit fix by @sarahraines in #1846
- [LAY-2764] Mobile tasks takeover: caret rows and tap-to-advance in the ask form (1/4) by @darrensapalo in #1847
- [LAY-2765] Mobile tasks takeover: full-screen task flow with Skip (2/4) by @darrensapalo in #1848
- chore(deps-dev): bump the dev-tooling group across 1 directory with 10 updates by @dependabot[bot] in #1851
- chore(deps-dev): bump typescript-eslint from 8.67.0 to 8.71.1 in the linting group across 1 directory by @dependabot[bot] in #1850
- [LAY-2766] Mobile tasks takeover: open tasks from the mobile list and keep answers viewable (3/4) by @darrensapalo in #1849
- [LAY-2741] test(coverage): add RTL tests for usePaginationState by @augmentcode[bot] in #1824
- [LAY-2770] Mobile tasks takeover: tests for the takeover and mobile list (4/4) by @darrensapalo in #1853
- [LAY-2767] Remove the answer badge from answered task titles by @darrensapalo in #1854
- [LAY-2771] Bookkeeping tasks: render the tasks the API sends without filtering by status by @darrensapalo in #1857
- [LAY-2762] Report Plaid Link outcomes and surface Link errors to onError by @darrensapalo in #1841
- [LAY-2772] fix: Show already-answered on resolved uploads by @darrensapalo in #1858
- [LAY-2768] Unified ask form: connect a bank account from the account mask task by @darrensapalo in #1855
- [LAY-2776] fix: clear pending toast timers when the business provider unmounts by @sarahraines in #1863
- [LAY-2769] feat: Add drag-n-drop to form file upload field (desktop only) by @jimwei1 in #1856
- [LAY-2773] feat: animate task option selection, follow-ups and completion by @darrensapalo in #1859
- [LAY-2777] Bookkeeping tasks: pass the host's Plaid settings to Connect account by @darrensapalo in #1866
- [LAY-2778] Bookkeeping tasks: show a check on answered tasks the API archived by @darrensapalo in #1867
- [LAY-2774] fix: count takeover progress against the tasks open when it opened by @darrensapalo in #1861
- [LAY-2775] fix: show the counterparty name in bank transaction rows again by @sarahraines in #1862
- chore(release): v0.1.147-alpha.1 by @github-actions[bot] in #1868
- [LAY-2779] Unified ask form: delete removed uploads and list a step's stored files by @darrensapalo in #1869
- [LAY-2784] Mobile tasks takeover: task list and "Show all" drawers, shared task row, P2P round 2 polish (5/5) by @darrensapalo in #1871
- [LAY-2786] Fix Bank Accounts Confirm Modal Re-Render by @jimwei1 in #1873
- [LAY-2783] Manual Discovered Account: Connect Account Task refresh tasks after linking an account by @jimwei1 in #1870
- [LAY-2787] Open the account confirmation modal from the Bookkeeping overview by @darrensapalo in #1874
- [LAY-2788] Unified ask form: checklist steps for confirmation tasks by @sarahraines in #1875
- [LAY-2789] fix: keep ConditionalList containers mounted in the services drawer and link step by @jimwei1 in #1876
- chore(release): v0.1.147-alpha.2 by @github-actions[bot] in #1877
- [LAY-2790] fix: Match task fixture copy to the API by @sarahraines in #1878
- [LAY-2792] fix: Keep Plaid Link interactive under the mobile tasks takeover by @darrensapalo in #1880
- [LAY-2791] fix: cap task transactions list at three rows and mobile task list at three tasks by @darrensapalo in #1879
- [LAY-2793] feat: Task subtitles and page paragraphs in the unified ask form by @darrensapalo in #1881
- [LAY-2795] fix: Flatten the upload transactions CSV step and keep the drop zone height stable on drag by @darrensapalo in #1883
- [LAY-2794] i18n: extract translation keys by @github-actions[bot] in #1882
- [LAY-2797] i18n: extract translation keys by @github-actions[bot] in #1885
- [LAY-2796] i18n: update fr-CA translations by @github-actions[bot] in #1884
- chore(release): v0.1.147 by @github-actions[bot] in #1886
Full Changelog: v0.1.146...v0.1.147