<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs-wttrin/README.org, branch v0.3.0</title>
<subtitle>Emacs frontend for Igor Chubin's wttr.in weather service
</subtitle>
<id>https://git.cjennings.net/emacs-wttrin/atom?h=v0.3.0</id>
<link rel='self' href='https://git.cjennings.net/emacs-wttrin/atom?h=v0.3.0'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/'/>
<updated>2026-04-04T18:51:16+00:00</updated>
<entry>
<title>doc: tighten README prose, remove AI writing patterns</title>
<updated>2026-04-04T18:51:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T18:51:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=faddcefa98c41356d8fd66d561f1e45453b19d05'/>
<id>urn:sha1:faddcefa98c41356d8fd66d561f1e45453b19d05</id>
<content type='text'>
Rewrite sections that read like generated text: replace clinical
descriptions with conversational language matching the existing
voice, cut padding phrases ("proactively", "several aspects",
"what's happening"), and trim the debug section down to essentials.
</content>
</entry>
<entry>
<title>doc: update README with missing features, fix stale content</title>
<updated>2026-04-04T18:47:54+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-04T18:47:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=c856f697718a3a0a92dbf84a913d56a4ce9c4944'/>
<id>urn:sha1:c856f697718a3a0a92dbf84a913d56a4ce9c4944</id>
<content type='text'>
Add: staleness display in weather buffer, stale mode-line dimming,
wttrin-clear-cache command, wttrin-mode-line-startup-delay option,
minimum Emacs version (24.4).

Fix: font height default was listed as 110 (actually 130), debug
output example didn't match current log format, manual debug setup
section was a duplicate of the use-package section.
</content>
</entry>
<entry>
<title>feat: unified cache and staleness handling for mode-line and buffer</title>
<updated>2026-02-21T13:11:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-21T13:06:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=b74b98f177d92d50ddbede900ba41212e07c5f63'/>
<id>urn:sha1:b74b98f177d92d50ddbede900ba41212e07c5f63</id>
<content type='text'>
Replace TTL-based cache invalidation with proactive scheduled refresh.
Both mode-line and buffer systems now follow: timer refreshes cache,
display reads from cache, staleness indicated when data is old.

Phase 1 - Mode-line cache formalization + staleness display:
- Replace wttrin--mode-line-tooltip-data with wttrin--mode-line-cache
  as (timestamp . data) cons cell matching buffer cache pattern
- Add wttrin--format-age helper for human-readable age strings
- Rewrite wttrin--mode-line-update-display to take no arguments,
  read from cache, compute staleness (age &gt; 2x refresh interval),
  dim emoji gray when stale, show staleness info in tooltip
- Rewrite wttrin--mode-line-fetch-weather to write cache on success,
  show stale display on failure with cache, error placeholder without
- Add wttrin--mode-line-update-placeholder-error for first-launch failure

Phase 2 - Remove TTL, add proactive buffer refresh:
- Rename wttrin-cache-ttl to wttrin-refresh-interval (default 3600s)
  with define-obsolete-variable-alias for backward compatibility
- Change wttrin-mode-line-refresh-interval default from 900 to 3600
- Remove TTL check from wttrin--get-cached-or-fetch; serve cached data
  regardless of age, background timer keeps it fresh
- Add buffer refresh timer (wttrin--buffer-cache-refresh)

Phase 3 - Buffer staleness display:
- Add wttrin--format-staleness-header for buffer age display
- Insert staleness line in wttrin--display-weather before instructions

