Developer update for 2021 January

Dev Update Jan 2021

Greetings PaperDemons! In the interest of transparency, every quarter I post a developer update to keep you informed on bug fixes, feature releases, and upcoming development plans. This blog post includes changes since the last developer update.

By the way, I'm sorry it's been 6 months since the last one! I usually try to do one of these every 3 months. I'll try to do them more frequently so we don't have a giant list of things to go over every time.

A LOT of code updates have happened in the last 6 months. As of the writing of this blog post, we've had 18 releases since the July update blog post and we are currently on release v18.2.0.

New Features

A lot of new features for partnered Art RPGs have been released. Members who are participating in the PaperDemon Art RPG will also soon benefit from some of these new tools as it will make it easier for members to understand their status.

Item bank

Late last year we launched a new item inventory system for our partnered Art RPGs. It allows Art RPG admins to track all of their various items and how many they have available and list information about the items. Our partners, Dracostryx and Dragons of Aquella, are still getting their items populated but once they have everything setup, it should make it much easier for players to browse and learn about items.

Partnered Art RPG feature: Item bank

Item Shop

An extenion of the item bank, the item shop surfaces the items which are specifically available for purchase with virtual currencies.

Once our partners setup their stores, players can use their virtual currencies to automatically purchase items from the store without having to wait for an admin to take action.

Partnered Art RPG feature: Item shop

Players can view an item and purchase items self service style with virtual currency they have, saving Art RPG admins a tremendous amount of time.

Partnered Art RPG feature: Item detail. A buy button is present where players can self-serve purchase items.

Player Item inventory

For players of partnered ARPGs, your items are now or will soon be displayed on the new “Items” tab on your profile. Our goal here was to make it easier for players to know what items they have and learn more information about those items by clicking on them. It also makes it much easier for Art RPG admins to track player inventories, a task which can be overwhelming, especially for games with a lot of items.

Partnered Art RPG feature: Player inventory
  • Admins of partnered ARPGs can transfer items into/out of player inventories.

  • Transfering items to/from a player also creates reciepts to make referencing and searching through previous transactions easier.

  • Once the character database feature is launched, players will also be able to transfer items from their inventory to their characters without involving an admin.

Participants in the PaperDemon Art RPG should see their gold transferred from the spreadsheet gold bank over to their item inventory by end of February. Some of you may already have some achievements listed in your items tab. We'll also be launching some new game items for the PDARPG over the next couple months.

Marketing Landing page

In an effort to help grow our community, I've put together a marketing landing page that explains the PaperDemon Art RPG. The “How it works” button on our homepage now links to this new page and we're also pointing paid advertisements to it. This can also be a great thing to point your friends to if you're trying to convince them to join our community.

If you have any feedback on how this could be improved, please reply to this post!

Other notable upgrades and feature additions

  • You can now edit art and blog comments

  • A new UI for groups. Art RPG related content appears here now such as items. We'll be moving more content like characters and queue management to the groups UI as well. We've also cleaned it up and removed dead features.

  • Comment permalinks now show the parent comment and replies

  • Forms for Dragons of Aquella and PDARPG are prepopulated to make it easier to submit your submission to the queue.

  • Group leaders can now add/remove members of a group.

  • We made major upgrades to our queues system to make it more useful for partnered Art RPG admins.

  • We added an edit html mode when using the rich text editor in pages under /app/ (such as editing a group, item descriptions, profiles, moderator flag notes, moderator flag PMs)

  • We added support for [thumb] codes in art descriptions, blog posts, and art and blog comments allowing you to display a thumbnail of your artwork in more places. This is handy for Art RPG operations as well.

Want to know what else changed? See the “Change Log” further down in this document. A lot of bugs were squashed.

What's coming

I have a lot planned for 2021 and this article is already stupid long so I'm going to cover this in a separate article.

Want to follow these updates more closely?

I share information about every release as it occurs in the PaperDemon discord server. Join the discord server and click the white wing in the #rules-and-info channel to enable update notifications.

Change log


Includes critical fixes for editing html in quill editor.

69eccb2 ⭐ feat (flags) pre-populate arpg forms

a562bf5 🐛 fix (game-items) validate proof link

f77ac73 🐛 fix (game-items) fix items api

a750adc 🐛 fix (flags) fix edit html

63643a4 ⭐ feat (game-characters) get offspring and history json api

2dbfd5e ⭐ feat (game-characters) get characters json api

6e359e1 ✅ test (groups) fix broken js tests

8b41fab ⭐ feat (comments) edit comments ui

873db38 🐛 fix (comments) prevent editing of hidden comments

1df2d5d 🐛 fix (art) console error in view art page

5baa0c2 ⭐ feat (comments) backend code to edit comments


Launch marketing landing page

2750137 🍱 assets (marketing) create landing page to market pdarpg

0c78f2d 🍱 assets (age-gate) change terminology to more inclusive

