all repos — felt

virtual tabletop for dungeons and dragons (and similar) using Go, MongoDB, and websockets

branches

main

tags

v0.2.7

v0.2.7:

- path traversal hardening in image upload/delete functions in admin API
PGP Signature
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQT/foVVmI9pK13hPWFohAcXSWbK8wUCZjWOBgAKCRBohAcXSWbK
89RWAQCkRxRP+VEvroCdRdJIPCflsULkcL3fCGBYd3ect5M+6gD/dxatH/EaoKoG
q0XoW2K64H51P7Nk9HaWZqa8p/LDdgM=
=5jTs
-----END PGP SIGNATURE-----

v0.2.6

v0.2.6

- the admin can enqueue updates to the map and send them all at once; useful for switching scenes
- can send an empty auxMsg
PGP Signature
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQR2zYvweXfSPsSU6pP1Tg1AaVJx1AUCZT32KgAKCRD1Tg1AaVJx
1C6dAQD9ZR1XmiWiNaRIoEWSgG+S7bXX0xk8DZrl7I3jJPMPygD/a6Mv+5rKZ4m9
fwsq9tR0Zv2kueLSbJD30VFPJIY4HgE=
=YFWY
-----END PGP SIGNATURE-----

v0.2.5

v0.2.5:

- adjust dice scroll logic
- change labels for token aspect lock checkbox
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmTK8csACgkQO3+8IhRO
Y5gBQQ//fF4+ewiwEFhp3eWLfbV8VGRBOG/s8YdyylWLvD1pcTMgySMVeUwmlZKX
qUnnBAGElCQQsSVFIXsYV2XxN+JUlMCmXAoNCOwuzR57y3kSzIdEpMtC3v7CunyC
JEkg4FHjF9ju5ax5Y7YomB1hagk2ZbQplHyB+YspawY6k69bWFTSxw0Xkvu+t2Dx
ToJWubMY/6qWVuKFPy4GpAULchn/X4B+h6k9UXr5Uy/3ZdcevjDnYRCU9bn5cKbC
F8Kz3Q8timk7zoPPskLLjO+iqtrWLkY/OoWOuF7wbEIXo9QAdUGLd2V28SG7DV14
IcN2MBEA3sHfgBjgiZFg9Sr2e4R3LWn/r1mjM1m00gkPF3axzs5PeSIGI0DoDKMY
P9Lvl8mIrBhMYIndY0Jm87iN4BAwxuRqWKaWpo+RWLFejI5W5XpU3FrLcGJXS4J6
OCXc8Ns5RMk4AlnN4jBfpAQ31r36JJ7szenYtRQLjt00LgVVZF0jzz1DgPXJHYv4
ZSN6o6a3r5jfesMhFIDF5qShFSTxjLOXYcvATbq2xISzykWbFocsyt/egyczDoCB
AkNV4n5n11HnHPXm0Hp2LPSxuF7UisCl5xCwi91doiQDqvQLb7eMoEeFGygJ/BmG
26ilo37ZNyHbfN5OSefoG/cjYYK+t2ez1PQWlhnBh/jwf7hLFYE=
=vSHd
-----END PGP SIGNATURE-----

v0.2.4

v0.2.4

- can add #no3d to /table/ URI to disable 3d transform instead of forcing it
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmTEpEoACgkQO3+8IhRO
Y5jlPQ/6AuGply8gw/1p+zAETlrWeciSsbyEt/dK1IfeMl9W1KUnVXQDmIcrzKNy
+e3fDSFMPs9FLNAtc9XEsxCaw7NbdVnQIKMPc3H+1rkzRksHtSzexBkeWzYsSjLT
tAqCPyLCIkHrzVpy3u17+p3JwQxGneqNN77Pv6cypkOA3pNEYf9/MXRbXkyxNJ+A
QTwZhmW+LtwqxQkYuWBtrP3XlQGvntKI3xVF7t0mFY9yzylKeY+1Q6MtuMolL4u3
C1W0rOrs9fNfWWwrYl9ZaIbKyhsAQz+xKPFwe9cHcQC1bMVvcw5zuHuGTHpa3cvV
/u1/nDlT0t2oDXfqMqBACxChPDd25wlvRUeYrVCOwzhNOQVduuud+BScEjnj14Kj
5dcqszWmSssYiSWQF/BOonfO9XJgc2UVC1juxxigT47Li5Y9VeXlHQHmJSh8wSyx
8zX6aHotLef6G0EWOn2GgoIWF+j3DtOH5KWPNCXwowQqQRwAYCfVXJIup63Lrm89
A75xi9f5CGjzScHxsrONwllKeiqTGoRkPEsnBuMIja8ob6TzP8F1ceFORHGSKJej
5hTIdswHUd1iCbuUVa45tAT1s+V2qmB6oTeYkFI53gwkJFNfTIScV6MbetmAEo4z
vbBTbBytkvO+1mEhrSMxIBkSk7/1dfMBrfHDriv7+feG9BTJITo=
=iASk
-----END PGP SIGNATURE-----

