Two-factor authentication

1.34 Two-factor authentication tests and theme fonts on the marketplace

Dear Kanka users, today we release a smaller update before focusing on the result of our latest community vote. In a nutshell, we are introducing two-factor authentication for Wyverns and Elementals, support for font rules in marketplace themes, and more.

Two-factor authentication

Wyverns and Elementals can now activate two-factor authentication in their account settings. Rather than requiring an email or SMS, two-factor authentication works in combination with an authentication app. You can find out more about how to set everything up in the Kanka docs.

We wanted a smaller initial rollout of 2FA is to give us time to figure out the kinks. As with everything new, we expect unforeseen problems, and we want to ensure that we have adequate solutions before opening the flood gates.

two-factor authentication initial setup

Marketplace themes

A long-standing source of annoyance was the way fonts work in the marketplace themes. Starting today, each theme has a new fonts section that allows our artisans to define the @import rules for their styles. This removes the requirement of setting custom font rules on individual campaigns.

Map ruler is back!

We previously tried to release a way to measure the distance between two points on a map with version 1.32, but had to remove it after several users made us aware that our math was way off. It works the same way as before! When editing a map, the settings tab contains a block to input measurement units and distance.

map ruler setup

Now, when viewing a map which has a distance measurement, a ruler icon is available on the top right. Clicking it activates it, and allows you to see the distance between two points.

Map ruler rendering

Other improvements

Quests get two new advanced filters: Entity and Role. This allows you to search for quests that have these entities or roles in their elements.

quest elements advanced filter

On the dashboard, you can now control the text header widget‘s size, from H1 to H6. New and existing headers default to H3 as they already did when rendering.

text header widget size

In a campaign’s relations management interface, a new option to “unmirror” actions is available in the bulk-editing interface. When selected, this will unmirror (aka unlink) the selected relations.

Bulk unmirror relations

When the quick creator is open and focused on the entity-type selection screen, pressing ESC on the keyboard now closes the quick creator.

The campaign actions “leave campaign” and “delete campaign” are now always visible, with a popup explaining what is stopping you from going through with your action, and how to fix it.

campaign deletion error

The same campaign deletion confirmation popup now also requires a text area to be filled out with delete to successfully delete a campaign. This is to avoid your campaign being accidentally deleted when your phone ends up in the hands of a toddler πŸ˜‰

When copying an entity, the new entity’s image will copy the original entity’s custom uploaded image.

Summernote improvements

This update includes a new context menu when clicking on an image, allowing you to float it in the code, and resize images faster. This is one less action that needs to be edited in the source mode. When an image is floating, it gets the new note-float-left or note-float-right CSS class. We look forward to some new plugins targeting this in the marketplace.

summernote image context

Also in the text editor, the caption and figcaption HTML elements are now whitelisted and kept when saving.

Mobile drag and drop

Drag and drop should now work for the 35% of our users using Kanka on a mobile phone! This was possible by replacing some old third party libraries with more recent ones. As an added bonus, the new library makes drag and drop less of a painful experience on desktop, and makes reordering new elements of a calendar’s setup (months, moons, seasons, etc) possible.

On the topic of drag and drop, the timeline interface now works slightly differently. This means that it is no longer possible to drag and drop elements when viewing a timeline, as most elements were larger than the screen, making it very clunky. Instead, the timeline’s “reorder” subpage now supports both reordering eras and timelines with drag and drop. This interface is only available to users who can edit the timeline.


A new permissions/test API endpoint now exists to test multiple permissions at a time for multiple users.

The various endpoints related to specific entities now return a new urls array, containing the entity’s Kanka URL, as well as their API GET URL.

Code cleanup

A certain amount of time (okay, quite a lot of time) was invested this update to cleanup old code, remove old dependencies, and update the underlying framework of Kanka. In technical terms, all our servers are now running PHP 8.1 and Laravel 9. A lot of old dependencies are no longer in the project’s source, or now run an up to date version. This results in faster and a less buggy experience for Kanka users.

Bug fixes

When viewing an organisation’s members, the members were missing their location.

The expand all and collapse all posts when viewing an entity should now always work.

When viewing a quest or journal with a calendar date, the page no longer crashes if the calendar isn’t visible to the user.

Fixed a bug where an attribute referencing itself would cause the page to crash πŸ™‚

The campaign’s item list now respects the campaign’s default nested setting.

And lastly, when viewing the abilities of an entity, the ability’s position is now always taken into account.

That’s it for this update! If you missed the previous one, you can read it here. If you want to see what we’ll be working on next, see the results of the community vote.

As always, thank you to our amazing subscribers who make these frequent updates possible. Come join us and our community on our Discord server!

Photo by Dan Nelson on Unsplash

5 Replies to “1.34 Two-factor authentication tests and theme fonts on the marketplace”

  1. The map ruler is greatly appreciated! This will be incredibly helpful for my players.
    Currently the field to accept a map scale factor (the “distance measurement” field) only accepts a value with up to two decimal places. To calibrate one of my maps to their true distances, I can’t get enough precision with just two decimal places (the map is of a very large area.) Can the precision of that field be increased at least a couple decimal places? Thanks!

  2. Not sure if this is the best place to post a bug report, but it looks like sub-abilities are listed twice under a character.

  3. I’m getting “Infinity Miles” when trying to use the map ruler after setting the distance measurement to 0.0041. Is there something else I need to do?

Leave a Reply

Your email address will not be published. Required fields are marked *