Sync guard - #515
Merged
Merged
Conversation
An audit of user-facing strings in the last release found the Finish Job copy asserting processes KAN-323 never specified. Corrections, per the office's actual rules: - Over-invoiced is a diagnostic, not advice: a credit note is only one possible resolution — the job value being out of date is another — so the warning now names the fact and both likely causes, prescribing neither. - The load-error panel no longer instructs staff not to quote the customer; the T&M "get them right before invoicing" paragraph is deleted outright (the ticket forbids the checklist area nagging staff). - Timesheets only exist to invoice on a T&M job, so a quoted job is no longer asked "Have you collected the timesheet entries?". - "Has the job been released?" becomes "Has the job been handed over?", matching the field's meaning (collection, delivery, or on-site install). KAN-323 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnuHL7w3UisSk6KQ81q3Qf
True, but not something the office needs telling; the behaviour is pinned by a test, not by copy. The subtitle keeps "Recorded against the job." so staff know ticks persist. KAN-323 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnuHL7w3UisSk6KQ81q3Qf
- "Self-checklist." replaces "Recorded against the job." — every field is recorded against the job, so that said nothing. - Supervisor, not foreman — the term the workshop actually uses. The foreman_signed_off column keeps its name; only the label changes. - "today's timesheet entries" — says which timesheets are meant. - The materials question now asks what the check actually is: the workshop forgetting to write materials used on the job sheet, or writing them wrongly — not a vague "checked the materials". KAN-323 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnuHL7w3UisSk6KQ81q3Qf
A merged company's numbers live on the company it was merged into, but its archived Xero contact keeps the phones and is still fetched with include_archived=True. Every sync then collides with the winner's rows under the one-number-one-company rule, hard-failing the company and persisting an AppError — 105 of them in production. No prod-only remedy exists: blanking the number gets re-synced from Xero, and merging in Xero doesn't strip the archived contact's phones. sync_xero_phone_methods now returns early for a merged company; the next sync clears the whole backlog at once. A test pins the exact collision scenario. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PnuHL7w3UisSk6KQ81q3Qf
fix: stop the Finish tab prescribing business process it invented (KAN-323)
fix: skip Xero phone sync for merged companies
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Description
Short explanation of what you’ve built and why.
🔗 Related Jira Work Item
Jira: KAN-123
Use the uppercase Jira key (
KAN-123) in the PR title or body so GitHub forJira links the development event. Jira Automation owns the transition to Done
when the PR is merged.
🚀 Changes
useChatcomposable, splitChatHistoryandChatInputcomponents, added Pinia store).✅ Checklist
Vue.js (Composition API)
<script setup>& composables), no heavy logic in templatesuseChat, etc.)propsandemit, no direct parent/child ref duplicationQuality & Formatting
npx prettier --check .)npx eslint . --ext .js,.ts,.vue)Definition of Done
anyor loose passthrough types reviewedSee docs/jira-usage.md#required-checks.