A Massively Multiplayer Online Jigsaw Puzzle as a web application. Jigsaw puzzles are made from randomly generated classic interlocking pieces and can be 5000+ pieces. Players can collaborate on the same jigsaw puzzle in real time. Other player's piece movements are moderated automatically in order to prevent abusive behavior.
A live version is hosted at puzzle.massive.xyz.
Bugs and feature requests can be tracked via the projects source code repository https://github.com/jkenlooper/puzzle-massive/issues or send an email to [email protected] with a description.
Minimal setup to get it running on your local machine at http://localhost:38682/.
bash
cd client-side-public && make && cd -
vagrant up
vagrant provision --provision-with shell-init-dev-local
vagrant provision --provision-with shell-testdata-puzzles-quick
More documentation is available within the docs directory.
Ask questions on:
I try to monitor the Puzzle Massive chat channels on Discord and Slack . This project is slightly complex with a few moving pieces (pun intended); that being said, there is a good chance that a piece or two are missing when putting the project together. If you have ran into a problem getting this project working on your own machine; please ask for help. I'm looking to improve the process where I can and am looking for more experience helping others in web development stuff like this.
This project has been moved to GitHub with a fresher git commit history. The previous git commit history is available upon request. I've chosen to make Puzzle Massive an open source project under the GNU Affero General Public License.
Puzzle Massive. An online multiplayer jigsaw puzzle. Copyright (C) 2021 Jake Hickenlooper
Only the source code that is used for Puzzle Massive is licensed under the GNU Affero General Public License. Content included in this project is licensed under the Creative Commons Attribution 4.0 International License.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Bumps minimist from 1.2.5 to 1.2.8.
Sourced from minimist's changelog.
v1.2.8 - 2023-02-09
Merged
- [Fix] Fix long option followed by single dash
[#17](https://github.com/minimistjs/minimist/issues/17)
- [Tests] Remove duplicate test
[#12](https://github.com/minimistjs/minimist/issues/12)
- [Fix] opt.string works with multiple aliases
[#10](https://github.com/minimistjs/minimist/issues/10)
Fixed
- [Fix] Fix long option followed by single dash (#17)
[#15](https://github.com/minimistjs/minimist/issues/15)
- [Tests] Remove duplicate test (#12)
[#8](https://github.com/minimistjs/minimist/issues/8)
- [Fix] Fix long option followed by single dash
[#15](https://github.com/minimistjs/minimist/issues/15)
- [Fix] opt.string works with multiple aliases (#10)
[#9](https://github.com/minimistjs/minimist/issues/9)
- [Fix] Fix handling of short option with non-trivial equals
[#5](https://github.com/minimistjs/minimist/issues/5)
- [Tests] Remove duplicate test
[#8](https://github.com/minimistjs/minimist/issues/8)
- [Fix] opt.string works with multiple aliases
[#9](https://github.com/minimistjs/minimist/issues/9)
Commits
- Merge tag 'v0.2.3'
a026794
- [eslint] fix indentation and whitespace
5368ca4
- [eslint] fix indentation and whitespace
e5f5067
- [eslint] more cleanup
62fde7d
- [eslint] more cleanup
36ac5d0
- [meta] add
auto-changelog
73923d2
- [actions] add reusable workflows
d80727d
- [eslint] add eslint; rules to enable later are warnings
48bc06a
- [eslint] fix indentation
34b0f1c
- [readme] rename and add badges
5df0fe4
- [Dev Deps] switch from
covert
tonyc
a48b128
- [Dev Deps] update
covert
,tape
; remove unnecessarytap
f0fb958
- [meta] create FUNDING.yml; add
funding
in package.json3639e0c
- [meta] use
npmignore
to autogenerate an npmignore filebe2e038
- Only apps should have lockfiles
282b570
- isConstructorOrProto adapted from PR
ef9153f
- [Dev Deps] update
@ljharb/eslint-config
,aud
098873c
- [Dev Deps] update
@ljharb/eslint-config
,aud
3124ed3
- [meta] add
safe-publish-latest
4b927de
- [Tests] add
aud
inposttest
b32d9bd
- [meta] update repo URLs
f9fdfc0
- [actions] Avoid 0.6 tests due to build failures
ba92fe6
- [Dev Deps] update
tape
950eaa7
- [Dev Deps] add missing
npmignore
dev dep3226afa
- Merge tag 'v0.2.2'
980d7ac
v1.2.7 - 2022-10-10
Commits
... (truncated)
6901ee2
v1.2.8a026794
Merge tag 'v0.2.3'c0b2661
v0.2.363b8fee
[Fix] Fix long option followed by single dash (#17)72239e6
[Tests] Remove duplicate test (#12)34b0f1c
[eslint] fix indentation3226afa
[Dev Deps] add missing npmignore
dev dep098873c
[Dev Deps] update @ljharb/eslint-config
, aud
9ec4d27
[Fix] Fix long option followed by single dashba92fe6
[actions] Avoid 0.6 tests due to build failuresThis version was pushed to npm by ljharb, a new releaser for minimist since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps minimist from 1.2.5 to 1.2.8.
Sourced from minimist's changelog.
v1.2.8 - 2023-02-09
Merged
- [Fix] Fix long option followed by single dash
[#17](https://github.com/minimistjs/minimist/issues/17)
- [Tests] Remove duplicate test
[#12](https://github.com/minimistjs/minimist/issues/12)
- [Fix] opt.string works with multiple aliases
[#10](https://github.com/minimistjs/minimist/issues/10)
Fixed
- [Fix] Fix long option followed by single dash (#17)
[#15](https://github.com/minimistjs/minimist/issues/15)
- [Tests] Remove duplicate test (#12)
[#8](https://github.com/minimistjs/minimist/issues/8)
- [Fix] Fix long option followed by single dash
[#15](https://github.com/minimistjs/minimist/issues/15)
- [Fix] opt.string works with multiple aliases (#10)
[#9](https://github.com/minimistjs/minimist/issues/9)
- [Fix] Fix handling of short option with non-trivial equals
[#5](https://github.com/minimistjs/minimist/issues/5)
- [Tests] Remove duplicate test
[#8](https://github.com/minimistjs/minimist/issues/8)
- [Fix] opt.string works with multiple aliases
[#9](https://github.com/minimistjs/minimist/issues/9)
Commits
- Merge tag 'v0.2.3'
a026794
- [eslint] fix indentation and whitespace
5368ca4
- [eslint] fix indentation and whitespace
e5f5067
- [eslint] more cleanup
62fde7d
- [eslint] more cleanup
36ac5d0
- [meta] add
auto-changelog
73923d2
- [actions] add reusable workflows
d80727d
- [eslint] add eslint; rules to enable later are warnings
48bc06a
- [eslint] fix indentation
34b0f1c
- [readme] rename and add badges
5df0fe4
- [Dev Deps] switch from
covert
tonyc
a48b128
- [Dev Deps] update
covert
,tape
; remove unnecessarytap
f0fb958
- [meta] create FUNDING.yml; add
funding
in package.json3639e0c
- [meta] use
npmignore
to autogenerate an npmignore filebe2e038
- Only apps should have lockfiles
282b570
- isConstructorOrProto adapted from PR
ef9153f
- [Dev Deps] update
@ljharb/eslint-config
,aud
098873c
- [Dev Deps] update
@ljharb/eslint-config
,aud
3124ed3
- [meta] add
safe-publish-latest
4b927de
- [Tests] add
aud
inposttest
b32d9bd
- [meta] update repo URLs
f9fdfc0
- [actions] Avoid 0.6 tests due to build failures
ba92fe6
- [Dev Deps] update
tape
950eaa7
- [Dev Deps] add missing
npmignore
dev dep3226afa
- Merge tag 'v0.2.2'
980d7ac
v1.2.7 - 2022-10-10
Commits
... (truncated)
6901ee2
v1.2.8a026794
Merge tag 'v0.2.3'c0b2661
v0.2.363b8fee
[Fix] Fix long option followed by single dash (#17)72239e6
[Tests] Remove duplicate test (#12)34b0f1c
[eslint] fix indentation3226afa
[Dev Deps] add missing npmignore
dev dep098873c
[Dev Deps] update @ljharb/eslint-config
, aud
9ec4d27
[Fix] Fix long option followed by single dashba92fe6
[actions] Avoid 0.6 tests due to build failuresThis version was pushed to npm by ljharb, a new releaser for minimist since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps json5 from 1.0.1 to 1.0.2.
Sourced from json5's changelog.
Unreleased [code, diff]
v2.2.3 [code, diff]
- Fix: [email protected] is now the 'latest' release according to npm instead of v1.0.2. (#299)
v2.2.2 [code, diff]
- Fix: Properties with the name
__proto__
are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).v2.2.1 [code, diff]
- Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
v2.2.0 [code, diff]
- New: Accurate and documented TypeScript declarations are now included. There is no need to install
@types/json5
. (#236, #244)v2.1.3 [code, diff]
v2.1.2 [code, diff]
... (truncated)
a62db1e
1.0.2e0c23fe
docs: update CHANGELOG for v1.0.262a6540
fix: add proto to objects and arraysDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps decode-uri-component from 0.2.0 to 0.2.2.
Sourced from decode-uri-component's releases.
v0.2.2
- Prevent overwriting previously decoded tokens 980e0bf
https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2
v0.2.1
- Switch to GitHub workflows 76abc93
- Fix issue where decode throws - fixes #6 746ca5d
- Update license (#1) 486d7e2
- Tidelift tasks a650457
- Meta tweaks 66e1c28
https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps pillow from 9.0.1 to 9.3.0.
Sourced from pillow's releases.
9.3.0
https://pillow.readthedocs.io/en/stable/releasenotes/9.3.0.html
Changes
- Initialize libtiff buffer when saving #6699 [
@radarhere
]- Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [
@wiredfool
]- Inline fname2char to fix memory leak #6329 [
@nulano
]- Fix memory leaks related to text features #6330 [
@nulano
]- Use double quotes for version check on old CPython on Windows #6695 [
@hugovk
]- GHA: replace deprecated set-output command with GITHUB_OUTPUT file #6697 [
@nulano
]- Remove backup implementation of Round for Windows platforms #6693 [
@cgohlke
]- Upload fribidi.dll to GitHub Actions #6532 [
@nulano
]- Fixed set_variation_by_name offset #6445 [
@radarhere
]- Windows build improvements #6562 [
@nulano
]- Fix malloc in _imagingft.c:font_setvaraxes #6690 [
@cgohlke
]- Only use ASCII characters in C source file #6691 [
@cgohlke
]- Release Python GIL when converting images using matrix operations #6418 [
@hmaarrfk
]- Added ExifTags enums #6630 [
@radarhere
]- Do not modify previous frame when calculating delta in PNG #6683 [
@radarhere
]- Added support for reading BMP images with RLE4 compression #6674 [
@npjg
]- Decode JPEG compressed BLP1 data in original mode #6678 [
@radarhere
]- pylint warnings #6659 [
@marksmayo
]- Added GPS TIFF tag info #6661 [
@radarhere
]- Added conversion between RGB/RGBA/RGBX and LAB #6647 [
@radarhere
]- Do not attempt normalization if mode is already normal #6644 [
@radarhere
]- Fixed seeking to an L frame in a GIF #6576 [
@radarhere
]- Consider all frames when selecting mode for PNG save_all #6610 [
@radarhere
]- Don't reassign crc on ChunkStream close #6627 [
@radarhere
]- Raise a warning if NumPy failed to raise an error during conversion #6594 [
@radarhere
]- Only read a maximum of 100 bytes at a time in IMT header #6623 [
@radarhere
]- Show all frames in ImageShow #6611 [
@radarhere
]- Allow FLI palette chunk to not be first #6626 [
@radarhere
]- If first GIF frame has transparency for RGB_ALWAYS loading strategy, use RGBA mode #6592 [
@radarhere
]- Round box position to integer when pasting embedded color #6517 [
@radarhere
]- Removed EXIF prefix when saving WebP #6582 [
@radarhere
]- Pad IM palette to 768 bytes when saving #6579 [
@radarhere
]- Added DDS BC6H reading #6449 [
@ShadelessFox
]- Added support for opening WhiteIsZero 16-bit integer TIFF images #6642 [
@JayWiz
]- Raise an error when allocating translucent color to RGB palette #6654 [
@jsbueno
]- Moved mode check outside of loops #6650 [
@radarhere
]- Added reading of TIFF child images #6569 [
@radarhere
]- Improved ImageOps palette handling #6596 [
@PososikTeam
]- Defer parsing of palette into colors #6567 [
@radarhere
]- Apply transparency to P images in ImageTk.PhotoImage #6559 [
@radarhere
]- Use rounding in ImageOps contain() and pad() #6522 [
@bibinhashley
]- Fixed GIF remapping to palette with duplicate entries #6548 [
@radarhere
]- Allow remap_palette() to return an image with less than 256 palette entries #6543 [
@radarhere
]- Corrected BMP and TGA palette size when saving #6500 [
@radarhere
]
... (truncated)
Sourced from pillow's changelog.
9.3.0 (2022-10-29)
Limit SAMPLESPERPIXEL to avoid runtime DOS #6700 [wiredfool]
Initialize libtiff buffer when saving #6699 [radarhere]
Inline fname2char to fix memory leak #6329 [nulano]
Fix memory leaks related to text features #6330 [nulano]
Use double quotes for version check on old CPython on Windows #6695 [hugovk]
Remove backup implementation of Round for Windows platforms #6693 [cgohlke]
Fixed set_variation_by_name offset #6445 [radarhere]
Fix malloc in _imagingft.c:font_setvaraxes #6690 [cgohlke]
Release Python GIL when converting images using matrix operations #6418 [hmaarrfk]
Added ExifTags enums #6630 [radarhere]
Do not modify previous frame when calculating delta in PNG #6683 [radarhere]
Added support for reading BMP images with RLE4 compression #6674 [npjg, radarhere]
Decode JPEG compressed BLP1 data in original mode #6678 [radarhere]
Added GPS TIFF tag info #6661 [radarhere]
Added conversion between RGB/RGBA/RGBX and LAB #6647 [radarhere]
Do not attempt normalization if mode is already normal #6644 [radarhere]
... (truncated)
d594f4c
Update CHANGES.rst [ci skip]909dc64
9.3.0 version bump1a51ce7
Merge pull request #6699 from hugovk/security-libtiff_buffer2444cdd
Merge pull request #6700 from hugovk/security-samples_per_pixel-sec744f455
Added release notes0846bfa
Add to release notes799a6a0
Fix linting00b25fd
Hide UserWarning in logs05b175e
Tighter test case13f2c5a
Prevent DOS with large SAMPLESPERPIXEL in Tiff IFDDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps loader-utils from 1.4.0 to 1.4.2.
Sourced from loader-utils's releases.
v1.4.2
1.4.2 (2022-11-11)
Bug Fixes
v1.4.1
1.4.1 (2022-11-07)
Bug Fixes
Sourced from loader-utils's changelog.
1.4.2 (2022-11-11)
Bug Fixes
1.4.1 (2022-11-07)
Bug Fixes
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
jigsaw-puzzle web-game multiplayer side-project browser-game lit-html chill flask