Author Topic: [Preview] Knossos 0.5.3  (Read 23004 times)

0 Members and 1 Guest are viewing this topic.

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
Knossos hides mods without releases so that wouldn't be possible right now. I guess I should rename the checkbox "Private mode".

Would it make sense to mark only specific versions as private? You could then have a publicly available version 1.0 (or something) and beta test a new version without having to hide the whole mod.

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Would it make sense to mark only specific versions as private?
Yes, definitely.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
Then I'll add a "Mark this release as private" checkbox to the upload screen. That should be clear enough.

I've turned the version number on the mod details pages into a select box. You should now be able to see all released versions and install/launch them.
I already mentioned that it's currently impossible to delete an uploaded mod if you lose your dev files. A possible solution would be to add a delete button to the details page if you're authorized to delete a release... that might be confusing though since we already have an uninstall button for installed mods. Any ideas for better labeling?

Most form elements currently use Bootstrap's default style which doesn't really fit with the rest (and I don't like how much space the form elements need). I'll experiment with this and see if I can improve it. In the meantime I'm going to fix debug builds and FRED (the way I originally wanted to handle them doesn't work) and then implement sorting on the home and explore tab.

@mjn I'd really like to hear your opinion on the mockups.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Sorry, ngld.. I ended up having a bit of a medical procedure which took me out of everything for a while. Those mockups look good. I think that's the best way to handle it, too. If you have time to get the basics on the tabs in place, i'll make it look pretty.
« Last Edit: October 17, 2017, 11:43:47 am by mjn.mixael »
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
Alright, I've implemented the basics and finished some other things (The dropdowns on the home tab are working, finally!).
There are only a few issues with the new design:
  • The blue buttons aren't long enough (should be easily fixable by replacing the PNGs and updating the CSS).
  • Positioning the tab bar was a pain. The result is that the packages are now always visible (which is why I removed the "Packages" tab) and if you have too many packages, they won't display.
  • The scrollbar looks a bit weird since it doesn't reach the top.
  • The tab buttons don't look pretty. :)



@mjn: Knossos has a few new dependencies. The windows_run.bat script should take care of the most stuff (Node.js, etc.) but it might complain about a missing ply or requests_toolbelt package. If it does, launch a command line and enter "py -3 -mpip install ply requests_toolbelt" to install the missing packages.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
I've done some testing by adding/uploading/installing/launching MediaVPs 3.6.12 & 2014 as well as BP Complete. I've found and fixed a bunch of bugs. It's working pretty well so far.
I've experimented a bit with BP Complete; I split the content in only two packages, one containing the required files and a second one containing the optional files. The first package resulted in a .7z file which is over 1GB big but the upload (and download) went fine. I don't think it's a good idea to have such huge archives and now I'm wondering if Knossos should automatically build more than one archive per package if it's as big as this (currently it builds one .7z per package during upload)...
Mod authors can work (and probably should) work around this by creating multiple packages similar to how mods already use multiple VP files.

I've also managed to display 7z's progress which means that the progress bar doesn't freeze anymore during the "Packing..." step when uploading. The debug builds can now be launched directly through the dropdown menu. FRED should work the same but I haven't checked, yet.

Updating, sorting, debug log upload are still missing. I also completely forgot about the description field. I think the last consensus was that it should use BBCode for formatting.
« Last Edit: October 15, 2017, 04:37:30 pm by ngld »

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Excellent. I'll have time tomorrow night to get to work on it.
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Where'd the install FS2 button go?

I was finally prompted to install FS2 when trying to install BP complete. I'm assuming you don't have any sort of "first run" prompt right now?

I also noticed that it did not fetch the mod list upon first boot. I had to hit Refresh. Might want to adjust that to make sure it updates the list when it's run?
« Last Edit: October 16, 2017, 10:18:20 pm by mjn.mixael »
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
The "install retail" button? I removed it because I didn't think fit in there. You should be able trigger the same dialog by installing the MediaVPs.
If you want to restore the button, open html/templates/kn-devel-page.vue, search for "INSTALL RETAIL" and remove the comment markers ("<!--" and "-->") in that line.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Submitted a PR.

The only other thing I'd like to do, but my brain wasn't figuring it out... I'd like to move the Version and Package buttons adjacent to Upload and Delete.

We'd have...

<DELETE> <UPLOAD>
<+PACKAGE><+VERSION>

instead of...

<UPLOAD>
<DELETE>
<+VERSION>
<+PACKAGE>

That would also free up some room there at the bottom of that "column" to help things feel less cluttered.

