Guest Gate 2.0 is coming soon! 
A new version of Guest Gate is currently in development, and this is a much bigger update than a simple version bump.
Version 2.0 brings a redesigned trigger system, a more modern implementation, significantly more customization options, and better compatibility with current Discourse versions.
New trigger system
The biggest change in 2.0 is that you are no longer limited to page views.
You can now choose how the Guest Gate should be triggered:
-
Page views - show the gate after a configurable number of page views
-
Time - show it after spending a certain amount of time on a page
-
Scroll - show it after the visitor reaches a configurable percentage of the page
-
Lightbox - show it when a guest opens an image
-
Any - allow multiple trigger types to trigger the gate
This makes it possible to create much more sophisticated guest-gating strategies.
New repeat behavior
You can now control what happens after the Guest Gate has been displayed:
-
Repeat trigger - show it again whenever the configured trigger occurs
-
Random page views - show it again after a random number of page views
-
Once per session - show it only once during the browser session
There is also a new configurable threshold for random page-view repeats.
The existing “Show only once” setting is still supported for backwards compatibility.
Delayed display
The gate can now be displayed with a configurable delay after a trigger fires.
For example, you can trigger the gate after 50% scroll depth but wait another 750ms before opening the modal.
This can make the experience feel much less intrusive.
More control over the modal
Version 2.0 adds several new customization options:
-
Compact, standard, or wide modal
-
Show or hide the modal title
-
Configurable title positioning
-
Improved responsive behavior
Improved Custom Gate
The Custom Gate has also received a substantial update.
You can now:
-
Add alternative (
alt) text to the custom image -
Better control the custom text content
-
Use HTML content in the custom little text field, including paragraphs and line breaks
-
Better control colors and spacing
The custom content is also handled more cleanly in the new implementation.
Modernized implementation
Under the hood, Guest Gate 2.0 has been significantly modernized.
The old implementation relied on the legacy plugin initializer, Discourse page tracking and jQuery-based lightbox handling.
2.0 now uses Discourse’s modern API initializer and page-change APIs, with a dedicated gate controller responsible for managing triggers, timers, scroll listeners, session state and modal state.
This also makes the component easier to maintain and extend going forward.
Existing installations are taken into account
One of the important goals of 2.0 was to avoid forcing existing users to manually rebuild their configuration.
The new version includes a settings migration that converts the old Guest Gate settings to their new equivalents.
For example, the old max_guest_topic_views setting is automatically migrated to the new page-view configuration and repeat behavior.
The old lightbox setting is also automatically mapped to the new trigger system.
So upgrading should preserve the behavior of existing installations as closely as possible.
Cleaner configuration
A number of existing settings have also been cleaned up and their descriptions rewritten to make the administrator interface easier to understand.
The Login / Sign Up, Discourse Connect, custom URL and button logic has also been reorganized internally.
What’s next?
Guest Gate 2.0 is currently being finalized and tested.
This release is intended to be a solid foundation for future Guest Gate features while giving administrators much more control over when, where and how the gate appears.
If you are already using Guest Gate, your existing configuration should be migrated automatically when upgrading.
Want to test v2.0 early?
You can try the branch here: GitHub v2.0 Branch