83 comments

  • psanchez a day ago

    Wow. Really cool. I wasn't expecting something so polished.

    JIRA speed drives me crazy sometimes, so a couple of months ago I decided to build myself a tool to do instant searches/filters on multiple projects right from the browser just to scratch my own itch.

    I just wanted to see if I could have near-instant filtering. I think I got a pretty decent performance by using some JS tricks. I'm sure there might be ways to make it even faster.

    Page is around 70kb (HTML+CSS+JS). Everything is manually crafted. I know the design won't win a beauty contest, but it does feel instant and works for my personal use-case. I had a lot of fun building this side-project.

    There is a public URL, feel free to try it out [1]. Already mentioned in a previous comment in HN a while ago [2].

    [1] https://jetboard.pausanchez.com [2] https://news.ycombinator.com/item?id=44740472

    For the record, it uses a proxy because of CORS. Proxy is in few lines of golang. No NPM or any other framework used to make the project. In any case, if anybody is interested in the source code to run it yourself I'm happy to make the project public. Trusting a proxy on some random's guy on internet is probably a bad idea, given all NPM shit that happened yesterday, in any case, if you want to try, feel free, but use at your own risk :P

    • 0000000000100 a day ago
    • benbristow a day ago

      Looks cool, but definitely a security team's nightmare. Putting an API key into some random HN'ers hobby project is a bad, bad idea, whoever you are (not saying you're a bad actor, but a zero-trust policy would agree with me).

      • psanchez a day ago

        Indeed. That's why I was transparent from the start. As I mentioned, using an API key this way is generally a bad idea. Even if I'm not a bad actor (which I'm not, but you shouldn't trust me), if someone compromises my server and forges requests, they could potentially access your projects.

        JIRA's OAuth implementation requires apps to be registered, involves public/private key pairs, and changes the auth flow. That adds complexity and makes setup harder, which is why I opted for a simpler API key setup, you get the API key, you write it down, you can make requests. It is just simpler and does not require JIRA admin rights.

        For comparison, JiraTUI also uses the user's API token. The difference, I guess, is that it runs locally on your machine, but they could also send it somewhere else. At the end of the day, it comes down to whether you trust what you're downloading versus trusting what runs on a remote server. It is true that locally you could potentially inspect all HTTPS or even TCP requests whereas in the remote server you don't have a clue.

        The thing is, OAuth in JIRA demands app registration and certificate management, so I guess many developers end up defaulting to user API keys as the path of least resistance, even if they encourage OAuth as well.

        • psanchez a day ago

          BTW, just to make it clear, in the case of jiratui you can also download from github repo directly and inspect the code if you wish :D

        • nine_k a day ago

          > they could also send it somewhere

          Run JiraTui in a container / bubblewrap, and only allow it to connect to the Jira API host:port.

          • gabeio 18 hours ago

            Wouldn’t that mean they could still exfiltrate it to another jira site they control?

      • conception a day ago

        Yeah, oauth would be better.

  • rtpg a day ago

    I desparately want something like this for Github.

    I appreciate the value of the web browser providing the universal "quick" GUI (as in "I can open it on most devices and instantly interact"), but for power users I really wish more people were shipping things that helped out people not afraid to learn a bunch of keyboard commands

    • nine_k a day ago

      Nothing prevents a Web app from having good keyboard shortcuts; Gmail and Linear are great examples.

      GitHub becomes much more comfortable with the Refined GitHub extension. It adds a bunch of keyboard shortcuts, among a ton of other small improvements.

      • troyvit 12 hours ago

        > Nothing prevents a Web app from having good keyboard shortcuts; Gmail and Linear are great examples.

        I think nothing prevents a web app from having keyboard shortcuts, but more often than not what I see is web apps having bad keyboard shortcuts that hijack the browser's natural behavior (taking over <ctrl>-f is a good example). I think often people go at this as if it's an Electron app and not a browser that has literally a hundred other interfaces loaded into it, leading the user to have certain expectations.

        All that aside your Gmail example is spot on, and I'm one of those google-hatin' dudes.

        • nine_k 8 hours ago

          Yes, the unfortunate tradition of hijacking Ctrl+F is annoying. OTOH the forming tradition to use Ctrl+K to show a command palette / command line is commendable.

    • toomuchtodo a day ago
      • rtpg a day ago

        The presented TUI is a full UI for simply browing Github, the Github CLI is not that.

        Notice how I can list with `gh pr list` but then will need to run a full new command to actually inspect the contents of those PRs. I think an interactive interface would be nice!

        • redserk 16 hours ago

          I think you could probably whip something very basic and crude up with fzf and the “—-preview” flag

    • troyvit 12 hours ago

      I'm not a github power user but check out Lazygit (https://github.com/jesseduffield/lazygit)!

    • prmoustache 17 hours ago

      Not satisfied with your IDE integration? There are some github plugins for nearly every IDE I can think of.

    • porridgeraisin a day ago
    • Banditoz a day ago

      Github's UI used to be usable, at least.

    • tcoff91 a day ago

      For reviewing PRs I use Octo.nvim

    • a day ago
      [deleted]
    • nimchimpsky a day ago

      [dead]

  • IshKebab a day ago

    This is cool. I'm not a fan of TUIs at all (poor man's GUI if you ask me) but anything beats the Jira website trash.

    I will definitely be curious to see how much of Jira's abysmal performance is due to the website design (got to be a fair bit given how badly things like drag and drop perform) and how much is due to the server.

    • zffr 13 hours ago

      What I like about TUIs are that they are forced to be simple, and are forced to load all data at once. I don’t prefer interacting with an app in a terminal window, but I do prefer the kinds of apps that are built with these constraints in mind.

      There’s nothing preventing web apps from being built this way, but they just often are not.

      • willmartian 12 hours ago

        Could you expand on "and are forced to load all data at once"?

    • troyvit 12 hours ago

      I consider it the frugal man's GUI. Right now looking at top, any time I load a browser tab with Jira content chromium spikes to the top of the list. I'm not even doing anything with it.

      • IshKebab 5 hours ago

        Sure but that's just because the Jira website is awful. There's no reason you couldn't design a more frugal version, or a native GUI that was faster.

    • mwcz a day ago

      The way drag and drop and most other updates block all UI interaction until the network response is infuriating.

    • dumpsterdiver a day ago

      [flagged]

      • totallykvothe a day ago

        Why the snark? It's a valid preference and he wasn't demanding anything.

  • Apreche a day ago

    I am absolutely going to try this.

    One question. Is there any way that if I click a JIRA link somewhere, like email or Slack, that it could open in the TUI instead of in the browser? I just can’t imagine that being possible.

    • turtlebits a day ago

      Its possible- you'd have to register a new uri handler to call the TUI (it'll need to take cli args to load the link/issue), then rewrite Jira links (tampermonkey script/browser extension) to use the new uri.

  • toomuchtodo 2 days ago
  • _flux a day ago

    I do have some complaints about the Jira web ui (in particular it seems finding correct issues can be difficult), though maybe nothing too severe.

    For me the most useful thing would be a cli tool (not tui) to just add stories. This way I could just write a bunch of stories in a text file (..or an .org file..) with the conveniences of my editor and upload them. Seems jiratui actually comes with some cli tools as well, but it doesn't seem this is yet included, or it's not just documented yet. I'll give a shot to this..

    Now I'm doing that by copypasting the entries from the file, one by one, to the fields in the web ui, and not all of the fields can be copy pasted, and then updating also the file to have the correct issue ids so I can use them for finding issues with e.g. grep. Naturally this will only work for my stories, and won't synchronize with changes made in Jira.

    • 0x008 12 hours ago

      You can write your stories in csv (or vibe code a tool to do that) and then batch import the CSV.

  • ako a day ago

    Yes, back to Oracle Forms 3.0. Fastest and best versions of Oracle Forms, as long as you know the keyboard shortcuts.

  • aeve890 14 hours ago

    Looks amazing! Does anyone know of TUI libraries for Rust or Go that achieve this level of polish? I've tried bubblegum, ratatui, tview but none of these seem to match the sleek, polished look of Textual.

  • snthpy a day ago

    Looks great. How tied is it to Jira? How hard would it be to make it usable for Linear and Github Projects as well?

  • svl7 18 hours ago

    I'd love to work with this. The normal web view is annoyingly slow. Too bad it is not compatible with Api v2 used by on-prem Jira instances.

    • fru654 17 hours ago

      Sadly, the author indicated it's unlikely to support v2

  • danielvaughn a day ago

    I want this but for Linear

    • dimarco a day ago

      https://github.com/markmarkoh/lt

      I wrote lt as a TUI for navigating/searching Linear issues. It is read-only right now.

      • danielvaughn a day ago

        Very cool! Thanks for sharing. I've never written Rust but I've heard of ratatui - how do you like it?

        • dimarco 12 hours ago

          Rust is a joy to work with 85% of the time. Ratatui was a fun and easy way to get a TUI up and running.

  • sghiassy a day ago

    I’m just commenting for the algorithm gods to promote this post - this is cool!!

    • viraptor a day ago

      You're potentially doing the opposite. Upvote the post if you like it, but increasing the comment/vote ratio can cause a "controversial post" penalty.

  • __fst__ a day ago

    Brilliant. Really nice looking TUI. One thing I noticed is that I still find myself using the mouse to click the form fields. The keyboard navigation seems to sometimes get stuck on fields and I then can't move around anymore. Is there an easy trick for jumping between the fields?

  • outlore 7 hours ago

    very cool! is there a jira gui for efficient bulk management? does this TUI do it?

  • mr_mitm a day ago

    Ha, I love this!

    I have something similar for confluence. I'm the only known user though, it's probably full of bugs.

    https://github.com/AdrianVollmer/Congruence

  • tiomat a day ago

    It’s awesome! I wrote a TUI for Jira for my own use, with extra stats like average time spent on tasks and counts of issues or bugs per epic. But yours looks so nice and polished—thanks for sharing your work!

  • jdlyga a day ago

    Looks promising, but there's some limitations. It cuts off the list of assignees after a few hundred or so. JQL works though.

    • 9dev a day ago

      You have issues with hundreds of assignees?

      • mwcz a day ago

        At least on our instance there can only be one assignee, so I assume they are referring to the selection list of possible assignees.

  • jvanderbot 16 hours ago

    Tangential: I feel that CLI is in vogue again. Does anyone else sense that pendulum swinging again? Is it just me?

    I've sensed for years from colleagues or blog posts etc a drive to go deeper and lower in the stack. I attributed this to the huge amount of front end devs who feel detached from the "real" stuff because of layers of frameworks. Not derisively, I think it's great. Even coworkers will express this to me.

    This is what I suspect helped Rust skyrocket in the zeitgeist, too. It's got a lot of modern conveniences but it targets the more difficult areas like embedded, drivers, kernel, or performance critical code. And you can justifiably rewrite things (debatable but whatever). A way in!

    I wonder if this is related?

    Could be wrong on all this, of course.

  • dbacar a day ago

    Looks cool and unnecessary :)

    • Biganon a day ago

      Looks absolutely necessary given how terrible Jira's UX is

  • theappsecguy a day ago

    This is so fantastic. I want something like this for slack...

    • rtpg a day ago

      https://cancel.fm/ripcord/ Ripcord isn't exactly this but it's fairly close. Hasn't been updated in 4 years though... when I messed with it in the past it felt nice!

  • numbers a day ago

    is there something like this for Asana, I hate their UI and UX. Their keyboard shortcuts are based off `Tab` key being a "modifier" which makes absolutely no sense.

  • johntash a day ago

    Very cool, thanks! I'll give it a shot in the near future

  • gjvc a day ago
  • bvvgpc 18 hours ago

    Simply lovely, will try this out, thanks for sharing!

  • jasonjmcghee a day ago

    This is a very attractive TUI. Nice job!

  • clickety_clack a day ago

    This is incredibly cool.

  • troupo 18 hours ago

    I think the only thing it's missing is the board view.

  • awinter-py a day ago

    why, is something wrong with the jira web ui?

    • abrookewood a day ago

      It's incredibly slow and they keep shovelling crap at users: - You highlight text and up pops an icon to "Use AI to summarise this?" - You use a short-cut only to find that it has changed - And it is just generally really slow

      • viraptor a day ago

        You can also see how badly the state changes are handled. Some elements flicker on every new letter typed. (They broke it twice at least)

    • sdovan1 a day ago

      JIRA web eats all my memory on Firefox, so laggy that pressing a button takes 3 or 5 seconds, not to mention page transitions. It only becomes usable when I add the uBlock Origin rule[1]:

        yourcomany.atlassian.net##+js(aeld, /^(?:mousemove|pointermove|pointerout|pointerover|touchmove)$/)
      
      [1] https://community.atlassian.com/forums/Jira-questions/Re-Re-...
    • mr_mitm 20 hours ago

      I hate how Atlassian products hijack regular browser features and re-implement them in JS. When I open our Confluence page, it runs a bloated mess of 10MB of JavaScript. All of their WYSIWYG editors are terrible and I'm constantly fighting the formatting. Just let me input regular markdown already.

      TUIs are usually the most snappy interfaces you can have. Pure bliss in comparison. To their credit, at least Atlassian provides usable APIs.

      • frumplestlatz 13 hours ago

        Unfortunately, Textual, the TUI framework this uses, hijacks the mouse and regular terminal and GUI features and reimplements them poorly in Python.

        It breaks everything from text selection to copy and paste.

        It’s not your usual TUI framework. I tried using it yesterday to implement a simple console app — the damn thing even uses CSS for styling.

  • nurettin a day ago

    I remember using bitbucket API to open and close taskwarrior issues. Good times.

  • gjvc 12 hours ago

    we need a TUI version of the AWS console :-)

  • sreenathmenon a day ago

    good work :)

  • joshdavham a day ago

    This is a really cool project! I'd be curious if maybe a poweruser could become more productive using this as opposed to using vanilla Jira.

    ...I also wonder if Atlassian might try acquire this for 600M? /s

  • giancarlostoro a day ago

    I still dont understand why there is no unified UI for a lof of ticketing systems, I'm so tired of popping into different teams and its a night and day difference between how things are configured.Just give me a kanban board.

    • loloquwowndueo a day ago

      Get your Jira admin to configure it as Kanban :)

      • giancarlostoro 13 hours ago

        Sometimes the org is so big, nobody wants to put any effort into knowing who the admin even is.

        Nowadays I'm in ADO, I still want a unified UI for any and all ticketing systems that allows me a consistent UI regardless of JIRA or even ADO. I'm tired of so many different workflows that make no sense.

        But they all claim to be scrum / agile.