HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Merge fixes in GitHub with 3.3

So there are some bugs that I found that are fixed in the version that is in the GitHub Repository. If I installed 3.3 from the site and an official release how do I go about importing changes from the GitHub to fix the bugs I am having? Should I just replace the files that fixed the bug?



  • TimTim Operations Vanilla Staff

    I wouldn't copy individual files into another version. If you want to run the github version, you should install the whole thing by checking out or downloading master from Github and using that in its entirety.

    Take a backup first (database and config), get master from github, put your backed-up config into the new installation and see if that works for you.

    Don't forget to hit utility/update afterward.

    (I am not a lawyer and this is not medical advice. Good luck)

    Vanilla Forums COO [GitHub, Twitter, About.me]

  • Is the utility/update so that it updates the database to conform with this version?

    Like if I wanted to migrate from our version to the GitHub version I would just upload the new files and run this update? Obviously from a test server first

  • MrCaspanMrCaspan
    edited January 2021

    So I am looking at doing this soon... I would just upload the master from GitHub to a blank site and then just connect it to my existing database then run the update after that?

  • KasparKaspar Moderator

    Yes but clone your db.

    Test with the clone.

    Better safe than sorry.

  • Yep i have a dev copy i am testing on.. I get this error

    Could not find the autoloader. Did you forget to run 'composer install' in '/home/mainnu/public_html/dev.domain.com' 

    Also in the root folder there seems to be junk files all over the place.. Do I really need half these files? In the original install there is like 3 files index.php, bootstrap.php, environment.php, .htaccess

  • KasparKaspar Moderator
    edited January 2021
  • K17K17 Français / French Paris, France ✭✭✭
    edited January 2021

    Of course you need it 😉

    Because you are using the github master that is uncompiled. The actual ready-to-use script in packaged here: https://open.vanillaforums.com/addon/vanilla-core

    If you want to use the dev one, you have to complie it yourself as you can see here. This step is needed to make Vanilla works. Once every tool is installed, it's pretty easy to get a "release" package of Vanilla.

    But as always: you're dealing with in-dev stuff, so it may be unstable. Actually it is considered stable as @MrCaspan said.

  • Well according to their github

    The master branch is considered a stable branch capable of being released at any time

    also the link to the steps to build it just takes me to the code download page. Can you point me to the steps to build it?

    I would use the core version but there are such glaring bugs in 3.3 that are a year old now that are still not being patched. Things like categories showing as unread and there are no unread discussions in that category so you mark it as read again and same problem comes back. Users cant tell actually when there are new threads so they just give up trying.. Not what you want in a tool that is supposed to help them have a community they can follow. Users are having all kinds of issues that have been fixed in the master branch but this core version is still a year+ old. JavaScript issues and warnings filling up my error logs.

    So I have 2 choices fix it myself and break the code for updates or install their version now that has some of the bug fixes in it. I would rather use their version so it allows me to update later to the core version when ever that is.

    Sorry to vent I just feel like this software is an after thought for the developers and its not really actively updated. I know it's free so what do I expect but it seems like 3 or 4 people on their free time chip away at it.

  • KasparKaspar Moderator
  • K17K17 Français / French Paris, France ✭✭✭
    edited January 2021

    @Kaspar you're right 😅

    Did 2 mistakes in the post. Edited.

  • R_JR_J Ex-Fanboy Munich Admin

    Well, running the master branch bears some dangers, but in general it should work. It should...

    Nevertheless you are using a developers branch and therefore need some more technical skills. You already found the instructions. But you need a Linux environment for the build process. I recommend installing the "Windows Subsystem for Linux" WSL which allows you to run a debian Linux on your Windows command line.

    1. Install WSL for Windows
    2. Install debian for WSL (from the MS store)
    3. Install what is recommended in the build steps
    4. Run ./bin/release

    You need to know which branch you want to create a package from. Take a look at the branches with the word "release". Right now the most current branch is "release/2020.013"

    I just did so and had some troubles

    1. composer was expected to be in a different directory. I had to create a symbolic link like that "sudo ln -s /usr/bin/composer /usr/local/bin/composer"
    2. Build process failed and it took me a while to find out that I hadn't installed zip. "sudo apt install zip" was also required on my debian.

    But I haven't tested if the build version is running smoothly because that might change from release to release. But the built process should be the same.

  • The release branches are quite old though with last commit being back in July 2020. The "release/2020.013" branch is also over a 100 commits behind master. That branch is also failing the build on CircleCi so it seems like building from Master might be the better way.

  • So I used the 2020.13 and pasted the files overtop of the old site.. This is a dev site of course. I tried to run the /utilities/update and I am getting this error, any ideas?

  • I think I know why, I am using my old config.. let me play with it to combine important stuff

  • Okay so how would I upgrade from 3.3 to 4.2020.13? or is it a new install only?

  • R_JR_J Ex-Fanboy Munich Admin

    Oh sure, you are right. I totally missed that. I was just concentrating on the build process, not so much on what I was building...

  • R_JR_J Ex-Fanboy Munich Admin

    I don't know if this works in this case, but you should always delete all files in the /cache folder. In the past I have toyed around with the master branch and frequently had such errors when switching between branches. Deleting the cache always helped

  • R_JR_J Ex-Fanboy Munich Admin

    If you decide to run the master branch, I would advice to clone the master branch to a development forum. For that development forum, it should be enough (and easier) if you simply run all build tools manually. If you are happy with that branch, you should run the build tool and

    1. unzip the built file to your live environment
    2. delete all files in /cache
    3. run /utility/update and /utility/structure
  • R_JR_J Ex-Fanboy Munich Admin

    ... well, nice theory but it turns out that this doesn't work. Forget it. Just create somewhere a "development" environment where you can run that build script and unzip the package to your server. I tried to skip the build step and was quite successful, but then I faced problems because some js files where missing and I couldn't use the dashboard at all. Looks to me as if there are some files created by the build script itself, not by composer or yarn

  • R_JR_J Ex-Fanboy Munich Admin

    Funny. Every step brings some new surprises. The new Vanilla branch comes with some nice themes. It has been said that plugins and themes should be more or less the same, so if you look at their meta file addon.json, in general the main difference between both is the "type" key.

    I would guess as a result, that new themes reside in a folder called "addons/themes". I assume that folder should replace "themes" and the "plugins" folder will become "/addons/plugins" in the long run.

    By now, the build process doesn't include that folder. So the shiny new themes are missing in the zip file. Nevertheless the default theme is one of the new themes, which caused some error during my testings.

    So I started by changing the current theme to default and then tested if simply copying the /addons folder from the master branch to my folder created with help of the build script worked, and it did :-)

    The new theme comes with a nice search bar, but there are still some minor, but in my opinion obvious inconsistencies left. But since they left us with the bitchy "Rich" Editor, I can't imagine that anybody cares about minor glitches...

Sign In or Register to comment.