Skip to content

Releases: givepraise/praise

v0.13.1

20 Jan 22:02
c9dc54d
Compare
Choose a tag to compare

This release primarily fixes a few small but annoying bugs related to users, usernames and account activation.

Fixed

  • API: Fixed bug that prevented user activation and gave new users wrong usernames
  • Frontend: Clicking on user popover should take you to the user page #686
  • API: Fixing some export issues due to changes in how the export transformer work because of the change to ses-node-json-transform for evalutaing untrusted code. #685
  • Frontend: Praise sort should be dark in dark mode #688
  • Frontend: Export dropdown gets squeezed when "close period" button is visible #684 #687

Changed

  • Frontend: Better handling of relative dates #720
  • Devops: Added docker-compose installation script and modified scripts #754
  • Devops: Allow mongodb port number to be configurable in .env #760
  • Devops: Enhanced the multi-setup scripts #761

v0.13.0

21 Nov 11:08
19a1436
Compare
Choose a tag to compare

Added

User pages

The most notable addition this version are User pages including all praise sent and received, score summaries and various other stats. In an upcoming version, these pages can be made public – no dashboard login required. #633

image

Edit user profile

Users can now edit some profile information.

  • Username – This name is the display name used throughout the Praise dashboard.
  • Rewards Address – The introduction of the rewards address means that we now store two Ethereum addresses for each user. The identity address is set on first login and cannot be changed. The rewards address is used for token rewards and can be changed by the user. Default value of the rewards address is the identity address. #633

image

Default setting values

Most settings have now been given default values. To reset a setting to its default value, click the "Reset to default" button that appears next to the setting header. #580 #613

image

More additions

  • API: Transformer option to include/exclude header row in csv exports #614 #622
  • Frontend: Period page now lists number of praise in the period #651

Changed

  • API: Export transformers was using safeEval which has a critical sandbox escape issue. The code using safeEval has been removed and replaced with a hardened transformer using SES.ses-node-json-transform. #622
  • Discord-bot: Updated the bot to use the new discord.js version 14 #619
  • Discord-bot: Minor refactors to make code easier to read #619
  • Frontend: The settings pages have been reorganised slightly and given section descriptions with links to documentation. #586 #631
  • API: Increases the number of quantifier assignment attempts from 3 to 5. Note that under some circumstances the algorithm cannot assign quantifiers and uphold the rules defined in the settings. The solution is then to change the assignment parameterd, for example by adding an additional quantifier. #644
  • Frontend: Moved settings checkbox to be inline with description instead of under it. #635
  • API: CSV header fields are now lower case to avoid issues with some distribution services #639
  • Frontend: Upgraded RainbowKit and Wagmi versions to improve login experience. Login should now be more reliable. Tested with MetaMask in browser, mobile MetaMask and Ledger. #674
  • Frontend: The Users page is now accessible to all users. #655
  • Devops: Upgraded Node version to 16.17.1 to fix security vulnerabilities #667
  • Devops: Upgraded Node version to 16.18.1 to fix security vulnerabilities #640

Fixed

  • Devops: database-restore.sh did not work under certain circumstances. Script have now been upgraded.
  • API: Bug causing period praise counting to return the total number of praises instead of the number of praise for the period. #622
  • Discord-bot: Praising does not work in threads #524 #619
  • Frontend: Fixed a bug causing checkbox settings to be saved even if the user did not change the value. #629 #632
  • API: Image upload should only accept jpg and png files #653 #636
  • Frontend: Prevent custom export settings from loading when user is not admin #656 #628
  • API: Add check when reassigning quantifiers: Replacement quantifier cannot be assigned to quantify their own received praise. #681
  • Devops: GitHub actions upgraded #659
  • API: Upgraded various dependencies - mongoose, mongoose-paginate-ts, mocha, nodemon - to fix security vulnerabilities #654

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.12.2

28 Sep 18:46
7a8c1dc
Compare
Choose a tag to compare

Added

  • Devops: Setup script now uses a prebuilt Docker image to speed up setup process. #575 #606
  • Devops: Merged project .env files into a single root file to simplify for automated setup #591

Fixed

  • API: Quantify endpoint now disallows any scores that are not in the configured range #608 #610
  • Frontend: Praise logo in dashboard is now linked again, taking user to start page #609 #611

Upgrade Instructions

Because of changes to the .env file structure, you need to rerun the setup script after pulling
changes from GitHub.

  1. git pull
  2. bash setup.sh
  3. bash upgrade.sh

v0.12.1

27 Sep 09:58
93f019e
Compare
Choose a tag to compare

A minor release to fix some bugs related to image uploading.

Fixed

  • Better handling of uploaded logo images. Image uploads are now stored outside of the Docker container. This means that the logo image will persist across container restarts and upgrades. #564 #604
  • Better support for serving Praise over http on localhost. No manual edits of .env needed, all settings are managed by setup.sh. #577 #604

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.12.0

26 Sep 13:16
8ee2cd5
Compare
Choose a tag to compare

Notable addition: Custom exports

Many communities want to reward contributors and turn the Praise score into a token distribution. Distribution needs range from ERC-20 token payouts to POAP deliveries to reputation tokens. To create these custom distributions, communities have had to resort to standalone tools such as RAD or plain old spreadsheets.

With this version, Praise introduces custom exports integrated with the Praise Dashboard. The functionality is represents a first iteration of what we hope to later upgrade into a more elaborate set of integrations with external tools and platforms. This version supports some basic calculations / transformations and context parameters.

