XMPP Service Operators - 2017-11-07

  1. edhelas

    I have more and more accounts created from Indonesia that use movim.eu as money transfer solution

  2. edhelas


  3. edhelas


  4. edhelas

    you should have a look at connected sessions on your servers

  5. edhelas

    resources are TigerEngine and OtomaXC

  6. edhelas


  7. edhelas

    thoses accounts are now systematically deleted from my server

  8. edhelas


  9. edhelas

    SIP resources as well by the way

  10. edhelas

    JIDs are often containing "reload", "oasis", "center", "terminal" or "pulsa"

  11. Ge0rG

    edhelas: I've got a bunch of those too, with gazillions of messages in MAM :(

  12. edhelas

    well time to cleanup them

  13. Ge0rG

    edhelas: Can you read whatever language that is?

  14. edhelas

    /SIP /OtomaX /TigerEngine

  15. Zash

    Google Translate

  16. Ge0rG

    I'm not sure it is really money transfer

  17. edhelas

    also resources that are starting with "FF"

  18. Ge0rG

    I mean: you can't transfer money over XMPP (yet). So whatever they do is only a kind of information / approval flow.

  19. Ge0rG

    Maybe people are using it to pay for their daily expenses, and you kick them out?

  20. Ge0rG

    What if they can't afford their food without our XMPP servers?

  21. Zash


  22. edhelas

    Ge0rG I'm fine with that, the issue is that they are using a server in europe, and those services are not free for some/most of them

  23. edhelas

    also the fact that it's quite ugly and create a lots of MAM messages, I'm talking about 100 of Mb each weeks/months

  24. Maranda

    just hard limit the number of stored messages per account...?

  25. Maranda

    100 Megabytes of mam messages mean hundred of thousands ++, I don't see a usecase for a *normal* user if MAM is about account entities.

  26. Ge0rG

    I've manually disabled MAM for the accounts with 100k+ messages in the log

  27. Holger

    edhelas: FWIW, you could tell the server to not enable MAM storage for a given account until a MAM request is issued.

  28. Ge0rG

    I wish prosdy would just default to MAM=off

  29. edhelas

    Holger how ?

  30. Holger

    Ge0rG: And let clients auto-enable it?

  31. Maranda

    Well... my server is configured to allow 5000 stored messages per account after which the oldest will be discarded. Also MAM *SHOULDN'T* be enabled by default, but users *SHOULD* enable it with prefs explicitly.

  32. Ge0rG

    What Maranda said.

  33. Holger

    Maranda: Clients or users?

  34. Holger

    Maranda, Ge0rG: Huh. Ugly UX.

  35. Holger

    edhelas: mod_mam: request_activates_archiving: true

  36. edhelas


  37. Maranda

    Ge0rG, I implemented MAM so that it's by default disabled until it isn't explicitly enabled by users(/clients).

  38. Ge0rG

    Holger: it should be automatically enabled by a client doing a MAM query.

  39. Ge0rG

    but off by default

  40. Maranda

    Since it's not such a used feature tbh.

  41. Holger

    Well these things should probably be admin-configurable.

  42. Ge0rG

    I had to shutdown my server today for ~10mins to compact a 5.5GB SQLite database.

  43. edhelas

    sqlite O_o

  44. Maranda

    what's wrong with sqlite?

  45. Maranda


  46. edhelas

    and why compact, just remove old ones no ?

  47. Ge0rG

    Maranda: I have to shutdown / SIGSTOP prosody when working on the DB

  48. Maranda

    Ge0rG, also btw it should be really trivial to change prosody's default mod_mam behaviour, you just need to change the default prefs in the code, if it's not configurable already.

  49. Ge0rG

    Maranda: I think the trick is to make it auto-enable MAM on the first _read_ access. https://prosody.im/issues/867

  50. Ge0rG

    Zash doesn't want me to have nice things... :(

  51. Maranda

    I don't agree, there're prefs.

  52. Maranda

    the above would be a hack.

  53. Maranda

    A client or user through it can just change the prefs to enable or change logging.

  54. Ge0rG

    Maranda: are the prefs a tristate of off/on/not-set?

  55. Maranda

    Nope... you can do much more elaborate things with prefs.

  56. Maranda

    Like don't log anything cept these jids etc.

  57. Ge0rG

    I mean: can the client determine if the pref is "off" or "not yet set"?

  58. Maranda

    Yes, by retrieving prefs

  59. Maranda

    Not set doesn't exist

  60. Maranda


  61. Maranda

    see 6.1.1

  62. Holger

    I agree it's a hack.

  63. Holger

    But currently quite useful in practice ...

  64. Ge0rG

    I don't think it's a hack. We could just standardize it.

  65. Ge0rG

    Or maybe add a business rule for client-controlled initial activation

  66. Ge0rG

    Maranda: you lied. "The <prefs> element MUST be present and contain the current default archiving policy."

  67. Maranda

    I didn't lie

  68. Maranda

    ‎[16:22:53] ‎Maranda‎: Not set doesn't exist

  69. Maranda

    Tell me where I lied.

  70. Ge0rG

    So the client can't determine if the prefs were set before or not.

  71. Holger

    It can query them with an IQ-get.

  72. Maranda

    O_o, why would it need to

  73. Holger

    Example 19/20 in 0313.

  74. Ge0rG

    Holger: and the server MUST respond with prefs.

  75. Maranda

    You just retrieve the prefs like I said.

  76. Ge0rG

    Holger: there is no way for the server to tell "not yet configured"

  77. Holger

    Ge0rG: Ah right.

  78. Ge0rG

    16:22:17 Ge0rG> I mean: can the client determine if the pref is "off" or "not yet set"? 16:22:32 Maranda> Yes, by retrieving prefs

  79. Ge0rG

    that was the lie!

  80. Maranda

    Because that's not a possibility, there're 3 defaults

  81. Maranda

    read the xep >.>

  82. Maranda

    always, never, roster

  83. Ge0rG

    Maranda: my point is: there is no way for the client to find out "hey, this account never used MAM before, we should enable it"

  84. Ge0rG

    Maranda: so the server-side hack of enabling MAM on the first query is actually sensible

  85. Ge0rG

    Maybe I should write a note to the LC thread.

  86. Maranda

    No it's not, you just retrieve prefs, and then eventually set logging accordingly.

  87. Holger

    And fight against your other client which does it the other way round?

  88. Maranda

    That seems an overcomplication for "I dunno what"

  89. Ge0rG

    Maranda: you are missing my point

  90. Ge0rG

    Maranda: I want MAM disabled until the user has a client that supports MAM.

  91. Ge0rG

    Maranda: and then automatically enabled

  92. Maranda

    No I get it (now), but that's not a server problem, if you use multiple clients kicking each other in the nuts the server shouldn't deal about it for you.

  93. Ge0rG

    Maranda: because there is no "not yet configured" value, the clients can't know if they need to do the initial activation or if the user is paranoid

  94. Maranda

    You want an element stating when it was last configured? Propose it.

  95. Ge0rG

    Maranda: so you still are not getting it :(

  96. Ge0rG

    Maranda: no!

  97. Ge0rG

    Maranda: I want a UX where the first MAM-capable client can automatically determine that it's the first and either auto-enable or ask the user. Once.

  98. Maranda

    Ge0rG, you ain't getting me bud, they. don't. need. to.

  99. Maranda

    A client needs to figure what's the actual configuration and default, *then* deal with it.

  100. Maranda

    You're overcomplicating something which otherwise is simple.

  101. Ge0rG

    Maranda: except it's not simple

  102. Holger

    It's simply not possible without changing 0313 :-)

  103. Holger

    Ge0rG: Anyway isn't the hack like 5 lines of Lua?

  104. Ge0rG

    Holger: it's possible on the server side with the "hack"

  105. Maranda

    Yes, so propose it as I said.

  106. Maranda

    and then, a server implementation of MAM may not allowing setting prefs, what would you do in that case...?

  107. Holger

    Ge0rG: Yes I meant it's not possible for the client to do the right thing with the current 0313.

  108. Ge0rG

    Maranda: commit suicide.

  109. Maranda


  110. Ge0rG

    Maranda: but yeah, see. It's getting more and more complicated.

  111. Ge0rG

    Maranda: I suppose if the MAM policy is enforced by the server, there is no "initial undefined" state

  112. Maranda

    I said that ages ago, that's what the current protocol provides.

  113. Ge0rG

    Maranda: you said what, where?

  114. Maranda

    ‎[16:22:53] ‎Maranda‎: Not set doesn't exist ‎[16:22:53] ‎Maranda‎: Not set doesn't exist

  115. Maranda


  116. Holger

    Ge0rG: "It's not possible with the current protocol." Marzanna: "You're wrong! It's not possible with the current protocol!"

  117. Ge0rG


  118. Holger


  119. Ge0rG

    So "I said that ages ago" was not a post to standards@

  120. Holger

    Time is relative.