<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/prosodyctl/shell.lua history</title>
    <description>util/prosodyctl/shell.lua revision history</description>
    <item>
    <title>prosodyctl shell: Move non-error result lines back to stdout, suppress with --quiet</title>
    <link>http://hg.omfa.de/prosody-hg/log/3c2bfa6a69df/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: Move non-error result lines back to stdout, suppress with --quiet<br/>
<br/>
We're figuring out how to keep usability and support machine-readability too.<br/>
<br/>
We moved the status line (repl-result) to stderr so that when parsing<br/>
something like a table, it didn't get in the way. However sometimes the status<br/>
line is the thing we want to parse (e.g. invite creation). Parsing stderr<br/>
loses one of the purposes of stderr - to have an error-only channel to emit<br/>
stuff out of band (such as error messages).<br/>
<br/>
So the new approach is:<br/>
<br/>
- Status line on stdout, unless it's an error<br/>
- If you're parsing the output (&quot;content&quot;) of the command, pass --quiet to<br/>
  suppress the status line.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 30 Dec 2025 16:30:43 +0000</pubDate>
</item>
<item>
    <title>prosodyctl shell: Improve process exit codes</title>
    <link>http://hg.omfa.de/prosody-hg/log/1df1782ccdfe/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: Improve process exit codes<br/>
<br/>
This fixes a bug introduced in 3326c8a29a86 where prosodyctl shell would<br/>
always exit with non-zero error codes, even on success. Now it will exit with<br/>
0 for success, or 1 if any errors were printed.<br/>
<br/>
It also updates the other exit codes in the shell command to help distinguish<br/>
between different error cases. These are based on the sysexits.h codes,<br/>
although it is not recommended to rely on that interface.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 19 Dec 2025 15:32:26 +0000</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Send result line to stderr to help TSV parsing</title>
    <link>http://hg.omfa.de/prosody-hg/log/3326c8a29a86/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Send result line to stderr to help TSV parsing<br/>
<br/>
When output is piped somewhere and tables are formatted as TSV, it<br/>
complicates parsing to have a non-TSV line at the end.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 06 Oct 2025 00:30:14 +0200</pubDate>
</item>
<item>
    <title>prosodyctl shell: Output TSV when output is not a TTY</title>
    <link>http://hg.omfa.de/prosody-hg/log/b1e7d3f571b1/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: Output TSV when output is not a TTY<br/>
