packages feed

hledger-web 1.32 → 1.32.1

raw patch · 5 files changed

+146/−143 lines, 5 filesdep ~hledgerdep ~hledger-libdep ~megaparsecPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hledger, hledger-lib, megaparsec

API changes (from Hackage documentation)

Files

CHANGES.md view
@@ -21,8 +21,11 @@ User-visible changes in hledger-web. See also the hledger changelog. -# 1.32 2023-12-01+# 1.32.1 2023-12-07 +- Use hledger-1.32.1++# 1.32 2023-12-01 Features  - The hledger-web app on the Sandstorm cloud platform has been updated to
hledger-web.1 view
@@ -1,5 +1,5 @@ -.TH "HLEDGER-WEB" "1" "December 2023" "hledger-web-1.32 " "hledger User Manuals"+.TH "HLEDGER-WEB" "1" "December 2023" "hledger-web-1.32.1 " "hledger User Manuals"   @@ -12,7 +12,7 @@ .PD \f[CR]hledger web -- [--serve|--serve-api] [OPTS] [ARGS]\f[R] .SH DESCRIPTION-This manual is for hledger\[aq]s web interface, version 1.32.+This manual is for hledger\[aq]s web interface, version 1.32.1. See also the hledger manual for common concepts and file formats. .PP hledger is a robust, user-friendly, cross-platform set of programs for
hledger-web.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           hledger-web-version:        1.32+version:        1.32.1 synopsis:       Web user interface for the hledger accounting system description:    A simple web user interface for the hledger accounting system,                 providing a more modern UI than the command-line or terminal interfaces.@@ -151,7 +151,7 @@   hs-source-dirs:       ./   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns-  cpp-options: -DVERSION="1.32"+  cpp-options: -DVERSION="1.32.1"   build-depends:       Decimal >=0.5.1     , aeson >=1 && <2.3@@ -171,8 +171,8 @@     , extra >=1.6.3     , filepath     , hjsmin-    , hledger ==1.32.*-    , hledger-lib ==1.32.*+    , hledger >=1.32.1 && <1.33+    , hledger-lib >=1.32.1 && <1.33     , hspec     , http-client     , http-conduit@@ -213,7 +213,7 @@   hs-source-dirs:       app   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns-  cpp-options: -DVERSION="1.32"+  cpp-options: -DVERSION="1.32.1"   build-depends:       base >=4.14 && <4.19     , hledger-web@@ -233,7 +233,7 @@   hs-source-dirs:       test   ghc-options: -Wall -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns-  cpp-options: -DVERSION="1.32"+  cpp-options: -DVERSION="1.32.1"   build-depends:       base >=4.14 && <4.19     , hledger-web
hledger-web.info view
@@ -16,7 +16,7 @@    'hledger-web [--serve|--serve-api] [OPTS] [ARGS]' 'hledger web -- [--serve|--serve-api] [OPTS] [ARGS]' -   This manual is for hledger's web interface, version 1.32.  See also+   This manual is for hledger's web interface, version 1.32.1.  See also the hledger manual for common concepts and file formats.     hledger is a robust, user-friendly, cross-platform set of programs@@ -643,30 +643,30 @@  Tag Table: Node: Top225-Node: OPTIONS2577-Ref: #options2682-Node: General help options5970-Ref: #general-help-options6120-Node: General input options6402-Ref: #general-input-options6588-Node: General reporting options7290-Ref: #general-reporting-options7455-Node: PERMISSIONS10845-Ref: #permissions10984-Node: EDITING UPLOADING DOWNLOADING12196-Ref: #editing-uploading-downloading12377-Node: RELOADING13211-Ref: #reloading13345-Node: JSON API13778-Ref: #json-api13893-Node: DEBUG OUTPUT19381-Ref: #debug-output19506-Node: Debug output19533-Ref: #debug-output-119634-Node: ENVIRONMENT20051-Ref: #environment20170-Node: BUGS20287-Ref: #bugs20371+Node: OPTIONS2579+Ref: #options2684+Node: General help options5972+Ref: #general-help-options6122+Node: General input options6404+Ref: #general-input-options6590+Node: General reporting options7292+Ref: #general-reporting-options7457+Node: PERMISSIONS10847+Ref: #permissions10986+Node: EDITING UPLOADING DOWNLOADING12198+Ref: #editing-uploading-downloading12379+Node: RELOADING13213+Ref: #reloading13347+Node: JSON API13780+Ref: #json-api13895+Node: DEBUG OUTPUT19383+Ref: #debug-output19508+Node: Debug output19535+Ref: #debug-output-119636+Node: ENVIRONMENT20053+Ref: #environment20172+Node: BUGS20289+Ref: #bugs20373  End Tag Table 
hledger-web.txt view
@@ -9,41 +9,41 @@        hledger web -- [--serve|--serve-api] [OPTS] [ARGS]  DESCRIPTION-       This manual is for hledger's web interface, version 1.32.  See also the-       hledger manual for common concepts and file formats.+       This  manual  is for hledger's web interface, version 1.32.1.  See also+       the hledger manual for common concepts and file formats. -       hledger  is a robust, user-friendly, cross-platform set of programs for-       tracking money, time, or any other commodity,  using  double-entry  ac--       counting  and  a  simple, editable file format.  hledger is inspired by-       and largely compatible with  ledger(1),  and  largely  interconvertible+       hledger is a robust, user-friendly, cross-platform set of programs  for+       tracking  money,  time,  or any other commodity, using double-entry ac-+       counting and a simple, editable file format.  hledger  is  inspired  by+       and  largely  compatible  with  ledger(1), and largely interconvertible        with beancount(1). -       hledger-web  is a simple web application for browsing and adding trans--       actions.  It provides a more user-friendly UI than the hledger  CLI  or-       hledger-ui  TUI,  showing  more  at once (accounts, the current account+       hledger-web is a simple web application for browsing and adding  trans-+       actions.   It  provides a more user-friendly UI than the hledger CLI or+       hledger-ui TUI, showing more at once  (accounts,  the  current  account        register, balance charts) and allowing history-aware data entry, inter-        active searching, and bookmarking. -       hledger-web also lets you share a journal with multiple users, or  even-       the  public  web.   There is no access control, so if you need that you-       should put it behind a suitable  web  proxy.   As  a  small  protection-       against  data  loss  when  running an unprotected instance, it writes a+       hledger-web  also lets you share a journal with multiple users, or even+       the public web.  There is no access control, so if you  need  that  you+       should  put  it  behind  a  suitable  web proxy.  As a small protection+       against data loss when running an unprotected  instance,  it  writes  a        numbered backup of the main journal file (only) on every edit. -       Like hledger, it reads from (and appends to) a journal  file  specified-       by    the    LEDGER_FILE    environment    variable    (defaulting   to-       $HOME/.hledger.journal); or you can specify files with -f options.   It-       can  also  read timeclock files, timedot files, or any CSV/SSV/TSV file+       Like  hledger,  it reads from (and appends to) a journal file specified+       by   the    LEDGER_FILE    environment    variable    (defaulting    to+       $HOME/.hledger.journal);  or you can specify files with -f options.  It+       can also read timeclock files, timedot files, or any  CSV/SSV/TSV  file        with a date field.  (See hledger(1) -> Input for details.)         hledger-web can be run in three modes:         o Transient mode (the default): your default web browser will be opened-         to show the app if possible, and the app  exits  automatically  after-         two  minutes  of inactivity (no requests received and no open browser+         to  show  the  app if possible, and the app exits automatically after+         two minutes of inactivity (no requests received and no  open  browser          windows viewing it). -       o With --serve: the app runs without stopping, and  without  opening  a+       o With  --serve:  the  app runs without stopping, and without opening a          browser.         o With --serve-api: only the JSON API is served.@@ -53,7 +53,7 @@  OPTIONS        Command-line options and arguments may be used to set an initial filter-       on  the data.  These filter options are not shown in the web UI, but it+       on the data.  These filter options are not shown in the web UI, but  it        will be applied in addition to any search query entered there.         hledger-web provides the following options:@@ -62,7 +62,7 @@               serve and log requests, don't browse or auto-exit after timeout         --serve-api-              like --serve, but serve only  the  JSON  web  API,  without  the+              like  --serve,  but  serve  only  the  JSON web API, without the               server-side web UI         --host=IPADDR@@ -72,58 +72,58 @@               listen on this TCP port (default: 5000)         --socket=SOCKETFILE-              use  a unix domain socket file to listen for requests instead of-              a TCP socket.  Implies --serve.  It can only be used if the  op-+              use a unix domain socket file to listen for requests instead  of+              a  TCP socket.  Implies --serve.  It can only be used if the op-               erating system can provide this type of socket.         --base-url=URL-              set  the  base url (default: http://IPADDR:PORT).  Note: affects-              url generation but not route parsing.  Can be useful if  running+              set the base url (default: http://IPADDR:PORT).   Note:  affects+              url  generation but not route parsing.  Can be useful if running               behind a reverse web proxy that does path rewriting.         --file-url=URL               set the static files url (default: BASEURL/static).  hledger-web-              normally  serves static files itself, but if you wanted to serve-              them from another server for efficiency, you would set  the  url+              normally serves static files itself, but if you wanted to  serve+              them  from  another server for efficiency, you would set the url               with this.         --allow=view|add|edit-              set  the  user's  access level for changing data (default: add).-              It also accepts sandstorm for use on that platform  (reads  per-+              set the user's access level for changing  data  (default:  add).+              It  also  accepts sandstorm for use on that platform (reads per-               missions from the X-Sandstorm-Permissions request header). -       --test run  hledger-web's  tests  and exit.  hspec test runner args may+       --test run hledger-web's tests and exit.  hspec test  runner  args  may               follow a --, eg: hledger-web --test -- --help -       By default the server listens on IP address 127.0.0.1, accessible  only-       to  local  requests.   You  can  use  --host  to change this, eg --host+       By  default the server listens on IP address 127.0.0.1, accessible only+       to local requests.  You can  use  --host  to  change  this,  eg  --host        0.0.0.0 to listen on all configured addresses. -       Similarly, use --port to set a TCP port other than 5000, eg if you  are+       Similarly,  use --port to set a TCP port other than 5000, eg if you are        running multiple hledger-web instances.         Both of these options are ignored when --socket is used.  In this case,-       it  creates  an  AF_UNIX socket file at the supplied path and uses that-       for communication.  This is an  alternative  way  of  running  multiple-       hledger-web  instances  behind a reverse proxy that handles authentica--       tion for different users.  The path can be  derived  in  a  predictable+       it creates an AF_UNIX socket file at the supplied path  and  uses  that+       for  communication.   This  is  an  alternative way of running multiple+       hledger-web instances behind a reverse proxy that  handles  authentica-+       tion  for  different  users.   The path can be derived in a predictable        way, eg by using the username within the path.  As an example, nginx as-       reverse  proxy  can use the variable $remote_user to derive a path from-       the username used  in  a  HTTP  basic  authentication.   The  following-       proxy_pass  directive  allows  access to all hledger-web instances that+       reverse proxy can use the variable $remote_user to derive a  path  from+       the  username  used  in  a  HTTP  basic  authentication.  The following+       proxy_pass directive allows access to all  hledger-web  instances  that        created a socket in /tmp/hledger/:                  proxy_pass http://unix:/tmp/hledger/${remote_user}.socket; -       You can use --base-url to change the protocol, hostname, port and  path+       You  can use --base-url to change the protocol, hostname, port and path        that appear in hyperlinks, useful eg for integrating hledger-web within-       a  larger website.  The default is http://HOST:PORT/ using the server's+       a larger website.  The default is http://HOST:PORT/ using the  server's        configured host address and TCP port (or http://HOST if PORT is 80). -       With --file-url you can set a different base url for static  files,  eg+       With  --file-url  you can set a different base url for static files, eg        for better caching or cookie-less serving on high performance websites. -       hledger-web  also  supports  many of hledger's general options (and the+       hledger-web also supports many of hledger's general  options  (and  the        hledger manual's command line tips also apply here):     General help options@@ -146,7 +146,7 @@               $LEDGER_FILE or $HOME/.hledger.journal)         --rules-file=RULESFILE-              Conversion   rules  file  to  use  when  reading  CSV  (default:+              Conversion  rules  file  to  use  when  reading  CSV   (default:               FILE.rules)         --separator=CHAR@@ -165,7 +165,7 @@               assignments)         -s --strict-              do extra error checking (check that all posted accounts are  de-+              do  extra error checking (check that all posted accounts are de-               clared)     General reporting options@@ -193,7 +193,7 @@               multiperiod/multicolumn report by year         -p --period=PERIODEXP-              set  start date, end date, and/or reporting interval all at once+              set start date, end date, and/or reporting interval all at  once               using period expressions syntax         --date2@@ -201,7 +201,7 @@               fects)         --today=DATE-              override  today's  date  (affects  relative  smart  dates,   for+              override   today's  date  (affects  relative  smart  dates,  for               tests/examples)         -U --unmarked@@ -220,21 +220,21 @@               hide/aggregate accounts or postings more than NUM levels deep         -E --empty-              show  items with zero amount, normally hidden (and vice-versa in+              show items with zero amount, normally hidden (and vice-versa  in               hledger-ui/hledger-web)         -B --cost               convert amounts to their cost/selling amount at transaction time         -V --market-              convert amounts to their market value in default valuation  com-+              convert  amounts to their market value in default valuation com-               modities         -X --exchange=COMM               convert amounts to their market value in commodity COMM         --value-              convert  amounts  to  cost  or  market value, more flexibly than+              convert amounts to cost or  market  value,  more  flexibly  than               -B/-V/-X         --infer-equity@@ -244,38 +244,38 @@               infer costs from conversion equity postings         --infer-market-prices-              use costs as additional market prices, as if they were P  direc-+              use  costs as additional market prices, as if they were P direc-               tives         --forecast-              generate  transactions  from  periodic rules, between the latest-              recorded txn and 6 months from today, or  during  the  specified-              PERIOD  (=  is required).  Auto posting rules will be applied to-              these transactions as well.  Also, in  hledger-ui  make  future-+              generate transactions from periodic rules,  between  the  latest+              recorded  txn  and  6 months from today, or during the specified+              PERIOD (= is required).  Auto posting rules will be  applied  to+              these  transactions  as  well.  Also, in hledger-ui make future-               dated transactions visible. -       --auto generate  extra  postings  by applying auto posting rules to all+       --auto generate extra postings by applying auto posting  rules  to  all               txns (not just forecast txns)         --verbose-tags-              add visible tags indicating transactions or postings which  have+              add  visible tags indicating transactions or postings which have               been generated/modified         --commodity-style-              Override  the  commodity  style  in the output for the specified+              Override the commodity style in the  output  for  the  specified               commodity.  For example 'EUR1.000,00'.         --color=WHEN (or --colour=WHEN)-              Should color-supporting commands use ANSI color  codes  in  text-              output.   'auto' (default): whenever stdout seems to be a color--              supporting terminal.  'always' or 'yes': always, useful eg  when-              piping  output  into  'less  -R'.   'never'  or  'no': never.  A+              Should  color-supporting  commands  use ANSI color codes in text+              output.  'auto' (default): whenever stdout seems to be a  color-+              supporting  terminal.  'always' or 'yes': always, useful eg when+              piping output into  'less  -R'.   'never'  or  'no':  never.   A               NO_COLOR environment variable overrides this.         --pretty[=WHEN]-              Show prettier output, e.g.  using  unicode  box-drawing  charac--              ters.   Accepts 'yes' (the default) or 'no' ('y', 'n', 'always',-              'never' also work).  If you provide an  argument  you  must  use+              Show  prettier  output,  e.g.  using unicode box-drawing charac-+              ters.  Accepts 'yes' (the default) or 'no' ('y', 'n',  'always',+              'never'  also  work).   If  you provide an argument you must use               '=', e.g.  '--pretty=yes'.         When a reporting option appears more than once in the command line, the@@ -284,13 +284,13 @@        Some reporting options can also be written as query arguments.  PERMISSIONS-       By  default,  hledger-web  allows  anyone  who can reach it to view the+       By default, hledger-web allows anyone who can  reach  it  to  view  the        journal and to add new transactions, but not to change existing data.         You can restrict who can reach it by -       o setting the IP address it listens on (see --host above).  By  default-         it  listens  on  127.0.0.1,  accessible to all users on the local ma-+       o setting  the IP address it listens on (see --host above).  By default+         it listens on 127.0.0.1, accessible to all users  on  the  local  ma-          chine.         o putting it behind an authenticating proxy, using eg apache or nginx@@ -300,44 +300,44 @@        You can restrict what the users who reach it can do, by         o using the --capabilities=CAP[,CAP..] flag when you start it, enabling-         one or more of the following  capabilities.   The  default  value  is+         one  or  more  of  the  following capabilities.  The default value is          view,add:           o view - allows viewing the journal file and all included files           o add - allows adding new transactions to the main journal file -         o manage  -  allows editing, uploading or downloading the main or in-+         o manage - allows editing, uploading or downloading the main  or  in-            cluded files -       o using the --capabilities-header=HTTPHEADER flag  to  specify  a  HTTP-         header  from  which it will read capabilities to enable.  hledger-web-         on Sandstorm uses the  X-Sandstorm-Permissions  header  to  integrate+       o using  the  --capabilities-header=HTTPHEADER  flag  to specify a HTTP+         header from which it will read capabilities to  enable.   hledger-web+         on  Sandstorm  uses  the  X-Sandstorm-Permissions header to integrate          with Sandstorm's permissions.  This is disabled by default.  EDITING, UPLOADING, DOWNLOADING-       If  you  enable the manage capability mentioned above, you'll see a new-       "spanner" button to the right of the search form.  Clicking  this  will-       let  you edit, upload, or download the journal file or any files it in-+       If you enable the manage capability mentioned above, you'll see  a  new+       "spanner"  button  to the right of the search form.  Clicking this will+       let you edit, upload, or download the journal file or any files it  in-        cludes. -       Note, unlike any other hledger command, in this mode you (or any  visi-+       Note,  unlike any other hledger command, in this mode you (or any visi-        tor) can alter or wipe the data files. -       Normally  whenever  a  file is changed in this way, hledger-web saves a-       numbered backup (assuming file permissions allow it, the  disk  is  not-       full,  etc.)  hledger-web is not aware of version control systems, cur--       rently; if you use one, you'll have to arrange to  commit  the  changes+       Normally whenever a file is changed in this way,  hledger-web  saves  a+       numbered  backup  (assuming  file permissions allow it, the disk is not+       full, etc.)  hledger-web is not aware of version control systems,  cur-+       rently;  if  you  use one, you'll have to arrange to commit the changes        yourself (eg with a cron job or a file watcher like entr). -       Changes  which would leave the journal file(s) unparseable or non-valid-       (eg with failing balance assertions) are prevented.   (Probably.   This+       Changes which would leave the journal file(s) unparseable or  non-valid+       (eg  with  failing balance assertions) are prevented.  (Probably.  This        needs re-testing.)  RELOADING        hledger-web detects changes made to the files by other means (eg if you-       edit  it  directly,  outside  of hledger-web), and it will show the new-       data when you reload the page or navigate to a new page.  If  a  change+       edit it directly, outside of hledger-web), and it  will  show  the  new+       data  when  you reload the page or navigate to a new page.  If a change        makes a file unparseable, hledger-web will display an error message un-        til the file has been fixed. @@ -345,8 +345,8 @@        that both machine clocks are roughly in step.)  JSON API-       In  addition to the web UI, hledger-web also serves a JSON API that can-       be used to get data or add new transactions.  If you want the JSON  API+       In addition to the web UI, hledger-web also serves a JSON API that  can+       be  used to get data or add new transactions.  If you want the JSON API        only, you can use the --serve-api flag.  Eg:                $ hledger-web -f examples/sample.journal --serve-api@@ -363,7 +363,7 @@               /accounttransactions/ACCOUNTNAME         Eg, all account names in the journal (similar to the accounts command).-       (hledger-web's  JSON  does  not include newlines, here we use python to+       (hledger-web's JSON does not include newlines, here we  use  python  to        prettify it):                $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool@@ -404,25 +404,25 @@                                       "aprice": null,               ... -       Most of the JSON corresponds to hledger's data types;  for  details  of-       what  the fields mean, see the Hledger.Data.Json haddock docs and click-       on the various data types, eg Transaction.  And for a higher level  un-+       Most  of  the  JSON corresponds to hledger's data types; for details of+       what the fields mean, see the Hledger.Data.Json haddock docs and  click+       on  the various data types, eg Transaction.  And for a higher level un-        derstanding, see the journal docs.         In some cases there is outer JSON corresponding to a "Report" type.  To-       understand  that,  go to the Hledger.Web.Handler.MiscR haddock and look-       at the source for the appropriate handler to see what it  returns.   Eg+       understand that, go to the Hledger.Web.Handler.MiscR haddock  and  look+       at  the  source for the appropriate handler to see what it returns.  Eg        for /accounttransactions it's getAccounttransactionsR, returning a "ac--       countTransactionsReport  ...".   Looking up the haddock for that we can-       see that  /accounttransactions  returns  an  AccountTransactionsReport,-       which  consists  of a report title and a list of AccountTransactionsRe-+       countTransactionsReport ...".  Looking up the haddock for that  we  can+       see  that  /accounttransactions  returns  an AccountTransactionsReport,+       which consists of a report title and a list  of  AccountTransactionsRe-        portItem (etc). -       You can add a new transaction to the journal  with  a  PUT  request  to-       /add,  if  hledger-web  was started with the add capability (enabled by+       You  can  add  a  new  transaction to the journal with a PUT request to+       /add, if hledger-web was started with the add  capability  (enabled  by        default).  The payload must be the full, exact JSON representation of a-       hledger transaction (partial data won't do).  You can get  sample  JSON-       from  hledger-web's  /transactions  or /accounttransactions, or you can+       hledger  transaction  (partial data won't do).  You can get sample JSON+       from hledger-web's /transactions or /accounttransactions,  or  you  can        export it with hledger-lib, eg like so:                .../hledger$ stack ghci hledger-lib@@ -518,28 +518,28 @@                   "tstatus": "Unmarked"               } -       And here's how to test adding it with curl.  This should add a new  en-+       And  here's how to test adding it with curl.  This should add a new en-        try to your journal:                $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json  DEBUG OUTPUT    Debug output-       You  can  add  --debug[=N]  to the command line to log debug output.  N+       You can add --debug[=N] to the command line to  log  debug  output.   N        ranges from 1 (least output, the default) to 9 (maximum output).  Typi--       cally you would start with 1 and increase until you are seeing  enough.-       Debug  output  goes  to stderr, interleaved with the requests logged on+       cally  you would start with 1 and increase until you are seeing enough.+       Debug output goes to stderr, interleaved with the  requests  logged  on        stdout.  To capture debug output in a log file instead, you can usually        redirect stderr, eg:        hledger-web --debug=3 2>hledger-web.log.  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  (shortcut:-       http://bugs.hledger.org), or on the #hledger chat or hledger mail  list+       http://bugs.hledger.org),  or on the #hledger chat or hledger mail list        (https://hledger.org/support).         Some known issues:@@ -564,4 +564,4 @@ SEE ALSO        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) -hledger-web-1.32                 December 2023                  HLEDGER-WEB(1)+hledger-web-1.32.1               December 2023                  HLEDGER-WEB(1)