Dashboard filtering doesn't work as expected

This problem has already been reported, but that topic is already closed without a resolution, so I’m starting a new one.

In short, too many (non-failing) projects are shown on the dashboard while some failing ones might not be shown. The linked topic has screenshots as well.

On top of that, the text at the top of the dashboard (“X of Y projects displayed”) is incorrect. When I set the dashboard limit to 1, it says “1 of 86 projects displayed”, when I set it to 2 it says “2 of 76 projects displayed”, when I set it to 3 it says “3 of 75 projects displayed” etc. In all those cases a lot more projects are actually shown. The “of Y” part should also not be changing, as the number of existing projects is exactly the same all the time (I’m only changing the “Maximum Projects” dashboard setting).

I’m seeing this behavior with the current cloud version (2019.4.7).

any news on that?

Octopus support, can you please respond?

Hi @jakub.januszkiewicz & @Kamil_B,

I’m sorry for the lack of update here! This issue seems to have fallen through the cracks. I’m currently following up with developers on this right now. From some testing on my VM, this Maximum Projects feature is seeming to work as expecting. However, the reports here seem to indicate some kind of buggy behaviour.

@jakub.januszkiewicz, Would you be able to attach some screenshots illustrating the issue you have described above? If you wish to send them privately, you can do so to support@octopus.com and I’ll be able to see them.

I’m going to do some testing with the developers and see if we can get to the bottom of this issue asap.

Sorry again for bad communication on this one.

Best regards,
Daniel

Hi,
In my understanding of this feature it shouldn’t show all of my projects here, am I right?

@Daniel_Fischer do the information provided by @Kamil_B help? Do you need anything extra?

Hi @Kamil_B & @jakub.januszkiewicz,

With the information provided here one of our developers was able to reproduce this issue and identify the cause in the code. We have now released a fix in our latest Octopus version 2019.7.2.

If you upgrade your server to 2019.7.2 you should no longer see this issue. The following GitHub issue has some further details about the bug.

If you upgrade and continue to see some unexpected behaviour here, please let me know and I’ll pass it onto the developers to investigate further.

Best regards,
Daniel

@Daniel_Fischer great to hear this. When is the cloud instance going to be upgraded?

Hi @jakub.januszkiewicz,

Our cloud instances upgrade based on the upgrade ring they are in. I can see your instance is a part of the Stable ring so it may take longer for your instance to upgrade automatically. However, I’m happy to push this upgrade through manually for you.

The upgrade to 2019.7.x required an updated .NET Framework version which we have been rolling out to all of our instances. This upgrade requires a server restart so there has been a delay in getting all of our instances upgraded. If you send through an email with your instance name, I would be happy to schedule the upgrade to the latest version as soon as your instance is available to receive it.

You can send the email to support@octopus.com and I’ll pick it up.

If you have any further questions here please let me know.

Best regards,
Daniel

@Daniel_Fischer it will be great to update our instance. I’d just like to first understand how long it will take (for how long we won’t be able to run deployments) so that we can pick an appropriate time for the upgrade.

Hi @jakub.januszkiewicz,

The upgrade generally takes no more than 10 minutes and we usually schedule it during your instance’s Maintenance Window.

If you would like me to confirm what this window is before I schedule this upgrade I’d be more than happy to do so. I will still require your instance name to do this though. :slight_smile:

Let me know what you think.

Best regards,
Daniel

It is connect.octopus.app. I’ll be grateful if you confirm what our maintenance window is, as I can’t find it in the UI.

I managed to find out that it is 10:00 PM UTC - 12:00 AM UTC. It’s OK to do it during that time, so if possible please schedule the upgrade for our next maintenance window.

Hi @jakub.januszkiewicz,

Thanks for that information. We have just finished processing the upgrade for your instance. It ran a little outside of the maintenance window as we encountered an issue on our end taking the server offline for the upgrade and the backup took especially long, which caused a slight delay. The upgrade has successfully completed now though and your instance is running 2019.7.2.

Let me know if you encounter any issues or if you are still seeing the initial error you are upgrading to get fixed. :slight_smile:

Best regards,
Daniel

@Daniel_Fischer thanks for the upgrade.

Sadly, it doesn’t fix the problem - there are still a lot more projects shown than there should be. I’m configuring my dashboard to display 2 projects (plus failures), but it shows a lot (dozens) of projects which deployed successfully to all environments.

Proof:

