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 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...")
- 14:52, 24 August 2026 Nerdofepic talk contribs created page RefractTrack Cost Breakdown (Created page with "RefractTrack is designed from the ground up for the things I needed for tracking my indie game development adventures. It is flexible enough that is should be possible to use it for any development project and probably all sorts of other projects too. I want every indie game developer to benefit from the tool that I made and for that to be possible it has to be reasonably priced. Below is the list of what it costs for you to get your own copy of RefractTrack. {| class="...")
- 14:47, 24 August 2026 Nerdofepic talk contribs created page RefractTrack (Created page with "=RefractTrack= Self-Hosted Indie Game Development Task Tracker =Highlights= '''One Time Purchase''' ([https://nerdofepic.itch.io/refracttrack Buy It!]) Inexpensive solution for keeping track of your indie game project. There are no subscription fees or per-seat fees. Check out the RefractTrack Cost Breakdown '''Self-Hosted''' Set it up and use it on your own server. No more worrying about cloud providers going away. There is even a pre-assembled image for rapid d...")
- 14:13, 24 August 2026 MediaWiki default talk contribs created page Main Page