Skip to content

🌽 Corny Chat is an open source audio space built on Jam that integrates Nostr and Lightning

License

Notifications You must be signed in to change notification settings

vicariousdrama/cornychat

Repository files navigation

Corny Chat

This software provides an open source audio space for users of Nostr.

Users can quickly login with existing Nostr accounts and have name and avatar image set from profile data used throughout Nostr.

Roadmap

  • βœ… Login Enhancements
    • βœ… Anon login
    • βœ… Nostr Login with NIP-07 extension
    • βœ… Nostr Login with user provided NSEC
  • βœ… Recognition of User Profile (kind 0)
    • βœ… Fetch and display Name (kind 0)
    • βœ… Fetch and display Avatar Image from picture (kind 0)
    • βœ… Fetch and display Lightning Address (kind 0)
    • βœ… Nostr Address (kind 0)
    • βœ… Description/About (kind 0)
  • βœ… Room Customizations
    • βœ… Set Room Background Picture
    • βœ… Set Room Colors from Preconfigured Palette/Theme
    • βœ… Set Room Colors from Custom Selection
    • βœ… Set Room Emoji Reactions vs Default
    • βœ… Allow multiple avatars per row to fit on desktop
    • βœ… Add Collapse/Expand to hide/show the room description
  • βœ… User Avatar
    • βœ… Allow Users to set their in room status (e.g. AFK, BRB, Present)
    • βœ… Raise Hand as Audience member and Speaker
    • βœ… Show microphone on/muted for speakers
    • βœ… Show indication when speaker is speaking
    • βœ… Show indication of verified Nostr login
  • βœ… View User Profile
    • βœ… Display name, about, avatar, nostr address on popup
    • βœ… Verify nostr address
    • βœ… Follow User Action to adjust contact list (kind 3)
    • βœ… Unfollow User Action to adjust contact list (kind 3)
  • ⬜ Edit User Profile
    • ⬜ Edit Personal Profile to set name, picture, about, lud16, nip05
    • ⬜ Upload Banner image to common media uploaders
    • ⬜ Upload Avatar image to common media uploaders
  • β˜‘οΈ Reaction Customizations
    • βœ… Update Default Emoji Reactions
    • ⬜ Emoji sets (kind 30030)
    • ⬜ Target user for sending reaction
    • ⬜ Animate reaction from sender to target
  • β˜‘οΈ Zapping other Users
    • βœ… Prepare Zap based Invoice
    • βœ… Allow Alby Browser Extension to Pay Invoice
    • ⬜ Confirm Zap paid (kind 9735)
    • ⬜ Animate Zap from payer to receiver
    • ⬜ Zap Default to target without confirmation (e.g. using Alby budget)
  • βœ… Nostr Scheduled Events
    • βœ… Allow rooms to schedule a future event
    • βœ… Publish Nostr Calendar Time Event (kind 31923 per NIP-52)
    • βœ… Publish Nostr Delete Event (kind 5 per NIP-9)
    • βœ… Periodically update cache of scheduled events
  • β˜‘οΈ Nostr Live Activity + Chat
    • βœ… Create and Publish Nostr Live Activity for Rooms (kind 30311 per NIP-53)
    • βœ… Live Chat Message tied to the Live Activity (kind 1311)
    • ⬜ Ability for user to react to chat message
    • ⬜ Ability for user to zap a chat message
  • β˜‘οΈ Landing Page
    • βœ… Show list of all Nostr Scheduled Audio Spaces across instances
    • βœ… Show list of all Nostr Live Audio Spaces across instances
    • ⬜ Server Message of the Day when user accesses first time during day
  • βœ… About Page
    • βœ… Link to this git repository for source code
    • βœ… List of code contributors, supporters, producers.. contact and links
    • βœ… Contact information for server operator

About Nostr:

NOSTR is an acronym meaning "Notes and Other Stuff Transmitted through Relays". It is an alternative and open protocol for exchanging simple structured information publicly through relays your client(s) are connected to. With Nostr, you cannot be deplatformed, and you are not fed an algorithm by default. You can move between clients that evolve over time. For more information, check out Nostr.how

About Jam:

This software is built as a fork from Diego's Jam which was forked from Jam from stable branch on gitlab from 2023-07-27. πŸ“ Jam is an open source alternative to Clubhouse, Twitter Spaces and similar audio spaces. With Jam you can create audio rooms that can be used for panel discussions, jam sessions, free flowing conversations, debates, theatre plays, musicals and more. The only limit is your imagination. For more information, check out Jam, the Jam community on 🎧 Discord, Jam on X, and Jam on 😽 Product Hunt. The original README for Jam is available here

Host Your Own Server

Hosting your own Instance is easy...

Follow the Install guidance for setting up your server

Periodically Update your install with changes