Fossil

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

495 check-ins using file src/printf.c version cc8fd1fb

2023-02-15
11:26
Reverted half of commit [4ad86dd5]: it incorrectly moved a CSS style instead of copying it to where it also needed to be. The user-visible effect was that centered Pikchrs varied in size according to their size and complexity, which meant that elements that should've been the same size weren't. ... (check-in: 5ad62aba user: wyoung tags: trunk)
05:16
Cleaned up a few inconsistencies in the Pikchrs in the branching doc in an attempt to fix the smaller-and-smaller diagram size problem currently occuring in this doc. ... (check-in: 239fb5b1 user: wyoung tags: trunk)
2023-02-14
20:54
Updated the PBKDF2 recommendations in the backup doc to track recent changes in best practice due to all these GPU computing fleets coming online. Added a few paragraphs explaining the limits to all of this and why we chose the passphrase lengths we did as examples. ... (check-in: 6a3d6fa6 user: wyoung tags: trunk)
11:42
Update the built-in SQLite to the latest 3.41.0 beta for testing. ... (check-in: 7b505774 user: drh tags: trunk)
2023-02-10
17:38
Add a PD_NoBot() check to /timeline, based on spider attack records. ... (check-in: 3fa6f8f0 user: stephan tags: trunk)
2023-02-09
21:00
Update the change log. ... (check-in: a64ef5ef user: drh tags: trunk)
20:09
Add the "repack" command as an alias for "rebuild --compress-only". ... (check-in: dd6a88da user: drh tags: trunk)
19:45
The extra-delta-compression step now reports the number of new deltas added and the bytes of storage space saved using those deltas. ... (check-in: 59e21eb3 user: drh tags: trunk)
16:16
Updates to the change log. ... (check-in: 7449a10f user: drh tags: trunk)
2023-02-08
16:59
Further improvements to the attack-spider detection mechanism. ... (check-in: eb7fad0c user: drh tags: trunk)
16:41
As a performance optimization, only do the SQL-injection detection for user "nobody". Improved comment on cgi_value_spider_check() to better explain what this subsystem is all about. ... (check-in: 00ae2391 user: drh tags: trunk)
16:32
Test command for the SQL-injection detection routine. Possible performance improvements as well. ... (check-in: d3cb62f7 user: drh tags: trunk)
14:54
Update the built-in SQLite to use the latest 3.41.0 alpha version that includes new efforts to silence nuiscance compiler warnings. ... (check-in: 05fa1c3c user: drh tags: trunk)
13:35
Fix a couple of -Wextra compiler warnings. ... (check-in: 3afeef3f user: danield tags: trunk)
2023-02-07
16:50
Rename AntiSpider to NoBot, for brevity's sake. ... (check-in: fa279798 user: stephan tags: trunk)
16:48
Rename P_NoSQL and PD_NoSQL to P(D)_AntiSpider to make their intent clearer and the names more generic. ... (check-in: 91d13592 user: stephan tags: trunk)
16:28
Merge spider-sql-detection branch into trunk, per /chat discussion. ... (check-in: 534c10f6 user: stephan tags: trunk)
16:24
Apply the spider SQL check to the diff URL argument of the /vdiff page. Improve some related docs. ... (Closed-Leaf check-in: 936c122f user: stephan tags: spider-sql-detection)
16:18
Inititial draft of an attempt to intercept certain SQL injection attacks recently seen made against fossil repos. Its effect can be seen by visiting: /vdiff?from=trunk&to=trunk&w=drop ... (check-in: 61a608a2 user: stephan tags: spider-sql-detection)
2023-02-06
13:37
Make the --nossl and --nocompress server options available for CGI requests. ... (check-in: 39152623 user: florian tags: trunk)
2023-02-03
15:59
Fix another harmless compiler warning reported by Clang-15. ... (check-in: de184889 user: danield tags: trunk)
15:15
Attempt to fix various harmless compiler warnings reported by Clang-15. ... (check-in: e486a0ac user: drh tags: trunk)
14:59
Update the built-in SQLite to the latest trunk version that attempts to fix various harmless compiler warnings reported by the new Clang-15. ... (check-in: ea57625d user: drh tags: trunk)
14:32
Add the /deltachain page, indented for analysis of the delta compression and future improvements to that algorithm. There are links to the delta chain on the /timeline and /finfo when the showid query parameter is used. ... (check-in: 00c62a11 user: drh tags: trunk)
07:21
prefill the tktnew page email field with user emailaddr

If the logged-in user has a valid email address in their contact-info, use it to prefill the email field in the /tktnew page when submitting a new ticket. As discussed in /chat, enhance the Fossil builtin find_emailaddr() SQL function--suggested by wyoung@--to parse strings for well-formed email addresses not necessarily wrapped in <...>. Requested by jose i cabrera on the forum. ... (check-in: f974583f user: mark tags: trunk)

