Getting Started
Welcome to Corejobtrack Desktop, the desktop client for the Corejobtrack task management system. This guide will walk you through installation, logging in, and navigating the application for the first time.
---
System Requirements
---
Installation
From a Pre-Built Package
1. Download the installer for your platform from your organization's distribution channel.
2. Run the installer:
3. Launch Corejobtrack Desktop from your applications menu or desktop shortcut.
From Source (Developer Setup)
1. Ensure Python 3.10 or later is installed.
2. Clone the repository and navigate to the project directory.
3. Install dependencies:
pip install -r requirements.txt
4. Copy the environment template and configure it:
cp .env.sample .env
5. Edit .env to set your server URL and other options (see Configuration below).
6. Run the application:
python main.py
---
Configuration
The .env file controls how the application connects to your server. Key settings:
| Setting | Default | Description |
| `SERVER_URL` | `https://your-server.example.com` | Your Corejobtrack server address |
| `SSL_VERIFY` | `true` | Whether to verify SSL certificates |
| `SYNC_INTERVAL_SECONDS` | `30` | How often offline changes sync (in seconds) |
| `LOG_LEVEL` | `INFO` | Logging detail level |
Most users will only need to set SERVER_URL if connecting to a different server.
---
Logging In
When you launch Corejobtrack Desktop, the login screen appears.
Login Screen Layout
Connection Status
At the bottom of the login screen, you will see:
Logging In Step by Step
1. Enter your username or email in the first field.
2. Enter your password in the second field.
3. Optionally check Save password to remember your credentials.
4. Optionally check Auto-login to skip the login screen next time.
5. Click Log In or press Enter.
If your credentials are correct, the login window closes and the main application window opens. If login fails, an error message appears in red text below the login button.
Rate Limiting
For security, after 5 failed login attempts within 5 minutes, login is temporarily locked. A message will tell you how many seconds remain before you can try again.
Auto-Login
If you previously checked Save password and Auto-login, the application will attempt to log you in automatically when launched. If the server is unreachable or your credentials have changed, you will be returned to the login screen.
After manually logging out, auto-login is suppressed for the next launch so you can log in with different credentials if needed.
---
First Look: The Main Window
After logging in, the main application window opens with several key areas:
Header Bar
The header bar runs across the top of the window and contains:
Content Area
The large area below the header shows the currently selected view. By default, you start on the Home (Inbox) view, which displays all your active work items.
Status Bar
At the very bottom of the window:
Menu Bar
The traditional menu bar at the top of the window provides additional options:
System Tray
On supported systems, a Corejobtrack icon appears in your system tray. Right-click it for options to show the window or quit. Left-click to bring the window to the foreground. New notifications will appear as system tray popups.
---
Keyboard Shortcuts Quick Reference
| Shortcut | Action |
| Ctrl+R | Refresh current view |
| Ctrl+Q | Quit application |
| Ctrl+N | New Task |
| Ctrl+Shift+N | New Service Ticket |
| Ctrl+Alt+N | New Support Ticket |
| Ctrl+1 | Go to Home |
| Ctrl+2 | Go to Completed |
| Ctrl+3 | Go to Customers |
| Ctrl+4 | Go to Contacts |
| Ctrl+5 | Go to Equipment |
| Ctrl+6 | Go to Vendors |
| Ctrl+7 | Go to Templates |
| Ctrl+8 | Go to Notifications |
| Ctrl+9 | Go to Settings |
---
What's Next
Now that you are logged in and familiar with the layout, explore the following guides:
Inbox & Navigation
The Inbox is your home screen in Corejobtrack Desktop. It shows all of your active work items — tasks, service tickets, and support tickets — in a single unified list. From here, you can search, filter, sort, and open any item.
---
Overview
When you click the Home button (house icon) in the header bar or press Ctrl+1, the Inbox view loads. It fetches your active work items from the server and displays them as a scrollable list of cards.
---
Toolbar
The toolbar at the top of the Inbox provides controls for finding and organizing your items.
Search
The search field (placeholder: "Search tickets...") filters items in real time as you type. It searches across:
There is a 300-millisecond delay after you stop typing before the filter applies, so the list does not jump around while you are still entering text. Press Enter to search immediately. Click the X button inside the search field to clear your search.
Sort Field
The sort dropdown lets you choose how items are ordered. Options include:
Your sort preference is saved and restored across sessions.
Sort Direction
The arrow button next to the sort dropdown toggles between descending (↓) and ascending (↑) order. Click it to reverse the current sort. This preference is also saved.
Refresh
The circular arrow button (⟳) reloads your items from the server. The button is disabled while loading. You can also press Ctrl+R to refresh.
+ New Button
The bright blue + New button creates new work items. It pulses with a subtle glow animation to draw attention. Click it to reveal a dropdown menu:
---
Type Filter Tabs
Below the toolbar, four tabs filter items by type:
| Tab | Shows |
| **All** | Every active item |
| **Service** | Service tickets only |
| **Support** | Support tickets only |
| **Tasks** | Tasks only |
Click a tab to instantly filter the list. The search and sort settings still apply on top of the type filter.
---
Item Cards
Each work item appears as a card in the list. Cards are richly detailed so you can quickly scan your inbox without opening individual items.
Card Layout
Each card contains the following information (left to right, top to bottom):
Unread Indicator
A blue dot (●) appears on the left edge of items you have not yet viewed.
Color Bar
A thin vertical color strip on the left edge. The color comes from the item's assigned color tag and helps you visually categorize items at a glance.
Row 1: Title and Badges
Row 2: Code, Status, and Urgency
Row 2b: Equipment Info (if applicable)
Row 3: Metadata
Opening an Item
Double-click any card to open its detail view. The detail view replaces the inbox content and shows a Back button to return.
---
Right-Click Context Menu
Right-click any card to see a context menu with quick actions. The available options depend on the item type:
Tasks
Service Tickets
Support Tickets
---
Empty State
If no items match your current filter and search criteria, a centered message appears: "No items to display."
---
Record Count
The status bar at the bottom of the window shows the total number of items currently displayed (e.g., "42 items").
---
Tips
Tasks
Tasks are the simplest work item type in Corejobtrack. They are ideal for general to-do items, internal assignments, and work that does not require the specialized fields of service or support tickets. Tasks support checklists (steps), notes, customer information, and private team chat.
---
Creating a Task
There are several ways to create a new task:
1. Click the + New button in the Inbox toolbar and select New Task.
2. Use the menu: Edit > New Task.
3. Press Ctrl+N.
4. Select From Template... in the + New menu to create a task pre-filled from a saved template.
A new task detail view opens with empty fields ready to fill in.
---
Task Detail View
The task detail view is where you create, view, and edit tasks. It has a header section with form fields at the top and a tabbed area below for steps, notes, customer info, and chat.
Header
Form Fields
Title (required)
A single-line text field for the task name. This is the only required field — you must enter a title before saving.
Description
A multi-line text area for detailed information about the task.
Status
A dropdown to set the task's current state:
Urgency
A dropdown to set the priority level:
Due Date
Check the Set due date checkbox to enable the date picker. Select a date from the calendar popup. Uncheck the box to clear the due date.
---
Steps Tab
The Steps tab provides a checklist for breaking a task into smaller items.
Adding Steps
1. Type a step description in the text field (placeholder: "New step description...").
2. Click Add Step or press Enter.
3. The step appears in the list below.
Using the Checklist
Each step has a checkbox next to it:
For saved tasks, checking or unchecking a step immediately updates the server. For new (unsaved) tasks, steps are saved when you click Save.
Steps are displayed in the order they were added.
---
Notes Tab
The Notes tab provides a running log of comments and updates on the task.
Viewing Notes
Existing notes appear in a list, each showing:
Notes are displayed in chronological order.
Adding a Note
1. Type your note in the text area at the bottom (placeholder: "Write a note...").
2. Click Add Note.
3. The note is immediately posted to the server and appears in the list.
Notes cannot be edited after posting. They serve as a permanent record of communication about the task.
---
Customer Tab
The Customer tab lets you associate a customer and contact person with the task.
Customer Information Fields
Contact Information Fields
All customer and contact fields are optional and save with the task.
---
Private Chat Tab
The Private Chat tab provides a real-time messaging area for internal team communication about the task. This tab only appears for existing (saved) tasks — not for new tasks that have not yet been saved.
For detailed information about using private chat, see the Private Chat guide.
---
Saving
Online
When you click Save:
Offline
If you are offline when you save:
For more about offline behavior, see the Offline Mode & Sync guide.
---
Tips
Service Tickets
Service tickets are designed for field service work — on-site repairs, installations, deliveries, and dispatched jobs. They include specialized fields for dispatch information, equipment tracking, time entries, customer signatures, and file attachments.
---
Creating a Service Ticket
There are several ways to create a new service ticket:
1. Click + New in the Inbox toolbar and select New Service Ticket.
2. Use the menu: Edit > New Service Ticket.
3. Press Ctrl+Shift+N.
---
Detail View Overview
The service ticket detail view uses collapsible sections to organize a large amount of information. Each section has a header you can click to expand or collapse it. When collapsed, a brief summary line shows key details so you can see important information at a glance.
Your expand/collapse preferences are remembered across sessions.
Header
---
Service Ticket Section
This section contains the core ticket information.
Title
A single-line text field for the ticket title or summary.
Description
A resizable multi-line text area. You can drag the bottom edge of the description field to make it taller or shorter (minimum 60px, maximum 600px). This is useful when working with long descriptions.
---
Dispatch Information Section
This section tracks dispatch logistics and status.
Read-Only Fields
Ticket ID
The system-generated ticket identifier. Click the clipboard icon (📋) next to it to copy the ID to your clipboard.
Editable Fields
Dispatch #
An external dispatch reference number from your dispatch system.
Customer PO
The customer's purchase order number.
Status
Dropdown with service-specific statuses:
Dispatch Type
Dropdown for the type of dispatch (e.g., Normal, Scheduled, Warranty, Installation, Training/Contract, Delivery).
Urgency
Priority level: Low, Medium, High, or Emergency.
Equipment/Dispatch Flags
Four checkboxes for logistical requirements:
---
Resolution Section
Track whether and how the ticket was resolved.
When collapsed, the summary shows "Resolved" or "Unresolved" along with the first 60 characters of your resolution notes.
---
Time Tracking Section
The time tracking section logs work sessions and calculates billable hours.
Adding a Time Entry
Click + Add Time Entry to open the time entry dialog. See Time Entry Dialog below for details.
Time Entry Cards
Each logged time entry appears as a card showing:
Totals
At the bottom of the time section:
Time Entry Dialog
The time entry dialog captures all details for a work session.
Entry Type
Dropdown: On-Site, Remote, Travel, Diagnostic, Repair, or Installation.
Start Time / End Time / Duration
Three linked fields that auto-sync:
Duration is in quarter-hour increments (0.25 hour steps).
Lunch Deduction
Dropdown: None, 15 min, 30 min, 45 min, 1 hr, 1 hr 15 min, or 1 hr 30 min.
Timezone
Displays your current timezone with a globe emoji. Hover for the full timezone identifier.
Technicians
A grid of toggle buttons — one per team member. Select all technicians who worked on this session. Selected technicians appear as initials below the grid (e.g., "Selected: JS/SM"). Multiple selections are allowed.
Services Performed
A text area to describe the work done during this session.
Notes
A text area for additional notes about the time entry.
Click Save (or Add for new entries) to confirm, or Cancel to discard.
---
Customer Section
Associates a customer with the ticket.
---
Contact Section
Associates a contact person with the ticket.
---
Equipment Section
Tracks equipment involved in the service call.
Adding Equipment
Fill in the fields in the "Add Equipment" form:
Click + Add Equipment to add the entry. Multiple equipment items can be added.
Equipment Cards
Each entry shows:
---
Counts Section
If equipment entries are linked to customer equipment records (with an equipment ID), a Counts section appears. This is used for tracking machine counts (meters, impressions, etc.).
For each linked piece of equipment:
---
Task Sharing Section
Controls who can see the ticket.
---
Private Chat Section
An embedded chat widget for internal team discussion about this ticket. Only visible for saved (existing) tickets.
See the Private Chat guide for details.
---
Attachments Section
Upload and manage files associated with the ticket.
Uploading Files
Click + Upload to open a file dialog and select a file. The upload button is only available after the ticket has been saved.
Viewing Attachments
Attachments are displayed in two groups:
Media files (images and videos) appear in a 3-column grid with:
Document files (PDFs, spreadsheets, etc.) appear in a compact list with:
Attachment Gallery
Click a media thumbnail to open the full-screen Attachment Gallery viewer. In the gallery:
Download All
Click Download All to save every attachment to a folder you choose.
---
Customer Signature Section
If a customer signature has been collected (via the web portal or mobile app), this section displays:
This section is read-only and only appears when signature data exists.
---
Actions Section
Quick action buttons at the bottom of the detail view:
Admin-only:
All destructive actions prompt for confirmation before proceeding.
---
Tips
Support Tickets
Support tickets are designed for customer support and communication-focused work. They feature a real-time communication log for team messaging, a ticket change log for audit history, customer contact management, and private team chat.
---
Creating a Support Ticket
There are several ways to create a new support ticket:
1. Click + New in the Inbox toolbar and select New Support Ticket.
2. Use the menu: Edit > New Support Ticket.
3. Press Ctrl+Alt+N.
---
Detail View Overview
The support ticket detail view uses a tabbed interface to organize information across five tabs: Communication, Ticket Log, Customer/Contact, Notes, and Private Chat.
Header
---
Form Fields
The form fields above the tabs capture the ticket's core information.
Title (required)
A single-line text field for the ticket subject. You must enter a title before saving.
Description
A multi-line text area for detailed information about the support request. Maximum height of 100px.
Status
Dropdown for the ticket's current state:
Urgency
Priority level: Low, Medium, High, or Critical.
Total Time (hrs)
A numeric field to manually track the total hours spent on this ticket. Enter a decimal value (e.g., "2.5" for two and a half hours).
---
Communication Tab
The Communication tab is the primary workspace for support tickets. It provides a threaded message log for communicating with your team about the ticket.
Message History
All messages appear in a scrollable list, each showing:
The list automatically scrolls to the newest message.
Sending Messages
1. Type your message in the text area at the bottom (placeholder: "Type a message...").
2. Click Send to post the message.
3. The message is immediately sent to the server and appears in the log.
Typing Indicator
When another team member is typing a message, you will see an indicator below the message list:
The typing indicator updates in real time.
---
Ticket Log Tab
The Ticket Log tab shows the complete change history of the ticket. This is a read-only audit trail that records every modification.
Each log entry displays:
This log is automatically maintained by the server — you do not need to add entries manually.
---
Customer/Contact Tab
The Customer/Contact tab holds all customer and contact person information.
Customer Fields
Contact Fields
All in a single row:
All fields are optional. Empty fields are not sent to the server.
---
Notes Tab
The Notes tab manages public-facing notes for the ticket.
Public Notes
A multi-line text area for notes that may be visible to the customer (depending on your organization's configuration). This is separate from the private team chat.
---
Private Chat Tab
The Private Chat tab provides an internal messaging space for your team to discuss the ticket privately. This tab only appears for saved (existing) tickets.
For detailed information about using private chat, including message formatting, typing indicators, read receipts, and more, see the Private Chat guide.
---
Saving
Online
When you click Save:
Offline
If you are offline:
---
Tips
Customers
The Customers view is a comprehensive customer relationship management (CRM) system built into Corejobtrack Desktop. It lets you browse, search, and manage customer records including company information, contacts, equipment, marketing data, and business profiles.
---
Accessing Customers
Navigate to the Customers view by:
---
Customer List
The customer list displays all your customer records as rich cards with key information visible at a glance.
Toolbar
Search
Type in the search field (placeholder: "Search customers...") to filter by company name, city, state, phone, email, industry, or parent company. Search results update in real time with a 300ms delay.
Sort Field
Choose how to sort the list:
Sort Direction
Toggle between ascending (↑) and descending (↓) order. Your preference is saved.
Refresh
Click the refresh button (↻) to reload customer data from the server.
Customer Cards
Each customer appears as a card showing:
Row 1: Company Name + Status
Row 2: Address
Row 3: Contact Information
Row 3.5: Profile Chips
Row 4: Count Badges
Opening a Customer
Double-click a customer card to open the detail view. You can also right-click for a context menu with View/Edit and Delete options.
Infinite Scroll
The customer list loads records in batches of 100. As you scroll near the bottom, the next batch loads automatically. The status bar shows your progress (e.g., "150 of 300+ customers").
---
Customer Detail View
The customer detail view has five tabs that organize all customer data.
Header
---
Tab 1: Company Info
Basic company and address information.
Company Information (Left Column)
Shipping Address (Right Column)
---
Tab 2: Profile
Detailed company demographics and product information.
Company Demographics
Products & Equipment
---
Tab 3: Marketing
CRM and sales tracking information.
CRM & Tracking
Competitive Intelligence & Notes
---
Tab 4: Contacts
Manage the people associated with this customer.
Contact List
Each contact appears as a card with:
Managing Contacts
Add Contact
Click the Add Contact button to open a dialog with fields for:
Edit Contact
Select a contact and click Edit, or double-click the contact card.
Delete Contact
Select a contact and click Delete. A confirmation dialog appears before deletion.
Send Password Reset
Select a contact and click Send Password Reset to send a password reset email to the contact's email address (for portal access). A confirmation dialog shows the contact's name and email before sending.
Right-Click Menu
Right-click a contact for quick access to Add, Edit, Password Reset, and Delete actions.
---
Tab 5: Equipment
Track the equipment associated with this customer.
Equipment List
Each equipment entry shows:
Managing Equipment
Add Equipment
Click Add Equipment to open a dialog with fields for:
Edit Equipment
Select equipment and click Edit, or double-click the card. The edit dialog includes additional features:
Delete Equipment
Select equipment and click Delete with confirmation.
---
Saving
Click the Save button in the header to save changes across all tabs. The company name is required — you will see a validation warning if it is empty.
Note: Creating new customers from the desktop client is not currently supported. New customers should be created from the admin web interface. Existing customers can be fully edited.
---
Tips
Contacts, Equipment & Vendors
In addition to the customer-specific contacts and equipment managed within each customer record, Corejobtrack Desktop provides three standalone directory views: Contacts, Equipment, and Vendors. These global views let you browse and manage all records across all customers from a single location.
---
Contacts Directory
Accessing
Overview
The Contacts directory shows all customer contacts across your entire organization in a searchable, sortable list. This is useful when you need to find a contact but do not know which customer they belong to.
Features
Contact Detail View
The contact detail view shows:
---
Equipment Directory
Accessing
Overview
The Equipment directory shows all equipment records across all customers. This is useful for looking up a machine by serial number or finding all equipment of a certain make/model.
Features
Equipment Detail View
The equipment detail view shows:
---
Vendors
Accessing
Overview
The Vendors view manages your vendor and supplier relationships. Vendors are separate from customers and have their own contact lists.
Vendor List
The vendor list uses the same card-based layout as other directories:
Vendor Detail View
Double-click a vendor to open the detail view, which includes:
Vendor Information
Vendor Contacts
Similar to customer contacts, each vendor can have associated contact people:
Creating and Managing Vendors
---
Tips
Notifications
Corejobtrack Desktop keeps you informed about changes to your work items through a real-time notification system. Notifications appear as system tray popups, badge counts in the header, and in the dedicated Notification Center.
---
Accessing Notifications
---
Notification Center
The Notification Center has two tabs: Activity and System.
Activity Tab
The Activity tab shows server notifications — updates from your team and changes to work items you are involved with.
Notification Format
Each notification displays:
Visual Indicators
Unread Count
The tab label dynamically shows the number of unread notifications (e.g., "Activity (3)"). When all notifications are read, it simply shows "Activity".
System Tab
The System tab shows local events related to connectivity and sync:
System notifications are added with the newest at the top.
---
Managing Notifications
Mark All as Read
Click the Mark All Read button in the Notification Center header to mark all notifications as read at once. This clears the unread count and resets the notification badge.
Mark Individual as Read
Right-click a notification in the Activity tab and select Mark as Read. This option only appears for unread notifications.
Delete a Notification
Right-click a notification and select Delete to permanently remove it.
---
Notification Badge
The header bar displays a red badge with a number next to the theme toggle button. This shows the total number of unread notifications. The badge is hidden when there are no unread notifications.
---
System Tray Notifications
When new notifications arrive while the application is running, they appear as system tray popup messages (toast notifications). These work even when the application window is minimized.
On Windows, native toast notifications are used when available, with a fallback to the system tray balloon.
---
Adaptive Polling
The notification system automatically adjusts how often it checks for new notifications based on your activity level:
| State | Poll Interval | When Active |
| Active | Every 10 seconds | You are clicking, typing, or interacting with the app |
| Viewing a ticket | Every 5 seconds | You have a ticket detail view open |
| Idle | Every 30 seconds | No interaction for 2+ minutes |
| Minimized | Every 60 seconds | The app window is minimized |
This adaptive system ensures you get timely notifications when actively working while reducing server load when you step away.
Error Handling
If the server is temporarily unreachable, the polling system uses exponential backoff — it gradually increases the wait time between attempts (up to a maximum of 2 minutes) to avoid overwhelming the server. Normal polling resumes automatically when the server becomes available again.
If the server returns a rate limit response, polling pauses for the duration specified by the server (typically 60 seconds).
---
Tips
Archive (Completed Items)
The Archive view (labeled "Completed" in the header bar) shows all work items that have been completed or archived. From here, you can review past work, restore items to active status, or permanently move them to the trash.
---
Accessing the Archive
---
Toolbar
Search
Type in the search field (placeholder: "Search completed items...") to filter by title, ticket number, task code, or description. Search updates with a 300ms debounce.
Sort
Sort Field
Choose from 8 sorting options:
Sort Direction
Toggle between descending (↓) and ascending (↑). Your sort preferences are saved between sessions.
Refresh
Click the refresh button (↻) to reload completed items from the server. The button is disabled during loading.
---
Type Filter Tabs
Four tabs filter the list by item type:
| Tab | Shows |
| **All** | Every completed/archived item |
| **Service** | Service tickets only |
| **Support** | Support tickets only |
| **Tasks** | Tasks only |
---
Completed Item Cards
Each completed item appears as a card similar to the Inbox cards, with some differences:
Card Contents
---
Actions
Viewing an Item
Double-click a completed item to open its detail view. This lets you review all the information even after the item has been archived.
Restoring an Item
To move a completed item back to active status:
1. Select the item in the list.
2. Click the Restore button (↩️) at the bottom of the view, or right-click and select Restore.
3. Confirm in the dialog: "Restore [title] to active items?"
The item will reappear in your Inbox as an active work item.
Moving to Trash
To permanently discard a completed item:
1. Select the item in the list.
2. Click the Move to Trash button (🗑️) at the bottom, or right-click and select Move to Trash.
3. Confirm in the dialog: "Move [title] to trash? This cannot be undone."
Trashed items can be recovered by an administrator from the Admin Panel's Trash tab (see Admin Panel).
Right-Click Context Menu
Right-click any item for quick access to:
---
Loading
Completed items are loaded asynchronously. A loading overlay with animated dots appears while data is being fetched. The list enriches items with user display names for the "completed by" metadata.
---
Tips
Settings & Preferences
The Settings view lets you manage your profile, customize the application's appearance and behavior, configure security options, and view application information.
---
Accessing Settings
---
Profile Tab
The Profile tab manages your personal information and profile picture.
Profile Picture
Your profile picture appears as a circular thumbnail at the top of the tab.
Changing Your Picture
1. Click Change Picture.
2. Select an image file from the file dialog (supported formats: PNG, JPG, JPEG, BMP, WebP).
3. A cropping tool appears with a 200×200 circular preview.
4. Adjust the image:
5. Click Upload Cropped Picture to save your new profile picture.
Your profile picture appears in the header bar, in chat messages, and next to read receipts.
Removing Your Picture
Click Remove Picture and confirm. Your avatar will revert to the default gear icon in the header.
Profile Information
Edit your personal details:
Chat Color
Set a custom color for your name in chat messages:
1. Enter a hex color code in the text field, or
2. Click Pick Color to open a color picker dialog.
3. A preview swatch shows your selected color.
Change Password
1. Enter your Current Password.
2. Enter your New Password.
3. Enter your new password again in Confirm Password.
4. Click Change Password.
Saving
Click Save Profile to save all profile changes. A success message confirms the save.
---
Preferences Tab
The Preferences tab controls the application's appearance and behavior.
Appearance
Theme
Choose your visual theme:
The theme changes apply immediately when you select a new option.
Text Size
Adjust the application's font size:
Name Color in Chat
Set the color used for your display name in private chat. Enter a hex code or click Pick to open the color picker.
Behavior
Auto-refresh
How often the application polls for data updates:
Timezone
Select your local timezone from the dropdown. This affects how timestamps are displayed throughout the application. Options include:
Auto-sync on Reconnect
When checked, the application automatically syncs any pending offline changes when connectivity is restored. Enabled by default.
Notifications
Send Test Notification
Click this button to trigger a test notification through the system tray. This is useful for verifying that notifications are working on your system.
Saving
Click Save Preferences to persist your changes.
---
Security Tab
The Security tab manages credential storage and authentication options.
Credentials
Save Password
When checked, your login credentials are stored in your operating system's secure keychain (macOS Keychain, Windows Credential Manager). This allows the "Auto-login" feature to work.
Auto-login on Launch
When checked, the application attempts to log in automatically when launched using your saved credentials. Requires "Save Password" to be enabled.
Two-Factor Authentication
Enable 2FA
This option is currently disabled (grayed out) and will be available when server-side support is added.
Diagnostics
View Client Log
Click this button to open the application's log file in your system's default text viewer. The log file is located at:
~/.corejobtrack/logs/corejobtrack.log
This is useful for troubleshooting issues or providing information to support.
Saving
Click Save Security Settings to persist your changes.
---
About Tab
The About tab displays application information.
---
Tips
Admin Panel
The Admin Panel is available to users with the Administrator role. It provides tools for managing users, recovering deleted items, viewing server logs, monitoring server health, and configuring system-wide defaults.
---
Accessing the Admin Panel
---
Users Tab
Manage all user accounts in the system.
User List
All users are displayed in a list with the format:
username (role) — Display Name
Adding a User
1. Click Add User.
2. Enter the new username in the first dialog.
3. Enter the initial password in the second dialog (the password field is masked).
4. The user is created on the server and appears in the list.
Deleting a User
1. Select a user in the list.
2. Click Delete User.
3. Confirm the deletion in the dialog.
Refreshing
Click Refresh to reload the user list from the server.
---
Trash Tab
The Trash tab lets you manage items that have been deleted or moved to trash by users.
Trash List
Deleted items appear with their type and title:
[service_ticket] Printer Repair - Acme Corp
[task] Update inventory spreadsheet
Actions
Restore
Select an item and click Restore to return it to its original location (active or completed).
Delete Forever
Select an item and click Delete Forever to permanently remove it from the system. A confirmation dialog warns: "This cannot be undone."
Empty Trash
Click Empty Trash to permanently delete all items in the trash at once. A confirmation dialog warns about the bulk deletion.
Refresh
Click Refresh to reload the trash contents.
---
Server Logs Tab
View recent server log output for troubleshooting.
Log Viewer
A read-only text area displays up to 200 lines of server log output in monospace font. The log shows server-side events, errors, and activity.
Refreshing
Click Refresh to reload the latest log entries.
---
Server Info Tab
View details about the server environment and infrastructure.
Information Displayed
Server Version
The current version of the Corejobtrack server.
SSL Certificate
Details about the server's SSL certificate:
Database Status
Key-value pairs from the database schema status check, showing the health and configuration of the server database.
Refreshing
Click Refresh to reload all server information.
---
Ticket Defaults Tab
Configure system-wide default settings for new tickets.
Color Pickers
Service Ticket Color
Click the color button to open a color picker and set the default color for new service tickets. The selected hex code is displayed on the button.
Support Ticket Color
Click the color button to set the default color for new support tickets.
Saving
Click Save Defaults to persist the selected colors to the server. These defaults apply to all users when creating new tickets.
---
Tips
Templates & Task Types
Templates and task types help standardize and speed up the creation of new work items. Templates provide pre-filled content for new tasks, while task types categorize work into meaningful groups.
---
Accessing Templates
---
Templates Tab
Templates are reusable blueprints for creating new tasks. When you create a task "From Template" in the Inbox, the template's fields are automatically filled in.
Template List
All available templates appear in a list showing the template name.
What Templates Include
A template can define:
Creating a Template
1. Click New Template.
2. Enter a name for the template in the first dialog.
3. Optionally enter a description in the second dialog.
4. The template is created on the server and appears in the list.
Note: To fully configure a template with steps, assignees, and other fields, use the web admin portal for now. The desktop client currently supports creating, naming, and deleting templates.
Deleting a Template
1. Select a template in the list.
2. Click Delete.
3. Confirm the deletion.
Using a Template
To create a task from a template:
1. In the Inbox, click the + New button.
2. Select From Template... from the dropdown.
3. A dialog appears listing all available templates.
4. Select a template and click OK.
5. A new task is created with the template's title, description, color, task type, and steps pre-filled.
If no templates are available, an informational message appears.
---
Task Types Tab
Task types are categories that can be assigned to any work item (tasks, service tickets, support tickets). They appear as colored badges on item cards in the Inbox and Archive.
Task Type List
All defined task types appear in a list showing their names.
Creating a Task Type
1. Click New Type.
2. Enter the type name in the dialog (e.g., "Installation", "Repair", "Part Lookup", "Training").
3. The type is created on the server.
Deleting a Task Type
1. Select a type in the list.
2. Click Delete.
3. Confirm the deletion.
How Task Types Appear
When a task type is assigned to a work item, it appears as a colored badge on the item's card in the Inbox and Archive views. The badge color can be set per type, or a deterministic pastel color is generated from the type name.
---
Tips
Private Chat
Private Chat is an embedded real-time messaging feature available within every work item (tasks, service tickets, and support tickets). It provides a space for internal team communication that is linked directly to the work item, keeping discussions in context.
---
Overview
Private Chat appears as:
It is only available for saved (existing) items — you must save a new work item before the Private Chat area appears.
---
Chat Interface
Message Display
Messages appear as chat bubbles in a scrollable area:
Each message shows:
Sender Colors
Each user gets a unique, deterministic color for their name in chat. This color is computed from the user's ID, so it is consistent across all tickets and sessions. Users can also set a custom chat color in Settings.
Resizing the Chat Area
The chat scroll area can be resized by dragging its bottom edge:
---
Sending Messages
1. Type your message in the input field at the bottom of the chat (placeholder: "Type a message...").
2. Press Enter to send, or click the Send button.
3. To insert a new line without sending, press Shift+Enter.
Your message is immediately sent to the server and appears in the chat.
If an error occurs while sending, your message text is restored to the input field so you do not lose it.
---
Deleting Messages
You can delete your own messages:
1. Hover over one of your messages.
2. Click the X button that appears (red/pink color).
3. The message is removed from the conversation.
You can only delete messages you sent — the delete button does not appear on other people's messages.
---
Typing Indicators
When another team member is actively typing in the same chat, a typing indicator appears below the messages:
The indicator includes animated dots that cycle (., .., ...) to show activity. The indicator disappears when the other person stops typing.
Your typing status is also reported to others. The system rate-limits typing reports to once every 2.5 seconds to avoid excessive server traffic.
---
Read Receipts
Small circular avatars (16px) appear below messages to indicate who has read up to that point.
Read receipts update every 9 seconds (every third polling cycle).
---
Real-Time Updates
Private Chat polls the server every 3 seconds for new messages. This means:
The polling automatically starts when you view the chat and stops when you navigate away, minimizing unnecessary network traffic.
---
Message Format
Messages are stored as plain text with timestamps and user identification. The format supports:
---
Tips
Offline Mode & Sync
Corejobtrack Desktop is designed for offline-first operation. You can continue working even when your internet connection is unavailable, and your changes will automatically sync when connectivity is restored.
---
How Offline Mode Works
Network Monitoring
The application continuously monitors your connection to the Corejobtrack server by performing periodic health checks. The current status is shown in two places:
Login Screen
A colored dot and text label at the bottom:
Main Window Status Bar
A colored dot on the left side of the status bar with the same color coding. Hover over it for a tooltip ("Connected", "Slow connection", "No connection", or "Checking connection...").
What Happens When You Go Offline
When connectivity is lost:
1. The status indicator turns red.
2. Data that was already loaded remains visible and usable.
3. Any changes you make (creating, editing, or deleting work items) are queued in a local outbox stored in your SQLite database.
4. A dialog confirms: "You are offline. Changes have been queued and will sync when connected."
5. The status bar shows the number of pending changes (e.g., "3 pending changes").
What Happens When You Come Back Online
When connectivity is restored:
1. The status indicator turns green.
2. If Auto-sync on reconnect is enabled (default), the sync service immediately begins processing your queued changes.
3. Changes are sent to the server one at a time in the order they were made.
4. The pending changes count decreases as each change is successfully synced.
---
The Outbox (Sync Queue)
The outbox is a local queue that stores your offline changes until they can be sent to the server.
What Gets Queued
Any create, update, or delete operation on:
Queue Processing
Changes are processed in FIFO order (first in, first out) based on when they were queued.
For each queued change:
Retry Logic
If a queued change fails to sync:
Sync Interval
The sync service checks for pending changes on a configurable interval (default: every 30 seconds). You can change this in the .env file with SYNC_INTERVAL_SECONDS.
---
Local Data Cache
To support offline access, the application caches data locally in a SQLite database.
What Is Cached
Cached data is stored as JSON in the local database at:
~/.corejobtrack/corejobtrack_local.db
How Caching Works
Database Mode
The local database uses WAL mode (Write-Ahead Logging), which allows reading data even while writes are in progress. This prevents lock conflicts and improves reliability.
---
Authentication and Offline
Token Management
Your authentication token (JWT) lasts for 12 hours. The application proactively refreshes it every 10 hours to prevent unexpected expiration.
If the token expires while you are offline:
1. When connectivity returns, the application attempts a silent re-authentication using your saved keychain credentials (if "Save Password" is enabled).
2. If re-authentication succeeds, normal operation resumes.
3. If it fails (e.g., your password changed), a session expired notification appears, and you are returned to the login screen.
Keychain Storage
Saved credentials are stored securely in your operating system's keychain:
---
Settings Persistence
Your preferences are stored locally and always available, even offline:
In SQLite (settings table):
In JSON file (~/.corejobtrack/ui_preferences.json):
In OS Keychain:
---
Troubleshooting Offline Issues
"Pending changes" counter is not decreasing
Changes failed to sync
App shows stale data
Authentication expired
---
Tips
Themes & Appearance
Corejobtrack Desktop features a full theme system with dark and light modes, adjustable text sizes, and a Catppuccin-inspired color palette. You can customize the appearance to suit your preferences and working environment.
---
Theme Modes
The application supports three theme modes:
System (Default)
Follows your operating system's appearance setting:
When your OS switches themes (e.g., scheduled dark mode at sunset), the application follows automatically.
Dark Mode
A dark color scheme based on the Catppuccin Mocha palette:
Light Mode
A light color scheme based on the Catppuccin Latte palette:
---
Switching Themes
There are three ways to switch themes:
Quick Toggle
Click the theme toggle button in the header bar (far right):
This toggles between light and dark, overriding the "System" setting.
View Menu
Use the menu: View > Appearance and select:
A checkmark indicates the current selection.
Settings
In Settings > Preferences > Appearance, select your theme from the dropdown.
Your theme preference is saved and restored across sessions.
---
Text Size
Adjust the base font size for the entire application:
| Setting | Base Size | Best For |
| Small | 12px | Fitting more content on screen |
| Medium | 14px | Default, balanced readability |
| Large | 16px | Easier reading at arm's length |
| Extra Large | 18px | Accessibility and large displays |
Change text size in Settings > Preferences > Text Size. The change applies immediately.
---
Color System
Status Colors
Work item statuses use consistent colors throughout the application:
| Status | Dark Mode | Light Mode |
| Open | Blue (#89b4fa) | Blue (#1e66f5) |
| Paused | Yellow (#f9e2af) | Yellow (#df8e1d) |
| Completed | Green (#a6e3a1) | Green (#40a02b) |
| Archived | Gray (#6c7086) | Gray (#8c8fa1) |
| Trash | Red (#f38ba8) | Red (#d20f39) |
Urgency Colors
Priority levels are color-coded:
| Urgency | Color |
| Low | Green |
| Medium | Yellow |
| High | Red/Orange |
| Critical | Purple |
Item Type Colors
Work item types have distinct colors:
---
UI Elements Affected by Theme
When you switch themes, the following elements update:
---
Cursor Behavior
The application automatically displays a pointing hand cursor (👆) when hovering over any clickable element — buttons, tabs, and interactive widgets. This provides consistent visual feedback across the entire application.
---