Package Details: mx-puppet-discord-git v0.1.1.r5.gfd44022-3

Git Clone URL: https://aur.archlinux.org/mx-puppet-discord-git.git (read-only, click to copy)
Package Base: mx-puppet-discord-git
Description: This is a Matrix bridge for Discord
Upstream URL: https://gitlab.com/mx-puppet/discord/mx-puppet-discord.git
Licenses: Apache
Conflicts: mx-puppet-discord
Provides: mx-puppet-discord
Submitter: BrainDamage
Maintainer: None
Last Packager: BrainDamage
Votes: 2
Popularity: 0.000000
First Submitted: 2020-11-06 09:15 (UTC)
Last Updated: 2022-11-04 15:49 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 Next › Last »

BrainDamage commented on 2021-05-02 22:42 (UTC)

the sqlite error is because npm cache mechanism prevents a rebuild of the package against a new .so, it thinks that the lib is already compiled and working for the current version

to have it working without hassle, you can nuke the cache dir along the src files with makepkg --cleanbuild, with penalty that the rebuild will be longer since you'll be rebuilding more than just the sqlite bindings

... alternatively, just selectively delete the sqlite bindings folder in the cache and issue a rebuild as usual, but ymmv if more than just sqlite bindings broke

dodecahedron commented on 2021-05-01 22:40 (UTC)

If you use PostgreSQL instead of SQLite, you can remove the SQLite dependencies from the relevant files, which will also fix the problem.

marcool04 commented on 2021-05-01 17:49 (UTC)

Hi there. After last system upgrade, mx-puppet-discord failed to start with following error:

/usr/lib/node_modules/mx-puppet-discord/node_modules/bindings/bindings.js:121
        throw e;
        ^
Error: /usr/lib/node_modules/mx-puppet-discord/node_modules/better-sqlite3/build/Release/better_sqlite3.node: undefined symbol: _ZN4node6AtExitEPFvPvES0_
    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1167:18)
    at Module.load (node:internal/modules/cjs/loader:988:32)
    at Function.Module._load (node:internal/modules/cjs/loader:828:14)
    at Module.require (node:internal/modules/cjs/loader:1012:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at bindings (/usr/lib/node_modules/mx-puppet-discord/node_modules/bindings/bindings.js:112:48)
    at Object.<anonymous> (/usr/lib/node_modules/mx-puppet-discord/node_modules/better-sqlite3/lib/database.js:6:40)
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
    at Module.load (node:internal/modules/cjs/loader:988:32) {
  code: 'ERR_DLOPEN_FAILED'
}

The DLOPEN error points to a .so change – not sure which one, I suspect one of these:

$ rg "2021-04-30.* \[ALPM\] upgraded" /var/log/pacman.log
[SNIP]
nodejs (15.14.0-2 -> 16.0.0-1)
npm (7.10.0-1 -> 7.11.2-1)
[SNIP]

I figured that a simple rebuild should fix it, so I bumped the pkgrel in PKGBUILD, but ran into issues with this stage of building:

npm install --cache "${srcdir}/npm-cache"

This fails with a C related error, which has something to do with better-sqlite3 https://github.com/JoshuaWise/better-sqlite3. Try as I may, I can't figure out what's wrong with it. However… I did notice that this:

sudo npm install --global better-sqlite3

Actually works fine! So I then copied /usr/lib/node_modules/better-sqlite3/ over into the src/mx-puppet-discord/node_modules/ directory, ran npm install --cache "${srcdir}/npm-cache" manually from src/mx-puppet-discord/, and finally commented that line out in the PKGBUILD and ran makepkg -si to reinstall. Working! If anybody can figure out what's up with better-sqlite3 that'd be helpful… it's beyond me!

dodecahedron commented on 2021-04-07 23:51 (UTC)

@podiki Thanks, I actually found that guide when I was first getting this set up. Unfortunately, I think something's wrong with my Node installation since the Node scripts don't seem to run as root.

podiki commented on 2021-04-07 21:36 (UTC)

@BrainDamage thanks again for the package, the Discord bridge has been very handy!

I do have a brief line about the shared secret module, but just pointing people to what's in the sample config and the module readme. I found that simple and easy enough when I did it, but would be easy enough to add for completeness. And that module is good to have for other bridges as well.

BrainDamage commented on 2021-04-07 21:28 (UTC) (edited on 2021-04-07 21:32 (UTC) by BrainDamage)

I apologize for all the mistakes, normally I am not this sloppy ...

I'll try to be careful from now on

@podiki: you can avoid .well-known by using the functionality in mx-puppet-discord/config.yaml ( few other bridges also support this functionality )

# Map of homeserver URLs to their C-S API endpoint
#
# Useful for double-puppeting if .well-known is unavailable for some reason
homeserverUrlMap:
  my.host: http://localhost:8008

podiki commented on 2021-04-07 21:09 (UTC)

@Ta180m (and anyone else) If it is helpful, I wrote up a guide to using this: https://boilingsteam.com/how-to-bridge-discord-in-matrix/

dodecahedron commented on 2021-04-07 21:06 (UTC)

Thanks for maintaining this package! I tried the latest version, and I'm still running into tons of problems though, although I did get it to work with a lot of workarounds.

Also, I think the permissions on /var/lib/mx-puppet-discord should be 700, not 600.

dodecahedron commented on 2021-03-29 16:25 (UTC) (edited on 2021-03-31 22:09 (UTC) by dodecahedron)

For some reason, after editing /etc/mx-puppet-discord/config.yaml, when I run node /usr/lib/node_modules/mx-puppet-discord/build/index.js -c /etc/mx-puppet-discord/config.yaml -r -f /root/registration.yaml as root, the command never stops running. Checking my active processes, it doesn't even seem like node is doing anything. The same thing happens with node /usr/lib/node_modules/mx-puppet-discord/build/index.js -h which should print the help message. Does anyone know why this is happening? Perhaps something is wrong with my node installation?

EDIT: I generated a registration.yaml using the instructions in the GitHub repository, and now when I try to start mx-puppet-discord.service, I get the error Failed at step NAMESPACE spawning.

EDIT 2: I finally got the original GitHub repository to work. I don't know what's wrong with this package though.

EDIT 3: I figured out how to fix the systemd error: Turns out you need to manually create the /var/lib/mx-puppet-discord directory.

EDIT 4: Finally got a working setup! I first cloned the repo directly from GitHub, configured it, transferred ownership to the mx-puppet-discord user and reused the systemd service. Now it works perfectly!

EDIT 5: Synapse wasn't starting up fast enough on boot for mx-puppet-discord, so I had to add ExecStartPre=sleep 5 to the service file for it to work after a reboot.

podiki commented on 2021-03-02 01:14 (UTC)

Ah okay, that makes sense and would explain it! I guess you really only need to generate the file once (unless certain changes to config I guess?) which would explain why you wouldn't have noticed this.

Sorry to belabor the point, I did see how WorkingDirectory is expanded, but where is mx-puppet-discord's home directory set to /var/lib/mx-puppet-discord? I'm not seeing it in the user creation here or aware of where else it might be set. I just checked (via /etc/passwd) and I see the home directory for this user is /.