jdev - 2022-01-09


  1. msavoritias has left

  2. thomaslewis has joined

  3. larma has left

  4. thomaslewis has left

  5. thomaslewis has joined

  6. thomaslewis has left

  7. thomaslewis has joined

  8. thomaslewis has left

  9. dezant has joined

  10. thomaslewis has joined

  11. thomaslewis has left

  12. atomicwatch has left

  13. wurstsalat has left

  14. atomicwatch has joined

  15. thomaslewis has joined

  16. thomaslewis has left

  17. emus has left

  18. Neustradamus has left

  19. sonny has left

  20. Neustradamus has joined

  21. sonny has joined

  22. sonny has left

  23. sonny has joined

  24. thomaslewis has joined

  25. thomaslewis has left

  26. thomaslewis has joined

  27. thomaslewis has left

  28. thomaslewis has joined

  29. xnamed has left

  30. marc0s has left

  31. marc0s has joined

  32. xnamed has joined

  33. al has left

  34. doge has joined

  35. thomaslewis has left

  36. thomaslewis has joined

  37. catphone has joined

  38. mac has left

  39. mac has joined

  40. catphone has left

  41. doge has left

  42. doge has joined

  43. doge has left

  44. debacle has left

  45. doge has joined

  46. Ingolf has left

  47. Ingolf has joined

  48. doge has left

  49. mac has left

  50. mac has joined

  51. doge has joined

  52. dezant has left

  53. doge has left

  54. sonny has left

  55. sonny has joined

  56. doge has joined

  57. dezant has joined

  58. doge has left

  59. SouL has joined

  60. doge has joined

  61. doge has left

  62. doge has joined

  63. 9lakes has left

  64. doge has left

  65. homebeach has left

  66. Matrix Traveler (bot) has left

  67. Matrix Traveler (bot) has joined

  68. homebeach has joined

  69. paul has joined

  70. dezant has left

  71. pasdesushi has joined

  72. SouL has left

  73. SouL has joined

  74. dezant has joined

  75. doge has joined

  76. Ingolf has left

  77. Ingolf has joined

  78. jubalh has left

  79. atomicwatch has left

  80. doge has left

  81. pasdesushi has left

  82. doge has joined

  83. doge has left

  84. pasdesushi has joined

  85. atomicwatch has joined

  86. jubalh has joined

  87. atomicwatch has left

  88. dezant has left

  89. sonny has left

  90. sonny has joined

  91. dezant has joined

  92. Yagizа has joined

  93. emus has joined

  94. xnamed has left

  95. xnamed has joined

  96. Alex has joined

  97. alacer has left

  98. alacer has joined

  99. nephele has joined

  100. marc0s has left

  101. marc0s has joined

  102. marc0s has left

  103. marc0s has joined

  104. nephele has left

  105. nephele has joined

  106. marc0s has left

  107. marc0s has joined

  108. marc0s has left

  109. marc0s has joined

  110. marc0s has left

  111. marc0s has joined

  112. goffi has joined

  113. marc0s has left

  114. marc0s has joined

  115. doge has joined

  116. msavoritias has joined

  117. marc0s has left

  118. marc0s has joined

  119. wurstsalat has joined

  120. mac has left

  121. mac has joined

  122. doge has left

  123. doge has joined

  124. larma has joined

  125. goffi has left

  126. doge has left

  127. doge has joined

  128. goffi has joined

  129. goffi has left

  130. homebeach has left

  131. Matrix Traveler (bot) has left

  132. Matrix Traveler (bot) has joined

  133. homebeach has joined

  134. debacle has joined

  135. SouL has left

  136. SouL has joined

  137. raghavgururajan has left

  138. doge has left

  139. doge has joined

  140. doge has left

  141. Sam

    Are there any other scriptable (or controllable through a socket or something) XMPP clients that anyone is aware of? I can't get scansion running on either my laptop (Fedora, no Lua 5.2) or my CI machine (FreeBSD, lua5.2 named differently than the hardcoded path scansion uses, no GNUMake features)

  142. mac has left

  143. jonas’

    did you consider docker?

  144. Sam

    Yes, but the integration tests currently expect to spin up a process and do process-y things. I could write an entirely separate way of doing HTTP requests, but that's a lot of extra stuff

  145. jonas’

    docker run is process-y

  146. Sam

    And takes time to start up a giant bloated environment, then I still have to make HTTP requests.

  147. jonas’

    http requests for what?

  148. jonas’

    also, does aioxmpp qualify as a scriptable XMPP client? ;)

  149. jonas’

    it is very scriptable, in python ;)

  150. Sam

    hmm, that's a fair point, maybe I could just use a library. I'd have ot write a lot more boilerplate to connect and what not, but it would probably be easier to run everywhere

  151. jonas’

    you might be interested in the framework.py in aioxmpp/examples which is meant for examples, but abstracts ~everything away

  152. jonas’

    you could also (ab-)use the aioxmpp end-to-end test runner which also abstracts most of that away

  153. jonas’

    depends on your use case I guess

  154. Sam

    RE http I was assuming you meant run scansion in server mode where it accepts HTTP posts in Docker, that's the only install method the docs show. I guess I could run docker separately, find a way to upload scripts into the container, then do a docker exec to run them, but that's even more work (and we haven't talked about figuring out network communications); it's just not worth it to add docker to the mix

  155. Sam

    Thanks, I'll look into those (use case is integration tests)

  156. jonas’

    sure, but integration tests can mean a lot of different things :)

  157. jonas’

    openfire runs nearly the complete aioxmpp test suite in their github actions

  158. jonas’

    openfire runs nearly the complete aioxmpp e2e test suite in their github actions

  159. jonas’

    that obviously only makes sense in a server scenario

  160. jonas’

    Sam, oh, ok, the only way *I* know to run scansion is to feed it .scs files

  161. Zash

    Upload scripts? Volume mount?

  162. jonas’

    so my approach would've been: (1) make scansion docker image, (2) docker run -v "$(script):/script:ro" scansion:latest /script, (3) done.

  163. jonas’

    so my approach would've been: (1) make scansion docker image, (2) docker run -v "${script}:/script:ro" scansion:latest /script, (3) done.

  164. Sam

    oh yah, forgot that was a thing; that could work. Either way, it's just too much more work to use Docker. I'd prefer to keep this to "things I can install locally and just run"

  165. jonas’

    you do you. I embraced docker to run strange tools locally. took away lots of headaches.

  166. Sam

    It's a fair point, it would get rid of the dependency issues

  167. doge has joined

  168. jonas’

    especially for test tools… I want them reproducible, easily run and not have to fiddle with them every time I upgrade $something. they should work when I need them. docker is good at that.

  169. Sam

    Still, probably easier to just use something else; I hadn't thought of just using a library instead of a thing already setup as a client, but I do think that could work easily enough, so that may be the first thing to try then fall back to using Docker if I can't get that working

  170. Sam

    Docker is no different than installing them locally in that regard (in CI, that is). I'm running a disk image, it has the same stuff on them that don't change.

  171. jonas’

    right

  172. 9lakes has joined

  173. Sam

    *facepalm* I should have realized aioxmpp won't be available on FreeBSD either. I can install it from pip of course, but that means manually figuring out and installing dependencies since it depends on external stuff like libxml2 that have to be installed separately. Oh well, let's see if this takes me less time to figure out than trying to patch scansion did

  174. 9lakes has left

  175. jonas’

    *whisper* dooooockeeeeeer *whisper* :D

  176. Sam

    > error: can't find Rust compiler Okay, now onto installing my third system just to run a script I guess.

  177. jonas’

    that indicates that your version of pip is out of date

  178. jonas’

    or that there is no pre-built pyopenssl for that platform

  179. Sam

    Thanks

  180. jubalh has left

  181. Sam

    Upgrading pip didn't seem to help; let's search the system packages for pyopenssl. Thanks for the help.

  182. jonas’

    oh, it's cryptography, not pyopenssl

  183. jonas’

    https://pypi.org/project/cryptography/ this one

  184. Sam

    That seems to have been installed a dependency already (possibly when I just installed pyopenssl from the system packages), so fingers crossed it works this time

  185. Sam

    oh yes, that completed, so that's step one anyways

  186. jonas’

    depending on how pip is configured on your system, it may ignore system-wide installed packages

  187. jonas’

    \o/

  188. 9lakes has joined

  189. 9lakes has left

  190. 9lakes has joined

  191. 9lakes has left

  192. 9lakes has joined

  193. al has joined

  194. marmistrz has joined

  195. Yagizа has left

  196. Alex has left

  197. defanor

    On controllable through a socket or something clients -- it's indeed fairly close to just using a library, but I'm currently hooking rexmpp to Emacs with a wrapper introducing an XML interface over stdin/stdout, <https://git.uberspace.net/rexmpp/tree/emacs/xml_interface.c>. Though the interface is ad hoc; I thought it might be nice to design it more carefully, to hook other libraries to the same Emacs client (and possibly for other purposes, like integration testing multiple libraries via the same language-agnostic interface), but expecting it to be tricky to decide which functions such a generic interface should provide, since library APIs can be quite different.

  198. marc0s has left

  199. marc0s has joined

  200. 9lakes has left

  201. 9lakes has joined

  202. 9lakes has left

  203. jubalh has joined

  204. raghavgururajan has joined

  205. 9lakes has joined

  206. debacle has left

  207. xnamed has left

  208. al has left

  209. Alex has joined

  210. doge has left

  211. doge has joined

  212. doge has left

  213. marmistrz has left

  214. rubi has joined

  215. jgart has left

  216. 9lakes has left

  217. Yagizа has joined

  218. qy

    Wasn't there that cli xmpp client? Without a tui, i mean

  219. qy

    Yeah, xmppc

  220. qy

    If you want to just script in shell, maybe that?

  221. junaid

    Anyone available to take a peek at one of my XMPP hobby projects and provide constructive criticism? prvt me on junaid@yax.im

  222. qy

    Sam: https://codeberg.org/Anoxinon_e.V./xmppc

  223. Zash

    Or the various sendxmpp implementations, and clix

  224. jgart has joined

  225. Sam

    Thanks, I hadn't heard of that one, I'll look into it. I am actually already testing against the perl sendxmpp (though really I should probably find a different one), but those tend to be rather limited as clients since they're really just meant to send a one off message or a file or something.

  226. qy

    🌞

  227. Zash

    I imagine you're after stuff like sending queries and blocking until a response before proceeding.

  228. Sam

    Not necessarily blocking, but yah, just something I can remote control and tell it to do things. I'm doing this with McAbber right now (which has a way to open a socket you can execute commands through) and sendxmpp (which is CLI obviously), but mostly my client integration tests are lacking (and both of those are unmaintained and don't have a lot of modern functionality)

  229. atomicwatch has joined

  230. doge has joined

  231. jgart has left

  232. junaid

    Sam, have ya maybe considered throwing a bot at the problem? like using errbot as a base, and then code any additional/desired logic as a plugin for it? https://errbot.readthedocs.io/en/latest/index.html

  233. Sam

    I'm not familiar with that one either, I'll look into it, thanks

  234. goffi has joined

  235. junaid

    Sam, you say "remote control and tell it to do things". may i ask what you actually wish the client/bot to do? like, would sending raw non-message stanzas be a hard/soft/no requirement for you?

  236. Sam

    Not necessarily; there's no single thing I want it to do, I'm just writing integration tests against various clients and libraries. Different modules may be tested against different things depending on what supports what.

  237. doge has left

  238. 9lakes has joined

  239. Sam

    For example I currently test receiving pings using both mcabber and sendxmpp, testing sending in-band bytestreams against a prosody module, and for receiving IBB I'm thinking about testing against aioxmpp using a small wrapper script. It doesn't have to be one client that does everything.

  240. Sam

    Raw non-message stanzas aren't actually super useful, I can just do that internally. The idea is to make sure my implementation is compatible with other existing implementations.

  241. xnamed has joined

  242. 9lakes has left

  243. 9lakes has joined

  244. 9lakes has left

  245. 9lakes has joined

  246. junaid

    Sam, I guess this is specifically for testing mellium components. in which case, any established XMPP bot framework should be fine. considering that you're writing mellium, it does seem like then it would be best for the XMPP tester to be written using mellium itself. but then you almost kinda run into a chicken-vs-egg problem. I say "almost" because you could always (manually?) verify the functionality of one mellium version against another established client/bot and then, once confirmed, you could use that version to verify functionality of later mellium versions.

  247. dezant has left

  248. doge has joined

  249. doge has left

  250. me9 has joined

  251. mac has joined

  252. mac has left

  253. mac has joined

  254. dezant has joined

  255. rubi has left

  256. rubi has joined

  257. rubi has left

  258. rubi has joined

  259. marc0s has left

  260. marc0s has joined

  261. Ge0rG has left

  262. 9lakes has left

  263. Ge0rG has joined

  264. 9lakes has joined

  265. marc0s has left

  266. marc0s has joined

  267. mac has left

  268. mac has joined

  269. pasdesushi has left

  270. mac has left

  271. mac has joined

  272. jgart has joined

  273. pasdesushi has joined

  274. debacle has joined

  275. nephele has left

  276. nephele has joined

  277. mac has left

  278. mac has joined

  279. 9lakes has left

  280. 9lakes has joined

  281. dezant has left

  282. nephele has left

  283. TheCoffeMaker has left

  284. atomicwatch has left

  285. atomicwatch has joined

  286. mac has left

  287. mac has joined

  288. dezant has joined

  289. Sam

    oh the testing stuff is already written and works, I'm just looking for more clients to run it against mostly

  290. goffi has left

  291. mac has left

  292. mac has joined

  293. 9lakes has left

  294. atomicwatch has left

  295. 9lakes has joined

  296. Yagizа has left

  297. 9lakes has left

  298. atomicwatch has joined

  299. PapaTutuWawa has joined

  300. nephele has joined

  301. 9lakes has joined

  302. jubalh has left

  303. sonny has left

  304. sonny has joined

  305. xecks has left

  306. 9lakes has left

  307. 9lakes has joined

  308. goffi has joined

  309. Vaulor has left

  310. 9lakes has left

  311. xecks has joined

  312. 9lakes has joined

  313. marmistrz has joined

  314. 9lakes has left

  315. Vaulor has joined

  316. marc0s has left

  317. marc0s has joined

  318. jubalh has joined

  319. xnamed has left

  320. nephele has left

  321. me9 has left

  322. jgart has left

  323. 9lakes has joined

  324. 9lakes has left

  325. mac has left

  326. mac has joined

  327. xnamed has joined

  328. xnamed has left

  329. xnamed has joined

  330. inky has left

  331. xnamed has left

  332. huhn has joined

  333. xnamed has joined

  334. marmistrz has left

  335. dezant has left

  336. jgart has joined

  337. spectrum has left

  338. atomicwatch has left

  339. dezant has joined

  340. selurvedu has joined

  341. atomicwatch has joined

  342. atomicwatch has left

  343. 9lakes has joined

  344. sonny has left

  345. sonny has joined

  346. sonny has left

  347. sonny has joined

  348. sonny has left

  349. sonny has joined

  350. sonny has left

  351. sonny has joined

  352. sonny has left

  353. spectrum has joined

  354. sonny has joined

  355. sonny has left

  356. sonny has joined

  357. homebeach has left

  358. Matrix Traveler (bot) has left

  359. SouL has left

  360. Matrix Traveler (bot) has joined

  361. homebeach has joined

  362. atomicwatch has joined

  363. sonny has left

  364. sonny has joined

  365. pasdesushi has left

  366. jubalh has left

  367. marc0s has left

  368. marc0s has joined

  369. emus has left

  370. msavoritias has left

  371. goffi has left

  372. marc0s has left

  373. marc0s has joined

  374. selurvedu has left

  375. sonny has left

  376. sonny has joined

  377. PapaTutuWawa has left

  378. sonny has left

  379. sonny has joined

  380. selurvedu has joined

  381. marc0s has left

  382. marc0s has joined

  383. sonny has left

  384. sonny has joined

  385. sonny has left

  386. sonny has joined

  387. sonny has left

  388. sonny has joined

  389. wurstsalat has left

  390. sonny has left

  391. sonny has joined

  392. dezant has left

  393. sonny has left

  394. sonny has joined

  395. mac has left

  396. mac has joined

  397. sonny has left