📝 Checkpoint PDF native viewer issue -- PDFviewer and LinkSpeed_20261020_1738.mdv4.6.0 · 2026-10-19

Checkpoint — PDF viewing and link speed — 20/10/2026, 17:38 Sydney

Another collaboration between Andrew.human and Claude.ai

All times are Sydney time unless marked. Live's clock runs 3 hours behind Sydney (server shows 12:30 when it is 15:30). Clone's clock matches Sydney.


1. What happened

2. What we established (checked, not guessed)

The link is the main variable.

The server was not the bottleneck.

How PDFs are actually delivered.

Link tracking is now in place. Clone's /etc/crontab has a line every 5 minutes writing to /root/linkwatch.log (packet loss, round trip, home page time). Baseline: 0% loss, average 209–219 ms, page 3.3–3.6 s. It only records while the NUC is on, and it restarts itself at each boot.

3. Mistakes made today (so they are not repeated)

4. Open items (nothing below has been done)

  1. Encoded links on attachments 7255, 7441 and 7530 (the rest are raw and fine). The v4.4.1 package has no urlencode in active code, but the legacy pdf_display_patch.xml does, and the installer only removes the newer block. If Live's Display.template.php still carries the old block, that is the cause. Not yet checked. Run on Live: grep -n "is_pdf0urlencode" /var/www/html/Themes/default/Display.template.php /var/www/html/Sources/Display.php
  2. Load history for 08:00–14:33 (the unmeasured window). Run the redirected awk to /root/load_by_hour.txt on Live (last 48 hours, server clock, add 3 hours for Sydney) and send the file.
  3. Test files from the 17:23–17:38 run: /root/pdftest_ping.txt on Clone (real link record), /root/pdftest_load.txt on Live. Ignore the stray pdftest_ping.txt on Live (loopback). Click times were about 17:25.
  4. Sources/Load.php changed at 10:40 with no matching backup in Packages/backups. Not necessarily a problem. Worth knowing whether a package install did it.
  5. view_attach.php empty-body GET. Unexplained. Left alone.
  6. Install listatt_bbcode_v6.17.zip? Your call and your timing. Nothing depends on it today.

5. What was built (none of it deployed except where stated)

Item State
view_attach.php v1.9 (fix plus range support) Built, superseded, not deployed
view_attach_range.php v1.0 (side-by-side copy, original untouched) Built; arrives with listatt 6.16 and 6.17
listatt_bbcode_v6.16.zip (Viewer dropdown) Installed on Live (banner shows v6.16). The dropdown was confusing; replaced by 6.17
listatt_bbcode_v6.17.zip ([native] plus [native in chunks] links, no dropdown) Built, not installed
listatt_bbcode_v6.16.1 (layout fix) Never sent; not needed

Release-card gaps carried forward: zips made with plain zip -X (no data descriptors or extra fields), not your legacy zipper; no standalone manual for view_attach_range.php.

6. Next time it goes slow, capture these (5 minutes)

  1. Speed test: down, up, latency (today: 22.2 / 8.5 / 12 ms).
  2. ping -n 20 128.199.200.202 from the PC (today: 0% lost, about 200 ms).
  3. The 5 MB Chapter 3 CLOSED2.pdf in a private window with a stopwatch (today: about 5–9 s).
  4. grep -v " 0% packet loss" /root/linkwatch.log on Clone for the same time.
  5. Live: uptime and top -bn1 | head -12.

7. Starting the next conversation

Attach this file, /root/load_by_hour.txt, both test files, and the grep output from item 1. Say which of items 1–6 you want to pursue first.