Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions en/ai-sre/artifacts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ Once you generate a public link, anyone who gets the link can view this artifact

On success, the link is copied to your clipboard automatically (a "Public link generated and copied to clipboard" toast appears). The public link takes the form `https://<console-domain>/share/artifact/<artifact-id>` — it's identified by the artifact's own ID and carries no token; anonymous access is served entirely by the CDN, without going through any endpoint that requires sign-in.

<Note>
On private deployments, public links require the instance to be configured with a reachable share static-asset base (CDN). When it is not configured, the share panel does not offer the **Public link** option and only "Account only" sharing is available; public links generated earlier remain manageable and revocable. SaaS is not affected by this restriction.
</Note>

Visitors who open a public link see a read-only content page: next to the title, the top of the page carries the disclaimer "**Content is user-generated and unverified.**" and a "**Feedback**" entry — clicking it opens a report form (pre-filled with the current link) so anyone can report inappropriate content to Flashduty. The page also provides a "Sign in" entry that leads visitors to the console.

| Action | Description |
Expand Down
36 changes: 36 additions & 0 deletions en/changelog/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@ description: "This page documents important updates and feature releases for Fla
keywords: ["Changelog", "Product Release", "Feature Updates", "Flashduty", "Version History"]
---

<Update label="2026-09-02" description="🌍 Multi-time-zone support, RUM remote configuration, and a member detail page">

### Multi-time-zone support

Console times now render in the *viewer's* time zone, with settings at three levels:

- **Organization time zone**: set by the subject account or an Account.Admin under **Settings → Organization Information**. Changing it requires a confirmation dialog spelling out the impact — members without a personal time zone switch immediately, while organization-level on-call schedules keep their original wall-clock time and do not shift.
- **Personal time zone**: members pick their own under **Settings → Personal Information → Display Preferences**; leaving it empty **follows the organization time zone**. When the detected browser zone differs, a one-click "Use" hint appears — saved settings are never overwritten automatically.
- **Schedule time zone**: a schedule must choose a time zone at creation; shifts and rotations are computed on that zone's wall-clock time and cannot be changed afterwards. The schedule list gains a **Time Zone** column, and the member list shows each member's zone (following or custom).

See [Organization Information](/en/platform/organization-info), [Personal Settings](/en/on-call/configuration/personal-settings), and [Schedules](/en/on-call/configuration/schedule).

### RUM application remote configuration

Browser applications gain a **Remote Configuration** tab to tune collection parameters online, without shipping a new client build:

- **Session / session-replay / trace sample rates**: integers 0–100 (%); leaving a field empty means it is not delivered and the SDK init value applies. The trace rate samples again at session level within already-collected sessions.
- **Replay privacy level**: `mask` / `mask-user-input` / `allow`; loosening the level requires an extra confirmation before publishing (uploaded replays cannot be retroactively masked).
- **Conditional rules**: split delivery by exact (AND) matching on `env`, `app_version`, and `sdk`; rules are evaluated top-down, first full match wins, up to 20 rules.
- **Versioned publishing**: diff preview before publish, change history (latest 50 versions), one-click revert, and a per-session adoption progress panel.
- **Custom entries**: up to 5 typed key–value pairs (string/number/boolean/JSON) passed through to client code.

On SaaS the feature is rolled out account by account — contact support if the tab is not visible yet; private deployments have it enabled by default. See [Application Management](/en/rum/quickstart/app-management).

### Member detail page

Member rows in the member list and inside team detail pages are now clickable, opening a **member detail page**:

- Contacts (with unverified warnings), roles and teams, current on-call status and the next shift, and incident notification channels per severity level — all in one place
- Admins may edit a member's notification email/phone and roles, resend invitations, and manage licenses on the member's behalf; admin-edited contacts must be re-verified by the member before they receive notifications
- Profiles and roles of SSO-synced members are maintained by the identity provider; the in-page edit entries stay locked

See [Teams and Members](/en/platform/team-members).

</Update>

<Update label="2026-08-26" description="📱 React Native RUM support and Issue export">

### React Native app support
Expand Down
10 changes: 10 additions & 0 deletions en/on-call/configuration/personal-settings.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ Profiles of SSO-synced members are maintained by their identity provider; the ed

