plankanban / planka

The realtime kanban board for workgroups built with React and Redux.
https://planka.app
GNU Affero General Public License v3.0
7.91k stars 732 forks source link

Newest build doesn't show anything #29

Open Trollwut opened 4 years ago

Trollwut commented 4 years ago

Hey mates!

Yesterday I pulled for updates and up-d'd it. Now there is an empty web page showing, although everything runs "fine".

docker-compose logs doesn't show anything specific, in fact it shows the same messages as always:

 docker-compose logs -f planka                                                                                                                                                                                3844ms
Attaching to tasks_planka_planka_1
planka_1  | debug: Detected Sails environment is "production", but NODE_ENV is `undefined`.
planka_1  | debug: Automatically setting the NODE_ENV environment variable to "production".
planka_1  | debug:
planka_1  | debug: -------------------------------------------------------
planka_1  | debug: :: Fri Aug 21 2020 21:56:51 GMT+0000 (Coordinated Universal Time)
planka_1  | debug: Environment : production
planka_1  | debug: Port        : 1337
planka_1  | debug: -------------------------------------------------------
planka_1  | debug: Detected Sails environment is "production", but NODE_ENV is `undefined`.
planka_1  | debug: Automatically setting the NODE_ENV environment variable to "production".
planka_1  | debug:
planka_1  | debug: -------------------------------------------------------
planka_1  | debug: :: Fri Aug 21 2020 22:39:10 GMT+0000 (Coordinated Universal Time)
planka_1  | debug: Environment : production
planka_1  | debug: Port        : 1337
planka_1  | debug: -------------------------------------------------------

The build I'm using is from docker-hub with commit source 767d395.

Is there any way to up a new/old build, until this is fixed?

Also, this is the source code of the client web page:

