feat(website): the front page's new hero, and the design's fonts across the site #768

Open
madebyjordan wants to merge 14 commits from madebyjordan/Longshot:website/hero into main
Contributor

Type: feat · Risk: low · Tested on: Windows 11, Chrome and Edge (headless, emulated widths) · Needs: a look in Firefox and Safari, and on a real phone

Why

The front page gets its new hero, from Jordan's design: a full-width sky with the Longshot title mark, a short intro,
Get started and Contribute, and a row of beans in the grass with the team credit and a Discord link. With it, the
site moves to the design's type: Faculty Glyphic for headings, Jost for text (a style guide follows). The design and
all its art are Jordan's; bibiburl has seen it and prefers it to the trails hero in #634.

No issue asks for this; the tracker was searched.

What changed

The old hero (heading, grappling-hook bean, punchlines) is replaced by the design's, built from its SVGs. On the front
page the header sits on the hero with the design's centred links and keeps site search and the theme control. The
dark theme gets a night sky. Every page now uses Faculty Glyphic and Jost.

  • Hero (website/src/components/LongshotHero.astro): laid out in the design's 1000-unit space (a unit is 1 px at
    1000 px wide, up to 1.3 px). Everything is centred on one line at every width; on phones the credit and Discord link
    move above the beans.
    • Art (assets/branding/hero/, all supplied as is, recorded in assets/branding/PROVENANCE.txt): the title mark;
      one bean, drawn eleven-plus times in its own colour, size and tilt, facing the middle; one cloud, at three sizes,
      placed by fitting it to the design; the grass strip, one frame of it repeated across the window without a seam.
    • Beans follow the width: each side fills from the window's edge and stops 105 units from the middle, so the
      credit always has its space. 6 + 5 at 1000 px wide as in the design, 4 + 3 at 820 px, 14 a side at 2560 px. Pure
      CSS (a bean that doesn't fit wraps to a hidden line).
    • Dark theme: sky #18202D, clouds #212937, grass #091902. The clouds and grass are CSS masks filled with the
      theme's colour.
    • Removed: the punchlines (src/lib/bean-bites.ts and its test) and the fairy-bean secret.
  • Front page header (website/src/components/Header.astro, website/src/styles/theme.css): transparent on the
    hero, not fixed (it scrolls away with it), links centred (Get started, Help, Updates, About; Updates goes to
    /progress/, still called Development on other pages). Search is an icon below 1120 px wide; the menu button below
    800 px. Other pages keep the normal header.
  • Fonts (website/src/styles/theme.css, website/src/assets/fonts/): Faculty Glyphic (one weight, 400) and Jost
    (variable, upright and italic), self-hosted, Latin and Latin Extended subsets by unicode-range, with provenance and
    licences. Atkinson Hyperlegible Next and Libertinus Serif are removed. Headings drop from 600 to 400 (Faculty Glyphic
    has no bold, so a browser would fake one) and lose Libertinus's tight tracking. The About page's font credit is
    updated.
  • website/README.md: the hero, its art and the fonts.

Measurements

Verdict: nothing to measure: a website design change with no runtime, build or game effect (Testing has the layout checks).

Flags and settings

None.

Testing

Screenshots, before (main @ aa95d35f) and after (this PR @ 463c96ba), desktop and phone, both themes:
the screenshots comment.

Tested: Windows 11, Chrome and Edge headless, through the DevTools protocol (emulated device widths), against
astro dev and a production build:

  • Layout at 390, 760, 820, 1000, 1120, 1440 and 2560 px, both themes: no horizontal overflow (main overflows a 390 px
    phone by 2 px). The subtitle is at least 24 px at every width. The nav links, title mark, subtitle, intro, buttons and credit share one centre to the pixel at every
    width. The intro is 3 lines from 760 px up, 4 on a 390 px phone.

  • The theme menu (Light, Dark, Auto with a light or dark system): the sky, clouds and grass take the right colours in
    all four combinations, from both computed styles and sampled pixels.

  • npm run build: 16 pages. node --test tests/*.test.ts: 72 pass, 1 fail, the same failure as on main
    (graphics-settings.test.ts, "HDR Native condition accepts current prose but remains required").

  • npm run check: fails only on the progress feed's issues #603, #615 and #715 (game names in their titles), as main
    does; #731 fixes that.

  • python -I -B tests/run_all.py: 190 passed, 67 failed, 336 skipped, the same 67 failing files as main @ aa95d35f on
    this PC (no compilers or Vulkan headers here). Nothing outside website/ and assets/branding/ changes.

    The 67 files that fail on both

    test_alt_enter.py, test_appimage_player_build.py, test_audio_deadline.py, test_audio_output_errors.py, test_audio_wave_buffer_release.py, test_bc_levels.py, test_bind_memo.py, test_capture_copy_helpers.py, test_collect_wide.py, test_cpm_discovery.py, test_dlss_actor.py, test_dlss_checks.py, test_dlss_math.py, test_draw_binds.py, test_env_file.py, test_fps_overlay_order.py, test_fps_rate.py, test_fps_stats.py, test_framegen_auto.py, test_framegen_gate.py, test_fsr3_math.py, test_gpu_choice.py, test_hd_rumble.py, test_import_span.py, test_jobs_wait_runs_queued.py, test_lift_cache.py, test_lift_cleanup_error.py, test_make_game_cache.py, test_make_game_prepare.py, test_menu_mouse_scroll.py, test_mirror_inherit.py, test_missing_nup.py, test_movie_upscale_policy.py, test_nvn_texture_handle.py, test_oot_jitter.py, test_options_budget_once.py, test_pass_hazard.py, test_pool_span.py, test_portable_builder_startup.py, test_present_ahead.py, test_present_thread.py, test_prof_clock.py, test_prompt_auto_face.py, test_push_state.py, test_quick_pipelines.py, test_report_words.py, test_rt_pool_minimum.py, test_rumble_mapping.py, test_rumble_menu.py, test_rumble_refresh.py, test_same_bind.py, test_same_draw.py, test_same_dyn.py, test_seed_reader.py, test_skip_code.py, test_status_line.py, test_submitted_page.py, test_table_track.py, test_tested_configurations.py, test_tex_spans_once_a_present.py, test_texture_layout_sizes.py, test_ub_gap.py, test_upscale_independent.py, test_upscale_label.py, test_vertex_bind.py, test_vk_pgo.py, test_wb_pages.py

Not tested: Firefox, Safari, a real phone, a screen reader; the Cloudflare preview (a fork's PR needs the
preview label).

Must be tested:

  • Firefox and Safari, desktop and a phone, by hand: open the front page in both themes and at a few widths, expecting
    the screenshots' layout, centred content, the grass and clouds in the theme's colours, and no sideways scrolling
    (a maintainer adding preview gives the Cloudflare preview to do it on).

Risks

What could break: the hero's layout in browsers not tried here (it relies on CSS mask, clamp() sizing and
text-wrap: balance, all current in Chrome, Firefox and Safari). The yellow subtitle (the design's #FFE100) is 3.67:1 on the day sky and
12.5:1 on the night sky; it never goes under 24 px, so it meets WCAG's 3:1 for large text (it had been 20 px on phones).
The hero no longer says "bring your own copy of the game"; the download section below still says no game files are
included. The front page's nav says Updates where other pages say Development.

Turning it off: revert the PR.

Compatibility: nothing changes for a player's game, saves or caches. A page downloads about 46 KB of fonts (the Latin
Jost and Faculty Glyphic) where it took about 225 KB (Atkinson and Libertinus).

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main.
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named).
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen.
  • Docs updated.

🤖 Generated with Claude Code

**Type:** feat · **Risk:** low · **Tested on:** Windows 11, Chrome and Edge (headless, emulated widths) · **Needs:** a look in Firefox and Safari, and on a real phone ## Why The front page gets its new hero, from Jordan's design: a full-width sky with the Longshot title mark, a short intro, Get started and Contribute, and a row of beans in the grass with the team credit and a Discord link. With it, the site moves to the design's type: Faculty Glyphic for headings, Jost for text (a style guide follows). The design and all its art are Jordan's; bibiburl has seen it and prefers it to the trails hero in #634. No issue asks for this; the tracker was searched. ## What changed The old hero (heading, grappling-hook bean, punchlines) is replaced by the design's, built from its SVGs. On the front page the header sits on the hero with the design's centred links and keeps site search and the theme control. The dark theme gets a night sky. Every page now uses Faculty Glyphic and Jost. - **Hero** (`website/src/components/LongshotHero.astro`): laid out in the design's 1000-unit space (a unit is 1 px at 1000 px wide, up to 1.3 px). Everything is centred on one line at every width; on phones the credit and Discord link move above the beans. - **Art** (`assets/branding/hero/`, all supplied as is, recorded in `assets/branding/PROVENANCE.txt`): the title mark; one bean, drawn eleven-plus times in its own colour, size and tilt, facing the middle; one cloud, at three sizes, placed by fitting it to the design; the grass strip, one frame of it repeated across the window without a seam. - **Beans follow the width:** each side fills from the window's edge and stops 105 units from the middle, so the credit always has its space. 6 + 5 at 1000 px wide as in the design, 4 + 3 at 820 px, 14 a side at 2560 px. Pure CSS (a bean that doesn't fit wraps to a hidden line). - **Dark theme:** sky `#18202D`, clouds `#212937`, grass `#091902`. The clouds and grass are CSS masks filled with the theme's colour. - Removed: the punchlines (`src/lib/bean-bites.ts` and its test) and the fairy-bean secret. - **Front page header** (`website/src/components/Header.astro`, `website/src/styles/theme.css`): transparent on the hero, not fixed (it scrolls away with it), links centred (Get started, Help, Updates, About; Updates goes to /progress/, still called Development on other pages). Search is an icon below 1120 px wide; the menu button below 800 px. Other pages keep the normal header. - **Fonts** (`website/src/styles/theme.css`, `website/src/assets/fonts/`): Faculty Glyphic (one weight, 400) and Jost (variable, upright and italic), self-hosted, Latin and Latin Extended subsets by `unicode-range`, with provenance and licences. Atkinson Hyperlegible Next and Libertinus Serif are removed. Headings drop from 600 to 400 (Faculty Glyphic has no bold, so a browser would fake one) and lose Libertinus's tight tracking. The About page's font credit is updated. - `website/README.md`: the hero, its art and the fonts. ## Measurements **Verdict:** nothing to measure: a website design change with no runtime, build or game effect (Testing has the layout checks). ### Flags and settings None. ## Testing Screenshots, before (main @ aa95d35f) and after (this PR @ 463c96ba), desktop and phone, both themes: [the screenshots comment](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/768#issuecomment-24074). **Tested:** Windows 11, Chrome and Edge headless, through the DevTools protocol (emulated device widths), against `astro dev` and a production build: - Layout at 390, 760, 820, 1000, 1120, 1440 and 2560 px, both themes: no horizontal overflow (main overflows a 390 px phone by 2 px). The subtitle is at least 24 px at every width. The nav links, title mark, subtitle, intro, buttons and credit share one centre to the pixel at every width. The intro is 3 lines from 760 px up, 4 on a 390 px phone. - The theme menu (Light, Dark, Auto with a light or dark system): the sky, clouds and grass take the right colours in all four combinations, from both computed styles and sampled pixels. - `npm run build`: 16 pages. `node --test tests/*.test.ts`: 72 pass, 1 fail, the same failure as on main (`graphics-settings.test.ts`, "HDR Native condition accepts current prose but remains required"). - `npm run check`: fails only on the progress feed's issues #603, #615 and #715 (game names in their titles), as main does; #731 fixes that. - `python -I -B tests/run_all.py`: 190 passed, 67 failed, 336 skipped, the same 67 failing files as main @ aa95d35f on this PC (no compilers or Vulkan headers here). Nothing outside `website/` and `assets/branding/` changes. <details><summary>The 67 files that fail on both</summary> `test_alt_enter.py`, `test_appimage_player_build.py`, `test_audio_deadline.py`, `test_audio_output_errors.py`, `test_audio_wave_buffer_release.py`, `test_bc_levels.py`, `test_bind_memo.py`, `test_capture_copy_helpers.py`, `test_collect_wide.py`, `test_cpm_discovery.py`, `test_dlss_actor.py`, `test_dlss_checks.py`, `test_dlss_math.py`, `test_draw_binds.py`, `test_env_file.py`, `test_fps_overlay_order.py`, `test_fps_rate.py`, `test_fps_stats.py`, `test_framegen_auto.py`, `test_framegen_gate.py`, `test_fsr3_math.py`, `test_gpu_choice.py`, `test_hd_rumble.py`, `test_import_span.py`, `test_jobs_wait_runs_queued.py`, `test_lift_cache.py`, `test_lift_cleanup_error.py`, `test_make_game_cache.py`, `test_make_game_prepare.py`, `test_menu_mouse_scroll.py`, `test_mirror_inherit.py`, `test_missing_nup.py`, `test_movie_upscale_policy.py`, `test_nvn_texture_handle.py`, `test_oot_jitter.py`, `test_options_budget_once.py`, `test_pass_hazard.py`, `test_pool_span.py`, `test_portable_builder_startup.py`, `test_present_ahead.py`, `test_present_thread.py`, `test_prof_clock.py`, `test_prompt_auto_face.py`, `test_push_state.py`, `test_quick_pipelines.py`, `test_report_words.py`, `test_rt_pool_minimum.py`, `test_rumble_mapping.py`, `test_rumble_menu.py`, `test_rumble_refresh.py`, `test_same_bind.py`, `test_same_draw.py`, `test_same_dyn.py`, `test_seed_reader.py`, `test_skip_code.py`, `test_status_line.py`, `test_submitted_page.py`, `test_table_track.py`, `test_tested_configurations.py`, `test_tex_spans_once_a_present.py`, `test_texture_layout_sizes.py`, `test_ub_gap.py`, `test_upscale_independent.py`, `test_upscale_label.py`, `test_vertex_bind.py`, `test_vk_pgo.py`, `test_wb_pages.py` </details> **Not tested:** Firefox, Safari, a real phone, a screen reader; the Cloudflare preview (a fork's PR needs the `preview` label). **Must be tested:** - Firefox and Safari, desktop and a phone, by hand: open the front page in both themes and at a few widths, expecting the screenshots' layout, centred content, the grass and clouds in the theme's colours, and no sideways scrolling (a maintainer adding `preview` gives the Cloudflare preview to do it on). ## Risks **What could break:** the hero's layout in browsers not tried here (it relies on CSS `mask`, `clamp()` sizing and `text-wrap: balance`, all current in Chrome, Firefox and Safari). The yellow subtitle (the design's `#FFE100`) is 3.67:1 on the day sky and 12.5:1 on the night sky; it never goes under 24 px, so it meets WCAG's 3:1 for large text (it had been 20 px on phones). The hero no longer says "bring your own copy of the game"; the download section below still says no game files are included. The front page's nav says Updates where other pages say Development. **Turning it off:** revert the PR. **Compatibility:** nothing changes for a player's game, saves or caches. A page downloads about 46 KB of fonts (the Latin Jost and Faculty Glyphic) where it took about 225 KB (Atkinson and Libertinus). ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. - [x] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named). - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [x] Screenshots of the same spot, captioned like the Measurements columns, for a change that shows on screen. - [x] Docs updated. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A full-width sky with the Longshot wordmark, the intro, Get started and Contribute, clouds, and beans in the grass
with the team credit and a Discord link. On the front page the header sits on the hero, its links centred as in the
design, keeping site search and the light/dark control. Jost for the hero, self-hosted. The old hero's bean and its
punchlines go, with their code.

The art in assets/branding/hero/ is placeholder until the design's SVGs land.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Both self-hosted (Latin and Latin Extended, loaded by unicode-range), replacing Libertinus Serif and Atkinson
Hyperlegible Next. Faculty Glyphic has one weight, so headings are 400, and they lose the tight tracking set for
Libertinus.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
feat(website): the hero's intro wider, on three lines
Some checks failed
PR description / Description follows the template (pull_request_target) Successful in 16s
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been cancelled
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been cancelled
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been cancelled
CI / Workflow lint (actionlint) (pull_request) Has been cancelled
Guide screenshots / Guide images and local UI source review (pull_request) Has been cancelled
Third-party parts / As their notes say (pull_request) Has been cancelled
Third-party parts / The same as upstream (pull_request) Has been cancelled
Website / Website on Cloudflare (pull_request) Has been cancelled
463c96ba22
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Contributor

Screenshots: before is main @ aa95d35f, after is this PR @ 463c96ba. Chrome headless, 1440 × 900 desktop and a 390 × 844 phone (emulated), front page.

Desktop, dark theme

Before: main @ aa95d35f
Before: main @ aa95d35f, desktop, dark

After: this PR @ 463c96ba
After: this PR @ 463c96ba, desktop, dark

Desktop, light theme

Before: main @ aa95d35f
Before: main @ aa95d35f, desktop, light

After: this PR @ 463c96ba
After: this PR @ 463c96ba, desktop, light

Phone (390 px)

Before: main @ aa95d35f, dark After: this PR @ 463c96ba, dark After: this PR @ 463c96ba, light
Before, phone, dark After, phone, dark After, phone, light
Screenshots: before is main @ aa95d35f, after is this PR @ 463c96ba. Chrome headless, 1440 × 900 desktop and a 390 × 844 phone (emulated), front page. **Desktop, dark theme** Before: main @ aa95d35f ![Before: main @ aa95d35f, desktop, dark](https://git.magicbean.dev/attachments/b2418632-65b3-4dd3-86c8-8286e1d76e47) After: this PR @ 463c96ba ![After: this PR @ 463c96ba, desktop, dark](https://git.magicbean.dev/attachments/5db7ba27-b52e-42a6-82ce-33e601ea66be) **Desktop, light theme** Before: main @ aa95d35f ![Before: main @ aa95d35f, desktop, light](https://git.magicbean.dev/attachments/af07b312-12de-4cb4-8956-2890f6d7a216) After: this PR @ 463c96ba ![After: this PR @ 463c96ba, desktop, light](https://git.magicbean.dev/attachments/b1c7f4a0-b334-44d5-b9d6-027d0654608e) **Phone (390 px)** | Before: main @ aa95d35f, dark | After: this PR @ 463c96ba, dark | After: this PR @ 463c96ba, light | |---|---|---| | ![Before, phone, dark](https://git.magicbean.dev/attachments/dc39cff8-334e-4d03-b042-7dec7caf875e) | ![After, phone, dark](https://git.magicbean.dev/attachments/6350a242-c6c9-4779-b064-94cc36d35e00) | ![After, phone, light](https://git.magicbean.dev/attachments/8b3fd4f9-002a-47d8-8b5a-4f36b7c67173) |
madebyjordan changed title from WIP: feat(website): the front page's new hero, and the design's fonts across the site to feat(website): the front page's new hero, and the design's fonts across the site 2026-11-15 10:59:57 +00:00
fix(website): the hero's subtitle never under 24 px, so its yellow has large-text contrast
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Guide screenshots / Guide images and local UI source review (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
Website / Website on Cloudflare (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 4s
Website / Website on Cloudflare (pull_request_target) Has been skipped
44515f412c
#FFE100 on the day sky is 3.67:1: enough for large text (WCAG 1.4.3, 3:1 from 24 px), not for the 20 px it was on
phones or 23 px at 1000 px wide.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Author
Contributor

44515f41: the subtitle never goes under 24 px (it was 20 px on phones and 23 px at 1000 px wide). The design's yellow on the day sky is 3.67:1, which meets WCAG's 3:1 for large text from 24 px but not below; on the night sky it is 12.5:1. Raised by bibiburl. Rebased onto main @ aa95d35f.

44515f41: the subtitle never goes under 24 px (it was 20 px on phones and 23 px at 1000 px wide). The design's yellow on the day sky is 3.67:1, which meets WCAG's 3:1 for large text from 24 px but not below; on the night sky it is 12.5:1. Raised by bibiburl. Rebased onto main @ aa95d35f.
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Guide screenshots / Guide images and local UI source review (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
Website / Website on Cloudflare (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 4s
Website / Website on Cloudflare (pull_request_target) Has been skipped
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
Some workflows are waiting to be reviewed.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 'website/hero:madebyjordan-website/hero'
git switch 'madebyjordan-website/hero'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!768
No description provided.