Skip to content

Releases: vicariousdrama/cornychat

2024.08

01 Sep 23:49
Compare
Choose a tag to compare

August 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com/. The following enhancements were made during August 2024.

Web Application

  • Zap Goals!

    • 🆕 The server now has a zap goal on the home page which updates each month.
    • 🆕 Room owners can create zap goals for their rooms. A progress indicator depicts how far along the zaps are towards the goal that has been set.
    • Autotipping rooms that have a zap goal set go to the goal instead of direct pay.
    • 🆕 Users can zap a goal by clicking the progress meter.
    • 🆕 Room owners can clear zap goal for the room, list and attach existing zap goals, and delete them.
  • Room Header, Description, and Navigation Menu

    • The room header has been changed to use space more effectively and add more indicators for room state.
    • 🆕 The room's description now yields details about whether a room is stage only, public, protected, live activity, etc.
    • Elements of the navigation menu now each appear on their own line and have been assigned a scalable icon for consistency.
  • Scheduled Calendar Time Events

    • Based on an agreed upon change to NIP-52, the summary tag is now being set on the published nostr event as about is deprecated.
  • Encrypted Private Messages

    • 🆕 Payment errors resulting from v4v room and server zaps will now be reported to the user via private text instead of simply to the console. This informs the user of possible mitigation steps to correct.
    • Due to browser disparities in the handling of session data, private keys have been changed to be locally stored and are not currently ephemeral
  • Audio Player

    • The volume controller for the audio player now has the proper label value when loading the dialog on subsequent usages.
    • 🆕 A new feature allows for looping a track continuously.
  • Other Bug Fixes

    • Verification of anonymous users setting nostr identity has been restored.
    • A lightning address placeholder is no longer shown if a user does not have one set.
    • Recent Posts header no longer shows if the user has no posts.
    • Nostr logins which were temporarily broken were restored. \
    • The list of link sets and slide sets on their respective import screens now show the name assigned by the user.

Server Logic

  • The server generates a new zap goal each month for the server goal.
  • The old rooms endpoint (/api/v1/oldrooms/) and the old identities endpoint (/api/v1/oldidentities/) now properly checks the age of these records

Documentation

  • 🆕 Usage of kinds 9041, 9735 zap goals and receipts documented in data types page.
  • Corny Chat now supports 18 different kinds across 11 different NIPs.

Many thanks to the Corny Chat regulars who have been instrumental in testing features, providing feedback and patience with bug resolution and financially and emotionally supporting this project.

2024.07

01 Aug 17:17
Compare
Choose a tag to compare

July 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during July 2024.

Web Application

  • Animations
    • Corn and Heart animations refactored
    • No longer retrieving fonts from google servers for better privacy
  • Audio File Player
    • 🆕 Volume settings are now saved and restored when playing future mp3s
  • Badges
    • 🆕 New Badge for supporters via PubPay.me
    • Local badge info now contains description and POW level
    • All badge images cached locally with thumbnails
  • Homepage
    • 🆕 Rooms with passphrase protection now have an indicator of such
    • Starting a new room now requests confirmation
  • Room Settings
    • Adding links and slides can now be to top or end of list
  • Text Chat Modifications
    • Auto adjust height and bottom to navbar
    • Value 4 Value tipping room or dev now only reported for successful payments
    • Errors making payments or parsing cashu tokens displayed in red text
    • 🆕 Initial support for encrypted private messages
    • 🆕 Users can now publish their chat to the live activity if enabled (NIP-53)
    • Chat is now saved locally to avoid wiping out from reset sessions
    • 🆕 Users can show timestamps for messages, along with grouping date header bars
    • Fixed issues with unread indicator showing for ads that no longer exist

Server Logic

  • Achievement System
    • 🆕 Added support for tracking 21 different actions for initial achievements
    • Draft visuals created for achievements
  • API Endpoints
    • Room list now indicates if room is protected and includes user npub for users
    • Old rooms and identities now break down into tranches of 30, 60, 90 day unused
  • Docker Stack
    • 🆕 Add LNBits to the stack
    • 🆕 Add S3 Backups to the stack for backing up redis and lnbits data

Documentation

  • Install guide updated with guidance on configuring LNBits and S3 Backup settings
  • Unnecessary packages no longer referenced in install

