Commit Graph

1082 Commits

Author SHA1 Message Date
Simon Michael
7011160bfd ;allow base 4.14/GHC 8.10 2020-01-26 08:12:25 -08:00
Simon Michael
b1de2f2308 ;doc: drop redundant version message from web manuals
[ci skip]
2020-01-25 19:33:12 -08:00
Simon Michael
24c6828a5c ;doc: regen manuals
[ci skip]
2020-01-25 17:10:34 -08:00
Simon Michael
444c4342ed ;doc: manuals: hide NAME/SYNOPSIS/DESCRIPTION headings in web manuals
[ci skip]
2020-01-25 16:57:51 -08:00
Simon Michael
090f65ec83 ;doc: regen manuals
[ci skip]
2020-01-20 18:02:42 -08:00
Amarandus
76ffaca466 web: Add IPv6 and hostname support
This commit introduces IPv6 support (and thus closes #1145).
It also allows using local hostnames as a parameter for --host.
For this, multiple things needed to be changed:

 - checkWebOpts is dropped, as the supplied parameter is checked later
 by Network.Socket.getAddrInfo
 - defbaseurl needs to check if : is used in the host, as this indicates
 the usage of an IPv6 address. In this case, the host needs to be
 wrapped in [] for the base URL
 - To allow opening such a modified base URL, runHostPortFullUrl is used
 instead of runhostPortUrl, as it allows opening arbitrary URLs instead
 of a path prefixed with http://127.0.0.1

As checking the host for validity is postponed until the webserver tries
to start, an invalid hostname leads to an exception caused by
Network.Socket.getAddrInfo.
This is still fine, as hledger-web won't start in an undefined state, but
will terminate with a nonzero exit code.
2020-01-17 13:18:51 -08:00
Simon Michael
42dfde141a ;doc: changelogs: update from 1.16.2, cleanups 2020-01-14 11:19:05 -08:00
Simon Michael
dba0b117f4 ;doc: draft changelogs 2020-01-14 10:08:59 -08:00
Simon Michael
445e8aa3cc add support for megaparsec 8 (#1175) 2020-01-14 09:54:06 -08:00
Carl Richard Theodor Schneider
72acd7c22a web: Add option --socket to use UNIX socket file
This commit adds the --socket option to use hledger-web over an AF_UNIX socket
file.
It allows running multiple instances of hledger-web on the same system without
having to manually choose a port for each instance, which is helpful for running
individual instances for multiple users. In this scenario, the socket path is
predictable, as it can be derived from the username.

It also introduces the following dependencies:

 - network
   - Used to create the unix domain socket
 - unix-compat
   - Used to identify if the socket file is still a socket, to reduce the risk
     of deleting a file when cleaning up the socket
2020-01-12 16:15:37 -08:00
Simon Michael
07029047f5 ;doc: regen manuals again
[ci skip]
2020-01-05 09:17:02 -08:00
Simon Michael
cfb2a61ae1 ;bump to dev version; bump man page dates
[ci skip]
2020-01-05 09:04:50 -08:00
David Zhang
243cbca093 Improve font display on different OS 2020-01-05 08:04:46 -08:00
Simon Michael
f91076cc6a ;doc: regen manuals
I think all the non-content changes are due to newer
doc tools and harmless, including this one hopefully:

    -.B \f[C]--watch\f[R]
    +\f[B]\f[CB]--watch\f[B]\f[R]

[ci skip]
2020-01-05 07:06:42 -08:00
Stephen Morgan
74778efcf5 Use nubSort instead of nub . sort. 2020-01-04 08:31:10 -08:00
Simon Michael
aa47d8ddc9 web: fix add form completions (fixes #1156)
It seems like show (toJSON "a") used to give "\"a\"" instead of
"String \"a\"". I haven't found the root cause, it's possible
that this fix won't work if built with older libs.
2019-12-27 17:21:50 -08:00
Brian Wignall
2852f9dbee Fix typos 2019-12-21 12:09:05 -08:00
Simon Michael
46d516e7a3 move JSON instances from hledger-web to hledger-lib 2019-12-16 17:17:00 -08:00
Simon Michael
1238ebc18b ;web: doc: add a missing 1.16.1 changelog item
[ci skip]
2019-12-03 16:34:11 -08:00
Simon Michael
5a2bcecf26 ;doc: finalise changelogs 2019-12-03 08:41:44 -08:00
Simon Michael
06b70194c0 ;doc: regen manuals 2019-12-03 08:41:44 -08:00
Simon Michael
093dca570d lib, cli, web: bump version to 1.16.1 2019-12-03 08:41:44 -08:00
Simon Michael
6ae837f820 ;doc: changelogs 2019-12-03 08:41:44 -08:00
Simon Michael
b7bea5698e web: drop old dependency on json (#1190) 2019-12-03 08:41:44 -08:00
Simon Michael
e032eff8eb ;doc: changelog updates 2019-12-02 08:59:58 -08:00
Simon Michael
0ce890e5ff lib, cli, web: drop unnecessary mtl-compat dependency 2019-12-02 08:23:00 -08:00
Simon Michael
d922b6e798 ;doc: regen manuals 2019-12-01 10:12:29 -08:00
Simon Michael
6daebf60ea ;regen cabal files 2019-12-01 10:05:37 -08:00
Simon Michael
87d0491103 ;bump version to 1.16 2019-12-01 10:03:58 -08:00
Simon Michael
c90c0867c4 ;doc: changelogs
[ci skip]
2019-12-01 09:59:01 -08:00
Simon Michael
359a118900 ;doc: draft changelog updates
[ci skip]
2019-11-29 07:57:54 -08:00
Simon Michael
ac5652b7cc ;web: fix redundant import warnings with ghc 8.8 2019-11-29 07:02:52 -08:00
Simon Michael
caf8cdf0ca ;test: consistent singular naming for test suites and files 2019-11-29 06:35:29 -08:00
Simon Michael
ebedae01cf ;cabal: remove special cases for unsupported GHC 7 2019-11-28 14:59:18 -08:00
Simon Michael
08951ac3e8 ;cabal: add ghc 8.8 to tested-with
[ci skip]
2019-11-28 14:59:10 -08:00
Simon Michael
843d394077 cli, ui, web: support GHC 8.8, add stack-ghc8.8.yaml (#1090)
hledger-web needs an unreleased version of json.
2019-11-28 14:31:48 -08:00
Brian Wignall
f8269e21ab Fix some simple typos 2019-11-20 13:33:33 -08:00
Mykola Orliuk
5287fe671b ;all: hide RawOpts internals
This way we can ensure we always use only functions from RawOptions.
2019-11-18 17:38:39 -08:00
Mykola Orliuk
8991419c68 ;all: drop dummy decodeRawOpts 2019-11-18 17:38:39 -08:00
Simon Michael
3f530f5b54 ;doc: update changelogs, including #1095
[ci skip]
2019-11-07 16:37:03 -08:00
Timofey ZAKREVSKIY
6b5026c240 Weeks in date picker start from Mondays (fix for #1109) 2019-11-04 11:35:45 -08:00
Alejandro García Montoro
4efd0242da web: Modify the --cors option to require a specific origin
- Modified the cors option to require a String
- Moved the logic to build the cors policy to WebOptions.hs
- Specify the --cors "*" example in the cors option help
- Added utf8-string dependency to convert a String into a ByteString
2019-10-07 14:54:18 -10:00
Alejandro García Montoro
e96dfe832f web: Allow CORS to be enabled in hledger-web
Add a --cors option to the CLI to enable simple cross-origin requests
2019-10-07 14:54:18 -10:00
Simon Michael
24ce2686f4 drop GHC 7.10/base 4.8 support, finally, due to MonadFail hassles
in JournalReader.hs. If you still need this, feel free to work on
those errors. But hopefully not, because dropping base 4.8 should
permit some code cleanups.
2019-09-14 03:45:37 -07:00
Simon Michael
a0deb88796 ;doc: regen manuals
[ci skip]
2019-09-13 11:00:03 -07:00
Simon Michael
f65fc47185 ;bump version to 1.15.99
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
e851bdf834 ;doc: changelogs
[ci skip]
2019-09-13 08:43:33 -07:00
Simon Michael
af21ae6eb6 ;doc: regen manuals
Wrapping and hyphenation has changed again, which I thought would
be more stable now with same tool versions on laptop and server.
Who knows.
2019-09-13 08:43:33 -07:00
Simon Michael
4db14ef70f ;api: another round of hledger-api purging; fix the build 2019-09-11 14:49:22 -07:00
Simon Michael
acd7010e5a ;doc: "curses-style interface" -> "terminal interface"
[ci skip]
2019-09-10 18:14:16 -07:00
Simon Michael
85d48a6b0e ;doc: regen manuals (on server)
Usually done on my laptop, but the toolchain on both machines should
produce the same result these days..

[ci skip]
2019-09-09 08:04:26 -07:00
Simon Michael
16a3c96da0 ;doc: regen manuals
[ci skip]
2019-09-02 11:11:56 -07:00
Simon Michael
6703057050 ;doc: more changelog cleanups
[ci skip]
2019-09-01 09:59:51 -07:00
Simon Michael
ede6a51f08 ;doc: finalise changelogs
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
00f3ad8d3f ;doc: changelogs
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
b1859769ac ;doc: regen man pages
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
29f7654c3a bump versions to 1.15 2019-09-01 08:53:06 -07:00
Simon Michael
c2736be4aa ;doc: changelogs
[ci skip]
2019-08-30 21:26:23 -07:00
Simon Michael
81c58f34b9 ;doc: fix images in ui, web manuals
[ci skip]
2019-08-26 09:37:03 -07:00
Simon Michael
da6718806a ;doc: don't add page TOCs any more, sphinx has it covered
[ci skip]
2019-08-26 09:37:03 -07:00
Simon Michael
8a7905ac73 ;doc: changelogs
[ci skip]
2019-08-19 12:03:54 +01:00
Simon Michael
e70c7123b7 web: ?sidebar= hides the sidebar, like ?sidebar=0 2019-08-17 17:17:30 +01:00
Simon Michael
ef1bd24edc web: don't disable /add PUT with --serve-api, that's considered API 2019-08-17 17:17:30 +01:00
Simon Michael
a154ea72c0 web: with --serve-api, also disable the header/sidebar HTML 2019-08-17 17:17:30 +01:00
Simon Michael
c3da82043b web: --serve-api disables server-side UI; startup logging cleanups 2019-08-16 23:55:56 -07:00
Simon Michael
c7f9356fd1 ;doc: edit changelogs
[ci skip]
2019-07-25 12:33:58 +01:00
Simon Michael
030a409dd3 ;doc: update changelogs
[ci skip]
2019-07-25 08:48:01 +01:00
Caleb Maclennan
11d9e5eb6a code: Strip extraneous trailing whitespace from Haskell sources 2019-07-15 16:40:49 +01:00
Simon Michael
7d5f33441e ;doc: draft changelogs
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
a6e9b11a54 ;cabal: bump tested-with, regen cabal files
[ci skip]
2019-07-12 23:24:10 +01:00
Simon Michael
6a62bd6437 web, api: update for MarketPrice/PriceDirective change 2019-06-13 15:50:01 -07:00
Simon Michael
adb6ee40eb lib: clarify price types (#131)
dropped journalPrices

renamed Price to AmountPrice,  AKA "transaction price"

renamed MarketPrice to PriceDirective.

added new MarketPrice (more pure form of PriceDirective without the amount style information)

Prices is now a more efficient data structure, but not used yet.
2019-06-13 15:50:01 -07:00
Henning Thielemann
1fa4419cd1 web: register page: clip linked accounts to 40 characters
This was the behaviour before adding the links.
2019-06-13 10:12:44 -07:00
Henning Thielemann
adbdbf002c web: avoid spaces before commas in register account links 2019-06-13 10:12:44 -07:00
Henning Thielemann
ac96bcfdf0 web: add links to accounts in register transactions 2019-06-13 10:12:44 -07:00
Simon Michael
233f72b7bf ; ui, web: mention out-of-step server clock issue for file reloading
[ci skip]
2019-06-11 10:20:57 -07:00
Simon Michael
faf85d91e3 cli: restore --aux-date and --effective as --date2 aliases (#1034)
These Ledger-ish spellings were dropped over the years, to improve
--help's layout. Now they work again, but are considered hidden flags
so --help doesn't show them automatically (but I decided to mention
them manually in --date2's description).
2019-06-02 08:48:41 -07:00
Simon Michael
5e54920160 ;regen embedded manuals 2019-05-23 22:26:43 -07:00
Simon Michael
7ef3ddd1e6 web: fix build breakage 2019-05-23 22:25:28 -07:00
Simon Michael
20bc386b80 restore TransactionsReport
hledger-web's register chart uses it, I didn't see it
because it's called from a hamlet template.
2019-05-23 22:15:40 -07:00
Simon Michael
54c1529638 lib: drop TransactionsReport, BalanceHistoryReport
They seem unused.
2019-05-23 21:55:19 -07:00
Simon Michael
dfb9574433 ;doc: web: improve /add docs (#1026)
[ci skip]
2019-05-14 09:27:41 -07:00
Simon Michael
71ec1e3986 ;doc: web: document /add PUT (#1026)
[ci skip]
2019-05-14 09:22:50 -07:00
Simon Michael
cca0b7aec6 ;update changelogs 2019-05-04 12:21:54 -07:00
Simon Michael
c9e16b83ef ; propagate dev version bump 2019-03-20 17:13:59 -07:00
Simon Michael
124aaffd34 ; merge latest changelogs 2019-03-20 16:18:04 -07:00
Simon Michael
3d206ad6bd ; changelogs from 1.14 branch 2019-03-20 16:18:04 -07:00
Simon Michael
fee0e39320 ; lib, cli, ui, web, api: bump to dev version 2019-03-20 16:18:04 -07:00
Simon Michael
7c14e10858 web: /accounts: return all accounts, not just top-level ones (#985)
Accounts are returned as a flat list, in tree order, with asubs fields
empty.
2019-03-09 15:47:06 -08:00
Simon Michael
92fb24b1af web: note some Account JSON issues (#985)
[ci skip]
2019-03-09 15:28:30 -08:00
Simon Michael
928ddfeb13 bump hledger version to 1.14.1, and other pkgs' lower bounds 2019-03-01 18:39:25 -08:00
Simon Michael
172dbc7a90 doc: changelogs
[ci skip]
2019-03-01 17:46:37 -08:00
Simon Michael
0cd5545e26 regen cabal files/manuals
[ci skip]
2019-03-01 16:17:25 -08:00
Simon Michael
68e5c41d52 bump version, manual dates
[ci skip]
2019-03-01 16:11:15 -08:00
Simon Michael
9fab3257e8 regen cabal files 2019-03-01 15:44:40 -08:00
Simon Michael
9bb6f75bc8 update tested-with, add ghc 8.6
[ci skip]
2019-03-01 15:10:42 -08:00
Simon Michael
16157bc711 lib, web: tweaks to keep building with GHC 7 2019-03-01 15:07:17 -08:00
Jakub Zárybnický
6becbc78f3 cli, web, ui: Replace withJournalDo* variants 2019-03-01 05:42:30 -08:00
Simon Michael
8cf39e55e0 web: more Decimal FromJSON notes
[ci skip]
2019-02-21 17:13:47 -08:00
Simon Michael
115643a024 web: silence one more pesky warning 2019-02-20 20:45:09 -08:00
Simon Michael
0bc16d4af6 lib, cli, web: rename porigin -> poriginal 2019-02-20 20:23:54 -08:00
Simon Michael
2dc716cdb4 web: support adding new transactions via JSON PUT (#316)
A single transaction can be added by PUT to /add.
(I read that PUT, not POST, should be used to create;
perhaps the web add form should also use PUT ?)

As with the web form, the `add` capability is required (and enabled by
default).

Here's how to test with curl:

$ curl -s http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @in.json; echo

New readJsonFile/writeJsonFile helpers in Hledger.Web.Json
are handy for generating test data. Eg:

>>> writeJsonFile "in.json" (head $ jtxns samplejournal)
2019-02-20 20:23:51 -08:00
Simon Michael
b46212ae50 web: better ToJSON instances, new FromJSON instances, utilities (#316) 2019-02-20 20:23:45 -08:00
Simon Michael
8620e5414f regen manuals
[ci skip]
2019-02-20 17:37:25 -08:00
Jakub Zárybnický
861baadb2b web: Re-add 'balanced transaction' validation to add form 2019-02-20 14:57:04 -08:00
Simon Michael
7e0b74d431 web: fix warnings 2019-02-19 07:29:08 -08:00
Simon Michael
d262dff272 web: doc: move OPTIONS up
[ci skip]
2019-02-18 23:59:46 -08:00
Simon Michael
afd7931ca0 web: add the same 6 JSON routes as in hledger-api (#316) 2019-02-18 23:57:58 -08:00
Simon Michael
9a49b813c1 web: manual updates, mention the spanner
[ci skip]
2019-02-18 15:01:36 -08:00
Simon Michael
34c43489f8 web: document --capabilities/--capabilities-header, editing
[ci skip]
2019-02-18 14:40:14 -08:00
Simon Michael
10b45c75aa web: fix tooltips showing transactions (fixes #927) 2019-02-18 07:55:29 -08:00
Simon Michael
21fac53954 doc: regen manuals
[ci skip]
2019-02-11 14:15:44 -08:00
Simon Michael
94753f1cea bump to dev version 2019-02-08 11:33:44 -08:00
Simon Michael
a18e4e9773 hpack: drop quotes from version: field, apparently not required
[ci skip]
2019-02-05 06:35:40 -08:00
Simon Michael
18ffa65168 tools: move setversion to shake, use PKG/.version, set upper bounds
./Shake setversion will now propagate the version number in each
package's .version file, to all the places in that package where it's
needed (ie the defs.m4 file and multiple places in the package.yaml
file. Also it now updates upper bounds on other hledger packages
to the next major version. (The new lower/upper bounds may not always
be what's desired, manual review required.)

[ci skip]
2019-02-04 18:47:27 -08:00
Simon Michael
bde46f7bd0 doc: move version, release date entirely into per-package macros
[ci skip]
2019-02-04 15:28:23 -08:00
Simon Michael
bf6acf52ef doc: allow per-package m4 defs, to override things like version
[ci skip]
2019-02-04 15:18:51 -08:00
Simon Michael
f9b85a1d4c update embedded docs 2019-02-01 17:23:12 -08:00
Simon Michael
40d1572359 bump version to 1.13 2019-02-01 17:19:19 -08:00
Simon Michael
ca0d0b0d81 doc: changelogs 2019-02-01 17:13:16 -08:00
Simon Michael
9955f53b9b doc: changelogs cleanup
[ci skip]
2019-01-31 15:43:08 -08:00
Simon Michael
9fe3212940 changelogs
[ci skip]
2019-01-28 10:45:25 -08:00
Simon Michael
17cd5b2254 doc: update changelogs
[ci skip]
2019-01-26 11:35:08 -08:00
Simon Michael
0a31ef848f doc: update changelogs
[ci skip]
2019-01-26 11:31:39 -08:00
Simon Michael
1e5e30ae87 regen cabal files
[ci skip]
2019-01-25 18:33:39 -08:00
Simon Michael
d517aef702 doc: changelogs: drop unnecessary backslashes before #*_<>$
sed commands:
 s/\\#/#/g;
 s/\\\*/*/g;
 s/\\_/_/g;
 s/\\</</g;
 s/\\>/>/g;
 s/\\\$/$/g;

[ci skip]
2019-01-25 18:30:09 -08:00
Simon Michael
7b67876a80 doc: changelogs: convert to clean pandoc markdown
pandoc options:
  -f markdown-auto_identifiers
  -t markdown-header_attributes-fenced_code_attributes --atx-headers --wrap=preserve

[ci skip]
2019-01-25 18:23:36 -08:00
Simon Michael
01c6f3e665 doc: changelogs: rename to CHANGES.md
These have been an adhoc mixture of plain text, markdown and org, and
used in each mode at different times. They will now have a definite
format, which for now is markdown. Org was another contender.

[ci skip]
2019-01-25 18:12:33 -08:00
Simon Michael
67dde9d4ae doc: regenerate manuals, removing some smart typography
[ci skip]
2019-01-24 15:37:40 -08:00
Simon Michael
3cf21190c0 update embedded manuals 2019-01-05 07:35:54 +00:00
Simon Michael
0ed3ec08fa bump version to 1.12.99 2019-01-05 07:35:54 +00:00
Simon Michael
439dcd2dea web: note hackage warning
[ci skip]
2018-12-03 14:05:01 -08:00
Simon Michael
40713ee7aa update embedded manuals 2018-12-02 17:26:18 -08:00
Simon Michael
67d7c82e9f bump version to 1.12 2018-12-02 17:20:34 -08:00
Simon Michael
2d51cef88e doc: changelogs 2018-12-02 13:29:00 -08:00
Simon Michael
b2b25d2523 doc: changelogs: tweak descriptions 2018-11-25 21:06:33 -08:00
Peter Simons
4e8f2c11d3 Allow building with base-4.12.
The build succeeds just fine and all test suites pass, too.
2018-10-24 10:35:11 -07:00
Simon Michael
80dc2ef03f update cabal files with hpack 0.31
As in latest stack release. Hopefully this won't unleash horrors.
2018-10-18 14:44:16 -07:00
Simon Michael
6d11164444 web: fix duplicate package.yaml keys warned about by hpack 2018-10-18 14:44:16 -07:00
Alex Chen
2cbc41e088 Merge branch 'master' into ExceptTLayer 2018-10-09 11:19:45 -06:00
Alex Chen
e45070aab5 Update dependency bounds for megaparsec 2018-10-09 11:15:33 -06:00
Simon Michael
862fb873b4 update embedded manuals 2018-10-06 09:42:27 -10:00
Simon Michael
ff2a546319 bump version to 1.11.99 2018-10-06 09:42:12 -10:00
Simon Michael
e687ef1a79 doc: changelogs, relnotes 2018-10-06 09:40:06 -10:00
Simon Michael
2c9c4ebf79
Merge branch 'master' into ExceptTLayer 2018-10-04 21:04:02 -10:00
Simon Michael
7bc500ccd2 update embedded manuals 2018-09-30 20:08:15 -10:00
Simon Michael
b798c48040 bump version to 1.11 2018-09-30 20:07:45 -10:00
Simon Michael
92c8a6fffb changelogs 2018-09-30 20:05:26 -10:00
Alex Chen
3d2584d869 lib: switch to megaparsec 7 2018-09-30 20:15:12 -06:00
Simon Michael
8c18bada0c lib, cli, ui, web: update cabal files 2018-09-22 21:01:23 -10:00