For supported phone number regions, refer to [FAQ](/en/on-call/quickstart/faq).

### Display Preferences

| Item | Description |
| --- | --- |
| **Time Zone** | Member accounts can set their own time zone; all times in the console are displayed in it. Leaving it empty means **follow the organization time zone**. When the detected browser time zone differs from the effective one, a "Detected you are in *zone* · Use" hint appears below the selector — click **Use** to adopt it in one click; the system never overwrites a time zone you have saved on its own. The subject account has no personal time zone — its display time zone *is* the organization time zone, which is changed on the **Organization Information** page |

<Note>
The organization time zone is maintained by the subject account or an Account.Admin on the [Organization Information](/en/platform/organization-info) page. Changing it affects the time display of every member who follows the organization.
</Note>

## Notification Preferences

---
Expand Down
5 changes: 5 additions & 0 deletions en/on-call/configuration/schedule.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,11 @@ Understanding these concepts before configuration will help you better plan your
- **Schedule Name**: 1–40 characters, must be unique within the account
- **Owning Team**: Specifies which team manages this schedule; team members gain edit permissions for this schedule
- **Schedule Description**: Supports Markdown syntax, content can be included in notifications; up to 500 characters
- **Time Zone**: Required. The schedule's rotations and shifts are computed on the **wall-clock time of this zone** (e.g. "handover at 09:00 daily" means 09:00 in the schedule's own zone). **It cannot be changed after creation**; to use a different zone, create a new schedule and migrate the dispatch policy references

<Note>
The schedule list shows a **Time Zone** column. The roster page labels two zones side by side: "times on this page are shown in your time zone" is the viewer's effective zone (personal time zone, or the organization zone when none is set), while the **schedule time zone** is the zone the shifts are defined in; concrete times on screen are converted to the viewer's zone.
</Note>

<Note>The Free plan allows you to create only 1 schedule. Upgrade to the Standard plan or higher to create more.</Note>
</Step>
Expand Down
15 changes: 7 additions & 8 deletions en/on-call/incident/search-view-incident.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,13 @@ Flashduty On-call provides two entry points to view the incident list. One is wi

| # | Feature | Description |
| :---: | :--- | :--- |
| 1 | Assignee | Defaults to incidents **Assigned to Me**, can switch to view all incidents in the account |
| 2 | My Channels | Defaults to all channels, can switch to view incidents in **My Channels** |
| 3 | Processing Progress | Filter incidents by progress, defaults to **All** |
| 4 | Time Filter | Supports relative time and custom range filtering |
| 5 | Search | Supports searching by incident title, ID, labels, and custom fields. After an incident's title, labels, or custom fields are updated, query results may be slightly delayed |
| 6 | More Filters | Supports rich dimension filtering, including severity, responders, related to me, creator, acknowledger, closer, snooze status, ever converged due to flapping, rare incidents, labels, and custom fields. The **Channels** and **Teams** filters are only visible under the global Incident Management entry, and Teams narrows incidents by the team that owns each channel; **Related to me** matches incidents where you are the creator, acknowledger, closer, or a responder |
| 7 | View Settings | Supports rich rendering options including **custom display attributes** and even aggregate views |
| 8 | Pagination | Pagination and items per page adjustment |
| 1 | Assignment toggle | A three-state control at the head of the filter bar: **All** / **Assigned to Me** (incidents where I am a responder) / **My Teams** (incidents in channels I belong to). It is mutually exclusive with the **Responders** and **Channels** filters in More Filters: manually selecting either one resets the toggle to **All** (manual selection takes precedence and is kept); the toggle only applies once those manual filters are cleared |
| 2 | Processing Progress | Filter incidents by progress, defaults to **All** |
| 3 | Time Filter | Supports relative time and custom range filtering |
| 4 | Search | Supports searching by incident title, ID, labels, and custom fields. After an incident's title, labels, or custom fields are updated, query results may be slightly delayed |
| 5 | More Filters | Supports rich dimension filtering, including severity, responders, related to me, creator, acknowledger, closer, snooze status, ever converged due to flapping, rare incidents, labels, and custom fields. The **Channels** and **Teams** filters are only visible under the global Incident Management entry, and Teams narrows incidents by the team that owns each channel; **Related to me** matches incidents where you are the creator, acknowledger, closer, or a responder |
| 6 | View Settings | Supports rich rendering options including **custom display attributes** and even aggregate views |
| 7 | Pagination | Pagination and items per page adjustment |

