latter-bolden / port

A ship runner and manager for Urbit OS
180 stars 12 forks source link

[bug] Apps on Grid not updating when switching between IDs #184

Closed tastem-pacper closed 2 years ago

tastem-pacper commented 2 years ago

Bug Description I run a planet and a comet with Port on my Windows laptop. My planet has a bunch of apps. My comet only has Groups. If I'm running the planet, click Manage/Stop on it, and then Launch the comet, all of the planet's apps still show up on Grid! When I click on those tiles (besides Groups), they never load.

If I close and restart Port, then start the comet, I only see Groups, as expected. But then the reverse problem can happen as well: if I click Manage/Stop on the comet and then boot my planet, none of the planet's apps show up on Grid (besides Groups).

The type of ID here doesn't matter. The same bug occurs if you're switching between comets or between planets.

(Unrelatedly, when testing this out and running various comets and planets in sequence, I went to the home page and saw that both my comet and my planet were "🟢Running" at the same time – but neither of them could be opened until I stopped both – and clicking "Stop" on the planet didn't actually stop it until I stopped the comet first. Gah! I'll see if I can reproduce this error and submit it separately.)

To Reproduce Steps to reproduce the behavior:

  1. Run two ships on Port.
  2. Install apps on one of them.
  3. Switch to the other one.
  4. See that all the apps are still there.

Expected Behavior When I install an app on a ship, it appears on that ship and none of the others. And if I have an app installed on a ship, it appears on that ship, even if it isn't installed on any of the others.

Environment:

PS: I love Port. Thank you for making self-hosting on Urbit so accessible!

arthyn commented 2 years ago

@tastem-pacper glad you like it! also thanks for reporting this is something that we need to fix.

@latterbolden I think this is because we used to do ship name checking with dojo('our'..., but now we just look for the .http.ports file iirc. So if two ships are pointed at the same ports and one responds then both will appear as running. But it also sounds like there might be two bugs here.