Bernt Christian Egeland
|
e6fbc2ec2a
Show quote statuses as words, and highlight quotes that need attention (#399)
|
2 недель назад |
Bernt Christian Egeland
|
2e9749a677
Notifications open what they are about (#398)
|
2 недель назад |
Bernt Christian Egeland
|
8a27bca7ea
Let a locked quote be converted to a work order (#397)
|
2 недель назад |
Bernt Christian Egeland
|
9dbd5367da
openai connector (#396)
|
2 недель назад |
Bernt Christian Egeland
|
7ebf58e712
Sign-in page redirects a signed-in user instead of showing the form (#393)
|
2 недель назад |
Bernt Christian Egeland
|
19057895e2
Shared layout for account mails, with a device card in the new sign-in mail (#392)
|
2 недель назад |
Bernt Christian Egeland
|
1c078d2016
One workshop per self-hosted install, and a leaner admin overview (#391)
|
2 недель назад |
Bernt Christian Egeland
|
17ec165780
Move plan purchase and billing to torqvoice.com (#390)
|
2 недель назад |
Bernt Christian Egeland
|
81b8dbb45e
Signed-in devices, new-device mail, and password changes that end other sessions (#389)
|
2 недель назад |
Bernt Christian Egeland
|
703c8230d2
Bump nodemailer, vitest and two transitive packages within their majors (#388)
|
2 недель назад |
Bernt Christian Egeland
|
1575ccf7a1
Tidy up account linking, role assignment and the Meta webhook (#386)
|
2 недель назад |
Bernt Christian Egeland
|
9a861a95dc
Count only messages the inbox can open, and adopt a chat's earlier messages when it links (#385)
|
2 недель назад |
Bernt Christian Egeland
|
21757f7f80
Line and paragraph spacing in the email theme (#384)
|
2 недель назад |
Bernt Christian Egeland
|
70a88b594a
Link the invoice QR to the customer, answer a bare /start, show the connect QR on the Telegram tab, count unread in the tab title (#383)
|
2 недель назад |
Bernt Christian Egeland
|
564eedc2c0
Name new work orders from a title template in the workshop settings (#382)
|
2 недель назад |
Bernt Christian Egeland
|
4525f9a09a
End-to-end coverage for admin-only actions, file paths, payment attribution and inbound SMS (#381)
|
2 недель назад |
Bernt Christian Egeland
|
69b240cba0
Run the e2e suite in four shards beside the cloud specs (#380)
|
2 недель назад |
Bernt Christian Egeland
|
df5c91b191
Sign white-label licence tokens and verify them locally (#379)
|
2 недель назад |
Bernt Christian Egeland
|
a3c8e0aed0
New sign-in and sign-up pages, plan limits, Marine wording and e2e coverage (#378)
|
2 недель назад |
Bernt Christian Egeland
|
4e6793da2f
Online payments are booked once, with end-to-end tests for Stripe and PayPal (#377)
|
2 недель назад |
Bernt Christian Egeland
|
efc607f597
Point workshops at the new email designer (#376)
|
2 недель назад |
Bernt Christian Egeland
|
87ccf875bd
End-to-end tests for the email template designer (#375)
|
3 недель назад |
Bernt Christian Egeland
|
e66ec9b0d2
Split tax into several rates for Québec and other two-tax markets (#374)
|
3 недель назад |
Bernt Christian Egeland
|
bc9c30cd43
End-to-end tests: auth, work order pricing, quote to invoice (#373)
|
3 недель назад |
Bernt Christian Egeland
|
a468981b75
Enabling 2FA fails (#372)
|
3 недель назад |
Bernt Christian Egeland
|
cc698675b0
A better-looking default email (#371)
|
3 недель назад |
Bernt Christian Egeland
|
bc0236c4c3
Team invitations go out through the email designer (#370)
|
3 недель назад |
Bernt Christian Egeland
|
dd8f35b0a1
Telegram QR code on invoices (#369)
|
3 недель назад |
Bernt Christian Egeland
|
eb20c53682
Remove the providers signpost page (#368)
|
3 недель назад |
Bernt Christian Egeland
|
c4c42e1783
Let a portal customer read an invoice without downloading it (#367)
|
3 недель назад |