Skip to content

Commit

Permalink
Merge branch 'release/2022.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
Kruptein committed Jun 12, 2022
2 parents 9129e59 + e210939 commit 296ed64
Show file tree
Hide file tree
Showing 217 changed files with 4,502 additions and 3,399 deletions.
4 changes: 2 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
PYTHONPATH=./server
MYPYPATH=./server
PYTHONPATH=./server/src
MYPYPATH=./server/src
7 changes: 6 additions & 1 deletion .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
on: pull_request
name: PR
jobs:
PR_flow:
CLIENT:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
Expand All @@ -25,3 +25,8 @@ jobs:
working-directory: client
run: |
npm run build:ci
SERVER:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: psf/black@stable
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ client/node_modules/**
admin-client/node_modules/**

# PlanarAlly
server/planarallyserver.log
server/planarallyserver.log*
server/planar.save*
server/*.sqlite*
server/save_backups
Expand All @@ -38,6 +38,7 @@ server/static/img/assets/**
server/static/vite/**
server/static/vite-admin/**
server/templates/**
server/static/temp/**

# docs
docs/_build
Expand Down
1 change: 1 addition & 0 deletions .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sonar.python.version=3
63 changes: 60 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,69 @@

All notable changes to this project will be documented in this file.

[DM] denotes changes only useful for the dungeon master
[tech]/[server] denotes technical changes or changes specifically for the server owner.
These usually have no immediately visible impact on regular users
[DM] denotes changes only useful for the dungeon master\
[server] denotes changes only useful for the server owner\
[tech] denotes internal changes that are only useful for code contributors\
tech changes will usually be stripped from release notes for the public

## Unreleased

## [2022.2] - 2022-06-12

### Added

- Colour picker now remembers the last 20 used colours for each user.
- [DM] Export all campaigns endpoint
- [DM] UI export campaign option in room details
- [DM] Import campaign support
- Can import older saves (if the migration code is still available (i.e. < 1 year old))

### Changed

- Add white outline to the door logic (un)lock icons
- Door logic can now specify which block settings to toggle
- Add double stroke to client viewport
- Show campaign loading animation earlier (in dashboard)
- Defeat cross now scales better with shape size
- Shape badge now scales better with shape size
- Show default "no" button in delete/leave campaign prompt
- Default location zoom level is now 0.2 instead of 1.0
- [server] Added log rotation
- [server] Restructure server files
- [tech] SyncTo primitive modified to an alternative Sync structure
- [tech] Polygon can now have client-side multi-stroke
- [tech] Snappable points are calculated less often
- [tech] In-game asset list rendering
- [tech] Moved http utils to core/http file from core/utils

### Fixed

- Exporting a campaign where there are images that have no specific asset associated with them, would fail
- Exporting a campaign was not properly copying the active pan and zoom info for users
- ExtraSettings svg section not updating immediately until changing tabs
- ExtraSettings remove svg not properly working
- ExtraSettings add svg not working for shapes with no prior svg properties
- Spawn locations loading wrong
- Teleport zones triggering from other floors
- Draw tool door permissions not saving
- Door logic toggle not immediately updating UI when shape properties are open
- Logic init edge cases breaking UI until refresh
- Redo logic on resize operation not remembering correct location when it was snapped
- Asset Manager correctly updates UI when using browser back/forward buttons
- Clear client viewports when changing location
- Dashboard navigation headers sometimes being wrongly styled
- Modal handling on firefox
- Colour picker resetting saturation panel to red when clicking
- Colour picker resetting opacity when setting hsv color
- Drawtool trying to add shape creation operation to undo stack when the shape was not valid
- Points modified by the polygon edit UI are not snappable until a refresh
- Logic Permission selector showing error in edgecase
- Asset socket was not cleaning up past connections
- Auras that are light sources, no longer appear as a black circle of doom when FOW is not turned on
- Undo/Redo not persisting to server for movement and rotation
- [server] Admin client was not built in docker
- [tech] Ensure router.push calls are always awaited

## [2022.1] - 2022-04-25

For server owners using a subpath, some important changes are made, so make sure to check the changed section before upgrading
Expand Down
19 changes: 16 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,31 @@
################################
FROM node:16-alpine as BUILDER

WORKDIR /usr/src/client

# Install additional dependencies
RUN apk add --no-cache python3 make g++

WORKDIR /usr/src/admin-client

# Copy first package.json so changes in code dont require to reinstall all npm modules
COPY admin-client/package.json admin-client/package-lock.json ./
RUN npm i

WORKDIR /usr/src/client

# Copy first package.json so changes in code dont require to reinstall all npm modules
COPY client/package.json client/package-lock.json ./
RUN npm i

ARG PA_BASEPATH="/"

COPY . /usr/src

WORKDIR /usr/src/admin-client

RUN npm run build

WORKDIR /usr/src/client

RUN npm run build

# Added here to avoid an extra layer in the final stage
Expand Down Expand Up @@ -56,4 +69,4 @@ ARG PA_BASEPATH="/"
ENV PA_BASEPATH=$PA_BASEPATH

ENTRYPOINT ["/usr/bin/dumb-init", "--"]
CMD [ "python", "-u", "planarserver.py"]
CMD [ "python", "-u", "src/planarserver.py"]
36 changes: 27 additions & 9 deletions Dockerfiles/server_config_docker.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,30 @@ ssl_privkey = cert/privkey.pem

# Allowed CORS origins
# If not specified, only the host runnig the server is allowed
# Allowed values are: ['*'], ['some-address.xyz', 'other-address.xyz'], []
# More information on the meaning of these values can be found at
# https://python-socketio.readthedocs.io/en/latest/api.html#asyncserver-class
# cors_allowed_origins = ['*']
# This value is passed to the socketio server:
# https://python-socketio.readthedocs.io/en/latest/api.html#asyncserver-class
# IMPORTANT TO NOTE HOWEVER is that this config file already interprets strings by default
# and you thus do not have to add extra ''.
# e.g. to allow cors on all simply write * and NOT '*'
# If you want to pass lists, check the information on python configparser's module to see how you should write it here
# cors_allowed_origins = *

# This limits the maximum size a single request to the server can be.
# This does _not_ limit the maximum size of assets.
# Campaign uploads will be chunked by the client according to this setting.
# Assets are currently sent in a chunked fashion over a websocket, so this is not relevant for them yet.
# Defaults to 10 * 1024 ** 2 = 10 MB
max_upload_size_in_bytes = 10_485_760

[General]
save_file = data/planar.sqlite
#public_name =

# These settings are used for log rotating,
# see https://docs.python.org/3/library/logging.handlers.html#logging.handlers.RotatingFileHandler for details
max_log_size_in_bytes = 2000
max_log_backups = 5

allow_signups = true

[APIserver]
Expand All @@ -32,7 +47,7 @@ enabled = false

# You can choose to use a HOST:PORT connection or a socket file to listen on
# If you specifiy a socket, it will be used instead of the HTTP:PORT connection
host = localhost
host = 127.0.0.1
port = 8001
# socket = /tmp/planarally.sock

Expand All @@ -44,7 +59,10 @@ ssl_privkey = cert/privkey.pem

# Allowed CORS origins
# If not specified, only the host runnig the server is allowed
# Allowed values are: ['*'], ['some-address.xyz', 'other-address.xyz'], []
# More information on the meaning of these values can be found at
# https://python-socketio.readthedocs.io/en/latest/api.html#asyncserver-class
# cors_allowed_origins = ['*']
# This value is passed to the socketio server:
# https://python-socketio.readthedocs.io/en/latest/api.html#asyncserver-class
# IMPORTANT TO NOTE HOWEVER is that this config file already interprets strings by default
# and you thus do not have to add extra ''.
# e.g. to allow cors on all simply write * and NOT '*'
# If you want to pass lists, check the information on python configparser's module to see how you should write it here
# cors_allowed_origins = *
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<p align="center"><a href="https://planarally.io" target="_blank" rel="noopener noreferrer"><img width="200" src="https://planarally.io/assets/general/Logo_with_background.png" alt="PlanarAlly logo"></a></p>
<p align="center"><a href="https://planarally.io" target="_blank" rel="noopener noreferrer"><img width="200" src="https://www.planarally.io/logos/pa-logo-background.svg" alt="PlanarAlly logo"></a></p>

<p align="center">
<a href="https://github.com/Kruptein/PlanarAlly/releases"><img src="https://img.shields.io/github/downloads/kruptein/planarally/total.svg" alt="Downloads"></a>
Expand Down
2 changes: 1 addition & 1 deletion admin-client/src/components/TokenLogin.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ async function submit(): Promise<void> {
if (data.status === 200) {
error.value = "";
set_access_token(button.value);
router.push((route.query.redirect as string) ?? "/users");
await router.push((route.query.redirect as string) ?? "/users");
} else {
error.value = "AUTHENTICATION FAILED";
}
Expand Down
1 change: 1 addition & 0 deletions client/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ module.exports = {
"no-empty-function": "off",
"no-unused-vars": "off",
"prettier/prettier": [process.env.CI === undefined ? 1 : 2],
"vue/multi-word-component-names": "off",
},
overrides: [
{
Expand Down
Loading

0 comments on commit 296ed64

Please sign in to comment.