29 votes

Insomnia 8 forces users to login and use cloud storage

15 comments

  1. [9]
    zoroa
    Link
    I just switched to Insomnia from Postman 2 weeks ago because Postman started requiring login to use Collections, which was previously available without authentication. I would've switched to...

    I just switched to Insomnia from Postman 2 weeks ago because Postman started requiring login to use Collections, which was previously available without authentication.

    I would've switched to https://hoppscotch.io/ but they don't offer a native application, and it seemed like you needed to use their extension to get around CORS issues when sending requests to localhost.

    I guess I need to find another REST client now?

    8 votes
    1. zoroa
      Link Parent
      Someone just left a comment suggesting Restfox, so that's probably where I'm jumping to next: https://github.com/Kong/insomnia/issues/6577#issuecomment-1738052455 Some people are discussing...

      Someone just left a comment suggesting Restfox, so that's probably where I'm jumping to next:

      Time to fork.

      If someone wants to create a product that doesn't store your data externally I know many people willing to pay for it.

      Not affiliated with any of these projects, just anecdote. My journey has been Postman => Insomnia => Restfox. Just made that third jump today and everything ported over fine and looks to be working great. 🤷

      https://github.com/Kong/insomnia/issues/6577#issuecomment-1738052455


      Some people are discussing alternatives in a comment thread on the hackernews too:

      • Hurl, a command line tool that runs HTTP requests defined in a simple plain text format.
      • Bruno, a lightweight Postman alternative
      • ThunderClient, a vscode extension
      7 votes
    2. [2]
      fandegw
      Link Parent
      I don't know your usage of REST clients, or more precisely the other tools you work with aside this tool, but in the Jetbrains IDE suite, there is a HTTP client included which is used by writing...

      I don't know your usage of REST clients, or more precisely the other tools you work with aside this tool, but in the Jetbrains IDE suite, there is a HTTP client included which is used by writing requests inside a .http file, like this:

      GET http://127.0.0.1/get-something
      
      ###
      
      POST http://127.0.0.1/create-something
      Content-Type application/json
      
      {
        "some": "data"
      }
      

      It has a miriad of benefits right out the box:

      • The fact its simply text files means you can track them via git, it's impossible to "lose" your requests via a borked update of your tool, it will remains as a file on your filesystem that you can read easily.
      • The way they are written is practically 1:1 the same as what your TCP request will send down the wire to your server.
        No magic of the tool trying to understand what you want to send when you send files (Do you want to send them via a Form-Data or directly its content. Do you want to customize each parameter in your Form-Data, etc...).
      # This is clearly a form-data request
      # And you can also see how a form-data is constructed in raw form
      POST http://127.0.0.1/post-file-with-some-metadata
      Content-Type: multipart/form-data; boundary=Boundary
      
      --Boundary
      Content-Disposition: form-data; name="metadata"
      Content-Type: application/json
      
      { "user_id": "646161", "ts": 156113130 }
      --Boundary
      Content-Disposition: form-data; name="profile"; filename="98461613146161.jpg"
      Content-Type: image/jpg
      
      < ./the_image_is_algonside_this_file_and_I_can_add_it_via_its_path.jpg
      --Boundary--
      
      ###
      # While this is sending the file directly
      POST http://127.0.0.1/post-file
      Content-Type: image/jpg
      
      < ./the_image_is_algonside_this_file_and_I_can_add_it_via_its_path.jpg
      
      • The IDE still have many niceness, like working with cookies is done automatically by default but you can deactivate them with a comment # @no-cookie-jar just for the request under it.
        You can setup variables with different values depending on what they call "Environment" that you can switch in the GUI.
        In practice I use it to have all my requests written like this:
      GET {{server1}}/get-something
      

      And in my rest-client.env.json file at the top of the project I have:

      {
        "local": {
          "server1": "http://127.0.0.1:7000",
          "server2": "http://127.0.0.1:8080"
        },
        "production": {
          "server1": "https://example.com",
          "server2": "https://otherdomain.com"
        }
      }
      

      So I can switch between my servers and the production ones with one switch in the GUI, while keeping all written requests working.

      But the main stopping point, is do you already pay for the JetBrains suite (I don't think it's available in the IntelliJ Community Edition, but I could be wrong) ?

      If not, I think there is a plugin for VS Code which seems to work with .http files, but I've never used it.

      4 votes
      1. zoroa
        Link Parent
        Oh wow that's pretty cool! Unfortunately I don't use any of the Jetbrain IDEs. And I migrated off of vscode at the start of this year. From what I've been reading, Hurl and Bruno are somewhat...

        Oh wow that's pretty cool! Unfortunately I don't use any of the Jetbrain IDEs. And I migrated off of vscode at the start of this year. From what I've been reading, Hurl and Bruno are somewhat similar so I may check those out.

    3. devilized
      Link Parent
      Ugh I'm in the exact same boat, and did the same about a month ago. I had almost used Milkman since it looked like a clone of Postman, but I figured I would be better off with something with a bit...

      Ugh I'm in the exact same boat, and did the same about a month ago. I had almost used Milkman since it looked like a clone of Postman, but I figured I would be better off with something with a bit of corporate backing instead of a single developer's pet project. Turns out that that was a mistake. I see recommendations in comments for Restfox as well, which seems to have a few more github stars and such on Github.

      2 votes
    4. whbboyd
      Link Parent
      Someone's gonna give the asshole suggestion, so it might as well be me: use curl. ;) (I do this. I use shell history to collect requests. The downsides are pretty obvious, lol, but there are some...

      Someone's gonna give the asshole suggestion, so it might as well be me: use curl. ;)

      (I do this. I use shell history to collect requests. The downsides are pretty obvious, lol, but there are some upsides: it's very clear exactly what request you're making; you can customize the request in extreme detail; documentation is good, and online guidance is extremely extensive; and, to my eternal amusement, "curl commandline" has become a standard request description format. And, I guess, the risk of enshittification is very, very low. I dunno, I do it because (a) it's shell-scriptable, and (b) I really hate Postman.)

      2 votes
    5. [3]
      mattgif
      Link Parent
      I've been trying out the REST extension for VS Code, which lets you define behaviors in .rest files. The code sits in the repo with the API it's testing, which is nice. The overall experience is...

      I've been trying out the REST extension for VS Code, which lets you define behaviors in .rest files. The code sits in the repo with the API it's testing, which is nice. The overall experience is not super smooth, and I don't love having yet another tab crowding my code window.

      Honestly, I mostly just use curl unless there's an annoying sequence like fetching a cookie to attach with every request.

      1. [2]
        Eji1700
        Link Parent
        have you checked out Thunder Client? It's a pretty decent lightweight rest client. It's NOT a replacement for postman and friends, but works for my light needs.

        have you checked out Thunder Client?

        It's a pretty decent lightweight rest client. It's NOT a replacement for postman and friends, but works for my light needs.

        1 vote
        1. mattgif
          Link Parent
          No, but it looks rad. Thanks for the recommendation!

          No, but it looks rad. Thanks for the recommendation!

          1 vote
  2. [2]
    spit-evil-olive-tips
    Link
    what an absolutely boneheaded move. I've never used Insomnia but I'm facepalming in solidarity. their issue tracker is filling up with related issues: https://github.com/Kong/insomnia/issues/6555...

    what an absolutely boneheaded move. I've never used Insomnia but I'm facepalming in solidarity.

    their issue tracker is filling up with related issues:

    according to Crunchbase, the company has 250-500 employees. they acquired Insomnia in 2019, along with a $43 million funding round, and then raised a further $100 million in 2021.

    so I find this excuse from the CTO somewhat laughable:

    The challenge is that we cannot continue to offer a great product with all these capabilities while working on an abstraction layer that supports two different storage backends for all data in Insomnia, adds too much complexity to the whole product.

    abstraction layers that support multiple storage backends are...common, and fairly straightforward? I don't see any technical reason why they couldn't do this, the real reason is that they didn't want to invest the engineering resources.

    but even if you accept their rationale that they needed to make this change, I don't think there's any excuse for how poorly they're rolling it out. Insomnia apparently has auto-updates or "a new version is available" pop-ups, so users are updating to the new version and getting smacked in the face with the changed storage functionality.

    and as noted in some of the GitHub comments, people are using this at companies that forbid using any sort of unapproved cloud storage, so the special surprise contained in this upgrade is a complete non-starter for them.

    and then on top of that, it sounds like they're having problems with their API backend, which suggests to me they didn't properly load-test it for the volume of requests they'd be receiving as soon as they released this new version. which is...uhh...not promising for a company that wants to sell you products that will power your company's APIs.

    if they wanted to do this correctly, the right way would be to have an intermediate version that supports both local and cloud storage (but not necessarily as a unified abstraction, since the CTO thinks that would be super-duper-complicated) with an optional migration wizard between the two, and a warning to users that the local storage option is deprecated and won't be supported in future releases.

    then, users upgrade, they try out the migration wizard, but at a slower pace, allowing them to ramp up traffic gradually to their backend APIs, and not locking users out of functionality if the APIs have load-related problems.

    you would also want to modify the auto-updater logic to say "a new version is available, but it will lock you out of your local storage, you must migrate before upgrading".

    what we have instead is shortsighted, corner-cutting CTO brain. Kong offers a bunch of other products as well, not just Insomnia. this move completely killed any trust I might have in the company as a whole - if adopting any of Kong's products was suggested at my dayjob, I'd point to this rug-pull as a clear sign they don't have their shit together as a company.

    7 votes
    1. devilized
      Link Parent
      We evaluated their Kubernetes gateway product a few years ago. We laughed them out of the (virtual) room once they told us pricing and we just went with Istio. The whole experience with them left...

      We evaluated their Kubernetes gateway product a few years ago. We laughed them out of the (virtual) room once they told us pricing and we just went with Istio. The whole experience with them left a bad taste in my mouth, where I almost didn't use their API client after dumping Postman. I should've gone with my gut.

      3 votes
  3. Ember
    Link
    Insomnia is a popular alternative to Postman, which grew in part due to Postman’s push for cloud storage and logins. The latest update to Insomnia seems to be pushing down the same path now:

    Insomnia is a popular alternative to Postman, which grew in part due to Postman’s push for cloud storage and logins.

    The latest update to Insomnia seems to be pushing down the same path now:

    The challenge is that we cannot continue to offer a great product with all these capabilities while working on an abstraction layer that supports two different storage backends for all data in Insomnia, adds too much complexity to the whole product. Unlike Postman, the data is end to end encrypted, so there is data sharing concern with Insomnia.

    3 votes
  4. [2]
    FeminalPanda
    Link
    Looks like they commented on it. https://medium.com/@subnetmarco/insomnia-8-0-cloud-synchronization-12ed5a341eb0
    1 vote
  5. Eji1700
    Link
    Just to give it some more visibility- I use VS Code's thunder client. Lightweight rest api. It's not nearly as powerful as postman, but depending on your use case it might be worth checking out.

    Just to give it some more visibility-

    I use VS Code's thunder client. Lightweight rest api. It's not nearly as powerful as postman, but depending on your use case it might be worth checking out.

    1 vote