<Warning>
For query performance, the query time range is limited based on your subscription tier:
Expand Down
9 changes: 9 additions & 0 deletions en/platform/organization-info.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@ The Organization Profile section maintains the organization's identity. Only the
| **Name** | Organization name, displayed in invitation emails and SMS messages |
| **ID** | Unique identifier of the organization; provide it when integrating APIs or contacting support |
| **Domain** | Dedicated subdomain for login and email integration push |
| **Time Zone** | The organization time zone. Members without their own personal time zone see all times in it. Only the subject account or an Account.Admin can change it |

### Organization Time Zone

The organization time zone determines what "organization-following" members see across the console. Changing it requires confirming the blast radius:

- Every member **without** a personal time zone switches to the new zone **immediately**.
- **Organization-level on-call schedules keep their original wall-clock time** and do not shift when the organization time zone changes — a rotation written as "09:00 every day" in the schedule's own time zone stays 09:00 there.
- Members can override the display zone for themselves via the **Display Preferences** section of [Personal Settings](/en/on-call/configuration/personal-settings).

### Domain

Expand Down
18 changes: 17 additions & 1 deletion en/platform/team-members.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Click a team name to enter the team detail page, where you can:

---

In the member list, a warning icon appears next to unverified email addresses or phone numbers. Unverified contact methods cannot receive alert notifications. Please remind members to complete verification promptly.
In the member list, a warning icon appears next to unverified email addresses or phone numbers. Unverified contact methods cannot receive alert notifications. Please remind members to complete verification promptly. The list also shows each member's **Time Zone**: members without a personal time zone follow the organization time zone — see [Organization Information](/en/platform/organization-info) and [Personal Settings](/en/on-call/configuration/personal-settings) for details.

### Invitation Methods

Expand Down Expand Up @@ -126,6 +126,22 @@ You can perform the following actions in the License column of the member list:
The total number of licenses depends on your subscription plan. When all licenses are allocated, you need to release another member's license or upgrade your subscription to assign one to a new member.
</Note>

### Member Detail Page

