Giter VIP home page Giter VIP logo

kbtui's People

Contributors

erack avatar haukened avatar mjarkk avatar rudi9719 avatar tjzabel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kbtui's Issues

Restructure the Channels list

This is a bundle of different features i want:

  • Change ordering of teams (Sort alphabetic.. etc) (someone brought this up in the chat)
  • Fix so, upon new messages, it automatically sets current channel to read so i don't have to rejoin to
  • Make it possible to hide until next message etc as is possible in the GUI
  • Group each channel under the same team (if under same team) so it doen't say
    • maybe also do this for subteams? would maybe be nice.

extra junk after +/- commands cause crash

issue description

any extra junk after a +/- command such as -this or -1 cause a crash

stack trace

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x528d5e]

goroutine 1 [running]:
main.RunCommand(...)
        /home/david/github/kbtui/main.go:552
main.handleInput(0x586941, 0x5, 0x28, 0x5)
        /home/david/github/kbtui/main.go:489 +0x44e
main.initKeybindings.func3(0xc0000b6140, 0xc0001bc360, 0x5, 0xc000000101)
        /home/david/github/kbtui/main.go:134 +0x36
github.com/awesome-gocui/gocui.(*Gui).execKeybinding(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:747
github.com/awesome-gocui/gocui.(*Gui).execKeybindings(0xc0000b6140, 0xc0001bc360, 0xc00010fd68, 0x4, 0x5, 0xc0001bc480)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:733 +0x110
github.com/awesome-gocui/gocui.(*Gui).onKey(0xc0000b6140, 0xc00010fd68, 0x2, 0x0)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:694 +0x164
github.com/awesome-gocui/gocui.(*Gui).handleEvent(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:455
github.com/awesome-gocui/gocui.(*Gui).MainLoop(0xc0000b6140, 0x0, 0xc00010ff20)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:415 +0x202
main.main()
        /home/david/github/kbtui/main.go:51 +0x372

Config TOML file

Configuration via TOML file instead of compiled userConfig.go

another command crashes kbtui

Issue Summary

/d crashes kbtui

stack trace

panic: runtime error: index out of range [1] with length 1

goroutine 1 [running]:
main.cmdDownloadFile(0xc0001db200, 0x1, 0x1)
        /home/david/github/kbtui/cmdDownload.go:22 +0x4b7
main.handleInput(0x586941, 0x5, 0x28, 0x5)
        /home/david/github/kbtui/main.go:478 +0x355
main.initKeybindings.func3(0xc0000b6140, 0xc0001c8360, 0x5, 0xc000000101)
        /home/david/github/kbtui/main.go:134 +0x36
github.com/awesome-gocui/gocui.(*Gui).execKeybinding(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:747
github.com/awesome-gocui/gocui.(*Gui).execKeybindings(0xc0000b6140, 0xc0001c8360, 0xc00010fd68, 0x4, 0x5, 0xc0001c8480)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:733 +0x110
github.com/awesome-gocui/gocui.(*Gui).onKey(0xc0000b6140, 0xc00010fd68, 0x2, 0x0)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:694 +0x164
github.com/awesome-gocui/gocui.(*Gui).handleEvent(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:455
github.com/awesome-gocui/gocui.(*Gui).MainLoop(0xc0000b6140, 0x0, 0xc00010ff20)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:415 +0x202
main.main()
        /home/david/github/kbtui/main.go:51 +0x372

Bug: build doesn't return correct status code

When testing i'd like to run go run build.go build && ./kbtui - problem is that build.go build doesn't return the correct status code pr unix standards - so my terminal, even if build fails, thinks that the build succeeded, starting up kbtui - which is not ideal, as it then runs an obsolete version

Bot commands

Allow bots to be written using typeCommands or various botCommands

PgUp/PgDn doesn't work when replies are shown

PgUp/PgDn works when there is no $REPL part exists in output_format, but when I add it to see who replied to what, I suddenly can't scroll.
There is also another issue even when I delete the $REPL part where I can't scroll farther than a given length while scrolling, but I don't think that could be a big issue, since I could still see some previous messages.

Input `/re` crashes kbtui

problem

typing /re into the input box crashes the program.

stack trace

panic: runtime error: index out of range [1] with length 1

goroutine 1 [running]:
main.cmdReply(0xc00037ed30, 0x1, 0x1)
        /home/david/github/kbtui/cmdReply.go:24 +0x33b
main.handleInput(0x5865c1, 0x5, 0x28, 0x5)
        /home/david/github/kbtui/main.go:478 +0x355
main.initKeybindings.func3(0xc000192000, 0xc0001be360, 0x5, 0xc000000101)
        /home/david/github/kbtui/main.go:134 +0x36
github.com/awesome-gocui/gocui.(*Gui).execKeybinding(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:747
github.com/awesome-gocui/gocui.(*Gui).execKeybindings(0xc000192000, 0xc0001be360, 0xc00012fd68, 0x4, 0x5, 0xc0001be480)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:733 +0x110
github.com/awesome-gocui/gocui.(*Gui).onKey(0xc000192000, 0xc00012fd68, 0x2, 0x0)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:694 +0x164
github.com/awesome-gocui/gocui.(*Gui).handleEvent(...)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:455
github.com/awesome-gocui/gocui.(*Gui).MainLoop(0xc000192000, 0x0, 0xc00010ff20)
        /home/david/.go/src/github.com/awesome-gocui/gocui/gui.go:415 +0x202
main.main()
        /home/david/github/kbtui/main.go:51 +0x372

Feature request: `/exec` command

as the system currently doesn't have all the features the keybase CLI has - it'd be nice to be able to run keybase features directly from the TUI.. so forinstance writing /exec follow haukened would equal running keybase follow haukened - this would make a lot of things possible within the TUI without us having to work on implementing them (we can also implement them later on)

Markdown links

Not sure if this is even possible, but it'd be cool if we could support markdown links [name](link) - it might however be problematic in terminals.

Colour upgrades

Upgrades to colour system for customization and stability across various platforms

Home / End for Input Box

Home and End should take you to beginning/end of the input box or edit box by moving cursor to its maximum or minimum extent

Edit view cutoff

Describe the bug
When running edit command, the view/message is cut off or not displayed properly. Sometimes the cursor goes out of whack.

To Reproduce
Steps to reproduce the behavior:

  1. Launch kbtui
  2. Join channel
  3. Attempt to edit message

Expected behavior
Edit box should appear, populated with /e, message ID, and the message to be edited. Message should be a string that can be edited, and input should be put at the cursor.

Additional context
Could be a problem in main.go's layout func, as well as cmdEdit.go's actual edit/setting commands?

v2/code restructuring

The codebase for kbtui is becoming a mess. There are too many files in the flat folder, and cmd requests would only cause more files.

Restructuring:

./cmd/cmdX.go - Command files
./tcmd/tcmdX.go - Type command files
./interface/X.go - Interface files (tab completion, colors etc)

Issues:

How will commands access helper funcs and global vars when not in the same dir as main?
Can there be ./globals/X.go that are imported by everything? Is that Kosher?

Scroll up/down using PgUp/PgDown

Scrolling up and down through a channel should be an easy thing to do using Pages from chat.Read() - hopefully it would be possible to avoid the bug the Keybase gui has where when you're scrolling, the chat likes to jump all over the place?

Wordwrap issues

Describe the bug
Word wrap splitting words with newlines when displaying to chat and feed window

Expected behavior
A newline should be inserted in the message before the last space on a line causing the word that wouldn't fit to be printed on an entirely new line, repeated for each line.

Additional context
X size of a view can be found in gocui.Size() func
Traverse the string backwards from X.size, on first space found replace with \n
Traverse the string backwards from X.size * n? Might need better math but in essence replace the last space of every line with a newline char (and a space for the GUI users)

Handle connection problem smoothly

When you write a message which doesn't send (due to lack of internet connection or something) it simply drops it and then show an error in the feed.

It'd be nice if it showed the error AND maybe put the message back into the input field, so i didn't lose my way to long message to my dad about how awesome my daughter is - in theory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.