8d4bbb9 🐛 fix (forums) display user who last edited a forum post

f7b4d08 ⭐ feat (groups) leaders can now add/remove members


d30b0b6 ✅ test (app) fix misc broken tests

0f17824 🍱 assets (pages) add Horizons to directory, update DOA link

89b6ec3 🍱 assets (pages) add Eláfkeria ARPG to directory

e7f8522 🐛 fix (art) dont lose comma when saving tags

b97556c 🐛 fix (art) work with 3MB+ pngs and other large images

93095a8 🐛 fix (pms) inform user why messages wont go through to closed accts

71c9aff 🐛 fix (art) view pages other than page 1 of favorites

1a47bc2 🐛 fix (art) can't set flag or moderate if image broken

2d39eac 🐛 fix (app) redirect via js if www missing

b22f709 🐛 fix (comics) delete comic

6209943 🐛 fix (errors) add missing error handler templates

e050074 ⭐ feat (groups,profile) edit html for items, group info, profile

5aca3cc ⭐ feat (flags) edit html for mod notes

164617c ⭐ feat (flags) edit html for text for private message

b0a1348 ⭐ feat (game-characters) import csv service

8eeb0d4 ✅ test (game-auth) fix tests

28a57bd ⭐ feat (game-characters) edit player notes

d228ae6 ⭐ feat (game-character) service edit character, character image

7561de5 ⭐ feat (game-character) implement owner and game owner checks

4ce9ab3 🐛 fix (art) blank art page due to missing collection item

aa395a1 ⭐ feat (game-characters) add character, search history

b04b1a4 ⭐ feat (game-characters) construct ancestry/lineage trees data

366ec89 ⭐ feat (game-characters) define history tracking model

3cfb2a4 ⭐ feat (game-characters) define game data schemas

d8410e3 ⭐ feat (game-characters) define shape of json data

9966b1d ⭐ feat (game-characters) character model


68413f5 🐛 fix (game-items) allow removal of buy/sell row without adding a currency

1be8d67 👗 ui (game-items) display player currency in black

feca2a9 ⭐ feat (game-items) allow players to purchase items

96d1823 👗 ui (game-items) make player's currency visible across group

29ce1fc ⭐ feat (game-items) add game shop

66f1485 ⭐ feat (game-items) mod initiated player to player item transfers

1d5f49e 🔨 refactor (user) user search component use autocomplete

89f80c7 🐛 fix (news,forums) get to second page of news discussion thread


23633d4 🐛 fix (pms) utf8 support in private messages

4e65f61 🐛 fix (framework,profile,art) encoding bugs in rich text

72da685 🐛 fix (profile) allow bold/italics on lvl 1 profiles

cda6f65 ⭐ feat (game-items) mod transfer items to/from player

dab0fc8 🐛 fix (game-items) create transfer save proof link and notes

f2dca1c 🔨 refactor (game-items) use autocomplete component for item search

23f3f94 👗 ui (game-items) transaction show date, proof link, print button

3cc699a 🔨 refactor (global-components) auto complete ui component

31378a6 🔥 prune (app) remove unused lodash package, package-lock.json

23c6cd1 🐛 fix (game-items) fix error for players with no items

bfbd383 ⭐ feat (game-items) list and search transactions

4e30311 ⭐ feat (game-items) show transactions by who initiated them

9cb5a9c ⭐ feat (game-items) permalink to view transaction

410b0c6 🐛 fix (game-items) add missing ctrl to api surface

d0705f2 ⭐ feat (game-items) get group and user info with transaction

6a003aa ⭐ feat (game-items) display player inventory items

60a4dec 🔨 refactor (game-items) item order, include group info


459f4ec ⭐ feat (game-items) apis for inventory, transactions

998a149 ⭐ feat (app) improve analytics tracking, add conversion tracking

14a625f ⭐ feat (game-items) data generator for items

131ae7b ⭐ feat (game-items) update install script to install new tables

0c4adf8 🔨 refactor (game-items) simplify transaction model

9213894 ⭐ feat (game-items) inventory and transaction models, services

4dc87e0 🐛 fix (groups) proxy error

fa6af04 ⭐ feat (app) nofollow on saved html, nofollow on handles

d8c9d8e 👽 compat (app) Angular 7 --> 8

5202c70 🐛 fix (game-items) import and delete improvements


fac0c18 🐛 fix (game-items) more compile errors

4b0bb2e 🐛 fix (groups) compile errors


d66c57a 🔥 prune (flags) stop setting flags when submission edited

e37caf2 ⭐ feat (game-items) filter ui

30bcc89 ⭐ feat (items) csv import and delete ui

8527800 🐛 fix (groups) list current groups after join group

8c978d3 ⭐ feat (game-items) view and manage items ui

ecf31fd ⭐ feat (groups) group link in nav, list my groups

119062c 🔥 prune (groups) old groups frontend/backend

8517592 🔨 refactor (groups) join/leave group frontend