v0.2.3

v0.2.3

- disable 3D in leaflet to fix a webkit bug, probably also increases performance
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmTDU5EACgkQO3+8IhRO
Y5h15w//dbRZMxeY99KZVb1ZA/zpvUYACQuRG4hNKkO2QmDY3Y6a/Xxvx1MMxn4f
tOM4TzW/hVuPpSbRVJuwskKF7tQKGHWwFeImQwV6HOqLBRM+H8jJPMyGdMDInsaP
9HSVxcDvTb/BL32IW4jRD+YDbSz2+AF6VeA5XLsTklRGLnrfQmEeHN3JYqGnNXCw
KkS0dSBlUx+L6xLRZ75S9h2iXqKh+mmxYEh97VYIbz6zO6c+p9ozvatKpecAqrgJ
LTO1fes5n4CTSoXXdC70oZCaoBZrcLdQA1dKB6O/sBReJFuGJRijQZqwAZ/4wQhm
v3LrJoPU+TykCgmKBz9t9qZVduR4pxJ1UkZlSEVVEpzyHdCMFG/gOkRCeK4t0t7A
ihXsLG6IDAiaMr5JAyfHIH5RZ3Zb8HX/Ug8XgNu6Z0MDrfNlAzENJ+DCGIOONg77
Xv6WHjPzUVaM5bXLVJj+uMxYmNUit/Vvld3375Zhd8B0gmJRHvJZOyEQCwVh+4c1
JCwOR6DYl/gUCAJ7cRdqYgNJKVNdicLbV/QxOvebSqakMxSZkGNE6Dphqd4v0Jo2
Qw69reMNy3daA3feML2a3gkDHhy188FuWDp4BwIT0Nu266VssSGecBTL7Ktnmb7R
NAd25fRXWDKGgfOgm9UBlxS2CtObxqxosUJRTGyOYxx8nHIv1o4=
=XcUU
-----END PGP SIGNATURE-----

v0.2.2

v0.2.2

- clean up DOM access with consistent names and less verbosity
- add more consistent error messaging
- add screenshot to the readme
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmS7bhkACgkQO3+8IhRO
Y5goDg/+KzjC8SI6NY4kQ88YBD1MIUEbdGGyfXouEQ3DqunCq+mY0erUbJxZw32U
eGZZfsmSmyu0KIxP6V18wcCBYmlF0WHsnncWSsMd6KehRbGOabPPOXBZqEHtsQ74
EiYCrR9UYQ+b0zaoQkE4f5HIRPdre8JYN/HhLLR4FHccAV+SrVlH1OHCP5xBciX3
uBZ4Q+Wz0JJhMkOXO7+tAMbxYeNt6RllEmjmv0gPTVFPqgR32CwFD3qzUcjaHgal
B+LhFBctonkCBp/7QklwmVWielF6hxyw6ddMBa/l+l4+AHUxEA6BLPj+BVqoXz5Z
+X2zRDL0gcSpdThPCexfyBAIh7eFMCStPJ+J5KJcryb1+HhPoNCavh6nuP3/rGuw
hQYtcDtRxzjuCQ/nUj9eci1FpDYaXt2BW3r6IOrrwP6m0i84+bCdvJHcpFyYypXU
luaDLQEYfsGBvsP9jz2V+0oSCgc1yxrJCM2EBePe5POYiSQvty3ttgeacFJDalsy
n4yDiJRjmZb2z9pAIWxN3l1DApXeNOfjnHlZGX4Ivmvyenufn2CLhKdKJ2LLG4mA
sEK0JiJAMpVwRYzXZlghm8HNgNLwf1neRmd8uX7q2MLbwQBlb2Y8ClKAFpc07m5O
NK//ZdQE81Z3wqt8M3FDiNzce2/iKaq0DwZqVMHeeUoel1Sy8aY=
=WRmh
-----END PGP SIGNATURE-----