Many thanks to the Corny Chat regulars who have been instrumental in testing features, providing feedback, and patience with bug resolution.

2024.06

30 Jun 17:25
Compare
Choose a tag to compare

June 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during June 2024.

UI

  • Bugfixes
    • Fixed room tip interval to autotip rooms if room owner adds a lightning address
    • Assorted javascript warnings have been addressed with more code corrections
    • Fixed bug where speakers for non stageonly rooms could not hear each other
    • Fixed returning to homepage for the room named cornychat.
  • 🆕 Kick Users
    • Admins, Owners and Moderators can kick out unruly users
    • When kicking a user, the kicker an provide a reason and set how long the user is being kicked for
    • Any admin, owner or moderator can prematurely clear the kick status for a user
  • My Rooms List
    • Additional emojis indicate whether a room is marked as private, or if the room is protected by a passphrase
  • Personal Settings
    • 🆕 Add toggle whether to publish live status (NIP-38)
    • Allow selecting the frequency to pay for each value 4 value option
    • Configure number of posts to render for a user on profile view
    • Improved layout for zoom accessiblity
    • Add toggle for whether avatars should remain full size or mini mode when textchat displayed
  • Profiles
    • 🆕 Corny Chat badges will now be rendered on the user profile view
  • Room Entry
    • 🆕 Protected rooms require a passphrase for entry
    • 🆕 Kicked users will not be allowed in the room
    • If the user's environment does not support WebRTC, a warning message will be displayed
    • If the passphrase is forgotten for a protected room, owners and admins can enter using the elvish word for friend
  • Room Header
    • Users can now toggle room tips on/off on a room by room basis
  • Room Settings
    • 🆕 Basic settings now allows room owners to mark a room as protected and set a passphrase
    • 🆕 New section added for kicked users
    • Improved layout for zoom accessiblity
  • Slides
    • 🆕 Added video player for video types (it will reset when screen redrawn from state change)
  • Text Chat
    • Maximum length of a text chat line has been increased
    • 🆕 Added support for detecting and rendering Cashu tokens
    • Clicking the avatar in text chat will now display that user's profile
    • 🆕 Added direct messages between peers
    • 🆕 URLs in text that appear to be images will be rendered in a scaled down version

Server

  • Fixed a server crash bug retrieving user rooms
  • Improve verifications of npub ownership
  • Make note of when room or identity is created, updated or accessed
  • Assign created and updated times for rooms and users
  • 🆕 Add API endpoints to retrieve list of rooms or identities that have not been used in 30 days

Documentation

  • Install guide updated with corrections based on test feedback
  • Install guide now includes info for SERVER_NSEC to support announcement bot
  • Documented kind 8 integration of badge awards
  • Documented kind 30315 integration of live statuses
  • 🆕 Added current PGP Pubkey linked from the about page

Super Thanks to everyone that has been helping try out and test Corny Chat and providing feedback.

2024.05

01 Jun 03:22
Compare
Choose a tag to compare

May 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during May 2024.

UI

  • Start page now has tabs for live rooms, users rooms (My Rooms) and scheduled events
  • Start new Room will now initialize with Tutorial slides as guidance
  • New My Rooms page added
    • User can see a list of all rooms they are a member of by deviceid and npub
    • User can remove themself from any room they are in
    • A room left without an owner will promote the first moderator as owner
    • A room left without any owners or moderators will be hard deleted
  • Enter Room ads are now smaller and centered
  • Personal settings
    • Refactored into expandable/collapsable groups
    • Add additional doorbells and preview playback
    • Add toggle for displaying peer avatar or name in text chat
    • Added support for Nostr Wallet Connect (NWC)
    • NWC enabled users may opt in to support the service to forego ads
    • NWC enabled users may opt in to auto-tip the room they are in if enabled
  • Avatar cards
    • Now check nostr npub for room role level
    • Fix image URI of mature accounts that used legacy paths
  • User Profile display
    • Nostr users can now assign custom petnames (NIP81) to other users
    • Fix for list cache invalidating prematurely, forcing data fetch on view
    • Zap/Lightning button is now only depicted if the user has a lightning address
  • Maintenance Message
    • Can now appear on screen to inform users of planned maintenance
  • Text Chat enhancements
    • Unread indicator when the chat is not open and message received
    • An ad may appear every 15 minutes, unless user opts to support
    • Ads that appear may now have hyperlinks
    • V4V payments are now reported to the text chat in an orange color
  • Room settings enhancement
    • Owner can set room to announce as nostr live activity
    • Owners, Moderators, and Speakers may now be assigned via npub
    • Corny Chat Slide set may now be deleted on the import screen
    • Corny Chat Link set may now be deleted on the import screen
  • Room Tips
    • Fix: Private rooms with a lightning address no longer crash on tipping

