Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hledger-ui for openSUSE:Factory checked in at 2025-11-27 15:20:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hledger-ui (Old) and /work/SRC/openSUSE:Factory/.hledger-ui.new.14147 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hledger-ui" Thu Nov 27 15:20:05 2025 rev:44 rq:1320211 version:1.50.3 Changes: -------- --- /work/SRC/openSUSE:Factory/hledger-ui/hledger-ui.changes 2025-10-10 17:12:53.446185053 +0200 +++ /work/SRC/openSUSE:Factory/.hledger-ui.new.14147/hledger-ui.changes 2025-11-27 15:20:08.601392531 +0100 @@ -1,0 +2,9 @@ +Tue Nov 18 23:42:44 UTC 2025 - Peter Simons <[email protected]> + +- Update hledger-ui to version 1.50.3. + Upstream's change log file format is strange (too much unmodified + text at at the top). The automatic updater cannot extract the + relevant additions. You can find the file at: + http://hackage.haskell.org/package/hledger-ui-1.50.3/src/CHANGES.md + +------------------------------------------------------------------- Old: ---- hledger-ui-1.50.2.tar.gz hledger-ui.cabal New: ---- hledger-ui-1.50.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hledger-ui.spec ++++++ --- /var/tmp/diff_new_pack.8Sp7LP/_old 2025-11-27 15:20:09.281421208 +0100 +++ /var/tmp/diff_new_pack.8Sp7LP/_new 2025-11-27 15:20:09.285421377 +0100 @@ -19,13 +19,12 @@ %global pkg_name hledger-ui %global pkgver %{pkg_name}-%{version} Name: %{pkg_name} -Version: 1.50.2 +Version: 1.50.3 Release: 0 Summary: Terminal interface for the hledger accounting system License: GPL-3.0-or-later URL: https://hackage.haskell.org/package/%{name} Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{name}.cabal BuildRequires: chrpath BuildRequires: ghc-Cabal-devel BuildRequires: ghc-ansi-terminal-devel @@ -137,7 +136,6 @@ %prep %autosetup -cp -p %{SOURCE1} %{name}.cabal %build %ghc_lib_build ++++++ hledger-ui-1.50.2.tar.gz -> hledger-ui-1.50.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/CHANGES.md new/hledger-ui-1.50.3/CHANGES.md --- old/hledger-ui-1.50.2/CHANGES.md 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/CHANGES.md 2025-11-18 23:54:26.000000000 +0100 @@ -23,6 +23,23 @@ See also the hledger changelog. +# 1.50.3 2025-11-18 + +- `--watch` mode now also detects changes from apps which overwrite the file, such as VS Code. + (Caleb Maclennan) + +- When hledger-ui is started with --pivot, re-enabling balance assertions + with the I key now does a full journal reload, to check assertions more accurately. + [#2451] + +- The old "threaded" build flag, which cabal could turn off, has been dropped. + [#2495] + +- Allow brick 2.10, vty 6.5. + +- Uses hledger 1.50.3. + + # 1.50.2 2025-09-26 - Uses hledger 1.50.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/AccountsScreen.hs new/hledger-ui-1.50.3/Hledger/UI/AccountsScreen.hs --- old/hledger-ui-1.50.2/Hledger/UI/AccountsScreen.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/AccountsScreen.hs 2025-11-18 19:43:45.000000000 +0100 @@ -30,9 +30,9 @@ import Data.List hiding (reverse) #endif import Data.Maybe -import qualified Data.Text as T +import Data.Text qualified as T import Data.Time.Calendar (Day) -import qualified Data.Vector as V +import Data.Vector qualified as V import Data.Vector ((!?)) import Graphics.Vty (Event(..),Key(..),Modifier(..), Button (BLeft, BScrollDown, BScrollUp)) import Lens.Micro.Platform @@ -48,7 +48,7 @@ import Hledger.UI.UIUtils import Hledger.UI.UIScreens import Hledger.UI.Editor -import Hledger.UI.ErrorScreen (uiCheckBalanceAssertions, uiReload, uiReloadIfFileChanged) +import Hledger.UI.ErrorScreen (uiReload, uiReloadIfFileChanged, uiToggleBalanceAssertions) import Hledger.UI.RegisterScreen (rsCenterSelection) import Data.Either (fromRight) import Control.Arrow ((>>>)) @@ -257,7 +257,7 @@ VtyEvent (EvKey (KLeft) [MShift]) -> modify' (previousReportPeriod journalspan >>> regenerateScreens j d) -- various toggles and settings: - VtyEvent (EvKey (KChar 'I') []) -> modify' (toggleIgnoreBalanceAssertions >>> uiCheckBalanceAssertions d) + VtyEvent (EvKey (KChar 'I') []) -> get' >>= uiToggleBalanceAssertions d VtyEvent (EvKey (KChar 'F') []) -> modify' (toggleForecast d >>> regenerateScreens j d) VtyEvent (EvKey (KChar 'B') []) -> modify' (toggleConversionOp >>> regenerateScreens j d) VtyEvent (EvKey (KChar 'V') []) -> modify' (toggleValue >>> regenerateScreens j d) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/ErrorScreen.hs new/hledger-ui-1.50.3/Hledger/UI/ErrorScreen.hs --- old/hledger-ui-1.50.2/Hledger/UI/ErrorScreen.hs 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/ErrorScreen.hs 2025-11-18 23:54:26.000000000 +0100 @@ -15,6 +15,7 @@ ,uiReloadIfFileChanged ,uiReloadJournal ,uiReloadJournalIfChanged + ,uiToggleBalanceAssertions ) where @@ -108,7 +109,7 @@ runEditor pos f esReloadIfFileChanged copts d j ui - VtyEvent (EvKey (KChar 'I') []) -> put' $ uiCheckBalanceAssertions d (popScreen $ toggleIgnoreBalanceAssertions ui) + VtyEvent (EvKey (KChar 'I') []) -> uiToggleBalanceAssertions d (popScreen ui) VtyEvent (EvKey (KChar 'l') [MCtrl]) -> redraw VtyEvent (EvKey (KChar 'z') [MCtrl]) -> suspend ui _ -> return () @@ -156,6 +157,10 @@ -- Defined here so it can reference the error screen: +-- | Modify some input options for hledger-ui (enable --forecast). +uiAdjustOpts :: UIOpts -> CliOpts -> CliOpts +uiAdjustOpts uopts = enableForecast uopts + -- | Reload the journal from its input files, then update the ui app state accordingly. -- This means regenerate the entire screen stack from top level down to the current screen, using the provided today-date. -- As a convenience (usually), if journal reloading fails, this enters the error screen, or if already there, updates its message. @@ -169,8 +174,8 @@ uiReload :: CliOpts -> Day -> UIState -> EventM Name UIState UIState uiReload copts d ui = liftIO $ do ej <- - let copts' = enableForecast (astartupopts ui) copts - in runExceptT $ journalTransform copts' <$> journalReload copts' + let copts1 = uiAdjustOpts (astartupopts ui) copts + in runExceptT $ journalTransform copts1 <$> journalReload copts1 -- dbg1IO "uiReload before reload" (map tdescription $ jtxns $ ajournal ui) return $ case ej of Right j -> @@ -194,20 +199,24 @@ -- Also, this one runs in IO, suitable for suspendAndResume. uiReloadIfFileChanged :: CliOpts -> Day -> Journal -> UIState -> IO UIState uiReloadIfFileChanged copts d j ui = do - let copts' = enableForecast (astartupopts ui) copts - ej <- runExceptT $ journalReloadIfChanged copts' d j + ej <- + let copts1 = uiAdjustOpts (astartupopts ui) copts + in runExceptT $ journalReloadIfChanged copts1 d j return $ case ej of Right (j', _) -> regenerateScreens j' d ui Left err -> case aScreen ui of ES _ -> ui{aScreen=esNew err} _ -> pushScreen (esNew err) ui --- Re-check any balance assertions in the current journal, and if any --- fail, enter (or update) the error screen. Or if balance assertions --- are disabled, do nothing. +-- Re-check any balance assertions in the current journal, +-- and if any fail, enter (or update) the error screen. +-- Or if balance assertions are disabled or pivot is active, do nothing. +-- (When pivot is active, assertions have already been checked on the pre-pivot journal, +-- and the current post-pivot journal's account names don't match the original assertions.) uiCheckBalanceAssertions :: Day -> UIState -> UIState -uiCheckBalanceAssertions _d ui@UIState{ajournal=j} - | ui^.ignore_assertions = ui +uiCheckBalanceAssertions _d ui@UIState{ajournal=j, aopts=UIOpts{uoCliOpts=CliOpts{inputopts_=InputOpts{pivot_=pval}}}} + | ui^.ignore_assertions = ui -- user disabled checks + | not (null pval) = ui -- post-pivot journal, assertions already checked pre-pivot | otherwise = case journalCheckBalanceAssertions j of Right () -> ui @@ -215,3 +224,16 @@ case ui of UIState{aScreen=ES sst} -> ui{aScreen=ES sst{_essError=err}} _ -> pushScreen (esNew err) ui + +-- | Toggle ignoring balance assertions (when user presses I), and if no longer ignoring, recheck them. +-- Normally the recheck is done quickly on the in-memory journal. +-- But if --pivot is active, a full journal reload is done instead +-- (because we can't check balance assertions after pivoting has occurred). +-- In that case, this operation could be slower and could reveal other data changes (not just balance assertion failures). +uiToggleBalanceAssertions :: Day -> UIState -> EventM Name UIState () +uiToggleBalanceAssertions d ui@UIState{aopts=UIOpts{uoCliOpts=copts@CliOpts{inputopts_=InputOpts{pivot_=pivotval}}}} = + let ui' = toggleIgnoreBalanceAssertions ui + in case (ui'^.ignore_assertions, null pivotval) of + (True, _) -> put' ui' -- ignoring enabled, no check needed + (False, True) -> put' $ uiCheckBalanceAssertions d ui' -- unpivoted journal, can check in memory + (False, False) -> uiReload copts d ui' >>= put' -- pivoted journal, must reload to check it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/Main.hs new/hledger-ui-1.50.3/Hledger/UI/Main.hs --- old/hledger-ui-1.50.2/Hledger/UI/Main.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/Main.hs 2025-11-18 19:43:45.000000000 +0100 @@ -37,16 +37,16 @@ import Data.List (find) import Data.List.Extra (nubSort) import Data.Maybe (fromMaybe) -import qualified Data.Text as T +import Data.Text qualified as T import Graphics.Vty (Mode (Mouse), Vty (outputIface), Output (setMode)) import Graphics.Vty.CrossPlatform (mkVty) import Lens.Micro ((^.)) import System.Directory (canonicalizePath) import System.Environment (withProgName) import System.FilePath (takeDirectory) -import System.FSNotify (Event(Modified), watchDir, withManager, EventIsDirectory (IsFile)) +import System.FSNotify (Event(Added, Modified), watchDir, withManager, EventIsDirectory (IsFile)) import Brick hiding (bsDraw) -import qualified Brick.BChan as BC +import Brick.BChan qualified as BC import Hledger import Hledger.Cli hiding (progname,prognameandversion) @@ -305,9 +305,8 @@ d -- predicate: ignore changes not involving our files (\case - Modified f _ IsFile -> f `elem` files - -- Added f _ -> f `elem` files - -- Removed f _ -> f `elem` files + Added f _ IsFile -> f `elem` files -- for editors which write the whole file from scratch on saves + Modified f _ IsFile -> f `elem` files -- for editors which modify existing files in place -- we don't handle adding/removing journal files right now -- and there might be some of those events from tmp files -- clogging things up so let's ignore them diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/MenuScreen.hs new/hledger-ui-1.50.3/Hledger/UI/MenuScreen.hs --- old/hledger-ui-1.50.2/Hledger/UI/MenuScreen.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/MenuScreen.hs 2025-11-18 19:43:45.000000000 +0100 @@ -17,9 +17,9 @@ import Control.Monad import Control.Monad.IO.Class (liftIO) import Data.Maybe -import qualified Data.Text as T +import Data.Text qualified as T import Data.Time.Calendar (Day) -import qualified Data.Vector as V +import Data.Vector qualified as V import Data.Vector ((!?)) import Graphics.Vty (Event(..),Key(..),Modifier(..), Button (BLeft, BScrollDown, BScrollUp)) import Lens.Micro.Platform @@ -33,7 +33,7 @@ import Hledger.UI.UIState import Hledger.UI.UIUtils import Hledger.UI.UIScreens -import Hledger.UI.ErrorScreen (uiCheckBalanceAssertions, uiReload, uiReloadIfFileChanged) +import Hledger.UI.ErrorScreen (uiReload, uiReloadIfFileChanged, uiToggleBalanceAssertions) import Hledger.UI.Editor (runIadd, runEditor, endPosition) import Brick.Widgets.Edit (getEditContents, handleEditorEvent) import Control.Arrow ((>>>)) @@ -156,7 +156,7 @@ where p = reportPeriod ui e | e `elem` [VtyEvent (EvKey (KChar 'g') []), AppEvent FileChange] -> uiReload copts d ui >>= put' - VtyEvent (EvKey (KChar 'I') []) -> put' $ uiCheckBalanceAssertions d (toggleIgnoreBalanceAssertions ui) + VtyEvent (EvKey (KChar 'I') []) -> uiToggleBalanceAssertions d ui VtyEvent (EvKey (KChar 'a') []) -> suspendAndResume $ clearScreen >> setCursorPosition 0 0 >> add (cliOptsDropArgs copts) j >> uiReloadIfFileChanged copts d j ui VtyEvent (EvKey (KChar 'A') []) -> suspendAndResume $ void (runIadd (journalFilePath j)) >> uiReloadIfFileChanged copts d j ui VtyEvent (EvKey (KChar 'E') []) -> suspendAndResume $ void (runEditor endPosition (journalFilePath j)) >> uiReloadIfFileChanged copts d j ui diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/RegisterScreen.hs new/hledger-ui-1.50.3/Hledger/UI/RegisterScreen.hs --- old/hledger-ui-1.50.2/Hledger/UI/RegisterScreen.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/RegisterScreen.hs 2025-11-18 19:43:45.000000000 +0100 @@ -25,8 +25,8 @@ import Data.List #endif import Data.Maybe -import qualified Data.Text as T -import qualified Data.Vector as V +import Data.Text qualified as T +import Data.Vector qualified as V import Data.Vector ((!?)) import Graphics.Vty (Event(..),Key(..),Modifier(..), Button (BLeft, BScrollDown, BScrollUp)) import Brick @@ -43,7 +43,7 @@ import Hledger.UI.UIUtils import Hledger.UI.UIScreens import Hledger.UI.Editor -import Hledger.UI.ErrorScreen (uiCheckBalanceAssertions, uiReload, uiReloadIfFileChanged) +import Hledger.UI.ErrorScreen (uiReload, uiReloadIfFileChanged, uiToggleBalanceAssertions) rsDraw :: UIState -> [Widget Name] rsDraw UIState{aopts=_uopts@UIOpts{uoCliOpts=copts@CliOpts{reportspec_=rspec}} @@ -247,7 +247,7 @@ e | e `elem` [AppEvent FileChange, VtyEvent (EvKey (KChar 'g') [])] -> uiReload copts d ui >>= put' - VtyEvent (EvKey (KChar 'I') []) -> put' $ uiCheckBalanceAssertions d (toggleIgnoreBalanceAssertions ui) + VtyEvent (EvKey (KChar 'I') []) -> uiToggleBalanceAssertions d ui VtyEvent (EvKey (KChar 'a') []) -> suspendAndResume $ clearScreen >> setCursorPosition 0 0 >> add (cliOptsDropArgs copts) j >> uiReloadIfFileChanged copts d j ui VtyEvent (EvKey (KChar 'A') []) -> suspendAndResume $ void (runIadd (journalFilePath j)) >> uiReloadIfFileChanged copts d j ui VtyEvent (EvKey (KChar 'T') []) -> put' $ regenerateScreens j d $ setReportPeriod (DayPeriod d) ui diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/Theme.hs new/hledger-ui-1.50.3/Hledger/UI/Theme.hs --- old/hledger-ui-1.50.2/Hledger/UI/Theme.hs 2025-08-28 16:06:09.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/Theme.hs 2025-11-18 19:43:45.000000000 +0100 @@ -17,7 +17,7 @@ ) where -import qualified Data.Map as M +import Data.Map qualified as M import Data.Maybe import Graphics.Vty import Brick diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/TransactionScreen.hs new/hledger-ui-1.50.3/Hledger/UI/TransactionScreen.hs --- old/hledger-ui-1.50.2/Hledger/UI/TransactionScreen.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/TransactionScreen.hs 2025-11-18 19:43:45.000000000 +0100 @@ -18,7 +18,7 @@ import Control.Monad.IO.Class (liftIO) import Data.List import Data.Maybe -import qualified Data.Text as T +import Data.Text qualified as T import Graphics.Vty (Event(..),Key(..),Modifier(..), Button (BLeft)) import System.Exit (ExitCode (..)) @@ -30,7 +30,7 @@ import Hledger.UI.UIUtils import Hledger.UI.UIScreens import Hledger.UI.Editor -import Hledger.UI.ErrorScreen (uiCheckBalanceAssertions, uiReload, uiReloadIfFileChanged) +import Hledger.UI.ErrorScreen (uiCheckBalanceAssertions, uiReload, uiReloadIfFileChanged, uiToggleBalanceAssertions) import Hledger.UI.RegisterScreen (rsHandle) tsDraw :: UIState -> [Widget Name] @@ -162,7 +162,7 @@ where p = reportPeriod ui - VtyEvent (EvKey (KChar 'I') []) -> put' $ uiCheckBalanceAssertions d (toggleIgnoreBalanceAssertions ui) + VtyEvent (EvKey (KChar 'I') []) -> uiToggleBalanceAssertions d ui -- for toggles that may change the current/prev/next transactions, -- we must regenerate the transaction list, like the g handler above ? with regenerateTransactions ? TODO WIP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/UIOptions.hs new/hledger-ui-1.50.3/Hledger/UI/UIOptions.hs --- old/hledger-ui-1.50.2/Hledger/UI/UIOptions.hs 2025-09-16 02:35:06.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/UIOptions.hs 2025-11-18 19:43:45.000000000 +0100 @@ -6,7 +6,7 @@ import Data.Default (def) import Data.Either (fromRight) import Data.List (intercalate) -import qualified Data.Map as M +import Data.Map qualified as M import Data.Maybe (fromMaybe) import GitHash (tGitInfoCwdTry) import Lens.Micro (set) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/UIScreens.hs new/hledger-ui-1.50.3/Hledger/UI/UIScreens.hs --- old/hledger-ui-1.50.2/Hledger/UI/UIScreens.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/UIScreens.hs 2025-11-18 19:43:45.000000000 +0100 @@ -42,10 +42,10 @@ import Brick.Widgets.List (listMoveTo, listSelectedElement, list) import Data.List import Data.Maybe -import qualified Data.Text as T +import Data.Text qualified as T import Data.Time.Calendar (Day, diffDays) import Safe -import qualified Data.Vector as V +import Data.Vector qualified as V import Hledger.Cli hiding (mode, progname,prognameandversion) import Hledger.UI.UIOptions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/UIState.hs new/hledger-ui-1.50.3/Hledger/UI/UIState.hs --- old/hledger-ui-1.50.2/Hledger/UI/UIState.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/UIState.hs 2025-11-18 19:43:45.000000000 +0100 @@ -49,7 +49,7 @@ import Data.List ((\\), sort) import Data.Maybe (fromMaybe) import Data.Semigroup (Max(..)) -import qualified Data.Text as T +import Data.Text qualified as T import Data.Text.Zipper (gotoEOL) import Data.Time.Calendar (Day) import Lens.Micro ((^.), over, set) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/Hledger/UI/UIUtils.hs new/hledger-ui-1.50.3/Hledger/UI/UIUtils.hs --- old/hledger-ui-1.50.2/Hledger/UI/UIUtils.hs 2025-09-24 22:49:10.000000000 +0200 +++ new/hledger-ui-1.50.3/Hledger/UI/UIUtils.hs 2025-11-18 19:43:45.000000000 +0100 @@ -56,7 +56,7 @@ import Control.Monad.IO.Class import Data.Bifunctor (second) import Data.List -import qualified Data.Text as T +import Data.Text qualified as T import Data.Time (addDays) import Graphics.Vty (Event(..),Key(..),Modifier(..),Vty(..),Color,Attr,currentAttr,refresh, displayBounds @@ -72,7 +72,7 @@ import Hledger.UI.UITypes import Data.Vector (Vector) -import qualified Data.Vector as V +import Data.Vector qualified as V -- | On posix platforms, send the system STOP signal to suspend the -- current program. On windows, does nothing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/hledger-ui.1 new/hledger-ui-1.50.3/hledger-ui.1 --- old/hledger-ui-1.50.2/hledger-ui.1 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/hledger-ui.1 2025-11-18 23:54:26.000000000 +0100 @@ -1,5 +1,5 @@ -.TH "HLEDGER\-UI" "1" "September 2025" "hledger-ui-1.50.2 " "hledger User Manuals" +.TH "HLEDGER\-UI" "1" "November 2025" "hledger-ui-1.50.3 " "hledger User Manuals" @@ -17,7 +17,7 @@ .PD \f[CR]hledger ui [OPTS] [QUERYARGS]\f[R] .SH DESCRIPTION -This manual is for hledger\[aq]s terminal interface, version 1.50.2. +This manual is for hledger\[aq]s terminal interface, version 1.50.3. See also the hledger manual for common concepts and file formats. .PP hledger is a robust, user\-friendly, cross\-platform set of programs for @@ -250,6 +250,9 @@ \f[CR]I\f[R] toggles balance assertion checking. Disabling balance assertions temporarily can be useful for troubleshooting. +(If hledger\-ui was started with a \f[CR]\-\-pivot\f[R] option, +re\-enabling balance assertions with the \f[CR]I\f[R] key also reloads +the journal, like \f[CR]g\f[R].) .PP \f[CR]a\f[R] runs command\-line hledger\[aq]s add command, and reloads the updated file. @@ -442,10 +445,6 @@ fs.file\-max parameters in /etc/sysctl.conf might help. (#836) .IP \[bu] 2 -It may not detect file changes made by certain tools, such as Jetbrains -IDEs or gedit. -(#1617) -.IP \[bu] 2 It may not detect changes made from outside a virtual machine, ie by an editor running on the host system. .IP \[bu] 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/hledger-ui.cabal new/hledger-ui-1.50.3/hledger-ui.cabal --- old/hledger-ui-1.50.2/hledger-ui.cabal 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/hledger-ui.cabal 2025-11-18 23:54:26.000000000 +0100 @@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hledger-ui -version: 1.50.2 +version: 1.50.3 synopsis: Terminal interface for the hledger accounting system description: A simple terminal user interface for the hledger accounting system. It can be a more convenient way to browse your accounts than the CLI. @@ -39,15 +39,10 @@ location: https://github.com/simonmichael/hledger flag debug - description: Build with GHC 9.10+'s stack traces enabled + description: Build with GHC 9.10+ stack traces enabled manual: True default: False -flag threaded - description: Build with support for multithreaded execution - manual: False - default: True - library exposed-modules: Hledger.UI @@ -74,12 +69,12 @@ hs-source-dirs: ./ ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind - cpp-options: -DVERSION="1.50.2" -DVERSION="1.50.2" + cpp-options: -DVERSION="1.50.3" -DVERSION="1.50.3" build-depends: ansi-terminal >=0.9 , async , base >=4.18 && <4.22 - , brick >=2.1.1 && <2.3.2 || >2.3.2 && <2.10 + , brick >=2.1.1 && <2.3.2 || >2.3.2 && <2.11 , cmdargs >=0.8 , containers >=0.5.9 , data-default @@ -89,8 +84,8 @@ , filepath , fsnotify >=0.4.2.0 && <0.5 , githash >=0.1.6.2 - , hledger >=1.50.2 && <1.51 - , hledger-lib >=1.50.2 && <1.51 + , hledger >=1.50.3 && <1.51 + , hledger-lib >=1.50.3 && <1.51 , megaparsec >=7.0.0 && <9.8 , microlens >=0.4 , microlens-platform >=0.2.3.1 @@ -104,9 +99,9 @@ , time >=1.5 , transformers , vector - , vty >=6.1 && <6.5 + , vty >=6.1 && <6.6 , vty-crossplatform >=0.4.0.0 && <0.5.0.0 - default-language: Haskell2010 + default-language: GHC2021 if (flag(debug)) cpp-options: -DDEBUG if os(windows) @@ -124,13 +119,11 @@ Paths_hledger_ui hs-source-dirs: app - ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind -with-rtsopts=-T - cpp-options: -DVERSION="1.50.2" + ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind -threaded + cpp-options: -DVERSION="1.50.3" build-depends: base >=4.18 && <4.22 , hledger-ui - default-language: Haskell2010 + default-language: GHC2021 if (flag(debug)) cpp-options: -DDEBUG - if flag(threaded) - ghc-options: -threaded diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/hledger-ui.info new/hledger-ui-1.50.3/hledger-ui.info --- old/hledger-ui-1.50.2/hledger-ui.info 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/hledger-ui.info 2025-11-18 23:54:26.000000000 +0100 @@ -18,7 +18,7 @@ or 'hledger ui [OPTS] [QUERYARGS]' - This manual is for hledger's terminal interface, version 1.50.2. See + This manual is for hledger's terminal interface, version 1.50.3. See also the hledger manual for common concepts and file formats. hledger is a robust, user-friendly, cross-platform set of programs @@ -256,7 +256,9 @@ pause.) 'I' toggles balance assertion checking. Disabling balance assertions -temporarily can be useful for troubleshooting. +temporarily can be useful for troubleshooting. (If hledger-ui was +started with a '--pivot' option, re-enabling balance assertions with the +'I' key also reloads the journal, like 'g'.) 'a' runs command-line hledger's add command, and reloads the updated file. This allows some basic data entry. @@ -503,8 +505,6 @@ configuration. On some unix systems, increasing fs.inotify.max_user_watches or fs.file-max parameters in /etc/sysctl.conf might help. (#836) - * It may not detect file changes made by certain tools, such as - Jetbrains IDEs or gedit. (#1617) * It may not detect changes made from outside a virtual machine, ie by an editor running on the host system. * It may not detect file changes on certain less common filesystems. @@ -558,19 +558,19 @@ Node: OPTIONS1869 Node: MOUSE8755 Node: KEYS9087 -Node: SCREENS14091 -Node: Menu screen14831 -Node: Cash accounts screen15147 -Node: Balance sheet accounts screen15508 -Node: Income statement accounts screen15844 -Node: All accounts screen16229 -Node: Register screen16592 -Node: Transaction screen19035 -Node: Error screen20215 -Node: WATCH MODE20581 -Node: --watch problems21479 -Node: ENVIRONMENT22832 -Node: BUGS23065 +Node: SCREENS14229 +Node: Menu screen14969 +Node: Cash accounts screen15285 +Node: Balance sheet accounts screen15646 +Node: Income statement accounts screen15982 +Node: All accounts screen16367 +Node: Register screen16730 +Node: Transaction screen19173 +Node: Error screen20353 +Node: WATCH MODE20719 +Node: --watch problems21617 +Node: ENVIRONMENT22864 +Node: BUGS23097 End Tag Table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hledger-ui-1.50.2/hledger-ui.txt new/hledger-ui-1.50.3/hledger-ui.txt --- old/hledger-ui-1.50.2/hledger-ui.txt 2025-09-27 03:27:53.000000000 +0200 +++ new/hledger-ui-1.50.3/hledger-ui.txt 2025-11-18 23:54:26.000000000 +0100 @@ -11,7 +11,7 @@ hledger ui [OPTS] [QUERYARGS] DESCRIPTION - This manual is for hledger's terminal interface, version 1.50.2. See + This manual is for hledger's terminal interface, version 1.50.3. See also the hledger manual for common concepts and file formats. hledger is a robust, user-friendly, cross-platform set of programs for @@ -223,7 +223,9 @@ pause.) I toggles balance assertion checking. Disabling balance assertions - temporarily can be useful for troubleshooting. + temporarily can be useful for troubleshooting. (If hledger-ui was + started with a --pivot option, re-enabling balance assertions with the + I key also reloads the journal, like g.) a runs command-line hledger's add command, and reloads the updated file. This allows some basic data entry. @@ -398,38 +400,35 @@ tify.max_user_watches or fs.file-max parameters in /etc/sysctl.conf might help. (#836) - o It may not detect file changes made by certain tools, such as Jet- - brains IDEs or gedit. (#1617) - - o It may not detect changes made from outside a virtual machine, ie by + o It may not detect changes made from outside a virtual machine, ie by an editor running on the host system. o It may not detect file changes on certain less common filesystems. - o It may use increasing CPU and RAM over time, especially with large - files. (This is probably not --watch specific, you may be able to + o It may use increasing CPU and RAM over time, especially with large + files. (This is probably not --watch specific, you may be able to reproduce it by pressing g repeatedly.) (#1825) Tips/workarounds: - o If --watch won't work for you, press g to reload data manually in- + o If --watch won't work for you, press g to reload data manually in- stead. - o If --watch is leaking resources over time, quit and restart (or sus- + o If --watch is leaking resources over time, quit and restart (or sus- pend and resume) hledger-ui when you're not using it. - o When running hledger-ui inside a VM, also make file changes inside + o When running hledger-ui inside a VM, also make file changes inside the VM. - o When working with files mounted from another machine, make sure the + o When working with files mounted from another machine, make sure the system clocks on both machines are roughly in agreement. ENVIRONMENT - LEDGER_FILE The main journal file to use when not specified with + LEDGER_FILE The main journal file to use when not specified with -f/--file. Default: $HOME/.hledger.journal. BUGS - We welcome bug reports in the hledger issue tracker + We welcome bug reports in the hledger issue tracker (https://bugs.hledger.org), or on the hledger chat or mail list (https://hledger.org/support). @@ -437,7 +436,7 @@ -f- doesn't work (hledger-ui can't read from stdin). - --watch is not robust, especially with large files (see WATCH MODE + --watch is not robust, especially with large files (see WATCH MODE above). If you press g with large files, there could be a noticeable pause with @@ -461,4 +460,4 @@ SEE ALSO hledger(1), hledger-ui(1), hledger-web(1), ledger(1) -hledger-ui-1.50.2 September 2025 HLEDGER-UI(1) +hledger-ui-1.50.3 November 2025 HLEDGER-UI(1)
