Skip to content

Commit ad084e6

Browse files
Merge branch 'main' into integration-headings-fix
2 parents 3c389a9 + 2606549 commit ad084e6

File tree

4 files changed

+76
-5
lines changed

4 files changed

+76
-5
lines changed

src/lib/utils/references.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export const Platform = {
6565

6666
type PlatformType = typeof Platform;
6767
export type Platform = (typeof Platform)[keyof typeof Platform];
68+
export const VALID_PLATFORMS = new Set(Object.values(Platform));
6869

6970
export const Framework = {
7071
NextJs: 'Next.js',
@@ -154,16 +155,27 @@ export const preferredVersion = writable<Version | null>(
154155
globalThis?.localStorage?.getItem('preferredVersion') as Version
155156
);
156157

157-
export const preferredPlatform = writable<Platform>(
158-
(globalThis?.localStorage?.getItem('preferredPlatform') ?? 'client-web') as Platform
159-
);
158+
function getInitialPlatform(): Platform {
159+
const stored = globalThis?.localStorage?.getItem('preferredPlatform') ?? Platform.ClientWeb;
160+
// return if this platform is valid
161+
if (VALID_PLATFORMS.has(stored as Platform)) {
162+
return stored as Platform;
163+
} else {
164+
return Platform.ClientWeb;
165+
}
166+
}
167+
168+
export const preferredPlatform = writable<Platform>(getInitialPlatform());
160169

161170
if (browser) {
162171
preferredVersion.subscribe((value) => {
163172
if (value) globalThis?.localStorage?.setItem('preferredVersion', value);
164173
});
165174

166175
preferredPlatform.subscribe((value) => {
167-
if (value) globalThis?.localStorage?.setItem('preferredPlatform', value);
176+
// only save the ones for which we have api references.
177+
if (value && VALID_PLATFORMS.has(value)) {
178+
globalThis?.localStorage?.setItem('preferredPlatform', value);
179+
}
168180
});
169181
}

src/routes/docs/advanced/platform/+layout.svelte

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,11 @@
152152
new: isNewUntil('28 Feb 2025'),
153153
label: 'Abuse',
154154
href: '/docs/advanced/platform/abuse'
155+
},
156+
{
157+
new: isNewUntil('31 July 2025'),
158+
label: 'Support SLA',
159+
href: '/docs/advanced/platform/support-sla'
155160
}
156161
]
157162
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
layout: article
3+
title: Support SLA
4+
description: Learn about Appwrite's support service level agreement (SLA) including response times, severity levels, and support commitments for different subscription tiers.
5+
---
6+
7+
This Support Service Level Agreement ("SLA") describes the support services provided by APPWRITE ("we," "us," or "our") to users of our products and services ("you" or "user"). By using our services, you agree to the terms of this SLA.
8+
9+
## Scope
10+
11+
This SLA outlines our commitments for providing support services via email, including response and resolution processes based on issue severity. The specific response times depend on the support tier associated with your subscription: **Pro**, **Scale**, or **Enterprise**.
12+
13+
## Severity levels
14+
15+
Support issues are categorized into the following severity levels:
16+
17+
- **Critical**: System is down or a critical component is non-functional, causing a complete stoppage of work or significant business impact.
18+
- **High**: Major functionality is impaired, but a workaround is available, or a critical component is significantly degraded.
19+
- **Medium**: Minor functionality is impaired without significant business impact.
20+
- **Low**: Issue has minor impact on business operations; workaround is not necessary.
21+
- **Question**: Requests for information, general guidance, or feature requests.
22+
23+
## Response time targets
24+
25+
| Severity | Pro | Scale | Enterprise |
26+
| --- | --- | --- | --- |
27+
| Critical | Unsupported | 1 hour (24/7/365) | 15 minutes (24/7/365) |
28+
| High | Unsupported | 4 hours (24/7/365) | 1 hour (24/7/365) |
29+
| Medium | 2 business days | 1 business day | 12 hours (24/7/365) |
30+
| Low | 3 business days | 2 business days | 24 hours (24/7/365) |
31+
| Question | 4 business days | 3 business days | 1 business day |
32+
33+
## Business hours and days
34+
35+
Our standard business hours are from **9:00 AM to 5:00 PM Pacific Time**, Monday through Friday, excluding public holidays. Enterprise and Scale customers receive extended support 24/7/365.
36+
37+
## User responsibilities
38+
39+
To ensure effective support, users are expected to:
40+
41+
- Provide detailed information about each issue, including screenshots, error messages, logs, and steps to reproduce the problem.
42+
- Ensure relevant personnel are available to assist in diagnosing and resolving issues.
43+
- Implement reasonable recommendations provided by our support team.
44+
45+
## Limitations and exclusions
46+
47+
- This SLA applies only to support requests submitted via the Appwrite Console.
48+
- SLA obligations may be affected by factors outside our reasonable control, including but not limited to force majeure events, third-party dependencies, or actions taken by the user.
49+
50+
## Modifications
51+
52+
We reserve the right to modify this SLA at any time. Changes become effective upon posting to our website. Your continued use of our services after changes indicates your acceptance of the updated SLA.
53+
54+
For questions or concerns about this SLA, please contact us at our [contact page](https://appwrite.io/contact-us).

src/routes/docs/references/[version]/models/[model]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<Td>{property.name}</Td>
4242
<Td>{property.type}</Td>
4343
<Td>
44-
{property.description}
44+
{@html parse(property.description)}
4545
{#if property.relatedModels}
4646
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
4747
Can be one of: {@html parse(property.relatedModels)}

0 commit comments

Comments
 (0)