# 3.1.0.beta7: New Discourse Lightbox, JSON Editor for theme settings, public channels toggle, and more

**URL:** https://meta.discourse.org/t/3-1-0-beta7-new-discourse-lightbox-json-editor-for-theme-settings-public-channels-toggle-and-more/272357
**Category:** Announcements
**Tags:** release-notes
**Created:** [July 28, 2023, 12:47pm UTC](https://meta.discourse.org/t/3-1-0-beta7-new-discourse-lightbox-json-editor-for-theme-settings-public-channels-toggle-and-more/272357 "2023-07-28T12:47:38Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![rishabh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rishabh/32/179446_2.png) [@rishabh](https://meta.discourse.org/u/rishabh)
#### Post date: [July 28, 2023, 12:47pm UTC](https://meta.discourse.org/t/3-1-0-beta7-new-discourse-lightbox-json-editor-for-theme-settings-public-channels-toggle-and-more/272357/1 "2023-07-28T12:47:38Z")

</div>

## New features in 3.1.0.beta7

### New Discourse Lightbox using Glimmer

 ![](https://global.discourse-cdn.com/meta/original/4X/0/2/0/020f7c047d806652424b55de25a48cad48e7e079.jpeg)

Discourse “lightboxes” uploaded images into a nice overlay that contains the full-size image and in this version, we begin to [transition from the old Magnific popup library](https://meta.discourse.org/t/migrating-away-from-magnific-popup/251505) to an implementation based on [Glimmer](https://guides.emberjs.com/release/upgrading/current-edition/glimmer-components/). To try out the improved system, check the `enable experimental lightbox` setting,

### New JSON Editor for theme and component settings

To help admins import / export / edit settings easily, we now offer a native JSON editor. For themes and components that allow further configuration, click the

 ![Screenshot 2023-07-28 at 1.18.45 PM](https://global.discourse-cdn.com/meta/original/4X/0/4/6/04689a01a4c1e786776b03576ecfcb3e7a21e1f6.png) button to open the editor.

 ![Screenshot 2023-07-28 at 1.14.39 PM](https://global.discourse-cdn.com/meta/original/4X/f/5/a/f5aacdfabf6826af71309f92d2c5a7eb070353ad.png)

### Toggle public channels in Discourse Chat

The new `enable_public_channels` site setting allows site admins to decide if public channels are available or not. If disabled, users will only be able to use Personal Chats but not channels.

 ![Screenshot 2023-07-21 at 4.12.43 PM](https://global.discourse-cdn.com/meta/original/4X/1/5/8/15815fe8ee40a6055dcd5494a0cd3963e4fe39d1.png)

## Security Updates

This release includes fixes for these security issues reported by our community and [HackerOne](https://hackerone.com/discourse).

- Don’t allow a particular site to monopolize the defer queue [CVE-2023-38498](https://github.com/discourse/discourse/security/advisories/GHSA-wv29-rm3f-4g2j)
- Hide restricted tags in noscript view [CVE-2023-386](https://github.com/discourse/discourse/security/advisories/GHSA-wx6x-q4gp-mgv5)
- Limit length of edit reason column [CVE-2023-37906](https://github.com/discourse/discourse/security/advisories/GHSA-pjv6-47x6-mx7c)
- Handle concurrent invite accepts [CVE-2023-37904](https://github.com/discourse/discourse/security/advisories/GHSA-6wj5-4ph2-c7qg)
- Impose a upper bound on limit params in various controllers [CVE-2023-38684](https://github.com/discourse/discourse/security/advisories/GHSA-ff7g-xv79-hgmf)
- Don’t reuse CSP nonce between anonymous requests [CVE-2023-37467](https://github.com/discourse/discourse/security/advisories/GHSA-gr5h-hm62-jr3j)

---

<div class="post-metadata">

### Author: ![rishabh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rishabh/32/179446_2.png) [@rishabh](https://meta.discourse.org/u/rishabh)
#### Post date: [July 28, 2023, 12:47pm UTC](https://meta.discourse.org/t/3-1-0-beta7-new-discourse-lightbox-json-editor-for-theme-settings-public-channels-toggle-and-more/272357/2 "2023-07-28T12:47:38Z")

</div>

### Even more!

But wait, there’s more! We do our best to highlight new features and changes for you, but there’s always too many changes to detail. For a full list of new features, bug fixes, UX improvements, and more, be sure to review the Additional Features and Fixes listed below.

## Plugin improvements

### discourse-ai

#### New Features

- Support for locally infered embeddings in 100 languages
- Llama2 for summarization
- Port to use claude-2 for chat bot
- Cache Related Topics for longer
- Embeddings to main db
- Claude 2 for summarization and AIHelper

#### Bug Fixes

- Use base 10 when gettings allowed group IDs from settings.
- Show related topics when scrolling long topics
- Return base prompt instead of nil
- Disable truncation and padding in all-mpnet-base-v2 tokenizer
- Rerender related topics correctly when topic changes

#### Performance

- .find\_each instead of .find to save us from memory allocation peaks

### discourse-animated-avatars

#### Bug Fixes

- Call boundAvatar() directly

### discourse-assign

#### Bug Fixes

- Missing space in assign button

### discourse-calendar

#### Bug Fixes

- Missing event user notifications

### discourse-category-experts

#### Bug Fixes

- Migration to remove “expert approved” tag from existing first posts

### discourse-client-performance

#### New Features

- Report INP target selector

### discourse-code-review

#### UX Changes

- Separate empty states on own and others’ profile pages

### discourse-data-explorer

#### Bug Fixes

- Increase z-index of th element

### discourse-docs

#### New Features

- Add local onebox handler for /docs urls

### discourse-gamification

#### New Features

- Discourse Gamification backfill scores
- Don’t award points for self-solutions in solved

#### UX Changes

- Styling tweaks to the recalculate scores modal

### discourse-post-voting

#### Bug Fixes

- Handle empty topic views

### discourse-prometheus

#### Bug Fixes

- Ensure collector loads webrick from plugin gem directory

### discourse-reactions

#### Bug Fixes

- Prevents triggering a reaction while scrolling

### discourse-templates

#### New Features

- Add support for inserting templates into chat messages

### discourse-translator

#### Bug Fixes

- Allow translation of Serbian-latin via Microsoft API

## All Features and Fixes

### New Features

- JSON editor for theme settings
- Thread pagination
- API to set combined/separated sidebar mode.
- Implement SiteSetting to Allow Anonymous Likes
- Regenerate outdated summaries.
- Ability to position switch panel buttons
- Allow sidebar section api to create external links
- New API to add panels to sidebar
- Add limit and group exclusion to the directory items endpoint
- Add admin dashboard warning for `legacy` navigation menu
- Allow custom summaries for TL3 by default
- Show unread in sidebar for unread channel threads
- Let users collapse the topic inline summary
- Extend the topics:read API scope to allow read by external\_id
- Enable\_public\_channels site setting
- New Discourse Lightbox using Glimmer
- Inline topic summary. Cached version accessible to everyone.

### Bug Fixes

- Reset scrollbar position for mobile on lightbox images
- Can’t dismiss new topics that belong to a sub-sub category
- Fix flaky test from settings editor PR (discouse:main:80f5018)
- Toggling overridden settings broke in #21572
- Share topic shortcut (shift+s)
- Move main sidebar panel name to constant
- Seed all categories and tags configured as defaults for nav menu
- Flashing history modal when changing versions
- Remove unnecessary ellipsis
- Chat emoji picker focus offset
- Attempt to fix multi sessions reaction spec
- Distinguish between scroll and drag for sidebar
- Update “Embed Motoko” Onebox URLs
- Looping attempt to reconnect in network connectivity service
- Disable the previous revision button if it is the last revision
- Handle empty directory columns in /u route
- Fast-edit shortcuts got lost in bdd97ff
- Prevent lightbox from loading onebox embed icons in chat uploads
- Make document overflow hidden on both axis when lightbox is open
- Managing sidebar custom sections not working on subfolder
- Loading more tags in edit nav menu tags modal not working
- Use base 10 when gettings allowed group IDs from settings.
- Restore the unconditional yield in d-button
- Correct router service call from some admin controllers
- Render user profile trust level name for TL0
- Capture click target in lightbox click handler
- Inline deprecated settings in migration file
- Wrong collapsible parameter in sidebar API
- `user_id` arg override in Slack import
- Ensure ‘modern’ modal is closed when opening legacy modal
- Banners not removing when unset
- Staff action log could not be accessed via link
- Show mention count for channel list on mobile
- Specify chrome version
- Hashtag error in PrettyText when processing email
- Termless hashtag search when a type is disabled
- Doubled up or not tracked threads in thread list
- Embedding checkbox bug
- Update `last_read_message_id` when moving chat messages
- Keep ReviewableQueuedPosts even with user delete reviewable actions
- Do not track first AJAX request as a pageview
- Check if dominant color is set before updating site theme color
- Chat errors for thread subscriptions
- Sometimes stuck of sidebar reorder
- In modal should check for body
- Allows to resize panels on tablets
- Allows to focus thread’s composer on ipad
- Bind selector to event listener callback for lightbox
- Editing tags in sidebar should show all tags visible to user
- Close modal after moving message to channel
- Incorrect selector in system specs
- Don’t show admin warnings about deleted translation overrides
- Redirects to browse after removing last followed
- Created\_at datetime format inconsistencies in chat
- Lightbox setup blocked due to waiting for first image load
- Add the required widget for admin-problems notification item
- Ensures lightbox sends valid color to react-native
- Simplify channel threads lookup for pagination
- Only use lastViewedTopic when going ‘back’ to a topic list
- Add tracked property for items in lightbox carousel
- Show only context menu on img long press
- Dismissing unread posts did not publish changes to other clients
- Prevent default event on touchend reaction
- S/–border-radius-large)/–d-border-radius-large
- Prevents user to restore message deleted by staff
- Order tags shown in email subject by topics count and name
- Render excerpt HTML for chat replies and edit
- More performance improvement for PostAlert job
- Display the whole summary when it consists of multiple `<p>` tags.
- Correctly respects full name settings in channel title
- Always clear caches after committing the current transaction
- Chat thread race condition issues

### UX Changes

- Different way of centering chat notice to accommodate longer texts
- Responsive oneboxing with images in chat
- Minor alignment fix for compact tag selector
- Minor change to compact tag chooser
- Remove ring from avatar for a new user
- Compact option for multi-selects
- Hide header in dismiss modal
- Fix bookmark modal footer layout
- Category hashtag colors order fix
- Display tag’s description as title in navigation menu
- Show the info icon outside the tooltip
- Disclose AI model used and add animation to placeholder
- Fix focus state style for date button in composer
- Point that topic summaries are generated by an AI
- Firefox fix for shorthand modal width
- Size down unread indicators fror drawer/mobile
- Disable summarize button while generating summary
- Move group mentions notifications into the reply tab
- Fix icon warning position in sidebar modal
- More border-radius removal from chat
- Z-index for for tippy box in chat

### Performance

- Add index on topic\_id and created\_at to posts table
