Skip to content

chore(release): promote develop to main - #127

Merged
nicolasiscoding merged 2 commits into
mainfrom
develop
Jul 27, 2026
Merged

nicolasiscoding merged 2 commits into
mainfrom
develop

Conversation

@nicolasiscoding

@nicolasiscoding nicolasiscoding commented Jul 26, 2026 •

Copy link
Copy Markdown
Member

Related

Part of the TurboSign audit-trail / sender-identity feature (see the master tracking issue for the full cross-repo picture).

Release delta — main → develop

2 commits, clean (no SHA-divergence noise — develop was already in sync with main before this).

QA focus

Content-only change, no code/build risk. Spot-check the two new pages render correctly and the cross-links between them resolve.

Deployment Notes

None. No env/infra/migration impact.

amitsharma-turbodocx and others added 2 commits July 26, 2026 16:44
…ons (#119)

Several pages contradicted current behavior:
- SDKs/index.md said TurboQuote "does not require" a sender email. It has no per-request
  FIELD, but a sender is still required — it comes from the org quote template, and an
  API-key caller without one is rejected with 400 SenderEmailRequired.
- quote-java/quote-go said "TurboSign sender validation is skipped here", which is now false
  and contradicted the SenderEmailRequired paragraph directly beneath it.
- javascript.md marked TurboSign senderEmail as not required; it is.
- The SenderEmailRequired endpoint list omitted handle-expired-sent, which voids the original
  quote before duplicating and now runs the same gate.

Added:
- The seven send-precondition codes (QuoteNotSendable, QuoteValidUntilRequired, QuoteExpired,
  QuoteHasNoLineItems, QuoteContactRequired, QuoteCustomerInactive, SenderEmailRequired) on all
  six quote SDK pages and in the shared error-code table.
- That `code` is always populated (API code, else the error class's default) and that messages
  carry the actionable field-level reason rather than the generic envelope.
- Audit-trail device/OS/timezone/language columns, and the SDK vs n8n-node vs raw-API
  distinction — previously undocumented anywhere.
- preparedBy is returned by the single-quote fetch ONLY, resolves to the API key's name for an
  API-created quote, and should be preferred over `creator`.
- Duplicating a quote attributes the copy to whoever duplicated it.
* docs: add step-by-step walkthrough for quote sender information

Closes #125. Screenshots captured live via guidewright-capture.

* docs: redact tenant name, emails, avatars, and third-party logo from screenshots

---------

Co-authored-by: Nicolas Fry <nicolas@turbodocx.com>
@nicolasiscoding

Copy link
Copy Markdown
Member Author

Claude review

Content-only change (2 commits: the sender-identity explanation page + the Quote Settings walkthrough). No code/build risk. Both pages read correctly, cross-links resolve, screenshots are sanitized (no real tenant name/emails/branding).

Approved.

@nicolasiscoding
nicolasiscoding merged commit a7ef48b into main Jul 27, 2026
1 check passed
nicolasiscoding added a commit that referenced this pull request Aug 24, 2026
* chore(github): add change request issue template (#99)

* chore(github): add change request issue template

* chore(github): convert change request template to issue form

* chore(github): add change request issue form template

* chore(github): drop cross-repo Related PRs from public repo form (no internal exposure)

* chore(github): require change request form on all issues; widen details field

* chore(github): add bug report form + change-request agent guidance

---------

Co-authored-by: nicolasiscoding <nicolas@turbodocx.com>

* chore(release): promote develop to main (#127)

* docs: correct sender-identity claims and document the send preconditions (#119)

Several pages contradicted current behavior:
- SDKs/index.md said TurboQuote "does not require" a sender email. It has no per-request
  FIELD, but a sender is still required — it comes from the org quote template, and an
  API-key caller without one is rejected with 400 SenderEmailRequired.
- quote-java/quote-go said "TurboSign sender validation is skipped here", which is now false
  and contradicted the SenderEmailRequired paragraph directly beneath it.
- javascript.md marked TurboSign senderEmail as not required; it is.
- The SenderEmailRequired endpoint list omitted handle-expired-sent, which voids the original
  quote before duplicating and now runs the same gate.

Added:
- The seven send-precondition codes (QuoteNotSendable, QuoteValidUntilRequired, QuoteExpired,
  QuoteHasNoLineItems, QuoteContactRequired, QuoteCustomerInactive, SenderEmailRequired) on all
  six quote SDK pages and in the shared error-code table.
- That `code` is always populated (API code, else the error class's default) and that messages
  carry the actionable field-level reason rather than the generic envelope.
- Audit-trail device/OS/timezone/language columns, and the SDK vs n8n-node vs raw-API
  distinction — previously undocumented anywhere.
- preparedBy is returned by the single-quote fetch ONLY, resolves to the API key's name for an
  API-created quote, and should be preferred over `creator`.
- Duplicating a quote attributes the copy to whoever duplicated it.

* docs: step-by-step walkthrough for quote sender information (#126)

* docs: add step-by-step walkthrough for quote sender information

Closes #125. Screenshots captured live via guidewright-capture.

* docs: redact tenant name, emails, avatars, and third-party logo from screenshots

---------

Co-authored-by: Nicolas Fry <nicolas@turbodocx.com>

---------

Co-authored-by: Amit Sharma <amit.sharma@turbodocx.com>
Co-authored-by: Nicolas Fry <nicolas@turbodocx.com>

* docs: add a Dashboard how-to guide

The Dashboard has a nav entry in the app but no documentation. Three
existing pages captioned a screenshot "TurboDocx Main Dashboard" while
actually showing the Home page, so the only mention was wrong.

Adds a task-shaped how-to: find the documents that were sent for
signature and have not come back, then chase them. Steps cover opening
the Dashboard, setting the time period, reading the signature flow,
finding stalled documents in Needs a Nudge, and sending a reminder,
then the signing activity globe and its list and fullscreen views.

Screenshots are captured against a real running app with the click
target boxed in red. Document names, signature names and email
addresses in every screenshot are replaced with generic business
examples so nothing internal ships to a public repo.

Sits at the top level, right after Welcome, because the Dashboard spans
signatures, deliverables and quotes rather than belonging to any one of
them.

* docs: soften the Send Reminder step for documents past signing

The stalled rail admits finalizing and finalization_failed as well as
under_review, and TurboSign gates Send Reminder on under_review alone, so
the menu item can legitimately be greyed out for a row the Dashboard
listed. Says so instead of promising a click that may not be available.

---------

Co-authored-by: nicolasiscoding <nicolas@turbodocx.com>
Co-authored-by: Amit Sharma <amit.sharma@turbodocx.com>

This branch was successfully deployed

1 active deployment
turbodocx-docs (Preview) — 1e799bf7 Deployed Jul 26, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants