• Fix segfault due to unconfigured role
• Add credit scope to the root scope's TypeSpec, permitting
credit = "$owner" { role = "host"; }
to be absorbed by all projects
• Make "unfound role" errors WaitForInput()
Features:
User-configurable roles and credits
Handle SIGINT to quit cleanly and avoid database corruption
Fixes:
Filesystem event monitoring handles directory creation / deletion
Fixed buffer overflow when trying to curl in a non-existent quote
The search page could auto-scroll to the top when the grid is not
displayed. This commit fixes that problem by ensuring that the grid
element has a width and height before seeking to auto-scroll to it.
Thanks to Leonardo Serafim Eid for the report
• Max{Height,Width}OfElement() should now produce saner values
• Video can now resize upon orientation change on mobile
• Search grid now sizes to the correct area
• CSS rule setting only tries to touch local stylesheets
• Video size may be based on the height if the width-based is too tall
• Auto-scrolling improvements:
• It now cannot oscillate
• It doesn't happen at all if scrolled to the very top / bottom
Thanks to @Freak_ on freenode for the report
Better text fitting
Account for the scrollbar width in our max width considerations
Don't bother to compute the grid size merely when toggling the view
Both pages:
Derive reliable window dimensions ourselves
Set the orientation from the window dimensions
Use "box-sizing: content-box" on the help keys, to fix sizing
Search page:
Support irregular (i.e. non-square) grids
General sizing fixes
Fix text fitting when toggling back from List to Grid view
Fix text fitting when textNode would overflow container
Correctly compute optimal grid size after orientation change
Rename .text to .cineraText to avoid CSS selector clash
Only add click events for the main set of buttons (not its clone)
Player page:
Size the video and timestamps bar more sensibly
Search page:
Manually size the grid buttons, and head / tail items
Player page:
Confine long menus to the player height
Confine the help documentation to the window size
Major features:
Search page: Subdivision grid layout
Player page: Device orientation-specific layout
Fixes:
Strip slashes of the URLs: base_url, etc.
Fix SnipeChecksumAndCloseFile() to not null-terminate the checksum string
Fix hover background colouration of medium icons of current timestamp
Fix DeriveLineageWithoutOriginOfProject() to call InitBookOfPointers()
Fix SortAndAbbreviateSpeakers() to use the person's ID if Name is blank
More directly display the "unit", if set, in the search results
Fix VideoIsPrivate() to find the apparently relocated privacyStatus
Make VideoIsPrivate() default to TRUE for non-youtube
Output as keywords all topics that do not match "nullTopic"
Deleted asset:
cinera_search.js
New assets:
cinera_search_pre.js
cinera_search_post.js
Fixes / Improvements:
• Switch all growable arrays to use memory_book, rather than realloc()
• Lift a bunch of hardcoded string lengths and item counts
• malloc() the MemoryArena rather than calloc(), thus saving 3 MiB
• Reorganise HMMLToBuffers() to return from one place, the end
• Print indexing errors in the same style as config errors / warnings
Diagnoses:
• Identified sources of "non-freed" memory usage and marked them +MEM.
This may aid future work on further reducing memory / cycle usage.
New config settings:
• suppress_prompts boolean