EDIT: Thanks. Got it!
« Last Edit: October 17, 2017, 02:21:01 am by mjn.mixael »
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Tried to setup a dev environment on my laptop. It complains that it can't find RCC. I installed QT Creator, but not sure if that includes the development packages like your installation guide suggests.
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
You shouldn't have to install anything from Qt. Check your releng\windows\support directory. If it doesn't contain an rcc.exe file but an support.json.chk file, delete the latter and run windows_run.bat.
If neither of those exsists, launching windows_run.bat should fix the problem unless it's stuck somewhere...  Do you get any error messages?

Regarding the installation instructions: The README.md file only gives a quick overview. The detailed instructions are on the Wiki. I guess I should link them there...

 

Offline m!m

  • 211
Re: [Preview] Knossos 0.5.3
I tested the newest development version and encountered a few issues. I fixed one of the issues and submitted a PR with the fix but I have another issue where I don't know how I would fix it.

Basically, I see a lot of "checksum" KeyErrors, both on startup and when installing a mod:
Code: [Select]
ERROR:Thread-9:progress.run: Exception in Thread!
Traceback (most recent call last):
  File "knossos/progress.py", line 114, in run
    task[0].work(*task[1])
  File "knossos/progress.py", line 393, in work
    self._steps[self._cur_step][1](arg)
  File "knossos/tasks.py", line 516, in work2
    if util.check_hash(archive['checksum'], arpath):
KeyError: 'checksum'

  

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
In poking around this morning, I noticed a few issues...

Playing or Launching any exec fails.
Retail says it can't find an exec at all.
Clicking the Mod Path on the dev tab suggests it will open a shell window to that file location, but that also fails.
Increasing Max Downloads gives an error and won't save.

EDIT: It also strikes me as odd that the FSO release is treated as a mod you can play. It's not really a huge problem UI wise, though, as long as all FSO releases use the versioning system rather than new "mods" like they do in Goober's installer. We want to prevent the Home and Explore tab from being filled with FSO versions.

Nebula doesn't have an web UI yet, right? (Obviously some functions are working, so that's why I ask.)
« Last Edit: October 18, 2017, 08:41:07 am by mjn.mixael »
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
@m!m: I'll merge the PR today when I'm back at my computer.

I apparently made a stupid mistake when I uploaded the FSO build. The 32bit and 64bit files are extracted into the same folder and overwrite each other. This leads to the checksum errors (the files can't match both the 32bit and 64bit checksums) and the launch errors (a 32bit .exe can't load 64bit libraries and vice versa).

I'll upload a fixed version later today and add a check to the upload code to prevent this from happening in the future.

Retail says it can't find an exec at all.
Take a look at the mod.json file, I think it depends on FSO >= 3.8.0-RC3 which doesn't work because the current FSO build is 3.8.0-1. I fixed the code which generates the mod.json a while back and it should work if you redo the retail install section.

Clicking the Mod Path on the dev tab suggests it will open a shell window to that file location, but that also fails.
Increasing Max Downloads gives an error and won't save.
No idea why this happens, I'll look into it.

EDIT: It also strikes me as odd that the FSO release is treated as a mod you can play. It's not really a huge problem UI wise, though, as long as all FSO releases use the versioning system rather than new "mods" like they do in Goober's installer. We want to prevent the Home and Explore tab from being filled with FSO versions.
FSO is displayed the same as mods because Knossos mostly treats them the same, that said I want to add a filter which hides builds and make it the default. I think the sorting menu would be a good place for this.
All FSO releases will be displayed as one entry. Custom builds like WoD builds would be seperate.

Nebula doesn't have an web UI yet, right? (Obviously some functions are working, so that's why I ask.)
No, haven't gotten around to it. I want to add at least the account management (i.e. register, login and password reset) stuff and maybe a mod list. Once that's done I think we should replace the Nebula section in Knossos' settings with an iframe displaying Nebula's login screen / account management screen.

