vishalxl / nostr_console

Nostr console is an open-source twitter-like social network, direct chat app and group chat all bundled into one program. Built on the decentralized Nostr protocol.
GNU Affero General Public License v3.0
441 stars 33 forks source link

Sort public channels by specific field #52

Open jblachly opened 1 year ago

jblachly commented 1 year ago

Preferably, total number of messages, but optionally, by some other field such as name or timestamp of latest message.

Example below in which lots of the spam single-message groups obscure larger groups like "Bitcoin Heidelberg"

                                 All Public Channels

Channel Name                       id                Num of Messages     Latest Message
--------------------------------------------------------------------------------------------------------------
#plebchain                         plebchain #t      37                  Plebs, where you at?   - ₿its McGee ⚡️ 13% bitcoineer
Nostr                              25e5c8            1781                morning                -      Lurusan
#nostr                             nostr #t          12                  Any #nostr relays in   -        ae5f6
#bitcoin                           bitcoin #t        26                  I think I'll stack s   -    DerekRoss
#hope                              hope #t           1                   #Bitcoin is #HOPE 🙏   -      marcelo
nostr_console                      52cab2            28                  was expcting a ~/.no   -   le chiffre
#bitcoinnostr                      bitcoinnostr #t   5                   What up? #bitcoinnos   - satoshistore
#633                               633 #t            1                   ǝlƃuɐ   -       Michoe
#652                               652 #t            1                   ǝlƃuɐ   -       Michoe
#7433                              7433 #t           1                   ǝlƃuɐ   -       Michoe
#607                               607 #t            1                   ǝlƃuɐ   -       Michoe
#623                               623 #t            1                   ǝlƃuɐ   -       Michoe
#647                               647 #t            1                   ǝlƃuɐ   -       Michoe
#613                               613 #t            1                   ǝlƃuɐ   -       Michoe
#387                               387 #t            1                   ǝlƃuɐ   -       Michoe
#477                               477 #t            1                   ǝlƃuɐ   -       Michoe
#8516                              8516 #t           1                   ǝlƃuɐ   -       Michoe
#592                               592 #t            1                   ǝlƃuɐ   -       Michoe
#pow                               pow #t            1                   Any use of energy wh   -        b9304
#noderunner                        noderunner #t     1                   Fellow #plebchain #n   - personwhothinks
#medicine                          medicine #t       1                   Love the idea… Bitco   -        4d18d
#tipfornote                        tipfornote #t     2                   Fascinating early da   -  LIVEFOREVER
#facts                             facts #t          1                   #facts                 -        2c188
#useyourbrain                      useyourbrain #t   4                   USE YOUR BRAIN  ASK    -    Nano-Maxi
#redpiiled                         redpiiled #t      4                   USE YOUR BRAIN  ASK    -    Nano-Maxi
#useyourbrainhttps                 useyourbrainhttp  1                   USE YOUR BRAIN  ASK    -    Nano-Maxi
#introductions                     introductions #t  1                   #introductions I am    -        53989
nostr.crew                         5b156a            10                  do przyczajonych roz   -        66b6b
#nostrpebs                         nostrpebs #t      1                   should i add as many   -       satman
test1234                           f24a02            5                   Gggg                   -        57a64
#automateeverything                automateeverythi  1                   Civilization advance   -        7a78f
#redpilled                         redpilled #t      1                   yeah wait still ever   -    Nano-Maxi
#lightning                         lightning #t      1                   My humble small busi   -  SatsFaction
#local                             local #t          1                   are cashtags a thing   -        7277d
#p2p                               p2p #t            1                   are cashtags a thing   -        7277d
#dvt                               dvt #t            1                   How about ssv networ   - 小树林jutou (L,3)(💙,🧡) solstarter.eth.lens 🛸
#blebchain                         blebchain #t      1                   Don‘t Trust, Verify!   -         Mane
#shss                              shss #t           1                   GM. #SHSS              -        fd0bc
test                               d02e5f            0
test                               9f7d1a            0
#damus                             damus #t          1                   #nostr #damus it wou   -      marcelo
#plepchain                         plepchain #t      1                   #plepchain             -         Mane
#welcome                           welcome #t        1                   #welcome 🙏            -     Matthew
#work                              work #t           1                   Work view.  #work #w   -       merton
#stacksats                         stacksats #t      1                   Work view.  #work #w   -       merton
#worklife                          worklife #t       1                   Work view.  #work #w   -       merton
#noderunners                       noderunners #t    1                   The Wall needs inbou   -        98b62
#twitterfiles                      twitterfiles #t   1                   Glad to see that my    -        abab5
#buddycheck                        buddycheck #t     1                   As the festivities w   -      jason ⚡
#mentalwellness                    mentalwellness #  1                   As the festivities w   -      jason ⚡
#plebs4plebs                       plebs4plebs #t    1                   As the festivities w   -      jason ⚡
#gold                              gold #t           1                   https://nostr.build/   -        b9304
Asturias 2140                      a22fb3            2                   Hola collacios, esto   -  CachopoCoin
#nostriches                        nostriches #t     1                   Good Morning #nostri   - Intuitive Guy ⚡
DuckyScan                          416961            0
Bitcoiners Germany                 0be7d9            0
tezt chat                          81fbd2            1                   heyhey                 -         d503
Bitcoin Heidelberg                 15439f            0
Bitcoin2140                        4211fc            61                  GM, misma pregunta,    -       Romina
vishalxl commented 1 year ago

Right now this portion is kind of is in development; in that it combines two or three types of rooms:

a) public channel of kind 4x, which is what the Heidelberg room is b) #t tags like #work etc, which are actually kind 1 messages with that particular tags, shown as 'rooms' c) #location tags with values such as usa, india, which are also given their own rooms.

So over time this can and will be improved, but right now I am not focusing on this; in that I am still waiting for some ideas about how to show or do this. Want to change code only after some idea about how useful these tags rooms are.

Also note that all these rooms ARE sorted - by the latest event in each. So rooms with a later event will be at top.

As I use it, if you know a room, you can just type its first four letters of id, or few words in name, and you will get into it. Also shortcuts to public rooms can be created ( on linux in this case) using this.

jblachly commented 1 year ago

As I use it, if you know a room, you can just type its first four letters of id, or few words in name, and you will get into it. Also shortcuts to public rooms can be created ( on linux in this case) using this.

Thanks -- one current usability issue with above is that partial match overrides exact match. Namely, if you try to join "Nostr" (the largest channel, in my list above), it fails because that partially matches other names. It can only be joined by id. Substring matching will become a bigger problem the more channels are created with common terms.

vishalxl commented 1 year ago

76 is related.