Also the count at the top is still incorrect. Example: with limit=2 there is 2 of 215 projects displayed at the top of the dashboard, with limit=3 there is 3 of 213 projects displayed, with limit=4 there is 4 of 214 projects displayed, with limit=5 there is 5 of 209 projects displayed, with limit=6 there is 6 of 210 projects displayed… How come, when the number of existing projects (and other dashboard settings apart from the limit) are not changing?

There is also another (new) bug in this version: when I configure the dashboard with limit=1, I get this every time I try to open the dashboard (@Kamil_B confirmed he has this bug as well) :

An unexpected error occurred in Octopus v2019.7.2: "TypeError: o.rowsInGroup is undefined"

in t
in div
in t
in div
in div
in n
in n
in Connect(n)
in main
in div
in div
in MediaQuery
in n
in Connect(n)
in ForwardRef
in main
in t
in t
in Connect(t)
in Unknown
in t
in t
in t
in t
in t
in t
in t
in withRouter(t)
in t
in Connect(t)
in t
in withRouter(Connect(t))
in div
in t
in Connect(t)
in t
in t
in t
in t
in t
in t
in t
in t
in Unknown
in t
in u
in Connect(u)
in t
in t
in Unknown

Octopus v2019.7.2

A</t.prototype.getProjectRowsLimitedToMaximum/<@https://connect.octopus.app/main.1905bb6c0a4867f18bf8.hashedasset.js:1:1759479

hasLimit (/app/areas/projects/components/ProjectDashboard/ProjectDashboard.tsx:430:16)
reduce (/app/areas/projects/components/ProjectDashboard/ProjectDashboard.tsx:425:52)
render (/app/areas/projects/components/ProjectDashboard/ProjectDashboard.tsx:102:28)
Yg (/node_modules/react-dom/cjs/react-dom.production.min.js:169:128)
Wg (/node_modules/react-dom/cjs/react-dom.production.min.js:168:256)
b.tag=0,S (/node_modules/react-dom/cjs/react-dom.production.min.js:176:0)
hi (/node_modules/react-dom/cjs/react-dom.production.min.js:221:15)
ii (/node_modules/react-dom/cjs/react-dom.production.min.js:222:280)
Ki (/node_modules/react-dom/cjs/react-dom.production.min.js:238:232)
Li (/node_modules/react-dom/cjs/react-dom.production.min.js:237:142)
fi (/node_modules/react-dom/cjs/react-dom.production.min.js:234:195)
uf (/node_modules/react-dom/cjs/react-dom.production.min.js:232:27)
isMounted (/node_modules/react-dom/cjs/react-dom.production.min.js:125:227)
setState (/node_modules/react/cjs/react.production.min.js:13:210)
m (/app/components/BaseComponent/BaseComponent.tsx:28:22)
componentDidMount (/app/areas/projects/components/DashboardDataSource/DashboardDataSource.tsx:65:17)
i/</< (/app/areas/projects/components/ProjectDashboard/style.less?86d1:2:18)
i/< (/app/areas/projects/components/ProjectDashboard/style.less?86d1:2:18)
s (/app/areas/projects/components/ProjectDashboard/style.less?86d1:2:18)
tryCatch (/node_modules/es6-promise/dist/es6-promise.js:410:0)
isFunction (/node_modules/es6-promise/dist/es6-promise.js:425:0)
publish (/node_modules/es6-promise/dist/es6-promise.js:393:0)
flush (/node_modules/es6-promise/dist/es6-promise.js:119:0)

Hi @jakub.januszkiewicz,

Thanks for the update here. I’m sorry that this upgrade has caused some more issue for you. I had a chat to the developers and we believe the best way forward would be to jump onto your cloud instance ourselves and see if we can dig into this issue deeper.

Are you OK with one of our developers logging into your instance to troubleshoot this further?

Looking forward to hearing from you.

Best regards,
Daniel

Yes, please - you can log in and look around.

@Daniel_Fischer have you had a chance to look at our instance?

Hi @Kamil_B & @jakub.januszkiewicz,

I had one of the developers look around and it looks like we found the issue. We initially attempted to resolve this dashboard problem with the 2019.7.2 upgrade which caused a few more unexpected bugs which we then resolved in 2019.7.6. Your instance has since been upgrade to the latest version available to our cloud instances 2019.7.7.

The GitHub Issue.

The issue should hopefully be resolve now on your cloud instance. Would you be able to check this out and let me know how the dashboard filtering goes?

Best regards,
Daniel

Hi Daniel,
I can confirm that we’re not getting errors when filtering dashboard. However filtering works just like pre 2019.7.2. I’m still seeing successful deployments when they should be hidden:

I expect this to show only [META] EmailAlerts when filtering for “1 and failing”.

-Kamil