40 Commits
Author SHA1 Message Date
Stefan-Sanger 0b22a17bf1 fix: adjustments for prosody 13
Part-of: <http://gitlab.vnc.biz/uxf/prosody-muc-rest/-/merge_requests/3>
2026-07-15 19:03:03 +02:00
Stefan-Sanger d956658862 fix: coerce telnet config values to numbers
String telnet config (e.g. quoted '1500' in /etc/prosody-muc-rest.js or
string env-var overrides) reached net.Socket.setTimeout via telnet-client
and crashed the pool on connect with ERR_INVALID_ARG_TYPE. Coerce port,
timeout, and poolSize to numbers with fallbacks before use.

Part-of: <http://gitlab.vnc.biz/uxf/prosody-muc-rest/-/merge_requests/3>
2026-07-13 15:44:47 +02:00
Stefan-Sanger 4adb497a64 fix: surface setMucData errors to callers via Promise
Addresses PERFORMANCE-FINDINGS #5:
- setMucData now returns a Promise that rejects on DB error, missing
  config row, or HTTP failure instead of swallowing return true/false.
- Add rowCount guard to avoid throwing on missing config row.
- PUT /groupchats/:target awaits setMucData and returns 500 on failure.
- Remove dead call to undefined logging() function.

Part-of: <http://gitlab.vnc.biz/uxf/prosody-muc-rest/-/merge_requests/3>
2026-07-10 14:50:44 +02:00
Stefan-Sanger ff07fa5621 fix: parameterize SQL, escape XML, and drop deprecated Buffer
Addresses PERFORMANCE-FINDINGS #3, #7, #8:
- Parameterize GET /groupchats query with $n placeholders and parseInt
  validation to close SQL injection and restore pg prepared-statement cache.
- Fix xmlEscape: use real regexes (& first) instead of no-op string patterns.
- Replace deprecated new Buffer() with Buffer.from() for Basic auth header.

Part-of: <http://gitlab.vnc.biz/uxf/prosody-muc-rest/-/merge_requests/3>
2026-07-10 14:46:44 +02:00
Stefan-Sanger 1fad2ef1d2 fix: replace shared telnet singleton with connection pool
Addresses PERFORMANCE-FINDINGS #1, #4, #6 (and #2 in creategroup flow):
- Add app/telnet-pool.js: pool of N connections (config.telnet.poolSize,
  default 4) with wait-queue, lazy reconnect, and respawn on dead socket.
- Remove module-level new Telnet() singleton and startup socket dump from
  app/routes/index.js; switch all mutating endpoints to telnetPool.send().
- Set telnet debug:false; use config.telnet.timeout (default 5s) instead
  of hardcoded 30000.
- Add telnet.poolSize to config/prosody-muc-rest.js.
- await doesMucExist in /creategroup so the existence check is no longer dead.

Part-of: <http://gitlab.vnc.biz/uxf/prosody-muc-rest/-/merge_requests/3>
2026-07-10 14:44:43 +02:00
Stefan-Sanger 1de3d775f4 fix: add debug info 2024-01-11 12:03:32 +01:00
Stefan-Sanger 7b8bc3e6de fix: audit issues 2023-06-28 10:16:36 +02:00
Stefan-Sanger 2a5f354f1f fix: Host header for internal xmpp rest 2023-03-25 19:56:43 +01:00
Stefan-Sanger 0d6bd87b16 fix: add log 2023-03-01 06:06:55 +01:00
Stefan-Sanger f4c0005086 fix: force save 2023-02-23 15:47:56 +01:00
Stefan-Sanger d26182fabc fix: bundle affiliation commands 2023-02-23 15:41:05 +01:00
Stefan-Sanger 7b81bf6db1 fix: improve muc create performance 2023-02-23 15:10:54 +01:00
Stefan-Sanger 6a004fff4d fix: add error handling 2023-02-23 12:40:17 +01:00
Stefan-Sanger 2d83665571 fix: add members 2023-02-23 12:31:44 +01:00
Stefan-Sanger 0de87f9157 fix: remove newlines from commands 2023-02-23 12:14:09 +01:00
Stefan-Sanger ab88956fa6 fix: verbose log 2023-02-23 12:09:10 +01:00
Stefan-Sanger 68b8f85875 fix: add endpoint for muc creation 2023-02-23 11:44:19 +01:00
Stefan-Sanger c763080306 fix: add TLS opt 2022-10-06 14:59:31 +02:00
Stefan-Sanger 14e4004990 fix: typo 2022-09-15 14:17:56 +02:00
Stefan-Sanger cf2966461f fix: additional endpoint 2022-09-15 14:08:38 +02:00
Stefan-Sanger 9b74b86ffa skip pm2 2022-09-15 13:54:44 +02:00
Stefan-Sanger 6b65afd15b fix: duplicate declaration 2022-09-09 08:11:17 +02:00
Stefan-Sanger b5ecee7d32 fix: enhance muc settings api 2022-09-09 07:56:34 +02:00
Stefan-Sanger 884ce6025d fix: one more endpoint 2022-04-06 14:03:45 +02:00
Stefan-Sanger 06f758fcd1 fix: additional 410 response for get affiliations endpoint 2022-04-06 13:55:07 +02:00
Stefan-Sanger 6650c82897 fix: async callback 2022-04-06 11:37:54 +02:00
Stefan-Sanger 28ea8b6b0d fix: new status code for op against deleted groupchat 2022-04-06 11:31:59 +02:00
Stefan-Sanger e635a55f3f fix: determine actor for muc data messages 2022-02-21 05:47:27 +01:00
Stefan-Sanger 04902bee2e fix: output 2021-12-09 06:39:59 +01:00
Stefan-Sanger 8a4db8f705 fix: extend output 2021-12-08 22:58:42 +01:00
Stefan-Sanger 62d2e25c5b fix: log output 2021-09-14 13:50:39 +02:00
Stefan-Sanger ca62fb8682 fix: re-establish connections 2021-09-14 13:42:44 +02:00
Stefan-Sanger 4981d10d5d fix: error handling 2021-07-16 08:24:55 +02:00
Stefan-Sanger 588102ae0e fix: dependencies 2020-12-22 17:39:46 +01:00
Stefan-Sanger 3190a8a198 fix: add moment 2020-12-22 17:36:28 +01:00
Stefan-Sanger 9db8610f72 fix: new capabilities for groudata 2020-12-22 17:22:20 +01:00
Stefan-Sanger 5c461fd5d8 fix: dir layout part 2 2020-09-15 16:03:49 +02:00
Stefan-Sanger e30dc248a9 fix: dir layout 2020-09-15 13:16:48 +02:00
Vijay Godhasara 8f126a6e20 Add group chat REST API wrapper 2020-01-10 16:19:15 +05:30
Stefan-Sanger a3d77fec3c scaffold: REST wrapper 2020-01-09 08:32:49 +01:00