Closed Reizar closed 8 months ago
Can you please ensure that you are on latest with every gem.
bundle update avo avo-advanced avo-pro
There's one weird thing that's happening in one use-case. Are you trying to access the action page directly through the URL or first loading the resource index/show page and then open the action? If it's no 1., then, that might happen. I just want to confirm it.
Hi @adrianthedev ,
All my avo gems are on the latest versions.
I'm first opening the index / show pages, and then running the action from the Actions dropdown. Here's a loom showing what I'm doing: https://www.loom.com/share/89318014ea58412bb15fa2de8177e152
I don't see the regular action in that video.
For the standalone, I see it's failing to find a user from admin_users
. What setup do you have there? Where are you querying for that?
Sorry, heres an updated video showing both a standalone action and a record based one.
Slightly confusing in the first video, but we have an AdminUser
model that is used for accessing Avo, and then a User
model which is the actual users for our app. I was showing the users resource in that video.
The AdminUser query was successful and was setting the user correctly. Its run through devise and plugged into avo.
I've used different resources in this video to make that clearer:
Hi @adrianthedev ,
Sorry, just wanted to check if there's any more info I could provide or do to help progress this. This is a huge blocker for us and is stopping us from deploying a large update we've been working on.
Thanks
Sorry about the delay. This slipped through the cracks.
A few questions:
3.3.3
for every Avo gem? Can you please try 3.3.6
(for all Avo gems) too?friendly_id
, prefixed_ids
or any other mechanism for properties or subscriptions?self.visible
method in those actions?pundit
(or the authorization feature)?act_on?
method return true for those scenarios? Can you try to hardcode it?CreateDefaultSubscription
and action code?If this information does not yield any resolution, we'll hop on a call and do so troubleshooting together.
No worries,
GEM
remote: https://packager.dev/avo-hq/
specs:
avo-dashboards (3.3.6)
avo (>= 3.3.6)
turbo-rails
view_component (>= 3.7.0)
zeitwerk (>= 2.6.12)
avo-menu (3.3.6)
avo (>= 3.3.6)
docile
dry-initializer
zeitwerk (>= 2.6.12)
avo-pro (3.3.6)
avo (>= 3.3.6)
avo-dashboards (>= 3.3.6)
avo-menu (>= 3.3.6)
zeitwerk (>= 2.6.12)
... GEM remote: https://rubygems.org/ avo (3.3.6) actionview (>= 6.1) active_link_to activerecord (>= 6.1) activesupport (>= 6.1) addressable docile dry-initializer httparty inline_svg meta-tags pagy turbo-rails turbo_power (>= 0.6.0) view_component (>= 3.7.0) zeitwerk (>= 2.6.12)
2. Not using any of those gems or any other gems that change how the models are queried.
3. Nothing in self.visible
4. I use pundit.
5. This is my act_on? code ( its in my ApplicationPolicy that all policies inherit from, no subclass overrides it), I tested the method its calling and that returns true, however I also changed it to be a hard coded true value and that still didn't change anything:
```ruby
def is_admin?
user.is_a?(AdminUser)
end
def act_on?
is_admin?
end
class Avo::Actions::CreateSubscriptionsAction < Avo::BaseAction
self.name = "Create Default Subscriptions"
self.message = "This will create the CORE and PREMIUM subscriptions for each configured regulatory zone."
self.standalone = true
def handle(**args)
SubscriptionServices::GenerateSubscriptions.new.call
end
end
Ok. That's weird. Let's have a call and sort this out.
Hi @adrianthedev ,
Did some more in depth debugging today and I've found the issue. One of those ones where I totally should have realised that this was causing it earlier 😅 .
We added a model recently named "Action", so an avo controller was generated that was named: "Avo::ActionsController", this overwrote the one from avo which means Actions were trying to be loaded as Resources instead which broke all sorts of things.
We don't actually manage this model through Avo, so I just deleted the resource / controller to fix this for now. But I'm sure in the future we can just name the resource something else and manually specify the model it references.
Thanks
All good!
Thanks for doing the deep dive!
@Reizar just had the exact same issue with our Action model (and Avo controller).
Thanks a lot for documenting your issue, you saved me hours of debugging! 🫶
Maybe we need to make some of our controllers private somehow...
Maybe we need to make some of our controllers private somehow...
Agree, we should use different namespaces for internal and app controllers to avoid naming conflicts. Same for base resource
Describe the bug
This is a weird situation for us, as this has only just started happening, but nothing in avo was changed ( that we can think of ) prior to this starting to happen.
This first started happening in v2, so I decided to finally upgrade to v3 today and it is still happening.
When trying to run a standalone action, or a model based action, I am running into exceptions and the actions don't run ( the pop up modal is not shown at all ).
However different exceptions are thrown for each.
Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior & Actual behavior
Expected: Action modal is shown Actual: Nothing is shown and exception is thrown
Models and resource files
Note this is happening for every resource / action in our Avo app, but I've just included one to showcase the issue.
Resource:
Standalone Action:
Standalone action exception:
Regular Action:
Regular Action Exception:
System configuration
Avo version: 3.3.3 Rails version: 7.0.8 Ruby version: 3.3.0
License type:
Are you using Avo monkey patches, overriding views or view components?
Screenshots or screen recordings
Additional context
Impact
Urgency