Solved Invoice Ninja 5 (beta)
-
It seems Invoice Ninja went through a total rewrite in flutter. I learnt about it from this post - https://www.reddit.com/r/selfhosted/comments/ijzkx1/whats_new_in_invoice_ninja_v5_weve_rebuilt_the/ . In case, anyone wants to give it a try.
It seems there is no automatic v4 to v5 migration per https://www.reddit.com/r/selfhosted/comments/ijzkx1/whats_new_in_invoice_ninja_v5_weve_rebuilt_the/g3h66qf/ .
What that means for Cloudron is that when v5 is ready, we will package it as a new app. You have to install v5 side by side with v4 and then do the migration manually.
-
@girish A bit off topic but I'm curious... not sure if this scenario has happened before where two versions need to be running concurrently since there's no actual upgrade in-place scenario from the app developer, but what do you do in this case when it comes to managing the packages? Do you always keep v4 available in this case and maintain it until Invoice Ninja kills it off, or do you make a sort of cut-over date where people can only install v5 at that point and can't install v4?
-
@d19dotca This has happened with Ghost before. They did not provide a way to migrate to the 1.0. We simply made a new package and provided instructions on how to migrate. Atleast, for Ghost, the migration was fairly painless. Just had to export and import a json file. The old package will most likely just be hidden once v5 is out. After all, I don't think anyone wants to do a new install of v4 (if there is a reason for this, then we have to maintain to packages separately).
-
Invoice Ninja put up a video on the changes from 4 to 5 here too: https://www.youtube.com/watch?v=h_IMJLmVmuY
-
Looks like the new version is out!
-
Stable v5 branch: https://github.com/invoiceninja/invoiceninja/tree/v5-stable
Current version is v5.0.25
Redesign and new features look nice. There is a migration tool built into the current v4.5.X version. Once the v5 is packed for Cloudron you can ship your data over to the new instance.
Note: v5 is now in beta. To upgrade from v4 you need to install v5 as a separate app and then use the migration tool in the latest version of v4 on Settings > Account Management.
-
@girish Are there any plans of having v5 in Cloudron App Store soon?
-
@alex-adestech yes, when they make a stable release (and also a migration path from v4).
-
@girish both should be fullfilled. See https://github.com/invoiceninja/invoiceninja/tree/v5-stable and https://invoiceninja.github.io/selfhost.html#migrating-from-v4
Migration is only possible from one v4 app to another v5.
EDIT: Okay they don't have a stable v5 yet but stable RC's within their v5-stable branch.
EDIT2: Docker version of v5 https://github.com/invoiceninja/dockerfiles -
@subven right, they have release v5 for quite some time now but they don't have a stable tag yet. Even their demo link on the website is still v4 from what I can tell.
-
@girish No their demo link is definitely v5, that's how I was able to confirm that my issue with Invoice Ninja and Safari was fixed in their v5 version.
Unless they changed it back?
You are correct though - v5 isn't yet officially stable. Even their invoiceninja.org site shows v4 as the latest build still. However it sounds like they're real close, so maybe not a bad idea to package it still for those early adopters? No worries if not though, it should be stable soon enough from their email that went out a month or so ago.
-
@d19dotca I was trying the 'test drive' button in https://www.invoiceninja.com/ (not .org). I can't actually make out if it's v4 or v5. I had the impression v5 looked totally different but this was from many months ago. I don't think we will package v5 yet though, since we don't package unstable packages (if we report bugs upstream, they are usually just ignored).
-
@girish Yeah, totally fair on the unstable part. Interesting about the demo though. You're right, the way you went to view it it is indeed using v4. But if you go to https://demo.invoiceninja.com/#/ it's using v5. Odd.
-
Found this today, which may be helpful to some before we switch over to v5: https://youtu.be/NgwCxIMry54
-
Any updates on a package for v5?
-
@telos-one according to their readme, 5 is still beta, we will update the package once it is stable and hopefully there will some solid migration possible as well.
-
Hi, I'm one of the developers of Invoice Ninja. Really cool to see all of the interest in v5, we've been working on it for a while now and are extremely excited to release it!
We actually just reached out to Clourdon to discuss getting the package ready for our stable release in a few weeks, they shared this thread with us.
If you have any questions about the new version I'm happy to answer them. Also, any feedback on the new version would be very much appreciated!
-
@hillel369 thanks! hopefully, we can get a unstable version of v5 for people to test out in the coming week or two already.
-
@hillel369 Hey, great to see another app developer here and I'm certain you're very welcome! Hope you're enjoying Cloudron too
Great work on v6 too! I think I posted or emailed this a while back but a "compact mode" for the UI, similar to GMail. Guessing the UI framework might already have an option for that it is is in common?
-
Just got an email from IN declaring v5 stable. It looks awesome.
-
Indeed and we are working with them to get a v5 package out. There is one pending issue for the moment which is fixed in the next upstream release. Once that is done, we will release it to the library as a separate app since there is no automatic migration path.
-
@nebulon THANK YOU! Really looking forward to the v5 release!
-
I have published a v5 package now (this is a separate entry in the app listing) as unstable. Would be great to get some feedback on this.
As the unstable tag indicates, this is not yet ready for production. Also the data migration has to be done manually as there is no automated way to perform this for now.
The migration process is outlined at https://invoiceninja.github.io/docs/migration/
-
@nebulon One think I notice is this error. Seems like theres an issue with the cron? WOnderful job packaging this by the way! I love the look of v5. Looks like it was made in the last decade
-
My guess: missing symlink to /app/data
Same with Documents/Files -
[0.2.0]
- Update to InvoiceNinja 5.1.25
-
[0.3.0]
- Add REST API tests
- Fix logo and company documents upload
Still not sure how to fix the cron job warning, the cronjobs as such run every minute.
-
@nebulon Odd... so its more so an issue of Invoice Ninja not being aware that they are running?
-
@atrilahiji I think so yes, will create an upstream bug report once I have more info.
In the meantime there is another bug with login form submission, I've created an issue at https://github.com/invoiceninja/invoiceninja/issues/5148
-
[0.4.0]
- Update InvoiceNinja to 5.1.26
-
[0.5.0]
- Update InvoiceNinja to 5.1.27
-
[0.5.1]
- Fixup artisan cronjobs
This will fix the cron warning. Root cause were some php features which were disabled by default in the ubuntu php.ini but were required by artisan.
Are there any further outstanding issues anyone has detected?
-
latest update -
500: Internal Server Error
Quotes -> View PDF / EMail quoteSame for Invoices.
From the log:
[2021-03-18 16:38:53] production.ERROR: The file "/app/data/public-storage/w5ydmyvt3smecevxmv4ahznnxdpdpk4rpqsbfreldfpzdgjk8nlcsoyikm85newy/WUFzx8BMMlNLapGCed7k1p4MtLipFTpsrTHHOV1i/quotes/0001.pdf" does not exist {"exception":"[object] (Symfony\\Component\\HttpFoundation\\File\\Exception\\FileNotFoundException(code: 0): The file \"/app/data/public-storage/w5ydmyvt3smecevxmv4ahznnxdpdpk4rpqsbfreldfpzdgjk8nlcsoyikm85newy/WUFzx8BMMlNLapGCed7k1p4MtLipFTpsrTHHOV1i/quotes/0001.pdf\" does not exist at /app/code/vendor/symfony/http-foundation/File/File.php:36) [stacktrace]
And yes: it's true. There is no /quotes/* in the public-storage folder. No idea why!
-
Thanks for trying out the beta!
For the cron issue can you confirm that the crons are running? It can help to manually run the cron from the command line removing the parts after >
cd /path-to-your-project && php artisan schedule:run
https://invoiceninja.github.io/docs/self-host-installation/#cron-configuration-1
For the PDF error which renderer are you using Chrome or PhantomJS? I'd be curious to know if changing between them helps.
-
@luckow if you click "Daten Aktualisieren" then the warning on the bottom left should go away. I am checking why it doesn't do this withouth. The artisan jobs should be triggered every minute.
-
@luckow I can confirm the issue as well. I also tried to create the whole subfolder tree just to try out, but it does not fix it. Also I can't make out any permissions issue, so I think the pdf generation fails first, then triggering the 500 error, since the expected result pdf does not exist.
Unfortunately I am not able so far to find further logs for the pdf generation.
@hillel369 we do use phantomjs-2.1.1-linux-x86_64 here. Not actually sure how to switch to chrome
-
[0.5.2]
- Update InvoiceNinja to 5.1.30
-
fyi: The update to the latest version ended in
Mar 22 10:02:25 ==> Startup Mar 22 10:02:25 ==> Create php.ini Mar 22 10:02:25 ==> Update env file for database and email configs Mar 22 10:02:25 ==> Run db migration Mar 22 10:02:26 Mar 22 10:02:26 In routes-v7.php line 12335: Mar 22 10:02:26 Mar 22 10:02:26 syntax error, unexpected end of file, expecting ')'
Installing a new copy of the app works.
-
@luckow hm I can't reproduce the issue you are seeing
-
@nebulon Hi, there's info here about changing PDF renderers
https://invoiceninja.github.io/docs/self-host-troubleshooting/#pdf-conversion-issues
If you need more help feel free to email us at contact@invoiceninja.com
-
@hillel369 ah I see, so I guess the phantomjs installed within the app is not even used anymore then with v5. I had no clue about the cloud service.
I will see how the configuration needs to be tweaked. Thanks for the pointer!
-
[0.5.3]
- Update InvoiceNinja to 5.1.31
- Fix snappdf usage
So pdf rendering should work fine now.
I've also added a lot more API tests, however for some reason they behave quite inconsitently when the user has never logged into the webinterface. Since the flutter UI is quite hard or remote control via selenium, I am not sure how to further automate this though. -
[0.5.4]
- Update InvoiceNinja to 5.1.32
-
[0.5.5]
- Update InvoiceNinja to 5.1.34
-
[0.5.6]
- Update screenshots
-
[0.5.7]
- Update InvoiceNinja to 5.1.37
- Use laravel queues instead of crontab to improve performance
- Fix email sending
- Set minimum memory limit to 512MB
-
I will lock this thread, further updates are now posted in the main news topic of this section.