| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 16 hours | data: Adventure (wip!!!! wip!!!! wip!!!! wip!!!!) | (quasar) nebula | |
| 16 hours | data, infra: better CacheableObject prototype inheritence | (quasar) nebula | |
| Basically, properties (as written in source code) are only registered once EVER, instead of "also" on subclasses, which was previously the case - we were literally copying over the descriptors and then re-evaluating as though they were new. That's the goal, but to make it happen, we had to redo how default property values are initialized. Things no longer self- prepare by making a "storage" for all their cached values with null, or defaults, filled in - instead they create a new object which inherits those defaults from their prototype. This object respectively has the prototype of the superclass' prototype's defaults, and so on. A nice effect is that validating defaults against update.validate specs now happens during prototype finalization, instead of every time any instance is instantiated. We also had to do the same kind of inheritence shenanigans with the full propertyDescriptors specs themselves. The real-world performance boost for this is probably more or less zero RIGHT NOW, because Thing subclassing is used crazy sparingly (and there's still work to make it really nice). But if [[Prototype]] chains don't really take memory, then possibly this cleans up a lot of extremely similar objects where every new Thing property multiplies memory usage across all instances of that thing, regardless how few actually set a value. Maybe! Who knows what V8 really optimizes, but maybe! | |||
| 16 hours | data, infra: actually sort subclasses after superclasses | (quasar) nebula | |
| critically necessary for literally any inheritence shenanigans | |||
| 16 hours | data: link flashes, acts, and sides directly | (quasar) nebula | |
| same as 67a936adc308a5bec6c969c90d8811fcbce3009b and 4362324b40da9daa54c9c6c3a821b0cccaec71a0 (combined into one and with more save() cleanup) | |||
| 33 hours | can't commit this | (quasar) nebula | |
| 33 hours | content: image: shush about missing thumbnails | (quasar) nebula | |
| 2025-11-04 | content: consider language order for tooltip offset | (quasar) nebula | |
| 2025-11-04 | language: language.orderStringOptions() / language.$order() | (quasar) nebula | |
| 2025-11-04 | content, css: always control offset-tooltip effect from content | (quasar) nebula | |
| 2025-11-04 | content: gAIPChunk: albumLink, flashActLink slots -> link | (quasar) nebula | |
| 2025-11-04 | content: gAIPChunk: items slot -> list | (quasar) nebula | |
| 2025-11-03 | search: don't count "edits for wiki" for artist groups | (quasar) nebula | |
| 2025-11-03 | search: fresher artist groups math | (quasar) nebula | |
| 2025-11-03 | search: first try at artist groups | (quasar) nebula | |
| 2025-11-03 | cilent, search: access isTrack, isAlbum etc | (quasar) nebula | |
| 2025-11-03 | client, search: fix bad Object.hasOwn() accesses | (quasar) nebula | |
| 2025-11-03 | client, search: add additionalNames to interestingFieldCombinations | (quasar) nebula | |
| 2025-11-02 | content: gGIPAlbumsListBySeries: actually show series descriptions | (quasar) nebula | |
| 2025-10-26 | client: fix dynamic links missing '/' at end | (quasar) nebula | |
| Fixes navigating search results spamming the live-dev-server console with "[301] (trl. shash) ..."-type messages... finally! | |||
| 2025-10-26 | content: image: uri-decode mediaSrc | (quasar) nebula | |
| 2025-10-25 | content, css: gAIPTracksChunkItem: consider credited releases | (quasar) nebula | |
| 2025-10-25 | data: let secondary releases' artists differ from main release | (quasar) nebula | |
| 2025-10-25 | data, content: Track.artistTextInLists | (quasar) nebula | |
| 2025-10-25 | wiki-data: matchMarkdownLinks: use fuller-fat tokenizer.link() | (quasar) nebula | |
| Apparently setting pedantic is not necessary to get the existing example case to work properly. | |||
| 2025-10-25 | content, css: content-code overflow indicator | (quasar) nebula | |
| 2025-10-25 | css: content-code precision | (quasar) nebula | |
| 2025-10-25 | content, css: transformContent: fenced code blocks | (quasar) nebula | |
| 2025-10-24 | content: gTIPPreviousProductionLine: fix missing list format | (quasar) nebula | |
| 2025-10-24 | upd8: reportDirectoryErrors messaging | (quasar) nebula | |
| 2025-10-24 | checks: reportDirectoryErrors: consider blank directory missing | (quasar) nebula | |
| 2025-10-24 | search: aliasNames -> artistAliases | (quasar) nebula | |
| 2025-10-24 | data: use subdocs for artist aliases | (quasar) nebula | |
| They're still exposed as Artist instances. This commit only changes how those instances come to be, and are bound with the main artist. | |||
| 2025-10-24 | data: Thing.getReference: include name in missing directory throw | (quasar) nebula | |
| 2025-10-23 | content, data: Track.previousProductionTracks | (quasar) nebula | |
| 2025-10-23 | content: generateNearbyTrackList | (quasar) nebula | |
| makes generateTrackList more general | |||
| 2025-10-23 | content: generateTrackListItem: showArtists: 'auto' | (quasar) nebula | |
| 2025-10-23 | html, infra: html.inside(), html.findInside() | (quasar) nebula | |
| Ooooo | |||
| 2025-10-23 | language: preserve and surface lone-item templates | (quasar) nebula | |
| 2025-10-23 | content: image: slight wiggle room in srcset natural sizes | (quasar) nebula | |
| 2025-10-23 | content: image, generateCoverArtwork: responsive resolution | (quasar) nebula | |
| 2025-10-22 | content: linkThing: fix not passing preferShortName through | (quasar) nebula | |
| 2025-10-21 | content: transformContent: marked 13 compat, custom inline render | (quasar) nebula | |
| 2025-10-21 | content: generateCommentaryIndexPage: use npm word-count instead | (quasar) nebula | |
| 2025-10-21 | content: generateCommentaryIndexPage: count facing words | (quasar) nebula | |
| 2025-10-21 | language: countWords() | (quasar) nebula | |
| 2025-10-21 | html: resolve(..., {normalize: 'plain'}) | (quasar) nebula | |
| 2025-10-21 | content: generate{Absolute,Relative}Datetimestamp: always tooltip | (quasar) nebula | |
| 2025-10-21 | content: generateAbsoluteDatetimestamp: {minimal,year}-difference | (quasar) nebula | |
| 2025-10-21 | language: formatMonthDay() | (quasar) nebula | |
| 2025-10-20 | language: drop externalLinkSpec prop, just import directly | (quasar) nebula | |
| this lets us totally drop "internal" but exported function initializeLanguageObject - we'll still need to provide the external link spec in essentially the exact same way in the future, when external link spec is dynamic, but presently there's no need for this function or providing at all. | |||