Repository navigation
Releases: haruhimemoe/pools.haruhime.moe
Release list
v0.1.0
Added
- API keys: make an
hpl_key on your account page and call/api/v1/mewith it. The API docs page lists the endpoints. Keys and the/api/v1guard come from@haruhimemoe/next-kit0.5.0, shared with packs and bb.
Changed
-
Depends on
@haruhimemoe/ui0.9.0: the legal pages' MDX elements (links, heading anchors, the table wrapper, GitHub-style callouts) now come from its sharedmdxComponentsand@haruhimemoe/ui/remarkinstead of a local override;src/mdx-components.tsxis a thin pass-through. The legal content has no fenced code, so no shiki highlighter is wired in. -
/data's first two sections are headed "Pool data" and "Map data", as the footer links read; a section named "Pools" doubled the footer's pools column for screen readers. -
Depends on
@haruhimemoe/ui0.7.0, its accessibility release: one footer nav with headed columns, field errors read as polite status messages instead of alerts, a visible focus ring on fields, 24px slider thumbs and chips, lighter accent links, and beatmap stats that read their full names ("Circle size") to screen readers. -
"Leaderboard maps only" in "Similar to " now shows the 20 closest maps that have a leaderboard instead of filtering the 20 closest of all maps, which were mostly graveyard (map 129891 kept 2 of 18).
scripts/similarstores a second list per map (nl,sl: the top 20 among ranked, approved and loved maps, by BoBERT'sstatuscolumn), which?status=leaderboardreads; rows imported before it existed still get the filter. The "left out" line shows only when the filter drops something. The import grows from about 80 MB to about 137 MB.
Added
-
"Similar to " has a "Leaderboard maps only (ranked, approved, loved)" switch, on by default, so pattern matches (mostly graveyard maps) show poolable maps first. It says how many of the similar maps it left out, and turning it off is kept in the browser's URL state.
GET /api/maps/<id>/similar?status=leaderboardapplies it; the answer addsunrankedandtotal. -
Past pools and public built pools have their own link preview: the pool's name with its year, map count, star range and mods (
/pools/<id>/og.png, drawn by@haruhimemoe/brand0.6.0). Unlisted and private pools keep the site's image. -
A long pool or map title ends in "· pools" instead of "· pools.haruhime.moe", so search results show it whole (
@haruhimemoe/next-kit0.4.0). -
The footer's tools column is now ui 0.6.0's shared "haruhime tools" column (packs, bb, All tools), the same on every haruhime.moe site.
-
A "What pools is" paragraph and five questions on the home page, with the same questions as FAQPage structured data. Structured data on the home page (the haruhime.moe organization, the site with its search, the app), on past pool pages (a Dataset) and map pages, with breadcrumbs.
-
/searchsends a real page before its script loads: the heading, what can be searched, common searches and the 20 latest past pools. -
/llms-full.txtwith every current past pool, every public built pool and the 500 most used maps;/llms.txtis now a short index that links it. -
Map pages say in one line how often and how a map was played, and where last. The footer links the other haruhime.moe tools.
-
Find similar on every map in the map browser, each slot and candidate in the editor, and Your candidates: a "Similar to " source with up to 20 maps that play alike and how similar each is, under the current mod lens and the slot's target star range, with the content rules applied and the pool's own maps left out. Pattern matches come from the embeddings BoBERT by token03 publishes (MIT, credited next to the results and on /credits); maps it doesn't cover get a difficulty match on stars, BPM, length, AR, OD and CS, labelled as such.
GET /api/maps/<id>/similaranswers it (rate limited and cached like search).scripts/similar/precomputes the table offline. -
Candidates per slot: up to 10 maps a slot is still considering besides its pick (100 per pool). Add them from the map browser with "Add as candidate" (choose the slot, or a new one); each slot's "N candidates" list shows their stars under the slot's mods, who added them, a note and votes ("2 of 3 editors", yours as a toggle), with Promote and Remove. A pick can be demoted ("Demote") to a candidate and its slot stays. Drag a candidate onto a pick to promote it, a pick onto a list to demote it, or a candidate to another slot of the same bucket. Undo covers them, and the activity log records every candidate change but votes. Only the owner and editors ever see candidates: the pool's page, the API for anyone else, exports, the pack on packs, targets, the summary and the content rules check go by picks alone.
-
"Your candidates" in the map browser: every candidate (and, if you like, every pick) from the pools you own or edit, newest first, filtered by slot and text, with stars under the current bucket's mods. Add or Add as candidate copies one into the pool you're editing, with its note.
-
Drag and drop in the editor: drag a map by its handle onto another row or slot, with a mouse or on a touch screen. The Up, Down and Move buttons stay for the keyboard.
-
An activity log for built pools: every change records who made it, when and what, and the editor shows the last 20 under Recent changes (owner and editors only). A pool keeps its last 200 entries for up to 180 days; deleting an account renames its entries to "deleted user".
-
Export on built pool pages and in the editor: copy beatmap IDs, copy
!mp mapand!mp modslines per slot, and download a CSV with values under each slot's mods. -
Undo in the editor (and Ctrl+Z / Cmd+Z outside text fields): takes back your own last changes in this session, up to 20 steps, by sending their inverse. No redo.
-
Map previews: covers and osu!'s preview clips (one at a time) in the map browser, the editor and built pool pages, loaded straight from osu!'s servers. The Content-Security-Policy now names the image and media hosts.
-
Notes on slots: a short note on each map (up to 280 characters), shown under it in the editor and on the pool's page.
-
Slot targets: how many maps each slot should hold and a star range under its mods, with placeholder rows, out-of-range badges and a list in the summary.
/newoffers Qualifiers, Group stage, Knockout and Finals templates that set the counts, and Find maps fills in the slot's star range. -
Build a pool: anyone signs in with osu! and makes pools at
/new, then edits them at/pools/<id>/edit: details, maps in slots (built-in and custom, with forced mods or freemod), moving without drag, pasted slot lines, IDs or links, and a summary with the content rules check. Every change saves at once, and a change someone else made first reloads the pool. -
A map browser in the editor that searches osu! maps under a mod lens, with star rating, AR, OD, BPM and length under that mod, and adds a difficulty to the matching slot.
-
Pool slots show their values under the slot's mods, on past and built pools.
-
Co-editors, added by osu! username; who can see a pool (private, unlisted or public); deleting a pool or the whole account.
-
Unlisted and public built pools with maps get their own pack on packs.haruhime.moe, crediting the owner and editors and kept in step after each change. The editor shows the pack's state with "Update pack now", and the pool's page shows "Download on packs".
-
"Start from this pool" on past and built pool pages copies a pool's maps into a new private pool.
-
Search's pools tab lists past tournament pools, public pools built here, or both; public built pools are in the sitemap and llms.txt, and the home page lists them under Recently built.
-
Admins hide, unhide and delete built pools from
/admin; a hidden pool's pack is unlisted on packs. -
The home page, site description and llms.txt lead with building a pool; past pools stay as reference.
-
Past tournament pools from otdb's export, tournament hosts and community members, each with its tournament, round and year, its notes, who it came from (with the link they gave) and a link to open it in packs.
-
Admins add pools that hosts and community members send at
/admin/pools/new: a packs link, a pack key, or slot lines and beatmap IDs. A pool whose maps match one we have joins it instead of making a copy. -
Search every osu! map through the hinai mirror, by text, status, star rating, length and BPM, with explicit maps on request. Sets that can't be used in officially supported tournaments are left out and counted, sets to check first are marked, unranked maps carry a warning, and each difficulty says how many pools played it. The maps tab opens on all maps; Played in pools keeps the old search, and old links still open it.
-
Pool search by text, year, star rating, number of maps, badged and a contained map, sorted by year, name or size.
-
Search of maps played in pools by text, star rating, length, BPM, AR, OD, CS, what the map was played as, times used and last year used, sorted by use, last use, star rating, length or title.
-
Map pages with every pool that played the map.
-
A compliance check for pasted beatmap IDs, links, pools and pack keys, against the content rules for officially supported tournaments.
-
An admin area for listed osu! accounts: import reports, pool edits, badged tournaments, pack sync retries and a refresh of the public pages after an import.
-
Credits, disclaimer and privacy pages, a sitemap and llms.txt.
-
/data(where pools and map details come from, the content rules, corrections) and/submit(how to send a pool in the Discord server or by email). -
A footer with pools, Data, About and Legal columns and the Discord server.
-
Recently added on the home page: the 8 pools added last.
-
Sign-in errors land on the sign-in page with a plain explanation, including "That osu! account isn't a pools admin."
-
`POOLS_A...