v0.2.1

v0.2.1

- fix token previews
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmS2FIQACgkQO3+8IhRO
Y5hrlRAAjfkapToQno+Y7LNdYD0+kYuAf6W1TzH60BfdBhfyKf9uvVxPGiHtMORB
TyPPOEZD1/NqpPnRwWgsgHHObBA6zg5ImPSC6lgyNgNFiCY3kcEfnmSr9jMMnDl4
7r5NsBudybMPdIhob7jtGQCfKJkfLw3R7U4cWVTyizDhxcEME0UrwcwrWGRE0xXi
77P2Wb3/61wNIxaSKlwj4JlPat/vSE5djHxau/8EifnTtUoM6SEGeQkXH862unmW
h5jabqzlTUxWzXmnsDau3KlTgJw4iBkKxJ6MZwYU4uOrulUAUl95vcjs23C6Cxss
//z8/OYryszZqKoIJjLILKvI582dxSTm5YQCF5+izUExAach1ZOacf9kmaLlNKMN
3l2LMbdR8Z/p/8SKy66uPQ3lr6mcIVbpKo4MddjM/idYDsFp8f9N10cfU+A37DEO
9DEhv9XvaPgVba95YLnmI3tZRXtp2Q7RvJ2kxDD7Yn6MNIZ0nQSUdOD/Nd2mtaaI
IXB3UHcyQ9YUejV2UP4wY1mkLRechgxk28XOKXd0nwM4Jj/VNMK9LeIe0kXZfSqG
D9m2kAVYO9OxWyK4XByaGxT4vPMkIIORyS1r6LBlPCCeRhvB4HFUyyV57m1UVEWE
VqljgumRst129fbjA379zSlBroR6KNhUTIHVVPPC5NWwWDXkuGQ=
=IpJP
-----END PGP SIGNATURE-----

v0.2.0

v0.2.0: first release after initial playtest

- virtual tabletop with dicerolls, shared status, slippy map and tokens
- automatic reconnect when websocket lags out
- admin can upload/delete maps and token sprites, change maps on demand, create, copy and destroy tokens
- any player can activate/deactivate/move tokens
- live, to-scale preview of tokens in both player and admin list
- sysadmin can generate short-lived admin registration links
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmS0t18ACgkQO3+8IhRO
Y5j+PQ/+OG7hfSTF8PNeqQCT9cEib8RGq1pkmAuN71U1e6BpW266/OOTmkWC387/
lXn13ezgrQDUoSahzyJ9p+IJsNxjLFEIv3vbJ0ewOb+ZO45EYRBEnWPTJfVNq0aX
+l6Tbl72YKd2BA9NZxILrvXE3hGR+JVKJSGp1vm1Zsdw+b4+TND5M/T9BiwuQDd5
WhmSRZqSHRFPvmkdaXNXail5Cw9WAL1rtDu9QJRes0zpb9XaQjoA0yvsEW/zA9dd
l+9YpnuePZl+iFJP2fxG9kD0dN2S+96lzcOuTOIBd3s7S94q9JnLrgAh8rGQdSmD
dR1DlDMYICz2+eeijbbqJFD/4nb2H96l/65ZB9Ib49TTykuSQSOi08664MRI6s0H
0AwilrdBRcch8JPamXj14C7B5X9DVNe0JaSh/1B34AY1gI9epGH54e/Vjv0uaDou
aZPj8NqYOBlRnD4jEkr5IByICs/+3uBCJTmH/gQOIhYNilPGJ3vP01pG91RcQ3wr
PjEvHw+K3Aju17lNrdi5EXW4uqEtrIHW/88HoWspebd0gQdCzGWC4jggkyXHiiek
gNSN/qayMwfLXGXWXzGB4rlXZZACs/czdy3trM2zQ4LBkyNHyQd5mj5VyJuoU3Ut
/wL1B5NjlY7bM9odenNrtxPBk0q/tSYZQCd6poi5ODMBa1jLSO4=
=7zEp
-----END PGP SIGNATURE-----