f67f81a 🔨 refactor (groups) join/leave group backend

e2339ba 🔨 refactor (groups) add edit ui

b08fe7e 🔨 refactor (groups) replace front end for groups

a24721b 🔨 refactor (groups) implement api ctrls

70b8764 🔨 refactor (groups) implement new service backend

6e820ad 🍱 content (flags) add new PDARPG queue for other character art

6797dca 🐛 fix (art,blogs,profile) broader user text formatting support

05b4bd9 ⭐ feat (game-items) track new items

55a50fa 📝 docs (bash) update git post-receive hook sample for node v10


a0b2af5 👽 compat (app) Angular v6.1 --> v7.2

39c9b61 👽 compat (app) rxjs 5 to 6 compatibility

6c54962 ⭐ feat (game-items) json ctrl api

1faa678 ⭐ feat (game-auth) game auth service

d028b82 ⭐ feat (game) game auth model

46c3352 ⭐ feat (game) support tags with csv import

216e740 ⭐ feat (game) get item collection

1879f4f ⭐ feat (game) import items via csv

f9f6f59 ⭐ feat (game) item images

4ce7d0b 🔨 refactor (tags) component constants

aff51c9 🔨 refactor (game) item bank service and model

b922bfb ⭐ feat (game) item bank service

55e30bf ⭐ feat (game) item bank data models


ea53a49 🔥 prune (groups) remove unused groups features

44d7ef5 🔨 refactor (game-player) rename character to player

1fc9516 ⭐ feat (blogs) support thumb codes in art description

db7fa51 ⭐ feat (blogs) support thumb codes in blog posts

c7666a1 👗 ui (flags) have filters not checked by default

c81647a 🔨 refactor (comics) delete comic in new backend

a4a18a7 🔨 refactor (writing) delete writing in new backend

fb9046c 🔨 refactor (art) delete art in new backend

2f095f6 🔨 refactor (flags) move from flag to flagState

e13e5fb 🔨 refactor (flags) move from medium to entryType

8f0ef49 🔥 prune (flags) delete legacy flag files

0785328 🔨 refactor (framework) controller error handling

df1a1ab 🔨 refactor (flags) migrate page view all flags set by user


cc949eb 📝 docs (project) delete all docs and move them to the github wiki

7981037 🔥 prune (profile) remove skins feature

04077e0 🔨 refactor (flags) migrate report page to new front end/backend

cee8222 👗 ui (flags) update set flag/view history to new page

9e25f8c 👗 ui (flags) indicate medium in flag panel

5f90eac ⭐ feat (flags) page for viewing flag history

6d766e7 ⭐ feat (comments) show parent and replies in permalink

5014b91 🍱 assets (pages) add 2 new arpgs to directory

9b16baa ⭐ feat (comments) support art thumb codes


495edbf 🔨 refactor (project) read only mode, add to new app

4a98918 🐛 fix (flags) send email when entry added to arpg queue


5c13a2c 🐛 fix (flags) queue pagination, setting flag on deleted submission


cb22837 ⭐ feat (flags) add link to new queue from mod tools page

fca5e73 ⭐ feat (blogs) allow any contributor to edit a post

8be61e7 👗 ui (blogs) make tables more presentable in blogs

1768766 (fix/flags-query) 🐛 fix (flags) selection get only most recent flag

b768682 🐛 fix (flags) broken images in email notices, tests

1fb8308 🔨 refactor (flags) create new angular ui for flag queue page

9d9aa22 🐛 fix (global-components) dynamically generated ids in tabset

dad65d9 ⭐ feat (ui-components) add tabs


304e059 🍱 assets (rules) mature content rule changes

240d7db 🍱 assets (pages) add ARPG directory

243a398 🐛 fix (flags) default pm message submission links writing, comics

8e774cf ⭐ feat (flags) email new flags

(8e774cf) 🐛 fix (flags) legacy flags was not sending flags to the mailing list

45c3942 ⭐ feat (flags) json api for setting flags

1360ea8 ⭐ feat (flags) json api for flag history

8eff381 ⭐ feat (flags) json api for getting flag queue and flags by user

c820358 ⭐ feat (flags) service method to get flag queue

a8a6a88 🍱 assets (comics) how to submit comics move to wiki


d1fb490 🔒 security (blogs) remove support for iframe tags

62f0686 🐛 fix (flags) set flags comics, writing

96a3eab 🔨 refactor (user) jr mod premium access

2f19e77 ⭐ feat (comments) paginate comments

b6b113d 🐇 perf (framework) only get session info when needed

858622b ⭐ feat (user) eula notice

70f16ca 🔥 prune (user) ranks and points


aacd14c 🐛 fix (blogs) urls not working for guest blog posts


0f3feeb ✅ test (game-character) fix tests from previous commit

7c238d0 ⭐ feat (game-character) show character on profile

4ca039f 👗 ui (flags) improve add to queue page