Main public logs
Appearance
Combined display of all available logs of Pixel Refraction Studio. You can narrow down the view by selecting a log type, the username (case-sensitive), or the affected page (also case-sensitive).
- 23:52, 27 August 2026 Nerdofepic talk contribs created page File:10 app settings.png
- 23:52, 27 August 2026 Nerdofepic talk contribs uploaded File:10 app settings.png
- 23:52, 27 August 2026 Nerdofepic talk contribs created page File:09 roles.png
- 23:52, 27 August 2026 Nerdofepic talk contribs uploaded File:09 roles.png
- 23:51, 27 August 2026 Nerdofepic talk contribs created page File:08 users.png
- 23:51, 27 August 2026 Nerdofepic talk contribs uploaded File:08 users.png
- 23:51, 27 August 2026 Nerdofepic talk contribs created page File:07 groups.png
- 23:51, 27 August 2026 Nerdofepic talk contribs uploaded File:07 groups.png
- 23:50, 27 August 2026 Nerdofepic talk contribs created page File:06 stages.png
- 23:50, 27 August 2026 Nerdofepic talk contribs uploaded File:06 stages.png
- 23:49, 27 August 2026 Nerdofepic talk contribs created page File:05 bulk create.png
- 23:49, 27 August 2026 Nerdofepic talk contribs uploaded File:05 bulk create.png
- 23:49, 27 August 2026 Nerdofepic talk contribs created page File:12 approvals.png
- 23:49, 27 August 2026 Nerdofepic talk contribs uploaded File:12 approvals.png
- 23:48, 27 August 2026 Nerdofepic talk contribs created page File:04 task comments.png
- 23:48, 27 August 2026 Nerdofepic talk contribs uploaded File:04 task comments.png
- 23:48, 27 August 2026 Nerdofepic talk contribs created page File:03 task detail.png
- 23:48, 27 August 2026 Nerdofepic talk contribs uploaded File:03 task detail.png
- 23:48, 27 August 2026 Nerdofepic talk contribs created page File:02 list.png
- 23:48, 27 August 2026 Nerdofepic talk contribs uploaded File:02 list.png
- 23:45, 27 August 2026 Nerdofepic talk contribs created page File:01 board.png
- 23:45, 27 August 2026 Nerdofepic talk contribs uploaded File:01 board.png
- 23:39, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Sales Pitch (Created page with "= RefractTrack: the board your team will actually keep open = '''Refract Odyssey Studio needed a tracker that felt like it was built for a small game team — not a boxed-up enterprise tool with fifty menus for the ten things people actually do all day.''' RefractTrack is that tracker: a self-hosted kanban board purpose-built for tracking tasks and bugs across one or more game projects, with real role-based permissions, per-project workflows, and zero monthly seat fees....")
- 23:36, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Known Limitations (Created page with "== Known Limitations == Things that are deliberately not (yet) supported, along with a few accepted, low-priority rough edges — as opposed to bugs. === No automated test suite === Verification is manual, against a real seeded MariaDB instance, exercising each feature as it's built. Migrations in particular need a live multi-project, multi-task test database rather than just a read-through of the code — this bar is expected to be maintained going forward. === Clea...")
- 23:35, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Architecture (Created page with "== Architecture == A reference for anyone maintaining or extending RefractTrack's codebase. No framework, no build step — plain PHP 8 pages plus a set of shared includes. === Request lifecycle === Every page follows the same chain: <pre> auth.php → functions.php → (project.php, if project-scoped) → require_login() / require_permission() / require_permission_for_project() → page logic → header.php → HTML → footer.php </pre> <code><nowiki>header.ph...")
- 23:34, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Security (Created page with "== Security == RefractTrack includes a dedicated hardening pass covering the following. === Error handling === <code><nowiki>includes/error_handling.php</nowiki></code> is required at the very top of <code><nowiki>db.php</nowiki></code>, before anything else runs. It forces <code><nowiki>display_errors</nowiki></code> off and installs an exception/shutdown handler that always renders a generic 500 page to the visitor while logging the real error server-side — regard...")
- 23:34, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Data Model (Created page with "== Data Model == The authoritative schema is <code><nowiki>db/schema.sql</nowiki></code>. This page summarizes the tables for reference; see Migrations and Upgrades for how the schema evolves over time. {| class="wikitable" ! Table !! Notes |- | <code><nowiki>app_settings</nowiki></code> || Single row: application name, theme, <code><nowiki>schema_version</nowiki></code>. See RefractTrack_Themes_and_Branding|Themes and Brandin...")
- 23:33, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Feature Inventory (Created page with "== Feature Inventory == A flat checklist of what RefractTrack can do as of v99. Each item links to its full page where one exists. * Clone an existing task * Archive/unarchive — individually, or in bulk via "archive all done" * Markdown formatting — bold, italic, underline, headings, nested lists, code blocks with C#/JSON syntax highlighting, live preview panels, and an in-app he...")
- 23:31, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Migrations and Upgrades (Created page with "== Migrations and Upgrades == RefractTrack ships a real, active database migration system — not a placeholder. === How it works === * <code><nowiki>CURRENT_SCHEMA_VERSION</nowiki></code> and <code><nowiki>migration_definitions()</nowiki></code> in <code><nowiki>includes/migrations.php</nowiki></code> define an ordered array of <code><nowiki>{version, description, apply(PDO)}</nowiki></code> steps. * <code><nowiki>apply_pending_migrations()</nowiki></code> applies wh...")
- 23:30, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Per User Preferences (Created page with "== Per User Preferences == <code><nowiki>user_preferences</nowiki></code> (added in schema version 2) is a generic per-user key/value store, the same shape as the permissions tables — a new preference is a new <code><nowiki>pref_key</nowiki></code> string in code, never a schema migration or a new column. This is distinct from Permissions: a preference is something the app ''remembers'' on a user's behalf, not something they're a...")
- 23:29, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Themes and Branding (Created page with "== Themes and Branding == The application's name and color theme are configurable from Manage → Application Config (<code><nowiki>app_settings.php</nowiki></code>), without touching any file on the server — both live in the single-row <code><nowiki>app_settings</nowiki></code> database table, not in <code><nowiki>config/config.php</nowiki></code>. * <code><nowiki>themes:change</nowiki></code> — permission to change the color theme * <code><nowiki>themes:brand</no...")
- 23:28, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Permissions and Roles (Created page with "== Permissions and Roles == RefractTrack uses a full role-based access control (RBAC) system. There is no longer a fixed "Member vs. Reporter" split baked into the code — that distinction now exists only as a seeded, ordinary, fully-editable '''Reporter''' role preset, like any other role. === Permission keys === <code><nowiki>includes/permissions.php</nowiki></code>'s <code><nowiki>PERMISSION_DEFS</nowiki></code> is the single source of truth for every permission k...")
- 23:27, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Users (Created page with "== Users == === No public signup === RefractTrack has no self-service registration. Accounts are added by an existing teammate with <code><nowiki>users:create</nowiki></code> (from Users → Add user), or bootstrapped from the command line for the very first account: <pre> php scripts/create_user.php jdoe "Jane Doe" </pre> This prompts for a password interactively. === Adding users === The Add User form (<code><nowiki>user_form.php</nowiki></code>) can generate a r...")
- 23:26, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Export and Import (Created page with "== Export and Import == A project's tickets can be exported and re-imported as either '''JSON''' (the default format) or '''CSV''', gated by <code><nowiki>backups:export</nowiki></code> and <code><nowiki>backups:import</nowiki></code> respectively. Both are project-scoped permissions — see Permissions and Roles. === Exported fields === Both formats export the same set of fields, in the same order, from a single shared definitio...")
- 23:25, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Attachments (Created page with "== Attachments == Tasks support file attachments, gated by <code><nowiki>attachments:view</nowiki></code> / <code><nowiki>attachments:create</nowiki></code> / <code><nowiki>attachments:delete</nowiki></code>. === Storage === Uploaded files are stored on disk under <code><nowiki>uploads/tasks/<task_id>/</nowiki></code> with randomized filenames. By default only <code><nowiki>.jpg .jpeg .png .gif .webp .zip</nowiki></code> are accepted, and the allowed list is configura...")
- 23:24, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Comments and Activity Log (Created page with "== Comments and Activity Log == Each task detail page has two tabs: * '''Comments''' — free-text discussion, rendered through the markdown subset. Posting requires <code><nowiki>comments:create</nowiki></code>; viewing requires <code><nowiki>comments:view</nowiki></code>. * '''Activity''' — an automatically-generated, system-written history of what happened to the task (stage changes, review-status changes, field edits, etc.), k...")
- 23:24, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Approvals and Review (Created page with "== Approvals and Review == Every task carries a <code><nowiki>review_status</nowiki></code> of <code><nowiki>pending</nowiki></code>, <code><nowiki>approved</nowiki></code>, or <code><nowiki>wont_do</nowiki></code>, independent of its stage and archive state. This gives teams a lightweight sign-off workflow layered on top of the stage-based workflow — a task can, for example, sit in a "Done" stage while still awaiting review. === Approving, rejecting, and resetting =...")
- 23:23, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Archiving (Created page with "== Archiving == Tasks can be archived off the active board without being deleted. Archiving sets a task's <code><nowiki>archived_at</nowiki></code> timestamp, which is orthogonal to both its stage and its review status — a task can be in any stage, with any review status, and archived or not, independently. === Archiving individual tasks === Any task with <code><nowiki>tasks:archive</nowiki></code> permission can be archived or unarchived from its detail page. ===...")
- 23:22, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Bulk Task Creation and Saved Lists (Created page with "== Bulk Task Creation and Saved Lists == === Bulk create === <code><nowiki>bulk_task_form.php</nowiki></code>, linked from the nav as "Bulk Create", generates many similar tasks in one pass — a mail-merge style workflow: # Paste a list of items, one per line (e.g. a project's biomes, enemy types, item names). # Write a title/description template using a placeholder — <code><nowiki>{item}</nowiki></code> by default, though the tag name is editable — which gets sw...")
- 23:21, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Markdown Formatting (Created page with "== Markdown Formatting == Free-text fields (task descriptions, comments, bug fields) support a small, purpose-built markdown subset — not a full CommonMark implementation. A help modal in the app documents this for end users; this page is the reference version. === Block-level syntax === {| class="wikitable" ! Syntax !! Result |- | <code><nowiki># Heading</nowiki></code> || Heading (rendered as <code><nowiki><h4></nowiki></code>) |- | <code><nowiki>## Heading</nowik...")
- 23:20, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Groups (Created page with "== Groups == Groups are a many-to-many tag on tasks, scoped to a single project — a task can belong to multiple groups at once (e.g. both "Pause UI" and "Localization"). Managed from the Groups page (<code><nowiki>groups.php</nowiki></code> / <code><nowiki>group_form.php</nowiki></code>), gated by <code><nowiki>groups:view</nowiki></code> / <code><nowiki>groups:create</nowiki></code> / <code><nowiki>groups:edit</nowiki></code> / <code><nowiki>groups:delete</nowiki></c...")
- 23:19, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Stages (Created page with "== Stages == Stages are a project's swimlanes — the columns/workflow steps tasks move through on the board. Managed from Manage → Stages (<code><nowiki>stages.php</nowiki></code> / <code><nowiki>stage_form.php</nowiki></code>). === Per-project === Stages are '''per-project''': every project gets its own independent set, seeded at creation with a standard starter set (Not Started / In Progress / In Review / Blocked / Done). Ren...")
- 23:19, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Board and List Views (Created page with "== Board and List Views == RefractTrack offers two ways to browse a project's tasks. === Board view === <code><nowiki>board.php</nowiki></code> shows tasks as cards in swimlanes, one lane per visible Stage in that project, in the order stages are configured. * '''Drag-and-drop''' (<code><nowiki>js/board.js</nowiki></code>) moves a task between stages. This calls the <code><nowiki>api/update_stage.php</nowiki></code> AJAX endpoint, which indepe...")
- 23:18, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Tasks (Created page with "== Tasks == A task is the core unit of work in RefractTrack, always scoped to a single Project and identified by a task code like <code><nowiki>RPG-12</nowiki></code> (its project's prefix plus a sequential number). === Fields === Every task has: * '''Title''' and '''Description''' (description supports the Markdown Formatting subset) * '''Type''' — <code><nowiki>Normal</nowiki></code> or <code><nowiki>...")
- 23:17, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Projects (Created page with "== Projects == RefractTrack tracks tasks across one or more independent '''projects'''. Every project has: * A '''name''' and a short '''prefix''' (e.g. <code><nowiki>RPG</nowiki></code>, <code><nowiki>SFRPG</nowiki></code>) — every task inside the project is numbered off its prefix (<code><nowiki>RPG-1</nowiki></code>, <code><nowiki>RPG-2</nowiki></code>, ...), giving Jira-style task codes with matching clean URLs (<code><nowiki>/task/RPG-12</nowiki></code>). * Its...")
- 23:16, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Configuration (Created page with "== Configuration == === <code><nowiki>config/config.php</nowiki></code> === This file (gitignored, and never regenerated after install) holds environment-only settings: * <code><nowiki>DB_HOST</nowiki></code>, <code><nowiki>DB_NAME</nowiki></code>, <code><nowiki>DB_USER</nowiki></code>, <code><nowiki>DB_PASS</nowiki></code> — database connection * <code><nowiki>CLEAN_URLS</nowiki></code> — see Clean URLs below * <code><now...")
- 23:14, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Server Setup (Created page with "== Server Setup == <code><nowiki>refracttrack_prereqs/prereqs.sh</nowiki></code> is a standalone, interactive Debian/Ubuntu provisioning script for a fresh box, meant to run once before <code><nowiki>install.php</nowiki></code> ever loads in a browser. It ships as a top-level directory sibling to <code><nowiki>refracttrack/</nowiki></code> in the release zip, but it is '''not''' written by the app, is never copied into the web root, and is not part of the deployed appli...")
- 23:13, 27 August 2026 Nerdofepic talk contribs created page RefractTrack Installation (Created page with "== Installation == === Requirements === * PHP 8.0+ with the <code><nowiki>pdo_mysql</nowiki></code> extension * MySQL 5.7+ / MariaDB 10.3+ * Apache with <code><nowiki>mod_rewrite</nowiki></code> enabled and <code><nowiki>AllowOverride</nowiki></code> including at least <code><nowiki>FileInfo</nowiki></code> for the app directory (needed for both <code><nowiki>uploads/.htaccess</nowiki></code> and the root <code><nowiki>.htaccess</nowiki></code> that powers Clean URLs)....")
- 20:44, 27 August 2026 Nerdofepic talk contribs moved page RefractTrack to RefractTrack Home (This is the home page for the refracttrack documentation collection. Title now reflects that.)
- 15:04, 24 August 2026 Nerdofepic talk contribs created page RefractTrack Features (Created page with "Designed to support indie game development from the ground up. {| class="wikitable" |+ Tickets !Feature!!Description |- |Create Tickets||Allows the creation of tickets or bugs. |- |Report Issues||A separate path for play testers to tell you about bugs or suggest features. |- |Approve Reported Issues||Reported issues won't clog up your board until you approve them. |- |Clone Tickets||Save time by making a ticket that's a copy of something similar. |- |Bulk Create Tickets...")