00:31
Enable SELECT statements for the ticket_schema_auth() authorizer. This is required for the new FTS5 search and the fts5_api_from_db() routine. ... (check-in: 3fe8a8cd user: drh tags: trunk)
2023-02-01
14:35
Do not export private artifacts to git. ... (check-in: fbd3b583 user: danield tags: trunk)
2023-01-31
10:41
Use a faster query when checking for private artifacts. ... (Closed-Leaf check-in: 25a6ba26 user: danield tags: git-export-omit-private)
10:11
Do not export private artifacts to git. ... (check-in: 40abd839 user: danield tags: git-export-omit-private)
10:07
Small correction in the usage text for 'fossil git'. ... (check-in: 1aa3188e user: danield tags: trunk)
2023-01-27
20:42
Add a link to the /intermap page for Interwiki Map keywords on the setup menu. ... (check-in: bb189a15 user: drh tags: trunk)
15:40
Update the built-in SQLite to the latest 3.41.0 alpha, for testing of SQLite. ... (check-in: 0f30113b user: drh tags: trunk)
2023-01-26
01:46
Refactor how the IF NOT EXISTS check is performed on the repository.admin_log table, per request from drh. ... (check-in: 2da6010b user: stephan tags: trunk)
2023-01-25
13:59
More updates f() to f(void). ... (check-in: 46ddf0e8 user: danield tags: trunk)
00:30
More updates of func decls f() to f(void). ... (check-in: 5dd632eb user: stephan tags: trunk)
00:25
More updates of func decls f() to f(void). ... (check-in: 9c5952be user: stephan tags: trunk)
2023-01-24
21:25
Upgrade FTS search from v4 to v5. ... (check-in: c3c4ef16 user: stephan tags: trunk)
19:01
Add initial infrastructure for being able to resolve 'ckout' uniformly in certain contexts, per /chat discussion. ... (check-in: 4d8c3026 user: stephan tags: trunk)
16:34
Make all variable declarations C89 compliant. ... (Leaf check-in: 462eb0cc user: drh tags: ui-local-diff)
14:36
The search logic now works correctly (I think) regardless of whether the repository uses a legacy FTS4 index or a newer FTS5 index. This allows the Fossil binary to be upgraded on systems without disrupting the search feature and without requiring a search index rebuild. The search index is automatically upgraded to FTS5 the next time the search index is rebuilt. ... (Closed-Leaf check-in: a07e6b87 user: drh tags: search-fts5)
03:59
Wrapping a few calls to vfile_check_signature() from the new local diff code in unprotect/pop call pairs to squish a DB protection error. ... (check-in: 1b3ef05e user: wyoung tags: ui-local-diff)
03:29
Brought the ui-local-diff branch up to date relative to trunk. It isn't a simple merge, primarily due to all the changes to /vdiff and /fdiff made over the past 2 years. It seems to work as well as it originally did, but it isn't ready to merge down to trunk as-is. ... (check-in: 76fa1657 user: wyoung tags: ui-local-diff)
03:26
Remove some end-of-line whitespace. No functional changes. ... (check-in: 8307133b user: stephan tags: search-fts5)
03:18
Replaced a standalone "diffFlags" variable in the /fdiff handler with use of the new DiffConfig.diffFlags member. No functional change, just a code cleanup found while working on another branch. Making it on trunk to keep that branch's diffs minimal. ... (check-in: 65d97f23 user: wyoung tags: trunk)
02:57
Replace FTS4 with FTS5, per forum post d05b1855aa. This has been only lightly tested and might require a repo rebuild (or that we rename the associated tables/views rather than recycle them). ... (check-in: c1933caf user: stephan tags: search-fts5)
2023-01-23
00:12
Add /json/settings/get and set APIs, per discussion in forum post 04b7159d63d4abe4. ... (check-in: a80f2748 user: stephan tags: trunk)
2023-01-22
22:01
Remember the chosen type of artifacts that are shown at /timeline page as a display preference. This amends the initial behavior introduced on 2017-11-29 with the 'sticky-timeline-style' branch. ... (check-in: 61bd0c9b user: george tags: trunk)
18:35
Fix appearance of a chat-only view: eliminate redundant gap between the vertical scrollbar and the right edge of a window. ... (check-in: d3c0206e user: george tags: trunk)
2023-01-21
12:14
Merge trunk into markdown-tagrefs branch. ... (check-in: baf038b1 user: stephan tags: markdown-tagrefs)
11:40
Make diff --checkin VERSION capable for working from outside of a checkout. ... (check-in: 8e8e0269 user: stephan tags: trunk)
10:50
Improve scroll width calculation for unified diffs. ... (check-in: 7a76111f user: florian tags: trunk)
01:13
Remove bootstrap skin, per discussion in forum post aa02d7443d446211. Clients with that skin selected will automatically be switched to the default. ... (check-in: e1ef9347 user: stephan tags: trunk)
2023-01-20
10:42
Simplify the loop to enumerate table columns to the left. ... (Closed-Leaf check-in: faadb48d user: florian tags: udiff-hscroll)
04:25
Add /json/settings/set. Replace several free() calls with fossil_free(). Work around json_send_response() being called twice in some CLI-based cases. ... (Closed-Leaf check-in: 4d2aeb29 user: stephan tags: json-settings-command)
00:11
Add docs for /json/settings. ... (check-in: f302b9bc user: stephan tags: json-settings-command)
2023-01-19
23:44
Roll back a broken part of [f3d3d1be59728b5dde702a] which caused only versioned settings' values to be fetched. ... (check-in: c7221a2e user: stephan tags: json-settings-command)
23:38
Correct (non-)fetching of sensitive properties for (non-)Setup users. ... (check-in: f3d3d1be user: stephan tags: json-settings-command)
23:32
Restructure /json/settings/get output from an array of objects to a map of objects, keyed on setting name, per forum discussion. ... (check-in: d0bf9682 user: stephan tags: json-settings-command)
12:15
Firefox ≠ Chromium ... (check-in: dbffb2fa user: florian tags: udiff-hscroll)
11:52
Compensate for the outer border. ... (check-in: 2c0d4352 user: florian tags: udiff-hscroll)
11:36
More accurate scroll width calculation for unified diffs (looks better for SQLite diffs with up to 5-digit line numbers). ... (check-in: 337b297c user: florian tags: udiff-hscroll)
02:55
For sensitive settings, always explicitly set value and valueSource to null for non-setup users (or if they aren't set), to avoid the possibility of downstream clients perhaps picking up inherited properties in their place, depending on their programming environment. ... (check-in: 451cda04 user: stephan tags: json-settings-command)
02:39
Extend /json/settings/get with a version=X flag indicating the check-in version to check for versionable flags in before falling back to either the checkout or repository. List sensitive properties for all users but elide their values for non-setup users (previously they were elided altogether for non-setup users). ... (check-in: fd405e95 user: stephan tags: json-settings-command)
01:01
Add missing 'void' to no-arg function decls and impls throughout the JSON API. (In my defense: the distinction between f(void) and f() was unknown to me at the time that code was written.) ... (check-in: 632dfd26 user: stephan tags: json-settings-command)
2023-01-18
00:54
Initial prototype of the /json/settings/get command/page, per discussion in forum post 04b7159d63d4abe4. ... (check-in: 29e5bb00 user: stephan tags: json-settings-command)
00:47
Fix a memory leak of the path to a versioned-setting file in print_setting(). ... (check-in: c76b0019 user: stephan tags: trunk)
2023-01-17
20:40
Small fix to the nojail patch; accidentally lost the [80faedbc] change in the shuffle. ... (check-in: 7a6cf9dd user: wyoung tags: trunk)
20:37
Removed the two "mknod" calls from the Dockerfile in the nojail patch used by Podman rootless containers. Not only is the build user not allowed to run mknod in that case, there will be a /dev tree mapped into the container, causing the commands to fail due to these two basic dev nodes preexisting. ... (check-in: d97a8fb1 user: wyoung tags: trunk)
20:35
No longer running "fossil" with a relative path ("bin/fossil") at the end of the Dockerfile, but instead relying on the hard-coded PATH defined a few sections prior. This allows the same command to work for both the rootful and rootless cases since moving the binary into /usr/bin/fossil to placate nspawn. Before, it was /jail/bin vs /bin, so the difference netted out to nothing. ... (check-in: 80faedbc user: wyoung tags: trunk)
20:32
Fixed a copy-paste error in the Podman sections of the container doc: was using "docker" commands instead of "podman" in a few places. That'll work for people who aliased them, but it's confusing. ... (check-in: 6eefa9b0 user: wyoung tags: trunk)
06:29
Removed use of UPX in the container build process. It complicates the build for a tiny gain while breaking ARM builds. We worked around the ARM-on-ARM case earlier, but it also breaks x86 cross-compilation on ARM. Images are already compressed, and while `upx -9` is stronger compression than whatever Docker Engine is using, it's a small advantage. This does mean the static executable isn't compressed any more on x86, but if you want that, you can UPX it afterward. ... (check-in: da545c9e user: wyoung tags: trunk)
05:28
Generating the /etc/os-release file for the OCI container using autosetup at configure time rather than from a build arg in the Dockerfile at image creation time. This lets us back out the use of heredocs in the Dockerfile, which isn't supported in Podman at all as of this writing and under Docker requires use of BuildKit rather than the legacy "docker build" mechanism.

The primary consequence of doing it this way is that the Fossil version number in that generated file becomes the configure-time version, unconditionally. The old way let you override the FSLVER variable at image build time and have that value put into the os-release file. Under this new scheme, you now have to run "/jail/bin/fossil version" to find out what version of Fossil got baked into the image. ... (check-in: ec8ef573 user: wyoung tags: trunk)

2023-01-16
18:14
Update the built-in SQLite to the latest 3.41.0 alpha version in order to silence harmless compiler warnings and for general testing of SQLite. ... (check-in: cdd89e2d user: drh tags: trunk)
15:37
Roll back the part of [71a2d68a7a113e7c] which automatically updates the user display prefs cookie, per /chat discussion. Updating the cookie once again requires an explicit udc URL arg or setting the skin, which implies udc. This fixes the problem that a timeline link from the /reports page persistently sets the default timeline entry count to the value used by that report. ... (check-in: 5feac634 user: stephan tags: trunk)
2023-01-13
18:38
Backout change on "login-group join" command which broke the usage of it outside an opened checkout (using -R flag). Change usage text to match the command behavior properly when using the -R flag. ... (check-in: edf03559 user: mgagnon tags: trunk)
16:52
Modernized several old fossil-scm.org URLs, changing "http" to "https" where absolute URLs are necessary, and using site-relative URLs otherwise. Also found and fixed a reference to fossil-scm.hwaci.com, which doesn't seem to resolve any more. ... (check-in: 143f1db7 user: wyoung tags: trunk)
16:35
Removed pointless "udc=1" parameters from a few Fossil file links from the docs. ... (check-in: 40d912ae user: wyoung tags: trunk)
14:55
Remove ":443" from the end of the hostname for HTTPS requests. ... (check-in: add3f520 user: drh tags: trunk)
14:34
Use the hostname as the report IP when doing SSH synchronization. ... (check-in: 0b7af9d8 user: drh tags: trunk)
13:09
Documentation and change-log updates. ... (check-in: a90d3aa1 user: drh tags: trunk)
2023-01-11
18:07
Enable horizontal scrolling for individual text blocks in unified diffs. Forum Post 91c3e7854c and the following. ... (check-in: 603816d2 user: florian tags: trunk)
07:56
Enable horizontal scrolling for individual text blocks in unified diffs. ... (Closed-Leaf check-in: 15ba7e61 user: florian tags: udiff-hscroll)
03:06
merge latest change from trunk. ... (Closed-Leaf check-in: 5d5911e6 user: mgagnon tags: no_ssh_sync_ip_resolve)
02:51
Make proxy setting "system" by default to use http_proxy environment variable. Closer to old behavior and conform with most programs on Unix-like system. ... (check-in: 8f9f2cb7 user: mgagnon tags: trunk)
2023-01-09
13:25
Help text improvements for diffcmd.c. ... (check-in: e1b51150 user: danield tags: trunk)
13:06
Further consistency improvements in docs for various commands. ... (check-in: 2512d2d4 user: km tags: trunk)
05:16
add new entry to related work links and polish markup

Add 'fsl', a tcl wrapper, to inspired projects; prompted by John Rouillard on the forum. While here, remove redundant markup and articles. ... (check-in: b4b8dc32 user: mark tags: trunk)

2023-01-07
20:58
Updates to the change log to discuss recent enhancements. ... (check-in: 7173a1b1 user: drh tags: trunk)
20:37
Submenu buttons linking all of the logging pages. ... (check-in: aae2b775 user: drh tags: trunk)
20:18
Make admin_log entries for password changes. ... (check-in: c9c7e8c1 user: drh tags: trunk)
17:06
Enhance the new /resetpw page so that it honors the redirect-to-https setting. ... (check-in: 3b1e8a0e user: drh tags: trunk)
15:36
Add the ability to enable users to request an email message that contains a special secure hyperlink that they can follow to reset their password. ... (check-in: 07bfe3fe user: drh tags: trunk)
15:35
Go to the login page after a successful self-service password reset. ... (Closed-Leaf check-in: 837f2758 user: drh tags: self-service-password-reset)
15:18
Improved comments. Extra defensive code. ... (check-in: d860e2b5 user: drh tags: self-service-password-reset)
14:25
Initial complete implementation of self-password-reset. Just need refinement and a security audit before merging to trunk. ... (check-in: 41bb73e9 user: drh tags: self-service-password-reset)
11:58
Add a non-functioning place-holder button to request a password reset to the /register page. ... (check-in: 5c62a2c3 user: drh tags: self-service-password-reset)
00:03
Add the /resetpw web page. The name argument must contain a hash that proves knowledge of the old password and that limits the valid lifetime of the argument. ... (check-in: ac86dfa0 user: drh tags: self-service-password-reset)
2023-01-06
21:33
Do not try to resolve the IP from the hostname when syncing using ssh:// protocol. Ssh may use the provided name as an alias defined in ~/.ssh/config which may not be resolvable or even resolve to an unrelated ip. This change can potentially avoid long timeout during name resolution failure. Equivalent to [52f08008e2790a81]. ... (check-in: e5c5622d user: mgagnon tags: no_ssh_sync_ip_resolve)
14:27
Oops, somehow one dash in `--file` got lost in 92d3fdba73a44c4c. ... (check-in: 0bf2eaaf user: km tags: trunk)
14:25
Minor adjustments in description of the `--file` option for `whatis`. ... (check-in: 92d3fdba user: km tags: trunk)
14:03
Allow writes to the accesslog table to record a login attempt even if the request is not from the same origin. This is needed in case a query request url it typed in manually but there is a cookie with login credentials that the browser adds automatically. ... (check-in: e31c2c01 user: drh tags: trunk)
13:10
Add the 'dont-commit' setting as a safety against accidental commits, per request in forum post 291f9af918. ... (check-in: 884436ce user: danield tags: trunk)
13:04
Fix a bug in the 'commit' command that made it ignore the 'forbid-delta-manifests' setting. ... (check-in: ead01b6f user: danield tags: trunk)
12:59
Fix the /chat-send page so that it works even with the recent same-origin security enhancements. ... (check-in: 4ba37b1c user: drh tags: trunk)
08:34
update related work page: Add Inskinerator as per forum post from wyoung@, the Makeheaders tool, and the new Sapling version control system. ... (check-in: be6d71dd user: mark tags: trunk)
2023-01-05
19:49
Add support for "fossil remote" and "fossil sync --all" to the "fossil all" command. ... (check-in: 693b950b user: drh tags: trunk)
17:21
Add the "-f|--file" flag to the "whatis" command which consist to search for any other files in the repo with the exact same content as the given file. ... (check-in: a821cbf5 user: mgagnon tags: trunk)
2023-01-03
20:13
Added named anchors to the "Image Format vs Fossil Repo Size" doc so I can refer to one in particular. ... (check-in: 7de2410f user: wyoung tags: trunk)
2023-01-02
16:12
When applying a patch, if the file rename fails, make that just a warning not a fatal error, as the warning might be due to file renames on a prior merge. Fix for ticket [21037bfc1296dabc]. ... (check-in: f0133846 user: drh tags: trunk)
15:52
Initialize the output blob in the test-delta-apply command. ... (check-in: dd9b3161 user: drh tags: trunk)
13:00
Show the value of g.zLocalRoot on the /test_env page. ... (check-in: 3df5d40c user: drh tags: trunk)
2022-12-31
18:51
Fix another case where PROTECT_READONLY needs to be relaxed even though the request not from the same origin. ... (check-in: 03e21b9c user: drh tags: trunk)
12:21
Fix stray character in the change log. ... (check-in: fbcd9a77 user: drh tags: trunk)
12:16
Fix more cases where updates to the SUBSCRIBER table should be allowed to occur even if not a request from the same origin. ... (check-in: f33976f7 user: drh tags: trunk)
2022-12-30
22:18
Correct mis-pluralization of 'new ticketss' in the timeline, per report in forum post e711cb860a. ... (check-in: 7c2c4457 user: stephan tags: trunk)
21:12
Improved comment on the db_obscure() routine. No functional code changes. ... (check-in: aa1a0b31 user: drh tags: trunk)
20:54
Security enhancement: Do not store the passwords for remote URLs directly, but instead store the sha1_shared_secret() encoding of those passwords. It is the SHA1 encoding that gets transmitted to the server anyhow, so we might as well just store that. The SHA1 encoding cannot be used to log in. The password is still protected using obscure() even though it is now a SHA1 hash. ... (check-in: 41ba6ea7 user: drh tags: trunk)
16:32
Show the parent-project-* CONFIG entries (if they exist) with the "fossil remote config-data" command. When parsing a URL, if the URL comes from the CONFIG table, remember the CONFIG table entry that supplied the password. ... (check-in: 6d0083ad user: drh tags: trunk)
12:26
Fix minor typos in the diff source code. ... (check-in: 4e169542 user: drh tags: trunk)
11:53
If there is a need to do lazy updates of the full text index during a request that is not from the same origin, then allow database writes for the duration of that update. Also, allow changes to USER and CONFIG tables when explicitly authorized by db_unprotect() even if the request that prompted the change is not from the same origin. ... (check-in: 8e85d6ca user: drh tags: trunk)
2022-12-29
21:09
All writes to the subscriber table to update the last contact time even if the request is not from the same origin. ... (check-in: db162628 user: drh tags: trunk)
20:09
Improved comments on the SQL protection subsystem. ... (check-in: 0aa3483f user: drh tags: trunk)
19:49
Only apply the PROTECT_READONLY restriction to the "repository", "configdb", and "localdb" database files. ... (check-in: b4e00621 user: drh tags: trunk)
19:39
Fix the new read-only-repo security mechanism so that it enables write access when necessary. ... (check-in: f8363db8 user: drh tags: trunk)
18:56
Add messages to the error log if the authorizer blocks an SQL statement for security reasons. This change requires a bug fix in SQLite and so it also includes the latest trunk version of SQLite. ... (check-in: 3d8bb63a user: drh tags: trunk)
17:00
Make the repository database read-only if an HTTP request is not from the same origin. This is not required for security. It is just an extra layer of defense. ... (check-in: 7c71f00a user: drh tags: trunk)
2022-12-25
16:17
A minor fix to the previous check-in. ... (check-in: abfec4dd user: george tags: trunk)
14:24
Use URI extensions rather than name= query parameters on key ticket hyperlinks. ... (check-in: 5f22b960 user: drh tags: trunk)
2022-12-21
12:07
Change spelling for check-in, check-out, and related words. ... (check-in: bc36fdcf user: danield tags: trunk)
11:52
Merge in help consistency improvements. ... (Closed-Leaf check-in: 526b0a54 user: danield tags: check-in-spelling)
09:31
Improved consistency for --help option descriptions. ... (check-in: 2e56ef4e user: km tags: trunk)
09:00
Improved consistency for --help option descriptions: begin with uppercase letter; do not use a period at the end of short-ish sentences. ... (Closed-Leaf check-in: de684083 user: km tags: spelling-fixes)
2022-12-20
14:21
A couple of corrections to the [2213a0eb2d413f|previous /secaudit0 addition]. ... (check-in: 43601b3d user: george tags: trunk)
09:53
Correct a small bit of internal-doc misinformation reported in forum post 9ed20acf6a. ... (check-in: dd67906c user: stephan tags: trunk)
09:46
Change spelling for check-in and similar ... (check-in: d9c4321e user: danield tags: check-in-spelling)
05:14
Move TH1/Tcl settings into their own configsets. ... (Leaf check-in: 5d784cf3 user: mistachkin tags: cfgSetTh1)
05:00
Unbreak MinGW build to account for deletions in zlib 1.2.13. ... (check-in: a24a790f user: mistachkin tags: trunk)
02:01
Make /secaudit0 page aware of the Tcl integration opportunities. ... (check-in: 2213a0eb user: george tags: trunk)
2022-12-16
21:47
Updated the macOS sidebar in the backups.md doc to cover Ventura. ... (check-in: a55042a0 user: wyoung tags: trunk)
2022-12-15
16:19
Re-add zlib link flags inadvertently removed via the new --disable-sockets flag. ... (Leaf check-in: 613834f6 user: stephan tags: optional-sockets)
15:50
Add support for disabling sockets in auto.def. This is not wired up to anything else yet. ... (check-in: d8609e1e user: js tags: optional-sockets)
15:39
Update the built-in SQLite to the latest 3.41.0 alpha that includes various query planner enhancements. This is done in order to test the enhancements to SQLite, to help ensure that they are working correctly in a real-world application. ... (check-in: 7010ce23 user: drh tags: trunk)
2022-12-14
13:03
Fix help text for the 'artifact' command. ... (check-in: 98b80e42 user: danield tags: trunk)
2022-12-12
16:12
Add support for omitting some ticket events from the default timeline view. Filtering is defined by the 'ticket-hidden-expr' option added to the /tktsetup_timeline page. Filtering is bypassed if this expression is unset or if the "Unhide" checkbox (at the timeline's submenu) is checked. See forum thread 4c49b2ad661c for discussion. ... (Leaf check-in: 452805c2 user: george tags: tkt-hidden-expr)
2022-12-07
17:39
Merge enhancements to file labels in Tk diff frontend ... (check-in: f7c0657b user: Torsten tags: trunk)
12:33
Rebuid pikchr.wasm/js for latest pikchr.c. ... (check-in: ec6cb37a user: stephan tags: trunk)
11:17
Update to the latest pikchr.c sources. (pikchr.wasm is not updated.) ... (check-in: 544eefd7 user: drh tags: trunk)
2022-12-06
06:13
Grammar and spelling fix pass on the new nspawn material in the containers doc. ... (check-in: 5405aa57 user: wyoung tags: trunk)
2022-12-05
03:39
Update the built-in SQLite to the latest 3.41.0 alpha with the query planner tuning enhancements, as a beta-test of SQLite looking for performance regressions. ... (check-in: 4ddd8847 user: drh tags: trunk)
2022-12-03
13:17
Typo fixes ... (check-in: 00e4d91e user: wyoung tags: trunk)
11:55
Assorted prose polishing in the new systemd-container section at the end of the containers doc. ... (check-in: 120a2076 user: wyoung tags: trunk)
11:37
Added a few more "container-*" targets to the main makefile to simplify the examples in the containers doc and make the resulting images and containers easier to manage. ... (check-in: b7edb5f1 user: wyoung tags: trunk)
2022-12-02
23:14
Merged two redundant discussions of the consequences of disabling private network virtualization under systemd-container infrastructure, then added better reasons why the reader might care. ... (check-in: 70554336 user: wyoung tags: trunk)
15:27
new branch for enhancements to Tk diff frontend: labeling of file origin (version, repo, working file etc.) in the left and right pane header ... (Leaf check-in: c90ee4bf user: Torsten tags: diff-tk-frontend)
2022-12-01
00:14
Updates to the systemd service doc, primarily to refer the reader to the new containerized runner methods, but also to add other tips. ... (check-in: ad09d3ee user: wyoung tags: trunk)
2022-11-30
23:32
Updated the nojail patch so it'll apply atop the new Dockerfile changes. ... (check-in: 45e0475c user: wyoung tags: trunk)
23:09
Worked out how to get systemd-container (a.k.a. nspawn + machinectl) working with the stock Fossil container. Following the above commits, it's pure documentation. Removed the runc and crun docs at the same time since this is as small as crun while being more functional; there's zero reaon to push through all the additional complexity of those even lower-level tools now that this method is debugged and documented. ... (check-in: 930a655a user: wyoung tags: trunk)
21:27
Added empty /tmp and /run directories to the "OS image" layer of the stock container in case someone is mounting the base layer read-only with tmpfs mounted atop these points. (Seen with "systemd-nspawn --read-only" but might affect other runtimes.) ... (check-in: 0733be50 user: wyoung tags: trunk)
15:23
Container build changes to allow systemd-nspawn to recognize it as an "OS tree:"
  • Added a dummied-up /etc/os-release file
  • Moved several programs from /bin to /usr/bin, since existence of /usr is how it decides if the rootfs you point it at contains an OS image. Bogus, but that's how it is.

Had to switch to buildx to make this work, so I could use heredocs in the first step. ... (check-in: f74ddbce user: wyoung tags: trunk)

14:29
Added "container-clean" target to cleanup after the other container-* targets. ... (check-in: e119d598 user: wyoung tags: trunk)
12:59
Tried to get "--with-tcl=1" working in the containerized build, but failed, so I documented the reason why it isn't going to work given our current design goals and pointed at an alternative with different tradeoffs. ... (check-in: fb1bfce1 user: wyoung tags: trunk)
12:32
Added the FSLCFG Dockerfile build arg and showed how to use it in the containers doc, plus other improvements to the doc while in there. ... (check-in: e2277aad user: wyoung tags: trunk)
12:23
Put a "sleep 1" into "make container-run" before the step that shows the container logs to ensure we show everything it says on startup. Added this on seeing just the first line of output due to a race condition, so I missed the generated admin password. ... (check-in: 4429e10f user: wyoung tags: trunk)
12:19
The "container-run" target now runs "container-image" conditionally, building it only if it wasn't created in a prior step. This allows custom image builds followed by a one-command way of running that built image. Without this, the custom image gets stomped on. ... (check-in: a9e862b8 user: wyoung tags: trunk)
11:44
Reverted the build hack to strip out all but the default and darkmode skins in the stock Dockerfile. That was done to cater to a wish for extremely small ARM builds, for fun, not for any practical reason. It conflicts with a key philosophy behind this container project, to create stock Fossil builds by default. "make container-image" should get you a functionally identical binary inside the container as "./configure && make" does outside it. ... (check-in: 3e95d945 user: wyoung tags: trunk)
01:03
Make sure SQLite is compiled with HAVE_USLEEP. ... (check-in: f97f90c0 user: drh tags: trunk)
2022-11-29
21:08
Remove JS console debug output added by the previous checkin. ... (check-in: 2755b31a user: stephan tags: trunk)
20:59
/chat: add embedded view support for .wiki/.md/.pikchr file attachments, with the caveat that the rendering happens in an iframe and thus has some limitations/usability quirks compared to non-iframed content. Added based on feedback from a /chat session. ... (check-in: fd5298f0 user: stephan tags: trunk)
04:11
Improve consistency of "fossil branch" command. I don't think this deserves more attention but others may decide to make it do more. ... (check-in: 761a39c0 user: andybradford tags: trunk)
2022-11-26
17:31
Fix artifact_page() function so that the content of a text file is surrounded by CODE elements even if a file's extension is just a single letter. ... (check-in: e7a7b5c1 user: george tags: trunk)
2022-11-24
22:13
Add TH1 command "submenu". For the time being it has just one subcommand "link" that adds a hyperlink to the submenu of a page. ... (check-in: 71b22165 user: george tags: trunk)
15:21
In the new forum reply header, reduce size from H1 to H2 and italicize the thread title. ... (check-in: 7b92fc61 user: stephan tags: trunk)
14:38
Slight reformatting of the forum reply page header based on feedback from sqlite forum post c745cf3a7f6246de. Now says: Replying to HASH-with-link in thread TITLE-without-link ... (check-in: 0b6b3a00 user: stephan tags: trunk)
2022-11-20
08:42
Update the built-in zlib to version 1.2.13, released on October 13, 2022. ... (check-in: a9e589ca user: florian tags: trunk)
07:50
Add compat/zlib/contrib/ada/* and compat/zlib/doc/* to the ignore-glob. Now there's only two (manual) cherry-picks required for zlib updates: [0f8bae079e] and [368d97869b] (though the upstream ticket for [368d97869b] is commented as "Incorporated" and closed: https://github.com/madler/zlib/issues/684). ... (Closed-Leaf check-in: 1a52d387 user: florian tags: zlib-update)
07:37
Carry forward [511ad59ae3] to the zlib 1.2.13 update: exclude all files from the contrib/ada subdirectory. ... (check-in: aafa682b user: florian tags: zlib-update)
01:58
Do not attempt to render empty description of a report. Also make hyperlinks in a report's submenu more robust. This amends [fcf17b28a902c0]. ... (check-in: 04a01d06 user: george tags: trunk)
2022-11-19
16:48
Omit "Show associated wikis" from the submenu of a /wcontent page if there are no associated wikis in a repository (this amends [29a24941ed9b]). Also optimize out a couple of unnecessary calls to mprintf(). ... (check-in: e3c8aad9 user: george tags: trunk)
16:19
Fix malformed hyperlink for historical revisions of a forum post. Perhaps introduced by check-in [168eb71643a4]. Reported by forum post 44505ae8ec51. ... (check-in: 114b17c4 user: george tags: trunk)
14:59
Rename test_find_pivot() to merge_base_cmd(). No functional changes. ... (check-in: 8cc9211f user: stephan tags: trunk)
14:02
Upgrade the test-find-pivot command to the merge-base command, per discussion at forum post 1f5db4364464e965. ... (check-in: 2b6649c7 user: stephan tags: trunk)
04:38
Comment typo fix. No code changes. ... (check-in: 95e5814c user: stephan tags: trunk)
2022-11-18
19:48
Update the change log for the report format enhancement. ... (check-in: c2467e52 user: drh tags: trunk)
19:30
Fix a potentially uninitialized variable associated with the resent ticket report changes. ... (check-in: d296ddb2 user: drh tags: trunk)
19:28
Add the ability to specify a description for each ticket report format. The user and reportfmt tables are updated with a new jx column containing JSON that describes the new features. (The user.jx table is currently not used but it was convenient to add it at the same time.) ... (check-in: fcf17b28 user: drh tags: trunk)
19:23
Make sure the reportfmt table contains the jx column before trying to use that column. ... (Leaf check-in: d4332725 user: drh tags: json-meta-data)
19:20
Use the "name" query parameter to select a report number. The legacy "rn" query parameter still works, but generated hyperlinks now use the new format. ... (check-in: 3048c04b user: drh tags: json-meta-data)
18:50
Provide the ability to add custom header text on all ticket reports. The header and its mimetype are stored in the REPORTFMT.JX column. ... (check-in: c06a9980 user: drh tags: json-meta-data)
18:33
Give the JX column of USER and REPORTFMT a default value which is valid JSON. ... (check-in: 2433964d user: drh tags: json-meta-data)
12:11
Factor out the ALTER TABLE statements that add the JX column to the USER and REPORTFMT tables into separate subroutines. ... (check-in: 8f6d7dac user: drh tags: json-meta-data)
2022-11-17
23:38
Add the "jx" column to the "user" and "reportfmt" tables, with the intent of using the column for JSON metadata. Currently unused. Make arrangements to sync the "jx" column (using the "fossil config" command) in a way that is backwards compatible with older versions that do not have the "jx" column. ... (check-in: b7ac178c user: drh tags: json-meta-data)
07:45
Increase the version number to 2.21 to start the next development cycle. ... (check-in: 8dcee008 user: danield tags: trunk)
2022-11-16
20:59
Merge in setupuser-retain-pw branch (HTML change only, no code). ... (check-in: 88f9da98 user: stephan tags: trunk)
20:53
Prefixing each shell script section in the Dockerfile with "set -x" broke the checks to prevent running UPX on ARM builds. You can still get release container builds on ARM by copying this fixed Dockerfile to your release checkout. ... (check-in: b4c3d9a1 user: wyoung tags: trunk)
20:05
Fix harmless typos reported by forum post 15f7327318. ... (check-in: f3adbd88 user: drh tags: trunk)
19:49
Remove the "ada" subdirectory from the compat/zlib/contrib because it is not used, but it does (apparently) cause warnings for lintian. Perhaps this will be a partial fix for the warnings reported by forum post 15f7327318. ... (check-in: 511ad59a user: drh tags: trunk)
18:49
Update website for the 2.20 release. ... (check-in: e14628bc user: drh tags: trunk)
18:46
Version 2.20 ... (check-in: 210e89a0 user: drh tags: trunk, release, version-2.20)
16:09
Merge trunk into wcag-2.1 branch for deployment on test server. ... (Leaf check-in: 56d8000a user: stephan tags: wcag-2.1)
16:02
Update the built-in SQLite to the 3.40.0 release. ... (check-in: d0ee8100 user: drh tags: trunk)
2022-11-14
12:43
Update the built-in SQLite to the 3.40.0 rc1 for testing. ... (check-in: 2ece5d0f user: drh tags: trunk)
2022-11-13
19:49
Removed the title property from the nav element for the submenu in style.c. It caused a redundant tooltip, and was not necessary. ... (check-in: ba3fa28d user: ericwikman tags: wcag-2.1)
18:49
Update /chat and /pikchrshow UIs to work with skins conforming to the WCAG rework as well as pre-WCAG skins (except for the bootstrap skin, which restructures the DOM in an incompatible way). ... (check-in: d208efdd user: stephan tags: wcag-2.1)
17:18
Merge trunk into wcag-2.1 for cleaner diff comparison. ... (check-in: e1a9fdd7 user: stephan tags: wcag-2.1)
16:26
Apply fixes to all web views to pass WCAG 2.1 tests performed by "axe DevTools" browser extension. Most fixes related to screen reader compatibility, like making sure that form elements have labels. Some color changes to improve contrast on Default skin. Made more HTML5 compliant. Minor improvement to select combo boxes for UX. Improved Search form UX. Two minor bug fixes for malformed HTML. Fixed help pages to resolve issues with non-compliant HTML being generated. Mostly documented at https://fossil-scm.org/forum/forumpost/aafb17a981df4166 ... (check-in: 1f231db3 user: ericwikman tags: wcag-2.1)
2022-11-12
12:36
Only issue notififications for ticket changes that do not previously appear in the EVENT table. Fix for ticket [ad9aa572e7972f57]. ... (check-in: fb040bb0 user: drh tags: trunk)
12:32
Fix the TH_ListAppend() function in TH1 so that it correctly escapes strings that have a '}' character that has no matching '{' to its left. Fix for ticket [4d73b4a2258a78e2]. ... (check-in: 4ec65ebb user: drh tags: trunk)
2022-11-11
22:24
A proposed fix for ticket [ad9aa572e7972f57]. Use an UPDATE rather than a REPLACE where possible when redoing EVENT table entries for tickets that are being rebuild, in order to avoid unnecessary notification events. ... (Closed-Leaf check-in: 1f0f6226 user: drh tags: ticket-notification-fix)
2022-11-07
19:42
Yet another shell.c import from SQLite to deal with more typedef issues. ... (check-in: f0e625b1 user: drh tags: trunk)
18:44
Update to a newer version of 3.40.0 that includes a fix to shell.c that allows it to be compiled with older C compilers. ... (check-in: 25799e89 user: drh tags: trunk)
2022-11-05
22:10
Respect `"timeline-utc"` setting when a ticket change artifact is displayed on the /info page. This makes it consistent with other places and fixes a hyperlink to the corresponding item of the /timeline. ... (check-in: 0028a3ca user: george tags: trunk)
2022-11-04
18:02
Update the built-in SQLite to the latest 3.40.0 beta, for testing. ... (check-in: 10d71748 user: drh tags: trunk)
11:11
Add a note to /setup_uedit that leaving the ostensibly populated password field unchanged will retain the current password, per discussion in forum post 0463cc2e87a3c676. (Branched for later addition to v2.21.) ... (Closed-Leaf check-in: fe373994 user: stephan tags: setupuser-retain-pw)
2022-11-02
22:51
Omit "Show associated wikis" from the submenu of a /wcontent page if there are no associated wikis in a repository. This amends [29a24941ed9b]. ... (Closed-Leaf check-in: 6e28f280 user: george tags: pre-2.21)
2022-10-30
12:53
Fix a bug when handling timeline data blocks not containing any check-ins. ... (check-in: d3f9b8ab user: florian tags: timeline-keyboard-navigation)
2022-10-28
19:48
Also documented the new "clone -u -v" feature. ... (check-in: 0d61fd23 user: wyoung tags: trunk)
19:45
Since it seems my clone -u fixes are going to stick, documented them in the changelog. ... (check-in: 02631e35 user: wyoung tags: trunk)
17:08
Improve correctness, usability and efficiency for the case when values in a TICKET's column tend to be long and volatile.

Owner of a repository may specify one or several TICKET's columns so that delta-compression is tried for the corresponding ticket change artifacts and the corresponding changes on the /tkthistory page are rendered via unified diffs.

See details in the associated wiki. ... (check-in: 872a3b23 user: george tags: trunk)

16:28
Add comments for auxiliary local variables inside ticket_output_change_artifact(). ... (Closed-Leaf check-in: 53b66cf6 user: george tags: deltify-tkt-blobs)
06:51
Typo fix in changes.wiki. ... (check-in: 141793c4 user: stephan tags: deltify-tkt-blobs)
06:37
Merge trunk into deltify-tkt-blobs branch. ... (check-in: 86916df5 user: stephan tags: deltify-tkt-blobs)
00:18
Fix a typo in a comment. ... (check-in: a2ed1119 user: george tags: deltify-tkt-blobs)
00:11
Add more comments and a changelog item. No code changes. ... (check-in: e690df08 user: george tags: deltify-tkt-blobs)
2022-10-27
17:56
The check for whether to continue during sync due to outstanding "uvgimme" requests was being skipped in clone -u mode due to misordered tests at the end of the client side of the sync protocol. ... (check-in: 52648d03 user: wyoung tags: trunk)
17:15
Since "fossil uv sync -v" turns on UV trace mode, made "fossil clone -u -v" enable that mode as well, since otherwise there's no way to get into UV trace mode during clone. (e.g. There is no global "--uvtrace" option.) ... (check-in: cdd58b1f user: wyoung tags: trunk)
16:01
Consolidated two related tests in the sync protocol to avoid re-testing a flag twice and to bring related code closer together. ... (check-in: 6293b282 user: wyoung tags: trunk)
15:13
Corrected a difference in the case of a SQLite table name. The DBMS doesn't care, but it risks missing relevant references to this table when searching with a case-sensitive text editor. ... (check-in: 1b1887cb user: wyoung tags: trunk)
14:20
Mention the new `fossil branch lsh' subcommand in the change log. ... (check-in: 67c9d929 user: florian tags: trunk)
2022-10-26
18:28
Typo fix in the 2.20 changelog ... (check-in: c3012508 user: wyoung tags: trunk)
12:46
Update the built-in Pikchr source code and WASM/JS builds. ... (check-in: 8f4a32cc user: drh tags: trunk)
11:14
Update the built-in SQLite to the latest 3.40.0 alpha version that includes all performance enhancements and bug fixes. ... (check-in: 4aa78375 user: drh tags: trunk)
11:13
Update to a still newer version of SQLite 3.40.0 alpha that compiles without warnings on Mac ARM64. ... (Closed-Leaf check-in: 6ff6d495 user: drh tags: busted-build)
10:59
Remove the -D_HAVE_SQLITE_CONFIG_H option from the build of SQLite. We haven't had the config.h file for SQLite, so this should be a harmless change. ... (check-in: 2522366f user: drh tags: busted-build)
10:47
Update the built-in SQLite to the latest 3.40.0 alpha version that includes all bug fixes and performance enhancements. ... (check-in: c7dc1884 user: drh tags: busted-build)
2022-10-24
14:40
Fix a comment typo. ... (check-in: db8b14c5 user: drh tags: trunk)
2022-10-23
06:48
Code maintenance for the `copybtn.js' script: Remove global data, reference DOM elements by function-binding instead of by id (that is possibly reused for the short-lived tooltip), and normalize variable names and string quoting style. ... (check-in: d5f66215 user: florian tags: trunk)
2022-10-18
17:01
Minor comment reformatting. ... (check-in: 0df4abc7 user: stephan tags: trunk)
16:55
Cache get_comment_format() result to avoid that the global config db is queried once per timeline row, which brings fossil to a standstill when ~/ is NFS-mounted. Discussion in 9aaefe4e536e01bf. ... (check-in: 6e62c851 user: stephan tags: trunk)
16:17
Add a by-hour-of-day report to the /reports page, prompted by a /chat discussion. (Edit: initial user mis-attribution was caused by a config-pull which changed my local default user.) ... (check-in: bb6f2331 user: stephan tags: trunk)
13:35
For the BUILTIN virtual table, map one-based rowids to zero-based array indices, to fix access to the first entry. ... (check-in: cf563c72 user: florian tags: trunk)
13:32
Document more consequences of the merge parent-merge child relationship not recorded for private branches. ... (check-in: 3b719a96 user: florian tags: trunk)
13:31
Cherry-pick [767b175d90]: Avoid references to private check-ins in Q-cards of public check-in manifests. This ensures consistent behavior regarding leakage of private check-in hashes, possibly generating phantoms on peer repositories, for P- and Q-cards. ... (check-in: 52a66829 user: florian tags: trunk)
2022-10-17
01:02
Merge updates from trunk. ... (check-in: 6f3640a7 user: mistachkin tags: th1Hash)
2022-10-16
00:09
Highlight a ticket's change that corresponds to the URL's fragment of the /tkthistory page. ... (check-in: 7afd4db3 user: george tags: deltify-tkt-blobs)
2022-10-14
07:33
Carry forward [368d97869b] to the zlib 1.2.13 update. ... (check-in: dc13e1e5 user: florian tags: zlib-update)
07:30
Carry forward [cc3765eb12] to the zlib 1.2.13 update. ... (check-in: 1a1295a5 user: florian tags: zlib-update)
07:27
Update the built-in zlib to version 1.2.13, released on October 13, 2022. In accordance with check-in [eea86cee3a], all files from the doc/ subdirectory are excluded. ... (check-in: e9e679c5 user: florian tags: zlib-update)
2022-10-09
22:56
Rework the previous check-in to fix incorrect backlinks' sources for the case when values are appended to a field (i.e. a value of J-card starts with '+'). Consider a reference to 77ab05a0e9 from [caeb7d672df20] for an example which was handled incorrectly by [668e45baff99]. ... (check-in: 4d5ded5e user: george tags: deltify-tkt-blobs)
01:11
Grammar fix ... (check-in: 658547aa user: wyoung tags: trunk)
2022-10-07
23:28
Assorted fixes and improvements to the ssl.wiki doc ... (check-in: 27458ef7 user: wyoung tags: trunk)
23:06
Updated the debian/nginx.md doc for Ubuntu 22.04. The biggie is simplifying the TLS configuration, since the manual method we used to have no longer seems to be required with current versions of Certbot. ... (check-in: 716ae7c0 user: wyoung tags: trunk)
22:21
Fixed a few references to the obsolete tls-nginx.md doc. (It became part of the overall nginx.md server doc long ago.) ... (check-in: 780b58bc user: wyoung tags: trunk)
22:15
Assorted updates surrounding my fslsrv wrapper:
  • Reflected improvements from the tangentsoft.com version into this simpler alternative. Although we don't generally recommend use of this script any more, preferring systemd to get autostart on boot and autorestart on crash, www/server/any/none.md still refers to this script, and it feels like a regression to remove it. If someone is interested in simple-as-possible SCGI service, fslsrv is a fit companion.
  • Removed direct reference to fslsrv from www/server/debian/service.md since the indirect reference via the SCGI doc suffices.
  • The full-strength nginx doc now refers to both of these fslsrv variants in a handwavy way, since it's outside the scope of that doc to care how you get your background SCGI servers running.
... (check-in: 1cbcb38c user: wyoung tags: trunk)
2022-10-06
15:42
Added hyperlinks to the new changelog entries referencing the files in question. ... (check-in: 2c127ba7 user: wyoung tags: trunk)
14:34
Fix the htmlizer so that it converts 0x0d (carriage return) into 0x20 (ordinary space). Fix for the diff problem reported by forum post 2a63b483f5f048c2 ... (check-in: 050ba629 user: drh tags: trunk)
02:44
Closing off the containers project: added the doc to the permuted index, noted the changes in the changelog, and removed all the hedging about WAL mode in the doc, having failed to make WAL fail in this scenario. ... (check-in: 92982dc4 user: wyoung tags: trunk)
2022-10-04
12:54
Fix some broken hyperlinks in documentation files. ... (check-in: a59af25f user: danield tags: trunk)
2022-10-03
11:18
Check the meta key modifier (⊞|⌘|◆) when processing keyboard events. ... (check-in: 11bb41e0 user: florian tags: timeline-keyboard-navigation)
11:15
Check the meta key modifier (⊞|⌘|◆) when processing keyboard events. ... (check-in: 4811d5b2 user: florian tags: diff-keyboard-navigation)
11:06
Cross reference the new CSS classes, as they appear fragmented in the JS part, and therefore can't be found by code search. ... (check-in: ec955233 user: florian tags: diff-keyboard-navigation)
01:41
Fix redundant back-references originating from outdated/superseded values within TICKET table. See forum thread a6ba08e926. ... (check-in: 668e45ba user: george tags: deltify-tkt-blobs)
01:31
Fix naming of columns on the /test-backlinks page. ... (check-in: 6a5604f4 user: george tags: deltify-tkt-blobs)
2022-10-02
09:15
Shortcuts G and SHIFT+G to load the default timeline, or the timeline around the current check-out. ... (check-in: 2ed74216 user: florian tags: timeline-keyboard-navigation)
08:11
Shortcuts U and SHIFT+U to reload the current page in Unified Diff or Side-By-Side Diff mode. ... (check-in: 35cf6f30 user: florian tags: diff-keyboard-navigation)
03:58
Typo fixes in the /dir browser header: All File ==> All Files. ... (check-in: 7727f9a6 user: stephan tags: trunk)
2022-10-01
08:39
Fix a bug for empty change views (for example check-ins created by `fossil branch new', or no-op /vdiff and /fdiff views). ... (check-in: 4c336f37 user: florian tags: diff-keyboard-navigation)
06:50
Sync with trunk. ... (check-in: 901ae725 user: florian tags: diff-keyboard-navigation)
06:48
Sync with trunk. ... (check-in: e5c5e6f0 user: florian tags: timeline-keyboard-navigation)
2022-09-30
12:38
Simplification to the JS used as part of anti-robot defenses. ... (check-in: 08535b22 user: drh tags: trunk)
11:22
Minor code cleanups and comment updates. ... (check-in: d17b5976 user: florian tags: diff-keyboard-navigation)
11:17
Add documentation, thanks @ams for help with wording. An alternative (but not less redundant) approach may be to create a new documentation-only web page to list available keyboard shortcuts for all pages (there's also the global ESC shortcut to close the Hamburger Menu) linked to from the individual command help screens. ... (check-in: 8773bb88 user: florian tags: diff-keyboard-navigation)
2022-09-29
15:19
Correct skintxt2config.c to be able to handle 0-byte input files. ... (check-in: c7c1c4e8 user: stephan tags: trunk)
11:56
Comment updates. ... (check-in: d1d5e99c user: florian tags: diff-keyboard-navigation)
11:30
Since dynamically added CSS classes to hide elements are discarded on back/forward navigation, reset all diff toggle checkboxes to checked to match what is actually visible. An alternative approach is to find the unchecked diff toggles and reapply the CSS classes to hide the corresponding diff blocks. ... (check-in: 4368a1c9 user: florian tags: diff-keyboard-navigation)
09:25
'skin:' CGI config directive now accepts an empty value for consistency with the --skin CLI flag. ... (check-in: 6362a98f user: stephan tags: trunk)
09:13
--skin "" now forces use of the current edited skin and the warning on the /skins page about a forced skin now distinguishes between /draft and --skin ... usage. ... (check-in: 816f6c04 user: stephan tags: trunk)
08:22
Import the latest 3.40.0 alpha version of SQLite into the tree. ... (check-in: fbad2772 user: drh tags: trunk)
2022-09-28
15:35
add new "Related Work" page linked from the User Links page

Suggested by drh@ with lots of tweaks from wyoung@ ... (check-in: 8ab498bd user: mark tags: trunk)

14:48
Fix scrolling if there's only one diff block. ... (check-in: e41214d2 user: florian tags: diff-keyboard-navigation)
14:24
Implement Javascript-based keyboard navigation for web UI diffs. Shortcuts SHIFT+I or I show or hide all diffs, and P or O show the next or previous diff. See Forum Post a78f44576c for more information. ... (check-in: b7e089e0 user: florian tags: diff-keyboard-navigation)
12:28
improve login-group command documentation and output

Prompted by 58f01f6d92, a7d15cc071, and 1c639bcdea. Clarify semantics of -R|--repository in 'fossil login-group join' and make user output more helpful. While here, trim some trailing whitespace. ... (check-in: 83bc81e8 user: mark tags: trunk)

2022-09-27
14:39
make chatbot message box transparent to avoid collisions

Suggested by mgagnon in /chat. Hint from stephan. ... (check-in: c8b3ec1e user: mark tags: trunk)

13:47
Fix a bug in the chat-robot. ... (check-in: b3f87ef7 user: drh tags: trunk)
11:11
print stash metadata when popping or applying stash

Feature request from Alfred M. Szmidt in ae3ad9c69f. Minor tweak of original patch by stephan@ ... (check-in: 1392710f user: mark tags: trunk)

2022-09-26
22:29
Replaced most of the speculation in the walmode section of the containers doc with a link to the walbanger project, where we'll be answering this question. ... (check-in: 96633067 user: wyoung tags: trunk)
12:08
The g.fJail global variable should always be set whenever a chroot jail has been entered. ... (check-in: 558cef7c user: drh tags: trunk)
08:11
Merge trunk into markdown-tagrefs branch. ... (check-in: 7321b44a user: stephan tags: markdown-tagrefs)
07:08
Cherrypick [5ade6fb863e4], inadvertently checked in on a different branch. ... (check-in: 44c5d029 user: stephan tags: trunk)
06:47
Correct an outdated path and fix a typo reported in the forum. Doc changes only, no code. ... (check-in: 5ade6fb8 user: stephan tags: markdown-tagrefs)
06:43
Update the hyperlink for purchasing a SEE license. ... (check-in: c3ce8a42 user: danield tags: trunk)
2022-09-25
14:18
fix specified file path case in locate_unmanaged_files()

Only insert unmanaged files into the temp sfile table. This now makes the routine behave consistently whether file, directory, or no paths are passed on the command line, and fixes the `fossil changes --extra` bug report in 452ec8fac167. ... (check-in: 39eb451a user: mark tags: trunk)

13:44
tweak `fossil remote` cmd to update the "default" name

Don't delete the current default remote-url when the user invokes the invalid `fossil remote add default` command; instead, output correct usage to update the special "default" symbolic name. Tweak help text to make this more obvious. Prompted by 5748fcb117a99b43. ... (check-in: 2a3e851e user: mark tags: trunk)

07:35
Link keyboard and mouse navigation and enable changing keyboard focus with Ctrl+Click. ... (check-in: 29824137 user: florian tags: timeline-keyboard-navigation)
07:23
Sync with trunk. ... (check-in: 3c929719 user: florian tags: timeline-keyboard-navigation)
07:18
Minor changes to option handling for the `ui' command: (A) Abort early with an error message if the specified port number is invalid (instead of later with an assertion failure); (B) Add short form -p for --page; (C) Add short form -B for --nobrowser. ... (check-in: 1431ebae user: florian tags: trunk)
06:50
Prevent the web UI side-by-side diffs and their scrollbars from getting truncated on the right. Forum Post f9becc251c. ... (check-in: 1a668d35 user: florian tags: trunk)
2022-09-23
17:13
Enhancements to the "fossil finfo -i" command such that it only shows the first check-in for the file (unless -v is also used) and so that it shows the modification time as a separate line for easy parsing by scripts. ... (check-in: ac6edb35 user: drh tags: trunk)
16:44
Fix the help text for the previous check-in. ... (check-in: c0162a4f user: drh tags: trunk)
16:44
Fix the "finfo" command so that -r is not required with -i. If the -r is omitted, then "current" is used in its place. ... (check-in: 35c6d15a user: drh tags: trunk)
13:17
Remove an extra newline character from the output of the new "fossil remote hyperlink" command. ... (check-in: 76bc66a9 user: drh tags: trunk)
13:04
Add the "fossil remote hyperlink" and "fossil remote ui" subcommands. ... (check-in: b2e2fc03 user: drh tags: trunk)
2022-09-21
17:14
Backup any unmamaged files that are about to be overwritten by an update or merge. Potentially avoid the loss of a local file if the overwrite warning goes unnoticed, in which case undo is useless. ... (check-in: e99e58c5 user: mgagnon tags: trunk)
16:52
Fix a typo in comment (no code change) ... (check-in: 13561519 user: mgagnon tags: trunk)
2022-09-20
14:13
On the /tkthistory page supply each ticket change item with a corresponding id attribute and make the 'History' button within a submenu of a /tinfo page to link back to that particular element on the /tkthistory page. ... (check-in: 4bb91f38 user: george tags: deltify-tkt-blobs)
13:56
Minor optimization and refactoring. ... (check-in: b2049d64 user: george tags: deltify-tkt-blobs)
2022-09-17
12:45
Add a comment to the tree-view to explain that file ages are relative to the check-in time. ... (check-in: 0fb353c1 user: drh tags: trunk)
2022-09-15
17:48
Merge trunk into markdown-tagrefs branch. ... (check-in: 8ef0347f user: stephan tags: markdown-tagrefs)
17:11
Add documentation for chat-timeline-user. ... (check-in: 24c71dfb user: drh tags: trunk)
17:08
Add the chat-timeline-user setting to the 2.20 change log. ... (check-in: 0efd583a user: stephan tags: trunk)
16:58
Added lmtime value to chat-timeline-user's chat messages, using the server's local time, to fix time display in the /chat message popup. ... (check-in: e1ad4992 user: stephan tags: trunk)
15:51
Improved comments on the new chat-timeline-user feature. ... (check-in: c3ed2430 user: drh tags: trunk)
15:35
Improved chat messages for the chat-timeline-robot. ... (check-in: 974cf366 user: drh tags: trunk)
13:40
Improve /tkthistory page: render selected ticket fields as unified diffs. ... (check-in: b75a9d0f user: george tags: deltify-tkt-blobs)
2022-09-14
19:24
Do not require that the chat-timeline robot username be an actual user in the USER table. If the chat-timeline-user config variable exists, then timeline events are announced in chat, regardless. ... (check-in: 1f5474ec user: drh tags: trunk)
13:12
Remove redundant PRE tags on the /wdiff pages. ... (check-in: 0dd5451d user: george tags: deltify-tkt-blobs)
2022-09-13
20:11
Add the ability to designate a timeline robot user. If such a user exists, and if chat is enabled, then notifications of all timeline events appear in chat, from the robot user. ... (check-in: e9d7cf3e user: drh tags: trunk)
2022-09-09
18:26
Minor improvement to SEE integration. ... (check-in: 660c2b15 user: mistachkin tags: trunk)
17:22
Sync up custom makefile for MinGW. ... (check-in: a3ed29ea user: mistachkin tags: trunk)
2022-09-07
09:11
Mentioned containerd+nerdctl in place of runc in the containers doc. A tightened-up version of the prior runc and crun sections are now collected below the Podman section. This gives a better flow: each successive option is smaller than the last, excepting only nspawn, which is a bit bigger than crun. (We leave nspawn last because we can't get it to work!) ... (check-in: 457c14a4 user: wyoung tags: trunk)
07:35
Updated the "nojail" patch for our Dockerfile to track the recent changes: rename back from Dockerfile.in and the layer refactoring. It does essentially the same thing as before. ... (check-in: 19abf0ac user: wyoung tags: trunk)
2022-09-06
22:25
Merge trunk into remote-add-fix branch. ... (Leaf check-in: baf635cb user: stephan tags: remote-add-fix)
2022-09-05
14:03
Update the built-in SQLite to the latest 3.40.0 alpha. ... (check-in: 9d12e964 user: drh tags: trunk)
08:15
Broke the Dockerfile up into more layers to allow better local caching at build time. Further optimized build time by producing the Fossil source tarball from the local repo instead of hitting the home site if you use the container-image target, since we can be reasonably certain you're working from a repo checkout and thus have all the info available here locally already. ... (check-in: 1da464ee user: wyoung tags: trunk)
01:42
Expanded the paragraph on WAL mode interactions in the container doc into a full section, placed higher up, immediately after the first use of Docker's "--volume" flag, to explain why we don't map just the repo DB file, but the whole directory it sits in. Even if we later convince ourselves WAL is safe under this scenario, it'll be conditional at best, so some remnant of this section must remain, no matter which way the experiments go. ... (check-in: 698587d4 user: wyoung tags: trunk)
2022-09-04
23:46
Renamed Dockerfile.in back to Dockerfile so it can be used as-is on non-autosetup systems. Realized that we can pass the Fossil checkin hash prefix in as a build arg instead of regenerating the file on disk from auto.def. If you use the Dockerfile as-shipped, you get a "trunk" build, which risks a stale cache — it thinks it already has a tarball by that name and helpfully refuses to pull it again — but at least Windows users get *something* without hand-hacking the file. ... (check-in: b0c9c26a user: wyoung tags: trunk)
22:20
Added a /jail/log directory to the container so someone can pass --errorlog and such to the Fossil instance and have a place to put it. It also acts as a mountpoint for appending to a log out on the host. ... (check-in: ed50ceee user: wyoung tags: trunk)
21:58
/dev permissions were too tight in the container. They're still tighter than on a stock Ubuntu box, but they should suffice for Fossil's needs. ... (check-in: 8eeb95e1 user: wyoung tags: trunk)
12:55
Restricted the container listeners to localhost in section 6 of the containers doc, and mentioned a few other items related to reverse proxying with nginx. ... (check-in: c9ab736f user: wyoung tags: trunk)
12:14
Folded info from an exchange with the Podman devs into the container doc. ... (check-in: 80f4a1dd user: wyoung tags: trunk)
11:36
Added section numbers to the containers doc (it was getting confusing) and added a few internal fragment IDs. ... (check-in: 4d51d524 user: wyoung tags: trunk)
11:26
Finished all the new topics planned for the new containers doc, adding sections on rootful Podman containers and on building via Docker but running via Podman, using Docker Hub as an intermediary to avoid building on the remote host. ... (check-in: 9c96e499 user: wyoung tags: trunk)
09:27
Sanitized a local port number out of previous ... (check-in: 3dfa4581 user: wyoung tags: trunk)
09:25
Added my sad tale of failure and woe with systemd-nspawn to the container docs, both as a warning to those who follow, and as a cry for help to someone who can make this work. I can't be bothered to spend more time on it, but there's no point throwing the work away. ... (check-in: 1e8c6655 user: wyoung tags: trunk)
09:15
Documented another cause to modify the "m" variable in the runc examples in the container docs. ... (check-in: bf503088 user: wyoung tags: trunk)
08:09
Added more jq filters to the runc examples to remove further problematic things left in the automatic conversion from the Docker container configuration file to the one we provide to runc. ... (check-in: 4e8c7479 user: wyoung tags: trunk)
07:15
Worked through some difficulties here in applying the runc method on remote systems, then documented what I learned in the containers doc. ... (check-in: 56f4e2ce user: wyoung tags: trunk)
06:28
Small fix to previous ... (check-in: d5695c8e user: wyoung tags: trunk)
06:02
Expanded the runc section of the container doc to cover "bundle" terminology and to show a method for rsyncing the bundle across to a remote host. Also explained why this is a bad idea unless you've got a rather constrained use case, lest people avoid using podman/docker in places where they could provide real value. ... (check-in: f9f13ce7 user: wyoung tags: trunk)
04:32
Documented the runc and crun options for running a container, including the cryptic method for exporting an OCI bundle from Docker, allowing you to use both together: Docker Desktop on your big dev box in the office, then one of the two lightweight runtimes out in the cloud. ... (check-in: c9431ef4 user: wyoung tags: trunk)
02:35
Added explicit instructions for patching the Dockerfile for the nojail/podman method and for mapping a single Fossil repo into the container rather than a directory. Also included my best current advice on using WAL mode in these contexts. ... (check-in: 87a23d2a user: wyoung tags: trunk)
02:15
Removed a TODO-based section of the new containers doc that wasn't meant to be checked in yet. Made a few improvements to the new Podman material as well. ... (check-in: 5adf6c40 user: wyoung tags: trunk)
02:01
Added the "Lightweight Alternatives to Docker" section to the new containers doc, currently limited to a tutorial on converting the stock Dockerfile to work under Podman in its default mode, creating a rootless container. This brings in the second container-related file at the root of the repo, the patch file for this, so we don't have to maintain two nearly-parallel Dockerfiles. As a bonus, it allows us to point to the patch from the prose, making explicit what we had to change. ... (check-in: f0399ea9 user: wyoung tags: trunk)
01:53
Moved the busybox-config file from tools/ into a new containers/ subdirectory. We were using that as a junk-drawer directory, for lack of a better place to put it. Now that we're about to have a second container-related file in the repo, that weak excuse is wearing thin. ... (check-in: b08e2bb7 user: wyoung tags: trunk)
01:39
Referencing the new containers.md file from Dockerfile.in so we can remove a big redundant block comment from it. While in there, made a few style tweaks that will help the ongoing container document expansion. ... (check-in: be8f721d user: wyoung tags: trunk)
2022-09-03
23:34
Extracted the Docker containers material from www/build.wiki and moved it into a new document dedicated to the topic, containers.md. It was already pushing the bounds of how much info we want to provide in a single section of that doc, and it's about to get bigger.

As part of the conversion from wiki format to Markdown, did another edit pass on the doc, improving a few things along the way.

Dropped the "docker-" prefix from all internal IDs, as we no longer need them to disambiguate references to other parts of the build doc. ... (check-in: 7129dc98 user: wyoung tags: trunk)

2022-09-01
16:05
Address builtin_deliver_multiple_js_files() endless loop reported in forum post a9a60fab07. ... (check-in: 76c9bbb3 user: stephan tags: trunk)
10:52
Add aliases as a new command type and display these next to the corresponding main command in /help. Make sure that for the 'test-all-help' command and webpage each help string is output at most once. ... (check-in: db708494 user: danield tags: trunk)
01:29
Merge in trunk. Resolve a shadowed var in dispatch.c which led to an assigned-but-not-used warning. ... (Closed-Leaf check-in: a257fbd9 user: stephan tags: help-aliases-unique)
2022-08-30
01:49
Embroidered the "make container-run" target to make it more convenient. ... (check-in: bc09e28a user: wyoung tags: trunk)
2022-08-29
18:21
The container doc bit on raw sockets now covers the other three Busybox utilities we left out previously. Today's removal of ping and traceroute merely completes the set; it wasn't complete in itself. ... (check-in: b429bd71 user: wyoung tags: trunk)
18:07
Clarified the points in §5.2.1 of the Docker container build doc regarding the reason why the server parent process runs as root. ... (check-in: c2eaa60d user: wyoung tags: trunk)
17:54
Researched, tested, and documented the set of "docker create --cap-drop" options we can add to strip away unnecessary root privileges inside the container without harming normal operation. Belt-and-suspenders: if any bad actor ever got into the container with root privileges, this would help prevent them from affecting anything outside the container. Added that set to the "make container-run" target so they get applied by default in the easy case. ... (check-in: f715add9 user: wyoung tags: trunk)
17:32
Removed ping and traceroute commands from the Docker container. They require raw sockets support, which means if anyone broke into the container and managed a root privilege escalation, they could do a wide array of bad things on any network the container is bound to. ... (check-in: f00a88f8 user: wyoung tags: trunk)
16:01
Polishing pass on §5.2 of the container build doc, "Why Chroot?" ... (check-in: e9860314 user: wyoung tags: trunk)
14:27
Add a missing closing LI tag for the /tkthistory page. ... (check-in: 2d0b2bda user: george tags: deltify-tkt-blobs)
14:03
Minor optimization within getAllTicketFields() function. ... (check-in: c3e7ed30 user: george tags: deltify-tkt-blobs)
2022-08-28
17:58
Clarified the parent process user ID vs the child process in the explanation of how the chroot feature interacts with the custom user feature of the Docker container. ... (check-in: f9ddd38e user: wyoung tags: trunk)
17:52
Made a better distinction between bind mounts and Docker volumes in the new Docker section of the build doc. ... (check-in: 958a6af9 user: wyoung tags: trunk)
2022-08-24
06:52
Add a slight drop shadow to the /chat message widgets. Edit: we already had a drop shadow, just placed on a different sub-element. ... (Closed-Leaf check-in: b04740bd user: stephan tags: mistake)
2022-08-23
11:14
Correct a NULL being passed to strcmp() which caused any submit of JS script code in the skin editor to segfault. Reported in forum post 9d9f0580fd. ... (check-in: a8847839 user: stephan tags: trunk)
2022-08-22
18:27
Make it possible to store similar ticket change artifacts as deltas. This might be useful when a certain column of the TICKET table holds a lengthy text that may undergo frequent modifications.

This is an opt-in feature. It is activated only when TICKET table contains a phony INTEGER column "baseline for $name" where $name stands for the name of the actual column provisioned for the aforementioned frequently changing text. ... (check-in: 0f4a0fe8 user: george tags: deltify-tkt-blobs)

2022-08-19
04:42
Fix the logic to cancel default actions and further event bubbling to take effect for all handled keys. ... (check-in: 9cfd4e2b user: florian tags: timeline-keyboard-navigation)
2022-08-18
13:21
Add the "Timeline" submenu link on the setup_edit page, for ordinary users. Change the "Access Log" link on that same page so that it is only present for ordinary users - not special users like "reader" or "developer". ... (check-in: 6f70a236 user: drh tags: trunk)
2022-08-17
05:30
Removed a digression in the gitusers doc about Fossil's new clone-and-open mechanisms. That got moved to the ckout-workflows doc quite some time back, and we already point to it from that same section. There's no reason for the redundancy. Also cleaned up some grammar and typos while in there. ... (check-in: f43eaf01 user: wyoung tags: trunk)
2022-08-16
11:05
Changed the "fossil server --user" flag's argument back to "admin" from "fossil" for the container: I was confusing the Unix user name with the default Fossil repo user name. The new "adduser fossil" stuff doesn't help here; we still want it to be called "admin". ... (check-in: 72d820f3 user: wyoung tags: trunk)
11:04
ARM build fixes for the container:
  • QEMU couldn't cope with "make -j" on the BusyBox step (too many processes) so I changed it to -j11
  • Made the new executable compression step conditional, since there is no upx package in Alpine for either ARM flavor. There's a long bug thread for it on GitHub, which doesn't look to be getting resolved any time soon.
... (check-in: 8849abb7 user: wyoung tags: trunk)
09:39
Minor fixes to the Docker container build process ... (check-in: 454397b0 user: wyoung tags: trunk)
07:14
URL fix necessitated from the Dockerfile.in rename ... (check-in: 2f67bf94 user: wyoung tags: trunk)
07:03
Carved the Docker container image size down still further by stripping out all but two of the stock skins (d* so we get default and darkmode) and packing Fossil and BusyBox with UPX. ... (check-in: e20d044c user: wyoung tags: trunk)
06:49
Fixed an Obi Wan error in the new Fossil version prefix stuff in auto.def: it was extracting the first 13 characters of the hash, not the first 12. ... (check-in: 7ecd23e0 user: wyoung tags: trunk)
2022-08-15
23:21
Added the container-image and container-run top-level build targets to manage dependencies better and to auto-version the build products. ... (check-in: 67386c75 user: wyoung tags: trunk)
23:07
Put the "--user fossil" bit back into the fossil server command for the container. Just ran into a situations where it's still needed. ... (check-in: 4c8cc804 user: wyoung tags: trunk)
22:13
Polishing pass on the container repo storage section of the build docs. ... (check-in: 3e332637 user: wyoung tags: trunk)
22:02
Changed several of the Docker environment variables to build arguments so the user an override them at build time rather than container creation time, and documented them in build.wiki. Using this new mechanism to pull the Fossil source tarball in such a way that we can use the Docker artifact cache without getting stale builds. You can now pass one of the new build args to force the old behavior if you want it. This required generating Dockerfile from Dockerfile.in at configure time, to inject the current Fossil checkin ID. (This busts the Docker cache when the source tree changes.) ... (check-in: f9384383 user: wyoung tags: trunk)
15:32
Adding the BusyBox tarball to the container image with an ADD command rather than wget to avoid triggering GitHub throttling. Unlike the Fossil repo URL, it has a version number baked into it, so it's safe to give it over to Docker's caching behavior. ... (check-in: d06d7c46 user: wyoung tags: trunk)
14:48
Noted the container size shrinkage in the fossil-v-git doc ... (check-in: f21de33e user: wyoung tags: trunk)
14:42
The container now builds Busybox from source so we can remove utilities that are unhelpful inside the container. We leave a lot behind for expansion (e.g. the runit init system, crond, inetd…) but we remove things that have no possible justification, such as modprobe. We remove everything from /bin that's a shell builtin (echo, printf, test…) and we replace a few BusyBox commands (sha[13]sum) with wrapper shell scripts that call Fossil builtins. We cap that off by adding a "sqlite3" wrapper that calls "fossil sqlite3 --no-repository", just for fun. All together, this trims about a meg of fat. ... (check-in: 953f367e user: wyoung tags: trunk)
10:28
Add #ifdef's to fix the Windows build. ... (check-in: f572f752 user: florian tags: trunk)
10:25
Simplification and harmonisation of the help text. ... (check-in: 6d108417 user: florian tags: timeline-keyboard-navigation)
10:21
Also disable shortcut handling if the View Style drop-down list has keyboard focus. ... (check-in: f419c7eb user: florian tags: timeline-keyboard-navigation)
2022-08-14
19:53
The chown -R bit added to the Dockerfile touches /jail/bin/fossil, which causes "docker build" to promote it back into a new layer, nearly doubling the container size. Doing a chown now only on two directories, restoring it to its sub-9M size. ... (check-in: 00cc9c3e user: wyoung tags: trunk)
19:42
Fossil's chroot feature drops root permissions based on file ownership, but since the container was built with everything-root, its HTTP hit handling children would run as whatever host-side UID/GID pair you used for file ownership. What happened next was complex.

If you let the container create the repo internally, it would be owned as root, so it would drop root permissions for…root! This isn't super-bad, since Fossil is presumed secure and is double-jailed besides. The risk is, if anyone works out an RCE for Fossil, they might be able to get it to create raw sockets or do various other types of escapes despite the double-jail dance.

Attaching a Docker volume brings external permisssions into the container. We were recommending a "chown 0" command on the shared volume to make it similar to the in-container case, but that opens you to the same risks above. If you ignored this and used host-side UID/GID pairs, Fossil would then be left running under IDs that didn't exist internally, which could cause assorted weirdness.

We're now creating an explicit "fossil" user/group pair inside the container and recommending that Docker volumes use these IDs for copied-in files to batten down something that shouldn't've been left flapping.

Updated build.wiki to cover all this. ... (check-in: ba21bc0b user: wyoung tags: trunk)

19:33
Resolved timeline segfault reported in forum post 0bbb66eee4ba35db, triggered by entries with NULL checkin messages. ... (check-in: 20eab785 user: stephan tags: trunk)
18:48
Moved the SIGTERM handler up before the "fossil server" HTTP hit handler. We had it clustered with the other signal() calls, but those are to handle signals intended to occur only during CGI processing. This one will normally occur while we're blocked, waiting for the HTTP hit to occur, so it had no useful effect where it was. ... (check-in: d3c55fe0 user: wyoung tags: trunk)
18:01
Changed previous to call fossil_exit() instead of exit(3) so we close our databases before dying. ... (check-in: 7c857d22 user: wyoung tags: trunk)
17:59
The parent process now handles SIGTERM with an explicit exit(3) call when its PID is 1, as when it's running as "fossil server" in a Docker container. Without this, the container host's shutdown process takes a long time because it's waiting on PID 1 to die and eventually has to time out and kill it. ... (check-in: 1d09e607 user: wyoung tags: trunk)
16:19
Markup fix ... (check-in: cf149787 user: wyoung tags: trunk)
16:18
Clarified the fact that the "docker cp" command is changing the name of the repository DB file. ... (check-in: f0b15a37 user: wyoung tags: trunk)
16:15
Slight emphasis fix in previous ... (check-in: 1441c2e6 user: wyoung tags: trunk)
16:13
Edit pass on §5.1 of build.wiki, fixing a number of unclear bits, particularly with regard to images vs containers. ... (check-in: e2b9114b user: wyoung tags: trunk)
08:54
Merge with trunk to get the latest web UI fixes. ... (check-in: e3178722 user: florian tags: timeline-keyboard-navigation)
08:16
Comment and TODO updates. ... (check-in: cfed59c9 user: florian tags: timeline-keyboard-navigation)
08:07
Cancel default actions and further bubbling of handled keys, in case of conflicts with browser (extension) defaults. ... (check-in: 52579600 user: florian tags: timeline-keyboard-navigation)
08:03
Fix the shortcut handler to cycle between selected, check-out and ticked entries getting stuck, and give highest priority to ticked entries. ... (check-in: b6a656b5 user: florian tags: timeline-keyboard-navigation)
07:56
Remap keyboard shortcuts, and ensure only letter keys are combined with SHIFT, as non-letter keys may produce different key code pairs with and without SHIFT depending on the keyboard layout. ... (check-in: 33f9315d user: florian tags: timeline-keyboard-navigation)
2022-08-13
23:39
Using the preceding --chroot fixes to make the Docker container serve the repo from /jail/museum/repo.fossil rather than from the chroot dir, /jail. This then allows us to mount a Docker volume at /jail/museum, which has an independent persistence from the container proper, so we can now rebuild the container without destroying the presumably precious repo. Updated build.wiki to track this change and document the lessons gleaned from doing all of this. ... (check-in: f76e762f user: wyoung tags: trunk)
22:15
Moved the chdir() call within enter_chroot_jail() down below the new repo name canonicalization code to allow use of relative path names. Before, you had to give an absolute path to the repo, since we'd cd'd away from that directory before we started to validate the path. ... (check-in: e9462118 user: wyoung tags: trunk)
22:14
Moved the setting of g.fJail flag into the repo = "/" case since it exists only to communicate the chroot status to --repolist mode. (This confirms the speculation in the prior commit's comment: the prior behavior existed to serve repolist mode only.) ... (check-in: 324d232c user: wyoung tags: trunk)
21:21
Fixed the --chroot flag to "fossil server" and "fossil http" to allow it to work in conjunction with the single-repository case. Before, it blindly assumed --repolist mode. ... (check-in: 6f92ad99 user: wyoung tags: trunk)
2022-08-12
17:01
Fixed pointless use of interwiki link in the new section 2.2 material of fossil-v-git. ... (check-in: 73c95307 user: wyoung tags: trunk)
2022-08-11
10:02
Potential, minimally-tested fix for (remote add default URL) not working, as reported in forum post 5748fcb117a99b43. ... (check-in: c06f58b5 user: stephan tags: remote-add-fix)
06:42
Another attempt to make the CSS for the focus indicator work with any skin foreground and background colors and branch colors: instead of changing just the background color, the foreground color is also adjusted, so the indicator can still be recognized even if similar to a branch color. Besides, no more editing of SVG code is necessary to make adjustments. ... (check-in: a8d306be user: florian tags: timeline-keyboard-navigation)
06:17
Mention in the help text that ticking the second entry node opens the diff page. Again, thanks @rouilj! ... (check-in: 13e0f32e user: florian tags: timeline-keyboard-navigation)
06:12
Swap semantics of the "primary" and "secondary" highlighted entries to improve selection of the default focused entry. The "secondary" corresponds to the "To:" entry on /vdiff pages and hance is the last focused entry, so should also be the default when returning to /timeline both by keyboard shortcut or the browser "backwards" command. Thanks @rouilj for spotting this! ... (check-in: 63c1be8c user: florian tags: timeline-keyboard-navigation)
05:57
Shortcut "." (period) to set focus to the entry closest to the center of the viewport. (The keys need to be reassigned later, since non-letter keys don't produce the same characters with or without SHIFT pressed on all keyboard layouts.) Thanks @rouilj for the suggestion and the hint! ... (check-in: e1796f2d user: florian tags: timeline-keyboard-navigation)
05:48
Refactorings to cookie handling. ... (check-in: cf38f5ab user: florian tags: timeline-keyboard-navigation)
03:53
Fix a build error introduced by check-in [fc8e5750d7]. ... (check-in: 49a2d136 user: florian tags: trunk)
2022-08-10
06:03
Merge fixes to the accordion panel JS script. ... (check-in: 44a7149d user: florian tags: trunk)
06:02
Record a comment on the findings discovered during repair of the accordion panel JS script. ... (Closed-Leaf check-in: 2fc93df4 user: florian tags: accordion-fix)
06:00
Add the new subcommand `fossil branch lsh' to list the most recently modified branches. ... (check-in: fc8e5750 user: florian tags: trunk)
05:56
Fix a compiler warning. ... (Closed-Leaf check-in: 877b237b user: florian tags: ls-hot-branches)
2022-08-09
12:35
Do not show information about the number of chat messages unless the user has read privilege on the chat. ... (check-in: ad0aac2f user: drh tags: trunk)
2022-08-08
11:52
/setup_config typo fix reported in forum post ec5bd222a2. ... (check-in: 6d5d5f02 user: stephan tags: trunk)
2022-08-07
08:12
Coding style fixes and comment updates. ... (check-in: ae932acd user: florian tags: timeline-keyboard-navigation)
08:09
Shortcut SHIFT+H to scroll to the focused entry without moving focus. This may be handy in conjunction with scrolling by arrow keys or PgUp/Dn. ... (check-in: 8d1edb82 user: florian tags: timeline-keyboard-navigation)
08:07
Remove a construct to escape the JS compressor obsoleted by [ffa1c7d0a0]. ... (check-in: 0e7357d2 user: florian tags: accordion-fix)
2022-08-06
22:13
Fixed a few stray parens in the new material in the fossil-v-git doc, left behind from a prior edit. ... (check-in: ea13701c user: wyoung tags: trunk)
22:08
Typo fix ... (check-in: b628a883 user: wyoung tags: trunk)
20:30
Fixed a problem in image naming in the new Docker container doc in build.wiki reported on the forum. ... (check-in: 509447a2 user: wyoung tags: trunk)
19:56
Did away with the temporary src.tar.gz file in the new Docker container by streaming the output of wget straight into tar's stdin. This cuts the build time by about five seconds, presumably due to the saving from unnecessary file I/O. Also replaced the explicit "cd src" afterward with an out-of-tree build configuration, since it doesn't matter if we clutter the first stage's /tmp dir. ... (check-in: 289c9b50 user: wyoung tags: trunk)
19:34
The build docs for "./configure --static" now reference the section further down on Docker, since you may need to use this indirection to get --static to produce something suitable. ... (check-in: 7bfd7413 user: wyoung tags: trunk)
04:24
Replaced Jan Nijtman's Dockerfile with a new one that does a 2-stage build. The first stage runs atop Alpine Linux instead of Fedora, reducing the initial build from ~635 MiB to about 16.

Rather than stop there, I then made it multi-stage, copying two key static binaries — Fossil and Busybox — over from the first stage into a fresh-from-scratch container and set it up to run the former jailed away from the latter.

The result is under 9 MiB, and it's as secure as one can hope, given that it starts up in "PUBLIC" mode. The new build doesn't have all the extra features turned on that the old one did, but it seems right to build the container with Fossil in its default configuration. If you want something else, copy the Dockerfile, hack it, and make it do what you want instead.

Having done all this, I replaced the one-off Dockerfile inline in section 5.0 of the build doc with a reference to this new Dockerfile and rewrote the section in terms of the new capabilities.

Finally, this lets us brag on how small the container can be, as compared to the Gitlab-CE container. Before, we were comparing a standalone binary to the container, which wan't entirely fair. (The desire to produce such a container was the spark that kicked this project off.) ... (check-in: 77d603c6 user: wyoung tags: trunk)

2022-08-05
12:05
Assorted improvements to the first few sections of the fossil-v-git doc, mainly in updating them to track changes to world facts and to clarify the presentation. ... (check-in: c7afd68b user: wyoung tags: trunk)
10:18
Remove some unnecessary `bind()' calls for variables already held in function closure. Apart from that, the approach seems to work well and also covers odd cases, such as the post-expansion timeout to clear maxHeight being shorter than the CSS animation duration (in which case the animation would just jerkily stop, but with the correct element height), or setting a short "decoy value" (say, "100px") instead of the real scrollHeight for maxHeight (in which case the animated area would just be smaller, but with the same end result). ... (check-in: 7b8dd9ca user: florian tags: accordion-fix)
06:39
Also fix URLs for non-filtered /timeline links opened from /finfo pages, plus some code and comment cleanups. ... (check-in: 3ae1390f user: florian tags: timeline-keyboard-navigation)
06:22
Shortcut SHIFT+J to view the timeline of the focused entry filtered by branch. Add the 'm' query parameter to /timeline links. ... (check-in: 7bbd1b99 user: florian tags: timeline-keyboard-navigation)
05:23
Attempt to fix the accordion for "Changes" sections: (A) "Delay-init" the maxHeight property only right before the closing animation, so that the dynamic diffs have enough time to resize themselves without any constraints, and then set maxHeight to zero to trigger the animation in idle time, to prevent coalescing the maxHeight changes (or there won't be an animation when going from "undefined" to "0"). (B) On expansion, after awaiting the animation duration, clear the maxHeight property, so browsers are again free to resize without any constraints. This is the same trick that works well for the hamburger menu, and fixes another problem with FF to return too small values for scrollHeight with large diffs, so that they would again be truncated (but the error is small enough so it doesn't matter for the animation). ... (check-in: 6c591c3f user: florian tags: accordion-fix)
2022-08-04
12:19
Remove the accordion from the "Changes" division of the /vinfo page (at least temporarily) because it is cutting off the bottom of the diff. ... (check-in: 69a6f453 user: drh tags: trunk)
12:02
The smart "scroll to" routine also needs to scroll upwards when used for their new purpose. ... (check-in: fff09df3 user: florian tags: timeline-keyboard-navigation)
11:46
Docs v0.1, with upper-/lower-case letter notation, instead of SHIFT+LETTER (which may be somewhat confusing for the "," and ";" case). ... (check-in: b02508d3 user: florian tags: timeline-keyboard-navigation)
11:42
Try to fix the focus indicator CSS to work for all skins: alpha-blending "10% black" with light-mode background colors, or "20% white" with dark-mode background colors, looks surprisingly well and conflicts less with branch colors (which can be orange-ish, but never black or white). Note that the dark-mode skins Ardoise, Dark Mode and Xekri (but not Eagle) require the previously removed !important directive. It\'s still possible for skins to overwrite the focus indicator CSS when duplicating the !important directive. ... (check-in: 7d026886 user: florian tags: timeline-keyboard-navigation)
06:57
Experimental change to scroll the focused entry into view with a Fossil-style scrolling function to keep the entry centered vertically. This is much better than `Element.scrollIntoView()' for FF (but maybe a matter of tweaking the function arguments). Kudos to the wiz who programmed the `scrollToSelected()' function! ... (check-in: ad3a8e0b user: florian tags: timeline-keyboard-navigation)
06:14
Comment and TODO updates. ... (check-in: ec8b53a9 user: florian tags: timeline-keyboard-navigation)
06:09
Enhance the H shortcut to consider the secondary selection on the /vdiff page as a waypoint. ... (check-in: 0c024627 user: florian tags: timeline-keyboard-navigation)
04:25
Change the "untick" and "copy hash/branch" handlers to not activate keyboard navigation mode, i.e. "untick" is also available in combination with mouse scrolling, and "copy hash/branch" requires a focused entry, instead of focusing an entry without copying its data. ... (check-in: 1d5e6e3c user: florian tags: timeline-keyboard-navigation)
04:11
Shortcut SHIFT+"," (comma) to untick all (better: one) node(s) without moving the focus indicator. ... (check-in: a4db0b2c user: florian tags: timeline-keyboard-navigation)
04:01
Remap the shortcut to disable keyboard navigation mode to ESC. This is also a test case for the high-priority ESC handlers of the timeline tooltip and the hamburger menu, and things seem to work fine. ... (check-in: 80085809 user: florian tags: timeline-keyboard-navigation)
03:57
Shortcut H to hop between the selected, current (check-out) and ticked entries. ... (check-in: 7703a5f7 user: florian tags: timeline-keyboard-navigation)
03:51
Shortcuts B and SHIFT+B top copy the hash or branch name of the focused entry to clipboard. ... (check-in: f23a6d13 user: florian tags: timeline-keyboard-navigation)
03:45
Shortcut "," (comma) to tick/untick the node of the currently focused entry. This has the same effect as mouse clicks, i.e. as soon as two nodes are ticked, the corresponding diff page is opened. ... (check-in: 15f943f0 user: florian tags: timeline-keyboard-navigation)
03:41
Shortcuts SHIFT+N and SHIFT+M to put focus the first (topmost) or last (bottommost) entry. ... (check-in: 145df5a3 user: florian tags: timeline-keyboard-navigation)
03:35
Access the hidden input field used for back/forward caching via dedicated functions, and let browsers do the buffering of `document.getElementById()' results themselves. ... (check-in: 115b4849 user: florian tags: timeline-keyboard-navigation)
03:34
Merge with trunk to get the latest web UI updates. ... (check-in: 0f998197 user: florian tags: timeline-keyboard-navigation)
2022-08-02
20:55
Put all sections of the /vinfo page (or the /info page for a check-in) inside an accordion widget. ... (check-in: ab553393 user: drh tags: trunk)
10:57
Take note of another possibly handy shortcut. ... (check-in: 2ffedc2b user: florian tags: timeline-keyboard-navigation)
10:27
Refactor the `-h' option to its own `lsh' subcommand sibling to `list|ls' to reuse their infrastructure and flags. To produce useful output with the `-r' option, the SQL query to generate the branch list is LIMIT'ed in an inner query, and then ORDER'ed again in an outer query. ... (check-in: dbd6efe2 user: florian tags: ls-hot-branches)
00:45
Corrected broken link introduced in the previous commit which works under (fossil ui) but not on the live server (due to the addition of another URI path element). ... (check-in: bf0efda7 user: stephan tags: trunk)
00:42
doc index: added a link to the Release Build How-To wiki page, per forum request. ... (check-in: 9f3945fc user: stephan tags: trunk)
2022-08-01
09:34
Take note of another possible TODO item. ... (check-in: b785da80 user: florian tags: timeline-keyboard-navigation)
09:30
Update the comments about back/forward caching. ... (check-in: e62b171d user: florian tags: timeline-keyboard-navigation)
09:21
Some code readability and function naming tweaks. ... (check-in: 89a0438f user: florian tags: timeline-keyboard-navigation)
2022-07-31
10:47
Add a new `-h' option to `fossil branch ls' to list the "hot" (first few recently modified) branches. ... (check-in: fe299ee4 user: florian tags: ls-hot-branches)
08:56
Take note of a possible TODO point. ... (check-in: 4bc9aa3c user: florian tags: timeline-keyboard-navigation)
08:48
Remove an unnecessary !important CSS directive that prevents overriding by skins. (This is a leftover from my private patches, where the same technique is used to alpha-blend an additional SVG background color with the original background color.) ... (check-in: 72dc40da user: florian tags: timeline-keyboard-navigation)
08:39
Revamp key handling to work with modifiers. ... (check-in: af89065e user: florian tags: timeline-keyboard-navigation)
08:20
Refactor a function for later reuse. ... (check-in: 2087ad10 user: florian tags: timeline-keyboard-navigation)
08:14
Sanitize URL composing. ... (check-in: 6c16d2ec user: florian tags: timeline-keyboard-navigation)
07:58
Replace the tooltip 'unload' handler with 'pageshow' and 'pagehide' handlers so that restoring the focused entry on back/forward navigation also works with FF. ... (check-in: 5e545a9f user: florian tags: timeline-keyboard-navigation)
2022-07-30
20:33
login-group command: corrected help text for 'join' option to include REPO and extended code to allow REPO to optionally be passed on as -R REPO. Resolves issue reported in forum post 240b6d856a3dd4b5. ... (check-in: 769a7651 user: stephan tags: trunk)
2022-07-29
19:03
Fix the /alerts page so that access is provided even for users that are not logged in as long as a complete subscription code is provided as the "name" query parameter. ... (check-in: a27c908f user: drh tags: trunk)
18:57
The /unsubscribe page now requests comformation. And so email notifications contain only an "Unsubscribe" link, and not a link to subscription management. ... (check-in: f045c5dd user: drh tags: trunk)
11:37
Don't use magic numbers, and also improve readability for adjacent lines. ... (check-in: 57baac30 user: florian tags: timeline-keyboard-navigation)
10:27
Drop a redundant check. ... (check-in: d145d92d user: florian tags: timeline-keyboard-navigation)
10:26
Fix dynamic style assignment. ... (check-in: bb59cc26 user: florian tags: timeline-keyboard-navigation)
10:24
Omit the expiration date when creating the session cookie. ... (check-in: 540955bd user: florian tags: timeline-keyboard-navigation)
06:36
Implement Javascript-based keyboard navigation for web UI timelines. Shortcuts N and M focus the next or previous entry, and J and K toggle between /timeline and /info views for the focused entry. See comments in the committed Javascript file for more information. ... (check-in: b18c4256 user: florian tags: timeline-keyboard-navigation)
2022-07-28
18:59
Consolidated some minor code drift between pikchr's fiddle and fossil's pikchrshow. ... (check-in: 44cd9753 user: stephan tags: trunk)
18:19
Patch the javascript compressor so that it does not elide text after // if the // immediately follows a :, as that text might be part of a URI string literal. ... (check-in: ffa1c7d0 user: drh tags: trunk)
17:38
Fix a build problem with zlib on Windows. ... (check-in: 8bd19cad user: drh tags: trunk)
17:06
Update the built-in copy of zLib to version 1.2.12. ... (check-in: adb9e8e0 user: drh tags: trunk)
15:23
Latest upstream pikchr.c and pikchr.wasm. ... (check-in: d5ec3629 user: stephan tags: trunk)
2022-07-27
14:16
Add zlib1g-dev to the list of libraries needed for building. ... (check-in: 12ce928a user: danield tags: trunk)
2022-07-26
16:05
auto.def: --with-zlib=tree now fails if compat/zlib is not configured and built in advance, resolving the curious problem that the downstream test for openssl fails if libz is not built. Problem discovered by Daniel D. and reported in /chat. ... (check-in: b0dc2792 user: stephan tags: trunk)
2022-07-25
16:47
Corrected the --with-see build to use sqlite3-see.c. Problem reported in forum post b3653991172dcd14. The SEE build was broken by the late-December 2021 reworking of the --with-sqlite flag and its related build infrastructure. ... (check-in: 18acd948 user: stephan tags: trunk)
2022-07-24
14:53
Added --dry-run change to the change log. ... (check-in: 5960a16f user: stephan tags: trunk)
14:51
Replaced the remaining --dryrun flags with --dry-run, for consistency, per discussion/monologue in forum post d732b4026f44bdba. ... (check-in: 4a720c26 user: stephan tags: trunk)
2022-07-21
21:38
Removed an unused var (compiler warning). ... (check-in: 7ca55e92 user: stephan tags: trunk)
20:00
Revise the "fossil version -v" command to give less detail. Use -vv or -v -v to get the original full detail. ... (check-in: bbbd7ef8 user: drh tags: trunk)
16:11
Updated changes.wiki and VERSION to 2.20. ... (check-in: a3bdee62 user: stephan tags: trunk)
16:10
Version 2.19 ... (check-in: 1e131feb user: stephan tags: trunk, release, version-2.19)
14:48
Update the built-in SQLite to version 3.39.2 RC 1. ... (check-in: 8c36dad3 user: drh tags: trunk)
2022-07-19
23:33
Add a quote from https://wholesomedonut.prose.sh/using-fossil-not-git to the "quotes.wiki" page of the documentation. ... (check-in: ff95be00 user: drh tags: trunk)
21:50
Added CSS to keep command name aliases from wrapping in the /help list. ... (check-in: 5c91df7c user: stephan tags: help-aliases-unique)
14:51
Remove some unneeded code. ... (check-in: 83877bb7 user: danield tags: help-aliases-unique)
14:47
Add aliases as a new command type and display these next to the corresponding main command in /help. Make sure that for 'test-all-help' command and webpage each help string is output at most once. ... (check-in: 4b8efc05 user: danield tags: help-aliases-unique)
13:23
Removed the -- flag handling from expand_args_option(), instead letting it fall through to find_option(), to eliminate inconsistencies and corner cases uncovered in forum thread 4382bbc66757c39f. ... (check-in: 62a16882 user: stephan tags: trunk)
13:17
Update the built-in SQLite to the latest trunk version for testing. ... (check-in: e5be71d6 user: drh tags: trunk)
13:15
Add a "Timeline" link to the /forum page. ... (check-in: 39bc414b user: drh tags: trunk)
2022-07-18
18:02
Typo fix in the 'timeline' command's help as per forum post 27bc0a9716. ... (check-in: c8a39b66 user: danield tags: trunk)
14:47
Do not omit a forum thread's title while rendering /forumthread page. ... (check-in: ffd32a9f user: george tags: trunk)
12:07
Added a note to the cgi command's help about the processing order of directives, per forum request. ... (check-in: 8d3176f1 user: stephan tags: trunk)
01:39
Still moer grammar fixes in fossil-v-git ... (check-in: e28c25e4 user: wyoung tags: trunk)
01:08
More grammar fixes ... (check-in: 9f135f2f user: wyoung tags: trunk)
01:07
Grammar fix to the fossil-v-git doc ... (check-in: f36fb951 user: wyoung tags: trunk)
2022-07-17
23:48
Changed a number of "a" articles followed by vowels in docs and comments to "an", per a forum post. ... (check-in: 99a319bd user: wyoung tags: trunk)