In the member list (including the member list inside a team's detail page), click a member's name to open the **member detail page**, where that member's information is centralized:

| Section | Capabilities |
| --- | --- |
| **Contact** | View the notification email and phone and their verification status; an admin with the right permissions may edit them on the member's behalf. **Note**: a contact edited by an admin becomes **unverified** again, and the member must verify it in person before it can receive notifications |
| **Roles & Teams** | Change the member's account roles; view the teams the member belongs to |
| **On-call Status** | See whether the member is on shift right now, the current shift's start/end and remaining time, and the next upcoming shift |
| **Incident Notification Settings** | View the channels enabled for the member at each incident severity level (critical / warning / info) |
| **Account Actions** | Edit the member's profile, resend the invitation, manage the License |

<Note>
For members auto-created via SSO, the profile and roles are maintained by the identity provider; the corresponding edit entries on the member detail page are unavailable.
</Note>

### Deleting Members

<Warning>
Expand Down
42 changes: 42 additions & 0 deletions en/rum/quickstart/app-management.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,48 @@ Privacy settings allow you to control the scope of user privacy data collected b
After disabling geo-location or IP address collection, the related filter and analysis dimensions will no longer be available. Please adjust carefully based on your business requirements and compliance needs.
</Warning>

## Remote Configuration

The **Remote Configuration** tab of a Browser application lets you adjust collection and privacy parameters online, without code changes or a new release. When enabled, the configuration on this page overrides SDK initialization settings. When disabled, clients fall back to their SDK initialization settings and data collection continues uninterrupted.

<Note>
- Remote Configuration is currently available only for **Browser** applications. Other platform types will be enabled as their SDKs ship support.
- On SaaS the feature is rolled out account by account. If the **Remote Configuration** tab is not visible on the application detail page, contact support to enable it. On private deployments it is available by default.
</Note>

### Configuration values

| Field | Values | Description |
|------|------|------|
| **Session sample rate** | Integer 0–100 (%) | Percentage of sessions collected. Leave it empty to skip delivering this field; clients keep the value set at SDK initialization |
| **Session replay sample rate** | Integer 0–100 (%) | Percentage of sessions recorded by Session Replay. If empty, the SDK setting applies |
| **Trace sample rate** | Integer 0–100 (%) | A second session-level sampling pass within already-collected sessions, deciding which sessions inject trace headers into eligible requests; the outcome is consistent within one session. Overall trace coverage is roughly *session sample rate × trace sample rate*. If empty, the SDK setting applies |
| **Replay privacy level** | `mask` / `mask-user-input` / `allow` | Default masking of page content in Session Replay: `mask` obscures text and hides input values; `mask-user-input` keeps page text and hides only what users typed; `allow` records the page as it is. Loosening the level starts collecting content that was not collected before, and replays already uploaded cannot be retroactively masked. The console asks you to confirm again before publishing |
| **Custom configuration keys** | Key–value pairs typed as string / number / boolean / JSON | Delivered to clients together with the remote configuration and read by your application code; the platform does not interpret them. Up to 5 keys; each key name is at most 64 characters, each value at most 4 KB, and all custom entries together at most 16 KB |

<Warning>
Custom entries are delivered to clients and may be readable by end users. Never put secrets, access tokens, or personally sensitive information in them.
</Warning>

### Conditional rules

Besides the default values, you can add conditional rules that deliver different configurations to different clients:

- Match conditions support the `env`, `app_version`, and `sdk` dimensions, ANDed with exact comparison; a dimension the SDK does not report can never match. Each match value is at most 256 bytes.
- Rules are evaluated top-down and the **first fully matching rule wins**; its overrides are merged on top of the defaults, and fields the rule does not set keep the default values.
- Each application supports at most 20 rules.

### Publishing and activation

- Before publishing, the page shows a per-field diff against the live configuration and lets you inspect the raw JSON. Publishing creates a new version.
- By default the change activates on the **next new session**: sessions already running are unaffected, and new sessions gradually pick up the configuration — clients that support remote configuration usually finish switching within about 4 hours after a publish.
- You can choose **immediate activation** instead: when the new configuration arrives, the client ends the running session so a new session starts under the new values. This is intended for urgent situations — stopping an over-collection flood or ramping collection up right away — at the cost of splitting one visit into two sessions; visitors not collected previously will start producing data mid-visit.

### Version history and adoption

- Change history keeps the most recent 50 versions; older versions are cleaned up automatically and cannot be rolled back to. You can revert any retained version to make it the current configuration; a revert also produces a new version.
- The rollout panel reports the version distribution and adoption progress across recently arrived sampled sessions, distinguishing *waiting for new sessions*, *rolling out*, and *fully switched*, as well as sessions that *never received a configuration* or *did not report a version* (SDK too old or config never fetched), so you can confirm the release actually landed.

## Delete Application

If you no longer need an application, you can find the delete button at the bottom of the "Basic Info" tab in the application details.
Expand Down
4 changes: 4 additions & 0 deletions zh/ai-sre/artifacts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ Agent 会先向你确认目标读者、内容/数据来源、交互与视觉风

生成成功后链接会自动复制到剪贴板(提示「公开链接已生成,已复制到剪贴板」)。公开链接的形式为 `https://<控制台域名>/share/artifact/<产物 ID>`——它以产物自身的 ID 为标识,不携带令牌;匿名访问完全由 CDN 提供,不经过任何需要登录的接口。

<Note>
私有化部署下,公开链接依赖实例配置了可达的分享静态资源地址(CDN)。未配置时,分享面板不会出现「公开链接」选项,仅可「仅账户内」分享;此前已生成的公开链接仍可正常管理与撤销。SaaS 环境不受此限制。
</Note>

打开公开链接的访问者会看到只读的内容页:页面顶部在标题旁标注「**内容由用户生成,未经核实。**」声明,并提供「**反馈**」入口——点击跳转到举报表单(已自动预填当前链接),任何人都可以向 Flashduty 举报不当内容;页面同时提供「登录」入口,引导访问者登录控制台。

| 操作 | 说明 |
Expand Down
Loading