<br/>
This is meant to make it easier to use in scripts.<br/>
<br/>
CSV would have been nice but requires escaping of fields containing &quot;,&quot;,<br/>
but this implementation simply ignores this and assumes fields will not<br/>
contain tabs.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 31 Aug 2025 00:47:25 +0200</pubDate>
</item>
<item>
    <title>mod_admin_shell, prosodyctl shell: Report command failure when no password entered (fixes #1907)</title>
    <link>http://hg.omfa.de/prosody-hg/log/c8e534b4f2e2/util/prosodyctl/shell.lua</link>
    <description><![CDATA[mod_admin_shell, prosodyctl shell: Report command failure when no password entered (fixes #1907)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 31 Mar 2025 17:30:50 +0100</pubDate>
</item>
<item>
    <title>prosodyctl shell: More reliable detection of REPL/interactive mode (fixes #1895)</title>
    <link>http://hg.omfa.de/prosody-hg/log/a28349b8a387/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: More reliable detection of REPL/interactive mode (fixes #1895)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 13 Mar 2025 11:37:11 +0000</pubDate>
</item>
<item>
    <title>mod_admin_shell, util.prosodyctl.shell: Process command-line args on server-side, with argparse support</title>
    <link>http://hg.omfa.de/prosody-hg/log/1465b1e305df/util/prosodyctl/shell.lua</link>
    <description><![CDATA[mod_admin_shell, util.prosodyctl.shell: Process command-line args on server-side, with argparse support<br/>
<br/>
This allow a shell-command to provide a 'flags' field, which will automatically<br/>
cause the parameters to be fed through argparse.<br/>
<br/>
The rationale is to make it easier for more complex commands to be invoked<br/>
from the command line (`prosodyctl shell foo bar ...`). Until now they were<br/>
limited to accepting a list of strings, and any complex argument processing<br/>
was non-standard and awkward to implement.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 17 Feb 2025 17:02:35 +0000</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Export function to check for availability of admin socket</title>
    <link>http://hg.omfa.de/prosody-hg/log/e5f62871e6a5/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Export function to check for availability of admin socket]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 06 Feb 2025 14:23:15 +0000</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Remove non-existent export [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/ca9426f98b8e/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Remove non-existent export [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 08 Jan 2025 08:53:43 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Support for requesting special inputs, e.g. passwords</title>
    <link>http://hg.omfa.de/prosody-hg/log/d66f30855822/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Support for requesting special inputs, e.g. passwords<br/>
<br/>
This lets the server signal to the client that a special input is requested.<br/>
Currently we support the &quot;password&quot; type only.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 07 Jan 2025 18:10:59 +0000</pubDate>
</item>
<item>
    <title>prosodyctl shell: Fix invocation with 3+ command arguments</title>
    <link>http://hg.omfa.de/prosody-hg/log/7b070909bd15/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: Fix invocation with 3+ command arguments<br/>
<br/>
The code correctly inserted the ',' when there was already a &quot;%q&quot; in the<br/>
format string, but then the next argument would fail to match because it<br/>
inserted &quot;, %q&quot; instead of &quot;%q&quot;. The code now matches both, ensuring the<br/>
generated code will not produce a syntax error with multiple arguments.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 24 Apr 2024 11:45:37 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Fix lint [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/4ba11c2b915a/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Fix lint [luacheck]]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 09 Dec 2023 17:00:22 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easier</title>
    <link>http://hg.omfa.de/prosody-hg/log/16413bc29361/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easier<br/>
<br/>
e.g.<br/>
prosodyctl shell muc room room@muc.example.com :set_name &quot;This Room&quot;]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 09 Dec 2023 16:25:04 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Fix sending terminal width with single argument</title>
    <link>http://hg.omfa.de/prosody-hg/log/585bd71a1a97/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Fix sending terminal width with single argument<br/>
<br/>
E.g. when you do 'prosodyctl shell &quot;s2s:show()&quot;', this is the case that<br/>
triggers, and it was missing the @width argument, causing confusion.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:58:39 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Coerce terminal width to string (for util.stanza)</title>
    <link>http://hg.omfa.de/prosody-hg/log/4ae759490e31/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Coerce terminal width to string (for util.stanza)<br/>
<br/>
Fixes invalid attribute value: expected string, got number]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:53:40 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Prefer using the $COLUMNS environment variable if set (by readline)</title>
    <link>http://hg.omfa.de/prosody-hg/log/d939bf469057/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.human.io: Prefer using the $COLUMNS environment variable if set (by readline)<br/>
<br/>
Feels like it should be faster.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:42:20 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Use new term_width() for width</title>
    <link>http://hg.omfa.de/prosody-hg/log/4c3dc767fb11/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Use new term_width() for width<br/>
<br/>
Kicks in if/when readline hasn't set $COLUMNS, e.g. when using the<br/>
`prosodyctl shell command like this` form.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:38:59 +0200</pubDate>
</item>
<item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>Merge 0.12-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/9f9633364044/util/prosodyctl/shell.lua</link>
    <description><![CDATA[Merge 0.12-&gt;trunk]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 22 Jan 2023 15:43:44 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Close state on exit to fix saving shell history</title>
    <link>http://hg.omfa.de/prosody-hg/log/3dfb87814d65/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Close state on exit to fix saving shell history<br/>
<br/>
This ensures a last round of garbage collection and finalizers, which<br/>
should include flushing the readline history file.<br/>
<br/>
Test procedure:<br/>
```<br/>
$ ./prosodyctl shell<br/>
prosody&gt; s2s:show() -- any command that is not the last in history<br/>
... output<br/>
prosody&gt; bye<br/>
$ ./prosodyctl shell<br/>
prosody&gt; ^P<br/>
```<br/>
<br/>
After this, the shell prompt should contain the last command from before<br/>
the &quot;bye&quot;. Before this patch, recent history is gone most of the time.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 22 Jan 2023 14:42:07 +0100</pubDate>
</item>
<item>
    <title>util: Remove various Lua 5.1 compatibility hacks</title>
    <link>http://hg.omfa.de/prosody-hg/log/0f4feaf9ca64/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util: Remove various Lua 5.1 compatibility hacks<br/>
<br/>
Part of #1600]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 02 Jul 2022 17:31:14 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Print errors in red to highlight them</title>
    <link>http://hg.omfa.de/prosody-hg/log/cfdc8cca64d3/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Print errors in red to highlight them]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 01 Jun 2022 13:59:00 +0200</pubDate>
</item>
<item>
    <title>prosodyctl shell: Communicate width of terminal to mod_admin_shell</title>
    <link>http://hg.omfa.de/prosody-hg/log/7dae6d29b71d/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl shell: Communicate width of terminal to mod_admin_shell<br/>
<br/>
This lets it adjust the width of tables to the actual terminal width.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 30 May 2022 15:28:44 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Support for receiving partial lines (no automatic \n)</title>
    <link>http://hg.omfa.de/prosody-hg/log/bdb9577a4830/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Support for receiving partial lines (no automatic \n)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 17 Mar 2022 10:21:43 +0000</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Bring back banner set from config!</title>
    <link>http://hg.omfa.de/prosody-hg/log/98fd531594bd/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Bring back banner set from config!<br/>
<br/>
I miss my custom ANSI-colored greeting!]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 22:34:04 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Allow setting custom prompt (admin_shell_prompt)</title>
    <link>http://hg.omfa.de/prosody-hg/log/b9aab1962a2b/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Allow setting custom prompt (admin_shell_prompt)]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 11 Nov 2021 13:27:28 +0000</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Fix for different location of unpack in Lua 5.1</title>
    <link>http://hg.omfa.de/prosody-hg/log/5bd38d9197e1/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Fix for different location of unpack in Lua 5.1]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 25 Apr 2021 17:32:27 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Fix for missing 'sep' arg to string.rep in Lua 5.1</title>
    <link>http://hg.omfa.de/prosody-hg/log/16caf35f031f/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Fix for missing 'sep' arg to string.rep in Lua 5.1]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 25 Apr 2021 17:27:02 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Allow calling console commands with fewer shell quotes</title>
    <link>http://hg.omfa.de/prosody-hg/log/0a464a6e88c4/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Allow calling console commands with fewer shell quotes<br/>
<br/>
E.g. `prosodyctl shell module reload disco example.com` becomes<br/>
equivalent to `prosodyctl shell 'module:reload(&quot;disco&quot;, &quot;example.com&quot;)`.<br/>
<br/>
Won't work for every possible command, but reduces the amount of shell<br/>
quoting problems for most common commands.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 25 Apr 2021 17:20:58 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Allow passing a single command as argument</title>
    <link>http://hg.omfa.de/prosody-hg/log/0a10bb3b129b/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Allow passing a single command as argument<br/>
<br/>
Test procedure:<br/>
<br/>
$ prosodyctl shell 'server:version()'<br/>
<br/>
Expect:<br/>
<br/>
&gt; OK: hg:926d53af9a7a<br/>
<br/>
$ prosodyctl shell 'server:version()' 'hello'<br/>
<br/>
Expect:<br/>
<br/>
&gt; Only one command is supported as argument<br/>
<br/>
$ prosodyctl shell 'lorem ipsum'; echo $?<br/>
<br/>
Expect:<br/>
&gt; Sorry, I couldn't understand that... console:1: syntax error near 'show'<br/>
&gt; 1 (error code)<br/>
<br/>
Thanks Menel for mentioning the feature]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 05 Mar 2021 13:02:37 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Fix check for --quiet</title>
    <link>http://hg.omfa.de/prosody-hg/log/fa5a23d7aabc/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Fix check for --quiet<br/>
<br/>
Looked in the wrong table<br/>
<br/>
Test procedure:<br/>
<br/>
$ prosodyctl shell --quiet<br/>
<br/>
Expect:<br/>
Prosody&gt;<br/>
<br/>
(No banner)]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 05 Mar 2021 12:39:49 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Collect extra return values</title>
    <link>http://hg.omfa.de/prosody-hg/log/a5b8ae066688/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Collect extra return values<br/>
<br/>
Forgot in previous commit]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 17 Jun 2020 19:39:14 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Handle argument parsing errors</title>
    <link>http://hg.omfa.de/prosody-hg/log/d86f59c31458/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Handle argument parsing errors<br/>
<br/>
While almost identical to the handling in util.startup, this seems more<br/>
appropriate. It would also simplify if shell-specific options need to be<br/>
handled in the future.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Wed, 17 Jun 2020 19:36:39 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Save readline history</title>
    <link>http://hg.omfa.de/prosody-hg/log/2b015ef8cd06/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Save readline history]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 09:35:07 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell, util.adminstream: Move connection logic into adminstream for easier reuse</title>
    <link>http://hg.omfa.de/prosody-hg/log/09674bbb833f/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell, util.adminstream: Move connection logic into adminstream for easier reuse]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 08:28:39 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Really fix --socket option</title>
    <link>http://hg.omfa.de/prosody-hg/log/98c535531450/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Really fix --socket option<br/>
<br/>
Forgot it stops parsing --foo options at the first argument, so<br/>
subsequent commands need to parse their own options like this.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 09:19:07 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Correct check for --socket</title>
    <link>http://hg.omfa.de/prosody-hg/log/813e632431e6/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Correct check for --socket]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 09:07:29 +0200</pubDate>
</item>
<item>
    <title>prosodyctl+util.prosodyctl.*: Start breaking up the ever-growing prosodyctl</title>
    <link>http://hg.omfa.de/prosody-hg/log/e5dee71d0ebb/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl+util.prosodyctl.*: Start breaking up the ever-growing prosodyctl]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 08:01:21 +0100</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Allow passing path to socket on command line</title>
    <link>http://hg.omfa.de/prosody-hg/log/c91697b81349/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Allow passing path to socket on command line<br/>
<br/>
E.g. `prosodyctl shell --socket /path/to/prosody.scok`]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Jun 2020 23:57:50 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Use same config option as module for socket path</title>
    <link>http://hg.omfa.de/prosody-hg/log/fa06cf7059cd/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Use same config option as module for socket path<br/>
<br/>
So now if you set it to a custom value, both the client and the server<br/>
should use it.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Jun 2020 23:53:03 +0200</pubDate>
</item>
<item>
    <title>util.prosodyctl.shell: Join socket path with current data directory</title>
    <link>http://hg.omfa.de/prosody-hg/log/561138169983/util/prosodyctl/shell.lua</link>
    <description><![CDATA[util.prosodyctl.shell: Join socket path with current data directory<br/>
<br/>
Don't hardcode socket path as it happens to be in a source checkout.<br/>
<br/>
Hold on, it should use the same config option as the module!]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Mon, 01 Jun 2020 23:26:30 +0200</pubDate>
</item>
<item>
    <title>mod_admin_shell, mod_admin_telnet, util.prosodyctl.shell: Separate output from final result</title>
    <link>http://hg.omfa.de/prosody-hg/log/8de0057b4279/util/prosodyctl/shell.lua</link>
    <description><![CDATA[mod_admin_shell, mod_admin_telnet, util.prosodyctl.shell: Separate output from final result<br/>
<br/>
Fixes the client pausing for input after output from commands.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 01 Jun 2020 16:14:06 +0100</pubDate>
</item>
<item>
    <title>prosodyctl, util.prosodyctl.shell: `prosodyctl shell` - a client to access the prosodyctl admin shell</title>
    <link>http://hg.omfa.de/prosody-hg/log/efa49d484560/util/prosodyctl/shell.lua</link>
    <description><![CDATA[prosodyctl, util.prosodyctl.shell: `prosodyctl shell` - a client to access the prosodyctl admin shell]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 01 Jun 2020 15:44:44 +0100</pubDate>
</item>

  </channel>
</rss>