Below is a short summary of the functionality, see givepraise.xyz for full documentation.

  1. Create a transformation map:
  "name": "Aragon Fixed Budget",
  "map": {
    "item": {
      "address": "ethereumAddress",
      "amount": "scoreRealized",
      "tokenName": ""
    },
    "operate": [
      {
        "run": "(item.amount / totalPraiseScore) * budget",
        "on": "amount"
      }
    ],
    "each": "(function each(item, context) { item.tokenName = context.token; return item; })(item, context)"
  },
  "context": {
    "budget": "number",
    "token": "string"
  },
  "filterColumn": "address" 
}
  1. Configure Praise to use the map and any context parameters:

image

  1. Initiate the export from the Periods page:

image

Added

  • API: Custom praise exports using transformation maps that can perform calculations on Praise data #549 #532
  • Frontend: New items on the main navigation #596 #430
    • Give us feedback
    • Latest changes
    • Docs

Fixed

  • API: Fix/evenly assign quantifiers prevent overlap #573 #535
  • Frontend: Custom emojis get the wrong size when displayed in Praise dashboard #592
  • API: Settings are now allowed to have empty values #597
  • Frontend: Update Search Input in dark mode #594
  • Frontend: Add a replace option to NavItem to better handle subpage navigation and backlink clicks #579
  • Frontend: Fix quantifier dark mode and correct onclick behaviour #588
  • Frontend: Better darkmode looks for analytics #570
  • Frontend: Show placeholder while loading avatar image #574

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.11.2

24 Aug 15:21
7ffe7b2
Compare
Choose a tag to compare

Hotfix resolving a version string issue.

See also: v0.11.0

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.11.1

24 Aug 14:47
35c2d63
Compare
Choose a tag to compare

Hotfix resolving an issue with building Docker images for production.

See also: v0.11.0

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.11.0

24 Aug 08:18
b09bc12
Compare
Choose a tag to compare

This version among other things introduces the possibility to restrict praising to certain Discord channels as well as an analytics dashboard for quantification periods.

image

Added

  • Frontend: Period analytics - graph and stats about the current quantification period. Stats include top scored praise, top givers and receivers by number and score, quantifiers by score, quantifier scoring distribution and quantification spread. #351 #551
  • Discord Bot: New setting that allows restricting praise to certain Discord channels. #264 #452
  • Discord Bot: Message to first time praisers. The default message contains a greeting and a link to the documentation: https://givepraise.xyz/docs/writing-excellent-praise. #516
  • Frontend: Notify Administrators when there is a new version of Praise out. Adds a notification bar at the top of the screen when a new version is out. #493 #522
  • Devops: Upgraded server scripts. Now includes scripts for resetting the installation, doing backups, upgrading, etc. https://givepraise.xyz/docs/server-setup/server-scripts #531

Fixed

  • Frontend: The User page should remember state when navigating to the User detail page and back #494 #519
  • API: Added tests for quantifying multiple praise. #515
  • API: Remove statically-defined users from application seeder #500 #520
  • Discord Bot: Some praise bot messages that currently are public should be ephemeral #496 #521
  • Frontend: Recoil upgrade and overall refactor of frontend #523
  • Frontend: Improve UI of table in QuantifyPeriodPage #505 #527
  • Frontend: Refactor: Replace day picker with builtin #483 #529
  • API: Make several attempts to assign praise to quantifiers if first one fails. #497 #533
  • Frontend: Refactor UI components to reduce code duplication. #482 #536
  • Frontend: Make UI look better on small screens. #480 #546
  • Frontend: Allow header banner messages to be closed #528 #541
  • API: Re-introduces the enforcement of validation rules when creating periods. New periods must be created at least 7 days after the previous/latest period. #518 #550
  • Frontend: Upgraded Caddy, the web server that serves the frontend to v2.5.2. The upgrade amongst others resolves a minor security vulnerability.

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/server-setup/upgrade-praise

v0.10.0

02 Jul 06:39
fa146a2
Compare
Choose a tag to compare

Added

  • Admins can replace an actively assigned quantifier with another #432 #503
  • Additional test coverage for api
  • Freetext filter of quantification list #422
  • Quantify multiple items at the same time #499

Fixed

  • Seeder generates periods and praise in the past, not future
  • Remove check that was throwing an error when not all quantifiers were assigned praise and PRAISE_QUANTIFIERS_ASSIGN_ALL was enabled #492 #498
  • Codebase cleanup, documentation and refactor #509

Upgrade Instructions

See standard upgrade instructions at: https://givepraise.xyz/docs/setup/upgrade-praise

v0.9.0

21 Jun 11:37
3c30785
Compare
Choose a tag to compare

Added

  • Filter, search and sort the event log #376 #455
  • Dark mode! #420 #453
  • Export the user list as csv #402 #450
  • Option to turn on/off the Discord role requirement for Praise givers #419 #434 #440
  • Support multiple wallets: WalletConneect, Trust, Rainbow etc #424
  • Option to assign praise evenly between all quantifiers #263
  • More verbose output from the /admin announce command #317 #441
  • Option to disable self-praise (#464)

Fixed

  • Improve dapp responsiviness #190 #356
  • Opening dialog to mark praise as duplicate should place focus on input #80
  • Prevent Quantify Table from overflowing content area #458
  • Ensure human-readable praise reason is included in exported csv #467
  • Prevent unncessary import of mongoose package by frontend #466
  • Switching eth wallet should result in logging out the user #469
  • Logging out of MetaMask causes EthAccount in navigation to disappear #470
  • Changed lodash imports to single method import #486