Server/Backend

  • Nostr Npub supported in revamped access control checks
  • Nostr Live Events are published/updated periodically for enabled rooms
  • Restriction added to room definition and required fields
  • Support for smaller ad size retrieval, and denoting if it has a link
  • Integrated Announcement Bot into the backend to announce rooms
  • Add endpoint to return ad report
  • Add endpoint to return list of rooms a user is in, and their role
  • Fixed server crash bug when a public room was emptied of all users

Documentation

  • Documented use of more kinds on data types page
  • Additional known supporters added to the about page
  • Fixed image tag names for the pantry-sfu in the install and update guidance

Special Thanks to all the Corny Chat regulars to help test, find bugs and provide feedback.

2024.04

01 May 18:43
Compare
Choose a tag to compare

April 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during April 2024.

Upstream Jam changes have been ported into the codebase through 2024-03-26 with exception to some layout changes for Room, Navigation, Avatar. Corny Chat modifications are NOT pushed upstream to Jam as there are significant deviations in layout overall and some constraints in backend/pantry changes.

Backend

  • Fixed nostr room profiles to not save if the room is marked as private
  • Server now requires build number matches or else connections are dropped
  • With upstream changes ported from Jam, backend can now support individual HLS streams per speaker if enabled

UI

  • Improved messaging to user if a room name request is too short
  • Fixed bug where rooms weren't initialized as private
  • Fixed room nostr profiles to save description in about field of metadata
  • Added ability for room owners/mods to edit link and slide metadata
  • Fixed importing lists of links and slides into room settings
  • Changed color scheming to a dark mode like instead of harsh whites
  • Added support for outbox model when fetching notes
  • Added recent text notes to user profile displa
  • Added support to follow everyone in the room
  • Follow list is now cached for up to an hour before repopulating
  • Fixed bug displaying time for events on landing page
  • Clicking room logo will now launch tip dialog if lightning address set
  • Fixed bugs preventing people from saving lists
  • Make nostr features more prominent for users accessing anonymously
  • Return user to homepage if at the enter room screen lurking too long
  • Moderators can no longer close rooms, and when an owner closes a room, it will
    indicate as such on the enter room screen for accountability
  • Added doorbell option for users that want an audio cue when someone enters the room. This is a client side effect and users individually toggle whether its enabled, and which sound to play
  • Revamped the audio player to not use stock browser conrols, improving mobile support for volume control and pausing.
  • Fixed coloring of slideshow navigation controls to match other buttons
  • Added basic text chat for rooms, with support for anonymous user access. Buffer size of 50 lines and basic markdown for bolding, italics, spoilers, along with links and shortcode emojis.
  • Added images and 5 second wait time on enter room screen for trialing advertisements for nonpaying users

