Mischa POSLAWSKY [Wed, 22 Sep 2021 14:40:17 +0000 (16:40 +0200)]
login: preview target metadata of linked index pages
Mischa POSLAWSKY [Wed, 22 Sep 2021 12:59:30 +0000 (14:59 +0200)]
page: apply admin restrictions from .private contents
Mischa POSLAWSKY [Thu, 16 Sep 2021 07:48:10 +0000 (09:48 +0200)]
login: return success status to whatsapp crawler
An 403 forbidden error will prevent metadata parsing and consecutive link
preview.
Mischa POSLAWSKY [Thu, 16 Sep 2021 07:15:34 +0000 (09:15 +0200)]
issue: include reply image in api metadata
Mischa POSLAWSKY [Sun, 23 May 2021 12:50:29 +0000 (14:50 +0200)]
issue/activity: ignore messages moved to spam page
Mischa POSLAWSKY [Tue, 26 Jan 2021 21:27:54 +0000 (22:27 +0100)]
head: self link as canonical url instead of og:url
Reflect actual intent, probably with identical results.
Pages should (only?) specify an original og:url in case of later renames.
Mischa POSLAWSKY [Thu, 19 Aug 2021 15:14:45 +0000 (17:14 +0200)]
head: reorder description metadata attributes
At least Twitter <https://cards-dev.twitter.com/validator> requires og property to be first.
Mischa POSLAWSKY [Thu, 25 Mar 2021 02:29:13 +0000 (03:29 +0100)]
edit/page: keep metadata headers unwrapped
Prefer all meta tags on the first line.
Mischa POSLAWSKY [Thu, 20 May 2021 23:04:05 +0000 (01:04 +0200)]
issue/activity: contents after paragraph cut
Trailing newline added by recent formatting.
Also validate html by keeping element close.
Mischa POSLAWSKY [Sat, 15 May 2021 21:53:15 +0000 (23:53 +0200)]
widget/reply: ignore missing user object
Fix include without site setup for testing.
Mischa POSLAWSKY [Sat, 15 May 2021 21:51:24 +0000 (23:51 +0200)]
widget/reply: formatting syntax for unordered lists
More complicated block formatting replacing paragraphs by list items.
Keep to consecutive regular expressions and html herding while possible
instead of complicated code nesting or parsers.
Mischa POSLAWSKY [Sat, 15 May 2021 21:51:02 +0000 (23:51 +0200)]
widget/reply: formatting syntax for ~strike~ and `code`
Remaining inline options in common chat systems.
Mischa POSLAWSKY [Sat, 15 May 2021 20:18:54 +0000 (22:18 +0200)]
widget/reply: emphasis formatting over sentences
Fix boundaries and contents besides simple words.
Mischa POSLAWSKY [Fri, 14 May 2021 15:26:40 +0000 (17:26 +0200)]
widget/reply: formatting syntax for <links>
Recognise common <url> notation (as in Markdown), extended for optional link
names after pipe (as in Slack) or whitespace (assuming escaped in urls).
Mischa POSLAWSKY [Fri, 14 May 2021 15:20:38 +0000 (17:20 +0200)]
widget/reply: formatting syntax for *bold*
Common chat format but unlike more complicated Markdown **doubling**.
Mischa POSLAWSKY [Fri, 14 May 2021 14:59:48 +0000 (16:59 +0200)]
widget/reply: formatting syntax for _italics_
Single underscores for emphasis, as in mail, chat, and Markdown.
Do not cater to advanced usage like partial highlights inside words and
escapes (neither do whatsapp and slack for example); admins can use html
if really needed.
Mischa POSLAWSKY [Fri, 14 May 2021 14:18:09 +0000 (16:18 +0200)]
widget/reply: paragraph breaks on input lines unless trailing spaces
Expect stories not poems, so hard line breaks should rarely be intended.
Exceptions are possible using Markdown syntax of trailing whitespace.
Mischa POSLAWSKY [Mon, 26 Apr 2021 16:19:33 +0000 (18:19 +0200)]
widget/reply: save raw message input before formatting
Prepare for upcoming conversion (errors) and possible debugging.
Restructure earlier posts:
ALTER TABLE comments ADD raw text;
UPDATE comments SET raw = regexp_replace(regexp_replace(raw,
'<br />|<\/?p>', '', 'g'),
E'\n?<img src="/thumb/640x(/.*)" />', E'\n\\1', 'g');
Mischa POSLAWSKY [Fri, 9 Apr 2021 04:29:03 +0000 (06:29 +0200)]
widget/reply: lazy image loading in html5
Indicate BTF images are optional (assume the first two are visible),
to reduce bandwidth for quick peeks.
Supported in FF 75+ and Chrome 77+ (no Safari yet) but not important enough
to bother with javascript complexity.
Mischa POSLAWSKY [Mon, 22 Feb 2021 00:37:15 +0000 (01:37 +0100)]
page: indicate repost status in http redirects
Replace generic status 302 by specific HTTP2 options.
In particular prevent unrelated posts after login.
Mischa POSLAWSKY [Thu, 4 Feb 2021 01:31:48 +0000 (02:31 +0100)]
page: referrer policy to include details cross-origin
Default recently changed to strict-origin-when-cross-origin which hides path
details in Referer. Disagree about this "security" and rather keep the page
information for external sites.
Mischa POSLAWSKY [Thu, 6 May 2021 17:19:22 +0000 (19:19 +0200)]
issue/activity: prevent abbreviation of subsequent images
Fix cropped image after multiple paragraphs.
Mischa POSLAWSKY [Tue, 4 May 2021 17:01:33 +0000 (19:01 +0200)]
foto: api directory modification headers
Report presence and date to reduce dashboard bandwidth,
with minimal cache-control to avoid dynamic caching.
Mischa POSLAWSKY [Sun, 2 May 2021 18:21:29 +0000 (20:21 +0200)]
issue/activity: append related image to subsequent message
Prefer attribution of significant message instead of preceding images.
Mischa POSLAWSKY [Tue, 27 Apr 2021 19:51:34 +0000 (21:51 +0200)]
issue/activity: only concatenate messages after images
Fix cascading floats in mixed threads.
Mischa POSLAWSKY [Tue, 27 Apr 2021 18:43:52 +0000 (20:43 +0200)]
issue/activity: concatenate similar replies
Omit title for unchanged ticket and author,
causing stacked images from different messages.
Don't bother with closing <dd> for simplicity.
Mischa POSLAWSKY [Tue, 27 Apr 2021 18:37:24 +0000 (20:37 +0200)]
issue/activity: format replies for dashboard
Cut consecutive paragraphs (similar to news feed)
and move images right to take less space.
Mischa POSLAWSKY [Tue, 27 Apr 2021 15:03:15 +0000 (17:03 +0200)]
foto: translate tag album requests to .tag
Hidden from overviews but accessible without dot.
Mischa POSLAWSKY [Thu, 31 Dec 2020 13:35:32 +0000 (14:35 +0100)]
foto: json client requests serve directory api
Requested album links as js array (in subarrays to allow future metadata
addition) for use by dashboard page.
Mischa POSLAWSKY [Tue, 27 Apr 2021 14:41:44 +0000 (16:41 +0200)]
nieuws: indicate abbreviated teaser contents
In story text is not identical, advertise where to find more details.
Assumes an external non-interactive display for now.
Mischa POSLAWSKY [Tue, 27 Apr 2021 14:34:54 +0000 (16:34 +0200)]
nieuws: widget option for teaser preference
Replace RSS feed requirement on dashboard to get short paragraphs.
Mischa POSLAWSKY [Tue, 27 Apr 2021 01:03:11 +0000 (03:03 +0200)]
page: omit editing <div> container for xml response
Mischa POSLAWSKY [Tue, 20 Apr 2021 15:49:59 +0000 (17:49 +0200)]
issue/activity: ungrouped select, persistent titles
Revert to author headers and simple chronological display.
Mischa POSLAWSKY [Sat, 16 Jan 2021 14:23:04 +0000 (15:23 +0100)]
issue/activity: author footer below messages
Dashboard styling for small citations.
Mischa POSLAWSKY [Tue, 12 Jan 2021 04:46:17 +0000 (05:46 +0100)]
issue/activity: ignore missing author
Silence PHP warnings for system (eg p2000) notifications.
Mischa POSLAWSKY [Fri, 15 Jan 2021 17:41:47 +0000 (18:41 +0100)]
login/commits: syntax highlighting of diff lines
Parse chunks returned by git's porcelain word diffing interface,
formatting old/new columns similar to split github commit output.
Ignore strict line numbers in favour of minimal text comparison.
Mischa POSLAWSKY [Fri, 15 Jan 2021 09:24:40 +0000 (10:24 +0100)]
login/commits: git show of hash parameter
Link overview to further details, currently unformatted.
Mischa POSLAWSKY [Fri, 15 Jan 2021 11:26:38 +0000 (12:26 +0100)]
login/list: ignore symlinks in profile directory
Assume links to directories are aliases to be hidden.
Mischa POSLAWSKY [Wed, 7 Apr 2021 15:37:36 +0000 (17:37 +0200)]
upload: disallow overwrites of existing file names
Not a solution for reusing the same name, but prevents silent replacement
allowing the user to retry.
Reported-by: Fulco Jongsma
Mischa POSLAWSKY [Mon, 29 Mar 2021 23:21:37 +0000 (01:21 +0200)]
page: ignore missing accept header in api detection
Silence PHP warnings for some [robot] requests.
Mischa POSLAWSKY [Mon, 22 Feb 2021 00:46:44 +0000 (01:46 +0100)]
issue: secure against external form submissions
Ignore api requests (preview from (failed) login),
and require subject field to be sure.
Fixes empty issues after failed logins.
Mischa POSLAWSKY [Mon, 8 Mar 2021 18:10:26 +0000 (19:10 +0100)]
login/mailpass: case-insensitive match of requested address
Mischa POSLAWSKY [Wed, 24 Feb 2021 09:47:18 +0000 (10:47 +0100)]
widget/reply: identify subject changes
Mischa POSLAWSKY [Thu, 25 Feb 2021 13:08:27 +0000 (14:08 +0100)]
widget/reply: link non-image uploads instead
Mischa POSLAWSKY [Sat, 6 Feb 2021 23:28:58 +0000 (00:28 +0100)]
sitemap.xml: fix access to searched page objects
Broken since commit
v4.5-30-gee9702f9ff (2020-12-21)
[page: search results as article objects].
Mischa POSLAWSKY [Tue, 8 Jan 2019 23:32:17 +0000 (00:32 +0100)]
contact: save email contents to log file
Backup in case of undelivered or otherwise lost messages.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:35:41 +0000 (00:35 +0100)]
widget/contact: client ip address in received mail header
Do not record technical identification in message body, instead emulate as
mail sender hidden for common consumption.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:13:59 +0000 (00:13 +0100)]
widget/contact: reduce code indentation of post check
Minor code cleanup.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:43:03 +0000 (00:43 +0100)]
page: url encode widget attributes
Support spaces and delimiters in values, such as spaces in contact addresses.
Mischa POSLAWSKY [Mon, 25 Jan 2021 22:55:24 +0000 (23:55 +0100)]
widget/contact: subject and recipient address from call options
Custom variables instead of hardcoding each case.
Mischa POSLAWSKY [Mon, 25 Jan 2021 23:05:30 +0000 (00:05 +0100)]
widget/contact: send from given name
Apply naam input to sender email address.
Mischa POSLAWSKY [Sat, 23 Jan 2021 12:30:09 +0000 (13:30 +0100)]
login/edit: share user override with widget
Fix admin editing of other profiles.
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:25:14 +0000 (11:25 +0100)]
foto: inline showthumb function to format img elements
Slight code simplification.
Mischa POSLAWSKY [Fri, 15 Jan 2021 10:23:19 +0000 (11:23 +0100)]
foto: escape html (ampersands) in album links
Fix broken entity Lijtweg directory <verbouw&opknap>.
Mischa POSLAWSKY [Fri, 15 Jan 2021 12:25:19 +0000 (13:25 +0100)]
login/admin: refer to edit link by updated appearance
Outdated since commit
v4.4-16-gb168fd753d (2020-12-05)
[head: icons to abbreviate user and edit].
Mischa POSLAWSKY [Tue, 12 Jan 2021 02:38:21 +0000 (03:38 +0100)]
make: fix missing domain name of fontello download
Missing (and unnecessary) variable in commit
v5.0-26-g38cf6657d2
(2021-01-10) [make rules to download fontello glyphs].
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:08:59 +0000 (20:08 +0100)]
search: input form and extended results
Already referenced from 404 page as ui for additional queries.
Mischa POSLAWSKY [Mon, 11 Jan 2021 19:37:17 +0000 (20:37 +0100)]
edit/page: nbsp after initials, not unrelated abbreviations
Case-sensitive match; fix space after "i.v.m." not "I.V.M.".
Mischa POSLAWSKY [Mon, 11 Jan 2021 18:52:34 +0000 (19:52 +0100)]
edit/page: ignore saving unaltered body
Do not overwrite an unaltered file, preventing mtime update and noop commit
(minor speedup).
Mischa POSLAWSKY [Thu, 7 Jan 2021 20:07:43 +0000 (21:07 +0100)]
edit/page: save original request for commit message
Minor code cleanup in not recreating the earlier name.
Mischa POSLAWSKY [Thu, 7 Nov 2019 08:36:31 +0000 (09:36 +0100)]
edit/page: git directory relative to site root
No longer a subdirectory in Lijtweg since commit
v2.6-134-g7b106a3076
(2018-09-21) [move www subdirectory to root].
Mischa POSLAWSKY [Thu, 7 Jan 2021 19:57:59 +0000 (20:57 +0100)]
edit/head: keep login containers only if editable
Fix logout hiding for admins with missing edit stylesheet.
Mischa POSLAWSKY [Tue, 5 Jan 2021 19:26:26 +0000 (20:26 +0100)]
make rules to download fontello glyphs
Common "build" code to obtain assets for site styling.
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:41:50 +0000 (03:41 +0100)]
page: allow remote access for xml requests
Made for inclusion from scripts such as dashboard page.
Mischa POSLAWSKY [Sat, 2 Jan 2021 04:28:52 +0000 (05:28 +0100)]
issue/activity: group replies by message topic
Keep selected threads chronologically, similar to Redmine activity.
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:40:37 +0000 (03:40 +0100)]
issue: drop report template of activity widget
Page container to be implemented at sites.
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:53:49 +0000 (01:53 +0100)]
page: call handler through index method
Mischa POSLAWSKY [Mon, 28 Dec 2020 02:33:21 +0000 (03:33 +0100)]
page: only html body on application/xml requests
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:46:06 +0000 (19:46 +0100)]
page: text/plain request triggers api mode
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:46:55 +0000 (03:46 +0100)]
progress: disable submit button while posting
Prevent duplicates from unavoidable double clicks.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:32:00 +0000 (02:32 +0100)]
widget/reply: redirect to created comment
Undo initial design of continuous uploads, rather have normal form behaviour
of showing feedback/results.
Mischa POSLAWSKY [Thu, 9 Jan 2020 10:04:07 +0000 (11:04 +0100)]
widget/reply: load file upload progress indicator
Extend image upload script for any user form, with global support for
text/plain post interface (copied from Lijtweg upload controller designed
in
v2.6-167-gd6338eb73e (2018-11-04) [hijack file input to show progress]).
Mischa POSLAWSKY [Sun, 4 Nov 2018 15:29:29 +0000 (16:29 +0100)]
progress: javascript to post image uploads
Track code written for contact form at Lijtweg commit
v2.6-167-gd6338eb73e
(2018-11-04) [upload: hijack file input to show progress] with updates until
v2.6-171-gb68eaa5bbd (2018-11-05) [upload: support multiple files]
in preparation of general reuse.
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:33:48 +0000 (19:33 +0100)]
page: api attribute indicate index requests
Replaces userless calls for better fault tolerance and permission support.
Mischa POSLAWSKY [Fri, 26 Oct 2018 18:48:48 +0000 (20:48 +0200)]
edit/foto/cover: replace fatal exceptions by abort()
Code cleanup, identical behaviour.
Mischa POSLAWSKY [Sun, 27 Dec 2020 18:44:33 +0000 (19:44 +0100)]
page: redirect location option in abort()
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:08:11 +0000 (01:08 +0100)]
thumb: append .jpg extension to match file type
Rename example.png paths to example.png.jpg so its name corresponds to mime
type as warned by Dareboost.
Mischa POSLAWSKY [Tue, 29 Dec 2020 00:22:18 +0000 (01:22 +0100)]
thumb: content-length http header
Match [Apache] server output for cached files.
Still lacks ETag because PHP cannot calculate this (needs μs mtime).
Mischa POSLAWSKY [Sun, 27 Dec 2020 02:58:32 +0000 (03:58 +0100)]
thumb: only shrink larger images
Support smaller user uploads unscaled (with smaller file sizes), expecting
browser upscaling if necessary (lower quality should not be a problem).
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:36:04 +0000 (02:36 +0100)]
thumb: validate path before extracting missing parts
Silence PHP warning about undefined offset on invalid requests.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:35:14 +0000 (02:35 +0100)]
edit/page: ignore missing edit target
Silence javascript warning on uneditable pages.
Mischa POSLAWSKY [Sun, 27 Dec 2020 01:39:12 +0000 (02:39 +0100)]
edit/page: describe hotkey letter in save plugin
Minor code cleanup of a magic value.
Mischa POSLAWSKY [Sun, 17 May 2020 00:40:31 +0000 (02:40 +0200)]
edit/page: allow image uploads through easyimage
Fix local files shown as blobs in testing.
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:20:13 +0000 (00:20 +0100)]
edit/page: disable pdf plugin for ckeditor
Imposed in Full release since version 4.15.1, causing license warning
despite being unused and unwanted.
Mischa POSLAWSKY [Tue, 22 Dec 2020 23:35:42 +0000 (00:35 +0100)]
edit/page: ckeditor image upload to user dir, returned as thumb
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:33:24 +0000 (13:33 +0100)]
edit/page: disable image size attributes in editor
Disallow width and height, with Advanced Content Filtering enabled following
<https://ckeditor.com/docs/ckeditor4/latest/guide/dev_disallowed_content.html
#how-to-allow-everything-except>.
Mischa POSLAWSKY [Tue, 22 Dec 2020 12:11:54 +0000 (13:11 +0100)]
edit/page: fix ckeditor [json] upload response
One incompatibility in commit
v4.4-28-gdd363674c2 (2020-12-05)
[update remote ckeditor to version 4.15.1] after all, according to
https://ckeditor.com/docs/ckeditor4/latest/guide/dev_file_browser_api.html:
> Since CKEditor 4.9 all file uploads, including those initiated by the File
> Browser plugin, expect a JSON response
Mischa POSLAWSKY [Tue, 22 Dec 2020 18:34:53 +0000 (19:34 +0100)]
edit/page: include admin stylesheet in editor ui
Fix dialog style separated in the previous commit.
Mischa POSLAWSKY [Sun, 20 Dec 2020 15:55:24 +0000 (16:55 +0100)]
edit/head: optional admin stylesheet for editor overrides
Fix logout hiding if logged out.
Mischa POSLAWSKY [Sun, 20 Dec 2020 01:16:19 +0000 (02:16 +0100)]
edit/head: ckeditor script url in data attribute
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:58:13 +0000 (01:58 +0100)]
edit/head: check original file request for writability
Mischa POSLAWSKY [Sun, 20 Dec 2020 00:56:50 +0000 (01:56 +0100)]
page: rename page method to file
More descriptive of requested file name, avoiding duplicate $Page->page.
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:40:52 +0000 (15:40 +0100)]
edit/page: add edit button in javascript
Mischa POSLAWSKY [Sat, 19 Dec 2020 14:29:03 +0000 (15:29 +0100)]
edit/head: move admin preparation to separate include
Mischa POSLAWSKY [Fri, 3 Jan 2020 08:46:05 +0000 (09:46 +0100)]
issue/report: activity widget to list latest messages
Mischa POSLAWSKY [Wed, 16 Dec 2020 13:05:11 +0000 (14:05 +0100)]
edit/page: enforce relative links to local domain
Replace <a href> and <img src> urls on save to fix common user mistake
breaking site deployment on a different [dev] domain.
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:54:24 +0000 (13:54 +0100)]
edit/page: replace format selection by style options
Save one button (fitting in 2 rows on 420px width) by getting rid of the
arbitrary distinction between formatting and styles, the latter having
equally semantic elements and capable of toggling headers.
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:52:45 +0000 (13:52 +0100)]
edit/page: rename and append editor style options
Support previously manual elements on Lijtweg: p.nav, s, span.right.
Prepare options to be displayed in 2 columns (frontend style).
Mischa POSLAWSKY [Wed, 16 Dec 2020 12:49:14 +0000 (13:49 +0100)]
page: retain conditional login elements in editor
Fix losing logout parts on save.
Mischa POSLAWSKY [Sat, 12 Dec 2020 16:23:42 +0000 (17:23 +0100)]
page: quote link name fallback
Match title from page html.