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
2 changes: 1 addition & 1 deletion help/_plugins/SitePostRender.rb
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ def self.generate_ts_output(import_block, help_content_string)

type HelpContent = {
/** The content to display for this route */
content: ContentComponent;
content?: ContentComponent;

/** Any children routes that this route has */
children?: Record<string, HelpContent>;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: product
title: Distance Expense
---

# Distance Expense

Easily track mileage costs using Expensify's built-in map feature. Create and submit distance-based expenses right from the web, desktop, or mobile app.

- **Create distance expenses:** Click the green + button and choose Create expense, then select Distance. Enter your starting point and destination. You can also add stops if needed.

- **Submit for approval:** Choose your workspace and confirm the distance, amount, and date. Add optional notes or categories, then click Create expense to submit the mileage expense for approval.

- **Log a round-trip:** To log a round-trip, use the same location for both start and finish, and include any stops along the way.
16 changes: 16 additions & 0 deletions help/ref/new/task/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
layout: product
title: Tasks
---

# Tasks

Keep conversations organized by letting you create actionable to-dos directly within a chat. You can assign them to yourself or others in both 1:1 and group chats.

- **Create a task:** In any chat, click the + button next to the message field and select Assign a task. Add a title (required) and an optional description, and choose an assignee from chat participants. You can also leave it unassigned to track it yourself.

- **Use tasks to stay on top of action items:** Tasks are great for follow-ups like “Submit expense report,” “Share slide deck,” or “Update mileage rate.” They're perfect for 1:1 check-ins, project updates, or organizing next steps after a team discussion.

- **Edit and manage tasks:** Task creators and assignees can comment, edit the title or description, reassign the task, or mark it as complete. Just click the task to update any details.

- **Tasks stay visible:** Each task is shared in the chat where it's created. When completed, it will be clearly marked in the chat and can be reopened if needed.
14 changes: 14 additions & 0 deletions help/ref/r/:policyAnnounce/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
layout: product
title: Announce Room (#announce)
---

# Announce Room (#announce)

The #announce room is a chat space available to all workspace members. It's perfect for sharing company-wide updates, policy changes, or event reminders. The #announce room is accessible from your **Inbox** in the left-hand menu.

- **Post company-wide announcements:** All members can post in #announce by default, making it easy to communicate across the workspace.

- **Restrict posting to admins:** Workspace admins can limit posting to admins only. Open the #announce room, click the room header, select Settings, and change Who can post to Admins only.

- **Everyone can read messages:** Even if posting is limited to admins, all workspace members can still view messages in the #announce room.
12 changes: 10 additions & 2 deletions src/components/SidePanel/HelpComponents/HelpContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,16 @@ function HelpContent({closeSidePanel}: HelpContentProps) {

const cleanedPath = path.replaceAll('?', '');
const expenseType = getExpenseType(transaction);
const reportOverride = expenseType ? `:${CONST.REPORT.HELP_TYPE.EXPENSE}/:${expenseType}` : `:${getHelpPaneReportType(report)}`;
return cleanedPath.replaceAll(':reportID', reportOverride);

if (expenseType) {
return cleanedPath.replaceAll(':reportID', `:${CONST.REPORT.HELP_TYPE.EXPENSE}/:${expenseType}`);
}

if (report) {
return cleanedPath.replaceAll(':reportID', `:${getHelpPaneReportType(report)}`);
}

return cleanedPath;
}, [routeName, transaction, report]);

const wasPreviousNarrowScreen = useRef(!isExtraLargeScreenWidth);
Expand Down
Loading
Loading