Documentation

  • Added page explaining what nostr kinds are implemented and how
  • Added infromation about all NIPs and LUDs used on datatypes page
  • Changed docker image names (diamsa/* -> cornychat/*)
  • Documented additional environment variables for new features

2024.03

01 Apr 22:18
Compare
Choose a tag to compare

March 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during March 2024.

Backend

  • Bugfix prevents room state from being overwritten with stale state
  • Added endpoint /api/v1/scheduledevents/ to be callable from UI to list upcoming events
  • Added ACL role owner, which has full control over a room
  • Modified moderators to restrict what room settings can be changed (speakers, slides, links, closed state, schedule)
  • Added scheduled event publishing, deleting, and caching
  • Added nostr profiles for each room, configurable by owners, to support room tips
  • Deleted events will be published in the past before deleted
  • Scheduled events list will filter deleted events
  • Fix scheduled events to look specifically for audiospace events and deletions
  • Scheduled events will no longer clear if no audiospace events returned from relays
  • NIP05 handler overhauled from static return to dynamic database lookup
  • Room profiles updated if key fields change
  • Added hourly tracking of room activity

UI

  • Added list of scheduled events to homepage that comes from nostr data with local time zone conversion
  • New role 'owner', and admins can now enter rooms marked as closed
  • Session caching for faster lookups of names
  • Refactored avatars on stage and in audience
  • Users can now customize 2 personal sticky hand up icons, picking from emojis
  • Emoji selectors now include the custom emojis
  • Follow/Unfollow buttons not shown on profile if user does not have signing extension
  • Room Settings now have collapsable/expandable sections by header, and include new sections for owners, moderators and speakers as well as scheduling
  • Slides should now fit within the width of the viewing device (may resolve flashing?)
  • External links converted to use more client agnostic njump.me
  • People outside the room will now show ghosted for room owners and moderators
  • Audience bar will only appear if a user is in room, or for owners and mods
  • Disabled individual deletion of owners/moderators/speakers when saving room state
  • Podcast recordings can now be started and stopped by room owners
  • Set build date in about page and room entry page
  • Tweak hand raised and type so users in room can see without being moderator
  • Rework processing user metadata on login for updating user name
  • Add more cache busting to main html and resources referenced
  • Let user toggle whether ghosted users should appear for them in room
  • Add more space at bottom of room page so avatars push above navbar
  • Scheduled events from other instances will now appear in a different color
  • Invoice page will now show lightning address for user being paid if it has in session cache
  • Zap button on profile page is enlarged with text indicating zap vs anonymous payment
  • Ignore displayName / display_name in profile, only use name
  • Avoid use of some no longer functioning relays to reduce console errors
  • Using new relaypool for each nostr call
  • Add optional only zaps mode (only lightning bolt reactions)
  • Allow room owners to configure lightning address for room
  • Add Tips button to room header if room lightning address is set
  • Resized Stream Audio File modal, and moved to bottom of screen
  • Include zap.stream and nostrnests live activities in the scheduled events
  • Add support for saving and loading slides to and from nostr lists (kind 30388)
  • Fix landing page to show the user's timezone (daylight saving time vs standard time)
  • Add support for saving and loading links to and from nostr lists (kind 31388)
  • Change previous/next navigation icons for slides to work for browsers that dont support all transforms

Documentation

  • Updated install to reflect fork of git repository and name
  • Bugfix to install when editing the limits configuration file
  • Roadmap on Readme reflects scheduled events
  • Added support for development docker setup

2024.02

28 Feb 02:22
Compare
Choose a tag to compare

February 2024 release of Corny Chat

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning. A publicly running instance of Corny Chat is accessible at https://cornychat.com. The following enhancements were made during February 2024.

  • Documentation
    • Modify install guidance for nodejs and dev
    • Modify readme with roadmap features checked
  • Deployment
    • Add dev-docker-compose.yml for local development
  • Backend
    • Initialize isOwner and checks by moderator
    • Room updates only allowed by admins, owners and moderators
    • Initialize support for redis mget
  • UI
    • Add /about page
    • Add operations for managing owners and current slide for room
    • Add support for private (unannounced) rooms
    • Add toggle for whether a room supports recordings
    • Add updateTime tracking to rooms for prep to prevent LIW overwrites
    • Modified 'blue' color theme swapping button and avatar bg color
    • Added 'corn' color theme
    • Logins with NIP07 are now signature verified by other clients
    • Nostr verified users now have nostr emblem
    • Unverified / Anon users now have guy fawkes emblem
    • Add Feb 14 animated hearts
    • Add homepage header (locally served vs nostr.build)
    • Add user toggle for animations
    • Modify avatars with static emblems for Marie, TheNoshole and island
    • Removed zap action from basic avatar display
    • Modify exit emoji letters to have outline shadow for better contrast
    • Add support for user selection of avatar when anonymous, disallow uploads
    • Reimplement support for verification without NIP07 extension
    • Add support for multiple room exit emojis during sign-off
    • Add guidance on room entry page for privacy and modifying personal settings
    • Refactored navigation menu and room settings for better maintenance
    • Add confirmation checks for negative actions
    • Add initial support for room slides
    • Modify home page header, layout of live rooms and event schedule