<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Planka is an open source project managment software"/><link rel="apple-touch-icon" href="logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Planka</title><link href="/static/css/2.25ff2e5b.chunk.css" rel="stylesheet"><link href="/static/css/main.983bf06a.chunk.css" rel="stylesheet"></head><body id="app"><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,a,i=t[0],c=t[1],l=t[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(t);s.length;)s.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,i=1;i<r.length;i++){var c=r[i];0!==o[c]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={1:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"0d356ef3",4:"6f0c9c93"}[e]+".chunk.js"}(e);var c=new Error;u=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,r[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpplanka-client"]=this["webpackJsonpplanka-client"]||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var f=c;r()}([])</script><script src="/static/js/2.68642a72.chunk.js"></script><script src="/static/js/main.f491311b.chunk.js"></script></body></html>
Trollwut commented 4 years ago

Oh I also see that my volumes now are empty...

good that I used an external database, so at least all cards aare there

meltyshev commented 4 years ago

Hi! I trying to reproduce it, but everything works ok for me. Did you update the image by docker-compose pull? Is there something in the console? Source code looks ok, I have the same... Can you open any static file (for example /static/js/main.f491311b.chunk.js)? It looks like static files won't be loaded or something happened in the code, so the error will be raised to the console.

ghost commented 4 years ago

Tested with the latest pull, after login with the demo info, the thing just keeps on spinning forever. Blank page, same as Trollwut

Trollwut commented 4 years ago

Tested with the latest pull, after login with the demo info, the thing just keeps on spinning forever. Blank page, same as Trollwut

Did you also lose your data inside your volumes?

Because now I fear pulling again so this happens again and I love my attachments and images :/

ghost commented 4 years ago

I think the blank error has to do with SSL, without SSL it works fine, with SSL, I just get a blank page.

https://github.com/plankanban/planka/issues/21

Even with this nginx config it doesn't work. I have to enter example.com:[port] to get it to work.

gamelaster commented 4 years ago

The blank page is shown when the app can't connect to planka's websocket. Also, I'm running latest planka, and everything works finely.

nickbe commented 4 years ago

Also check if there are any pid lockfiles left. I found that sometimes they have to be manually deleted after some failed start.

meltyshev commented 4 years ago

And keep in mind that «Please note that Planka is NOT released yet, API and database structure may be changed!». Currently, there are no migrations and new database structure for the next version can be incompatible with an old one. Updates will properly work on Planka release - I will write migrations on each database change. In the current version, the database changes very often, so migrations can take some working time.

gamelaster commented 4 years ago

@meltyshev in this case, it would be nice to make database backup when docker container will detect upgrade

nickbe commented 4 years ago

That's basically a one lines for every user who wants that. If you're abilities do not go beyond docker containers then I suggest you wait for major updates rather than the smaller ones. As Maks mentioned - the database structure will change considerably in the coming weeks and there's no time for any automatic backup or migration scripts for now.

spartan117aut commented 4 years ago

Tested with the latest pull, after login with the demo info, the thing just keeps on spinning forever. Blank page, same as Trollwut

Just had the same problem. Turned out that I didn't edit BASE_URL in docker-compose.yml... That happens when you don't read the instructions carefully. Just wanted to share in case anyone else has troubles...

timshannon commented 2 years ago

Not sure if this is the same issue, but I thought I'd drop this info here:

I was running fine on the docker :latest tag, and I noticed there was a more recent 1.0.0-beta tag out there, so I thought i'd check it out.

After pulling the tag I get a blank screen or a forever spinning wheel. Docker logs show that a new table is missing:

postgres_1  | 2021-10-26 14:14:47.839 UTC [29] ERROR:  relation "public.project_manager" does not exist at character 71
postgres_1  | 2021-10-26 14:14:47.839 UTC [29] STATEMENT:  select "id", "created_at", "updated_at", "project_id", "user_id" from "public"."project_manager" where "user_id" = $1 order by "id" ASC limit $2
planka_1    | error: Sending 500 ("Server Error") response:
planka_1    |  AdapterError: Unexpected error from database adapter: relation "public.project_manager" does not exist
planka_1    |     at fn (/app/api/helpers/project-managers/get-many.js:10:27)
planka_1    |     at wrapper (/app/node_modules/@sailshq/lodash/lib/index.js:3282:19)
planka_1    |     at Deferred.parley.retry [as _handleExec] (/app/node_modules/machine/lib/private/help-build-machine.js:1014:29)
planka_1    |     at Deferred.exec (/app/node_modules/parley/lib/private/Deferred.js:286:10)
planka_1    |     at Deferred.tryCatcher (/app/node_modules/bluebird/js/release/util.js:11:23)
planka_1    |     at ret (eval at makeNodePromisifiedEval (/app/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:14:23)
planka_1    |     at Deferred.toPromise (/app/node_modules/parley/lib/private/Deferred.js:572:19)
planka_1    |     at Deferred.then (/app/node_modules/parley/lib/private/Deferred.js:431:22)
planka_1    |     at processTicksAndRejections (internal/process/task_queues.js:95:5)

And per the comments above, it looks like there is no DB migration in place yet, which explains the missing tables on existing instances.

@meltyshev or @nickbe will post 1.0 have data migrations? Basically it's not worth actually using this software until you know that data you put in it will be preserved between versions.

lp419665 commented 2 years ago

Hello, my Planka juct became blank (black) page. When I query the database everything seems ok, I can see tasks. Do I need to check some tables? Planka is running on OpenShift.

SiM22 commented 2 years ago

Not sure if this is the same issue, but I thought I'd drop this info here:

I was running fine on the docker :latest tag, and I noticed there was a more recent 1.0.0-beta tag out there, so I thought i'd check it out.

After pulling the tag I get a blank screen or a forever spinning wheel. Docker logs show that a new table is missing:


postgres_1  | 2021-10-26 14:14:47.839 UTC [29] ERROR:  relation "public.project_manager" does not exist at character 71

postgres_1  | 2021-10-26 14:14:47.839 UTC [29] STATEMENT:  select "id", "created_at", "updated_at", "project_id", "user_id" from "public"."project_manager" where "user_id" = $1 order by "id" ASC limit $2

planka_1    | error: Sending 500 ("Server Error") response:

planka_1    |  AdapterError: Unexpected error from database adapter: relation "public.project_manager" does not exist

planka_1    |     at fn (/app/api/helpers/project-managers/get-many.js:10:27)

planka_1    |     at wrapper (/app/node_modules/@sailshq/lodash/lib/index.js:3282:19)

planka_1    |     at Deferred.parley.retry [as _handleExec] (/app/node_modules/machine/lib/private/help-build-machine.js:1014:29)

planka_1    |     at Deferred.exec (/app/node_modules/parley/lib/private/Deferred.js:286:10)

planka_1    |     at Deferred.tryCatcher (/app/node_modules/bluebird/js/release/util.js:11:23)

planka_1    |     at ret (eval at makeNodePromisifiedEval (/app/node_modules/bluebird/js/release/promisify.js:184:12), <anonymous>:14:23)

planka_1    |     at Deferred.toPromise (/app/node_modules/parley/lib/private/Deferred.js:572:19)

planka_1    |     at Deferred.then (/app/node_modules/parley/lib/private/Deferred.js:431:22)

planka_1    |     at processTicksAndRejections (internal/process/task_queues.js:95:5)

And per the comments above, it looks like there is no DB migration in place yet, which explains the missing tables on existing instances.

@meltyshev or @nickbe will post 1.0 have data migrations? Basically it's not worth actually using this software until you know that data you put in it will be preserved between versions.

What you said is the reality. From comments made in other issues there seems to be a goal for a paid cloud version of Planka or something along those lines. The lack of care for the users who have helped them better the product is at the moment non existent.

gamelaster commented 2 years ago

@SiM22 in Readme there was mentioned for long time that it's ALPHA software and it can break (mainly in terms of database structure). And it did. There are several issues here which have several ways of fixing this. I had this issue too, and fixed it according the manuals. This is still just community project, so far no efforts being commercial product, and developer seems to be busy.

jkocianICA commented 1 year ago

Tested with the latest pull, after login with the demo info, the thing just keeps on spinning forever. Blank page, same as Trollwut

Just had the same problem. Turned out that I didn't edit BASE_URL in docker-compose.yml... That happens when you don't read the instructions carefully. Just wanted to share in case anyone else has troubles...

I was running into this problem just now and this is exactly what the problem was. Oops!

Istria1704 commented 1 year ago

Is it possible to have multiple base URLs?

Currentry, I have my base url set to the local ip of the server: 192.168.2.20.

I have an NGINX proxy that points both planka.example.com and planka.example2.com to 192.168.2.20:3000. But in Chrome, I get a blank page when using those URLs. When I go to http://192.168.2.20:3000, it does work. And also in Firefox, all 3 options work fine.

Edit: Correction, in Firefox, the login screen loads. But after logging in it says "server connection failed".

meltyshev commented 1 year ago

Is it possible to have multiple base URLs?

Currentry, I have my base url set to the local ip of the server: 192.168.2.20.

I have an NGINX proxy that points both planka.example.com and planka.example2.com to 192.168.2.20:3000. But in Chrome, I get a blank page when using those URLs. When I go to http://192.168.2.20:3000, it does work. And also in Firefox, all 3 options work fine.

Edit: Correction, in Firefox, the login screen loads. But after logging in it says "server connection failed".

Unfortunately, this isn't possible for now. But I'll think about how it can be done, somebody already asked about this feature.

Istria1704 commented 1 year ago

Thanks. It would be a nice feature to have. So planka can be reached both locally and remotely. When set to the local address, it's not reachable from outside the LAN. And if set to the subdomain, it's not reachable when the Internet connection is down.

Maybe it's worth having a look at how for example Nextcloud does it. There you can set multiple "trusted domains" in the config file.

Still, even without this, Planka is still the nicest, cleanest and snappiest service I tried until now. Good work!

Maxwelldoug commented 1 year ago

A local dns server could solve this - override your domain to the internal IP in your local DNS server. Not a full solution, but definitely a workaround.