Phase 4 - Cleanup:
- Remove all references to wttrin--mode-line-tooltip-data
- Update README.org cache settings and mode-line documentation
- Update tests for new API (198 tests across 21 files, all passing)
</content>
</entry>
<entry>
<title>refactor: core: rename wttrin-mode-line-favorite-location to wttrin-favorite-location</title>
<updated>2025-11-13T20:14:45+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-13T20:14:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=bf989bb594680eb2e3b69f55752353aa33cb47bb'/>
<id>urn:sha1:bf989bb594680eb2e3b69f55752353aa33cb47bb</id>
<content type='text'>
Renamed variable to remove 'mode-line' prefix, making it usable for
future location-based features beyond mode-line display. Updated all
references in code, tests, and documentation. All 187 tests passing.
</content>
</entry>
<entry>
<title>doc: readme: use :load-path instead of add-to-list for use-package</title>
<updated>2025-11-09T05:52:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T05:52:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=789c197f839bb602c724a4fb47ba50909759e99b'/>
<id>urn:sha1:789c197f839bb602c724a4fb47ba50909759e99b</id>
<content type='text'>
Replace add-to-list approach with use-package's :load-path keyword
for cleaner, more idiomatic configuration.
</content>
</entry>
<entry>
<title>doc: readme: simplify xterm-color configuration instructions</title>
<updated>2025-11-09T05:49:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-09T05:49:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=78d6f9c31ed060dc6f2d2aae7a5608014218b0b1'/>
<id>urn:sha1:78d6f9c31ed060dc6f2d2aae7a5608014218b0b1</id>
<content type='text'>
Remove outdated xterm-color configuration requirements following the
lazy-load refactor. Users no longer need :after, :preface, or separate
use-package declarations for xterm-color.

Changes:
- Simplified local development setup (no xterm-color use-package needed)
- Removed :preface xterm-color :demand t from debug examples
- Updated manual install to just require wttrin (not xterm-color first)
- Clarified that xterm-color loads automatically when needed
- Noted MELPA auto-installs xterm-color as dependency

The configuration is now simpler and matches the lazy-loading behavior.
</content>
</entry>
<entry>
<title>docs: Simplify manual installation debug example</title>
<updated>2025-11-08T18:46:03+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-08T18:46:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=62bde926991ffc2fb57b49c0618b2dd177765dd6'/>
<id>urn:sha1:62bde926991ffc2fb57b49c0618b2dd177765dd6</id>
<content type='text'>
Remove add-to-list from manual installation example and ensure
:ensure t is included. The :preface section with xterm-color
and wttrin-debug settings works the same whether installing
from MELPA or a local path.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: Use :preface for wttrin-debug instead of external setq</title>
<updated>2025-11-08T18:40:15+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-08T18:40:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=ad9099f489b5d0ab89d23566c386c915cd92db06'/>
<id>urn:sha1:ad9099f489b5d0ab89d23566c386c915cd92db06</id>
<content type='text'>
Update README to show wttrin-debug being set in :preface section
of use-package declarations. This is cleaner and follows standard
use-package conventions better than requiring users to set
variables outside the declaration.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>refactor: make debug functions public (single hyphen naming)</title>
<updated>2025-11-08T18:12:52+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-08T18:12:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=04b11059b831c94b4e5ba901b735fcc888cbbe1a'/>
<id>urn:sha1:04b11059b831c94b4e5ba901b735fcc888cbbe1a</id>
<content type='text'>
Renamed private debug functions to public API:
- wttrin--debug-show-log → wttrin-debug-show-log
- wttrin--debug-clear-log → wttrin-debug-clear-log

Added ;;;###autoload to both functions for proper autoloading.

Updated all references:
- README.org (2 occurrences)
- tests/README-DEBUG-TESTS.md (4 occurrences)
- tests/test-wttrin-integration-with-debug.el (8 occurrences)

These are user-facing commands that should be discoverable via M-x,
so they follow the public API naming convention (single hyphen).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: add critical setup rules for local development and debugging</title>
<updated>2025-11-08T17:57:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-08T17:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/emacs-wttrin/commit/?id=29b559bd1a956a4efdec625f1b5d878503d46a33'/>
<id>urn:sha1:29b559bd1a956a4efdec625f1b5d878503d46a33</id>
<content type='text'>
Added two new sections to README:

1. "Local Development / Manual Install" section:
   - Shows correct pattern for loading xterm-color in :preface
   - Explains :demand t ensures immediate loading
   - Provides both use-package and manual install examples
   - Emphasizes xterm-color must load BEFORE wttrin

2. "Debugging and Troubleshooting" section:
   - Documents wttrin-debug must be set BEFORE loading wttrin
   - Shows correct vs incorrect examples (with ❌ for wrong way)
   - Explains how to view debug log with M-x wttrin--debug-show-log
   - Includes example debug output
   - Lists common issues and solutions

Key rules documented:
- xterm-color in :preface with :demand t for local development
- wttrin-debug set before (require 'wttrin) or use-package declaration
- Debug checked at load time, can't be set in :custom section

These are common pitfalls that prevented wttrin from loading correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