Some other issues I noticed are that the progress bar isn't displayed if you install retail from GOG's installer (the taskbar displays the progress correctly but there should also be a progress bar in Knossos' window) and when launching a mod FSO always asks you to pick a build. That screen should only display for mods in dev mode since I don't think it's something users should be bothered by. It's displayed in this case because Knossos doesn't know which build to pick. On Linux this isn't a problem since there no 32bit build exists.

BTW, do we need a ToS or DMCA page since we're hosting user-generated content?

 

Offline m!m

  • 211
Re: [Preview] Knossos 0.5.3
@m!m: I'll merge the PR today when I'm back at my computer.
Thank you. I also forced knossos to reload the mod data and now the checksum errors don't occur anymore.

I have another suggestion. When I checked if the checksum error still occurs I installed just the root files of the MediaVPs to avoid downloading all the files but now I can't add the optional files to the installed mod. I could uninstall it and reinstall the mod but that seems a bit unintuitive. Could it be possible to add a "change" entry to the drop-down menu? It could also be used to remove installed components again but that probably requires more work but the installation GUI already exists so simply installing missing optional components may be easier to implement.

EDIT: I found another issue while testing some stuff. I uninstalled my retail "mod" in case that was also affected by the checksum bug I had but now I can't "reinstall" it anymore and when I try to start the MediaVPs it throws this exception:
Code: [Select]
Traceback (most recent call last):
  File "knossos/web.py", line 301, in runMod
    runner.run_mod(mod)
  File "knossos/runner.py", line 315, in run_mod
    run_mod_ex(mod, exes[0]['file'], [path for path, label in mod_flag])
  File "knossos/runner.py", line 323, in run_mod_ex
    basepath = mod.get_parent().folder
  File "knossos/repo.py", line 530, in get_parent
    return self._repo.query(self.parent)
  File "knossos/repo.py", line 248, in query
    raise ModNotFound('Mod "%s" wasn\'t found!' % (mid), mid)
knossos.repo.ModNotFound: Mod "FS2" wasn't found!

Maybe a button for manually installing retail could be added?

EDIT2: Actually, the "Uninstall" button only removed the mod.json from the retail install but left the files intact. That means that WebBridge.install thinks that there is a retail install but when something tries to use that mod it doesn't exists because the mod.json file is missing (at least I think that is the cause).
« Last Edit: October 19, 2017, 03:39:37 am by m!m »

 

Offline mjn.mixael

  • Cutscene Master
  • 212
  • Chopped liver
    • Steam
    • Twitter
Re: [Preview] Knossos 0.5.3
Honestly, uninstalling retail probably shouldn't be allowed. Outside of TCs, every mod requires it.
Cutscene Upgrade Project - Mainhall Remakes - Between the Ashes
Youtube Channel - P3D Model Box
Between the Ashes is looking for committed testers, PM me for details.
Freespace Upgrade Project See what's happening.

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
The PR is merged.

Modifying mod installs has been implemented a while back and currently only the UI for it is missing (it got lost during the UI rewrite). I want to add it back but I'll have to think about the UI. The modify button sounds fine but I'm not sure how the dialog after that should look. The simplest case would be a list of checkboxes (one for each package). The user could then check or uncheck the packages they want to (un)install.

The uninstall issue consists of two bugs: a) I need to implement a check which disallows uninstallation of any mod which is required by others and b) your uninstallation failed. I think b) is due to the fact that the mod.json doesn't actually contain a list of files. Since this is a special case and I agree with mjn, I should just hide the uninstall button for the retail mod.
The retail prompt (the popup that asks you to select a FS2 folder or exe) should always show up if the FS2 mod doesn't exist. I guess I need to correct the condition for that.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Re: [Preview] Knossos 0.5.3
I'm not 100% we need to require FS2 to be available for this to be useful.  There are more than a handful of people who have ventured into the community only for total conversions such as The Babylon Project or Diaspora, and will likely remain the case when those are updated or more are released.  Steam for instance does not require the Half-Life engines to be installed until you install a Source or GoldSrc based gamed.  Sure, most people end up doing that, but not everyone.  I will admit, uninstalling FS2 should probably include a heavier prompt, although giving it special behavior like that would probably have to be some kind of kludge.  Or, when the dependency stuff is figured out, just treat it like any other dependency.  I still feel like Knossos should not prompt about FS2 at all though, until you request it to install an FS2-based mod.  It gets you into the experience faster for one thing, on first run.  But even if we want it to prompt for FS2 immediately, I think it should at least be skippable, and not make future prompts.

I am hoping that any dependency management system will keep track of mods installed only as dependencies vs those specifically installed by the user.  This way during an uninstall, any orphaned dependencies can be prompted to be removed as well, or left behind by the user.  Any orphaned deps elected to remain should probably be added to the requested mods at that point.  An exception could be mods that only exist to be dependencies, something we don't really have yet, but maybe could at some point in the future with this new system, similar to how the Source Engine is broken out.  Those things could be cleaned up without prompting if they ever existed.  This is mostly just to keep in mind for potential future iterations, but tracking requested vs dependencies is probably something to get right out of the gate.  It's a feature of most of the better package managers out there that some of the less mature ones commonly lack, which can be frustrating.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline ngld

  • Administrator
  • 29
  • Knossos dev
Re: [Preview] Knossos 0.5.3
FS2 is only required if you install a mod which depends on FS2 (like the MediaVPs). The retail prompt only shows up once you try to install a mod like that. You can install TCs just fine without retail.
I was referring to the fact that the retail prompt didn't show up when he tried to re-install the MediaVPs. I'm sorry if that wasn't clear. The check previously checked if the saved retail directory existed, now I want to check for the existence of the FS2 mod instead.

The difference between user-installed mods and auto-installed dependencies isn't tracked right now but should be easy to add. Especially since we already have mods that are only dependencies: the FSO builds.