SharePoint / sp-dev-docs

SharePoint & Viva Connections Developer Documentation
https://docs.microsoft.com/en-us/sharepoint/dev/
Creative Commons Attribution 4.0 International
1.23k stars 992 forks source link

SPFx CommandSets and FieldCustomizer not working in new view UI #9514

Open florianwachter opened 4 months ago

florianwachter commented 4 months ago

Target SharePoint environment

SharePoint Online

What SharePoint development model, framework, SDK or API is this about?

πŸ’₯ SharePoint Framework

Developer environment

Windows

What browser(s) / client(s) have you tested

Additional environment details

Describe the bug / error

A few hours ago, the views in one of our lists changed to the new Lists UI and all the CommandSets and FieldCustomizer that are registered on this list are gone. Here is a screenshot:

2024-02-13_14-12-36

Usually we have a few commands visible if one or multiple items are selected. Also some columns have FieldCustomizers registered to change the rendering, but they all show the default way. Looks like all the customizations are gone. Looks like ApplicationCustomizers are working.

Steps to reproduce

  1. Add a SharePoint Framework app to a SharePoint website that has command sets registered on lists
  2. Make sure the list already has the new experience with the views showing up as tabs (see the screenshot above). Our tenant is set to Target Release, but some views still show the old experience (which is working fine).
  3. The command sets will not show in the new UI
  4. The same happens for FieldExtensions

Expected behavior

CommandSets and FieldCustomizer should also show in the new UI.

ghost commented 4 months ago

Thank you for reporting this issue. We will be triaging your incoming issue as soon as possible.

AJIXuMuK commented 4 months ago

@florianwachter - thank you for submitting the issue! Unfortunately, I can't repro the issue - is it still happening for you?

Could you please a few things?

florianwachter commented 4 months ago

@AJIXuMuK - thanks for your assistance.

Please find my answers below:

  1. No, I don't see any errors in the console related to this.
  2. Yes, I see the request to the listview-host-assemly js and the entire URL is https://res-1.cdn.office.net/files/sp-client/listview-host-assembly_en-us_5061854e0c9eb8062748cd2905c95f86.js
  3. Yes, I can see the commandSet componentIds in g_clientComponents and I can see the componentIds of the fieldcustomizers in window._spClientSideComponentIds.

I hope this helps. Please let me know if you need further details.

Thanks!

florianwachter commented 4 months ago

I have one more question regarding this issue. The message center entry MC709979 that announced this change mentiones that these improvements will NOT reach Lists that have been configured with SharePoint Framework extensions (see below).

"Users in affected tenants will see Lists feature updates as described in Microsoft Lists: Easier, Better, Faster, Stronger - Microsoft Community Hub when browsing to lists in SharePoint sites, the Lists progressive web app (PWA), and Lists in Teams. All Lists in SharePoint sites will maintain the SharePoint site's chrome, theming, and navigation. **These improvements will NOT reach Lists that have been configured with these features:

SharePoint Framework extensions** PowerApps forms Approvals The Playlist template"

Does anyone know what this means exactly? Does it mean if there is a commandset configured for the list, or any field with a fieldcustomizer registered, the list will remain in the old UI. At least for now.

@AJIXuMuK : You mentioned that you cannot repro the issue. Does it mean that you see the old list experience or that you have the new experience with your custom actions, etc.?

Thanks!

AJIXuMuK commented 4 months ago

The new experience should not appear if there are SPFx command sets or field customizers. And that is the behavior I'm observing. I believe you are in touch with the owning team to solve the issue as it seems to be scoped to some unique situations.

florianwachter commented 4 months ago

@AJIXuMuK - Thanks for your answer!

henningeiben commented 4 months ago

I can confirm, that I've been seeing the "new" Lists UX in SharePoint Lists as well ... and also for Lists that have SPFx Extensions deployed that provide custom commandsets and other customizations.

These commandsets are not visible any more and the customizations don't work as expected either. For example: I have a solution, which is supposed to open a panel from the right (as the add-new-item action would do from the commandbar). This is now opening a new tab with my page, instead of a panel. Just as one example.

I would argue, that this is a bug we're seing. This new UI is not yet ready for sites with SPFx extensions, but somehow this is being applied to these sites as well.

Also: not everyone on our tenant is receiving this experience. I have this behaviour, a colleague new room still has the "old" UX.

BTW: yes, my tenant is first-release πŸ˜‰

florianwachter commented 4 months ago

@henningeiben - I am in contact with an engineer from the Lists/SharePoint team who is looking into this and I'll keep you posted about the result.

AJIXuMuK commented 4 months ago

@florianwachter please use this issue for the updates so the others could find the results too

natalieethell commented 4 months ago

Thank you for reporting! It looks like we have a bug specific to personal views. The workaround for now while we work on a fix would be to use a public view and not a personal view.

If that's not sufficient, please send me a message.

henningeiben commented 4 months ago

@natalieethell: I cannot confirm this. I also see this "new" list UX in public views!

At first I had the impression, that this UX would only show up when I'm accessing the allitems.aspx and I would still get the old UX when I'm accessing views by their aspx-pages (like archive.aspx). I figured when I'm accessing the archive-view (a public view an a list) using allitems.aspx?viewid=[id of the archive-view] this would trigger the new UX, while just archive.aspx would still show the old UX.

But that was on Wednesday. Since yesterday I'm getting the new UX on most lists/views (however - not on all of them!).

To make it even more confusing (if that is possible): today I get for some (public) views again the old UX, where I got Tuesday and Wednesday the new UX. 🀯

smolattack commented 4 months ago

@florianwachter please use this issue for the updates so the others could find the results too

I'm pretty sure it's not the job of your customers to let others know about your product's ongoing issue status. I know your answer will be that some other team @ Microsoft caused this issue so don't bother.

VesaJuvonen commented 3 months ago

Huge thanks everyone for your input on this. We do apologize the delay here and are currently actively looking on solving this issue.

We are also curious on understanding how widely this issue is visible worldwide, so if this is an active issue for you, please add a comment with small description, so that we can see the impact.

At the same time we are now actively working on solving this internally.

juliemturner commented 3 months ago

I can confirm that this is an issue still at least for command sets. If it's not supposed to be enabled if a command set/field customizer is present that is not happening in all cases, further, is it the intent that if you want to add a field customizer or command set later that it would revert? I have found that I'm able to fall back to "Standard Release" wait for the UI to switch back, add the field customizer... then if I switch back to "Targeted release for everyone" the command set doesn't show up but the console shows that it was loaded.

Standard Release

CommandSet

Targeted Release

BrokenCommandSets

SPJS commented 3 months ago

I have the same problem here with a command set extension that is targeting multiple list (using RegistrationId in elements.xml and ListTemplateId in ClientSideInstance.xml).

It looks like some lists created earlier stays in the "classic modern experience" and the command set extension is active, but if I create a new list it shows in the "Microsoft lists modern experience" and the command set is not loaded (the strings files from the solution is loaded, but not the script files).

I hope this can be resolved quickly because I have many customers relying on this command set extension to use my Modern DFFS solution.

Alexander

reedpamsft commented 3 months ago

@SPJS @juliemturner I've made a configuration change that should take effect in the next 15-30 minutes which should put you back in the state of loading "classic modern" (as Alexander puts it) when SPFX command sets are present. If you're still seeing the problem in an hour from now, please let me know.

One of us will also reach out to you later to get more details on your scenario so we can figure out why your scenarios were not working in the "new modern".

juliemturner commented 3 months ago

@reedpamsft - It appears to me that it's already taken affect for my dev tenant. After a few (empty cache and hard refresh) browser refreshes, in targeted release for everyone, the site collection with the list command set now is showing the lists in the old style and the command sets work whereas a site collection without any customizations has lists that show with the new list experience. Also, I created a new list in the site with the list customization and that too showed up in the older style.

reedpamsft commented 3 months ago

@juliemturner thanks for confirming!

SPJS commented 3 months ago

@reedpamsft - I can confirm that it works now - the lists in the site collection where the command set it active (installed in a site collection app catalog) shows in the "classic modern style" and the command set extension is loaded as expected.

Thanks for the quick turnaround!

Alexander

heinrich-ulbricht commented 3 months ago

And looking forward, SPFx will be supported in the new modern as well, right? Or is this a slow walkback on some types of customizations?

reedpamsft commented 3 months ago

@heinrich-ulbricht "new modern" currently supports App-level SPFX customizers, and we are working on supporting command set customizers right now (a bug in that work is what caused this recent issue).

florianwachter commented 1 month ago

Is there an update on the issue? Recently some of our customers reported this issue in personal views. Command sets and field customizers are suddenlty gone.

florianwachter commented 3 weeks ago

Any news on this? More and more customers are reporting that they can see the new views and all the command sets and field customizers are gone.

reedpamsft commented 3 weeks ago

@florianwachter do you have more details? Is this something you're able to reproduce yourself, or could you help us get in touch with someone who is seeing the issue? I ask because in our testing, views are falling back to the existing UI as expected when command set customizers are present.

Thomas-Fir commented 3 weeks ago

Hi @reedpamsft, we are experiencing this issue with a custom solution when filters are set in the view. After clicking on "Clear filters", the command set customizers show up again. Happy to share more information if required.

reedpamsft commented 3 weeks ago

Hi @Thomas-Fir , thanks for the details! Unfortunately, it seems that github no longer allows private messages, so we'll have to get a little creative in gathering your feedback.

Can you go to a view that is showing the issue and use the "Provide feedback to Microsoft" -> "Report a problem" button in the top right corner to tell me a bit more about the details? That should help me identify why the code decided to show the new UI despite the presence of command set customizers. If you could include a screenshot and your email, that would be very helpful! Please make sure to mention my github username in the "What went wrong?" box so I can find it.

florianwachter commented 3 weeks ago

@florianwachter do you have more details? Is this something you're able to reproduce yourself, or could you help us get in touch with someone who is seeing the issue? I ask because in our testing, views are falling back to the existing UI as expected when command set customizers are present.

@reedpamsft Yes, I can reproduce it. These are the steps:

  1. Create a personal view in a list where command sets are registered
  2. Open any public view -> the command sets are visible
  3. Use the view selector to switch to the personal view -> the command sets are visible
  4. Reload the current page in the browser or copy the URL to a new tab -> the new list UX is visible and the command sets are no longer visible

If you are unable to reproduce it following the steps above, please let me know and I'll share a screen recording.

reedpamsft commented 3 weeks ago

Thanks @florianwachter ! I am not able to reproduce the issue with those steps, so a screen recording would be very helpful! In order for us to have a look at our logs, it would also be great to get the list URL and an exact date/time/time zone when you reproduced the issue.

florianwachter commented 3 weeks ago

@reedpamsft Here is a screen recording showing the issue. This time I had to create two personal view to reproduce the issue.

https://github.com/SharePoint/sp-dev-docs/assets/5690610/7bf74b53-5fef-464c-a496-67894d1f8399

aaclage commented 3 weeks ago

Hi @reedpamsft,

I was able to reproduce the same behavior as shown by @florianwachter after refreshing page. this looks url parameters are afecting /AllItems.aspx refresh twice/3 times and return to old UX view /AllItems.aspx?viewid={guid generated} refresh twice/3 times and return to new UX view

reedpamsft commented 3 weeks ago

Thanks @florianwachter and @aaclage , I am able to reproduce the issue consistently now with the additional detail of "multiple personal views".

henningeiben commented 3 weeks ago

I experience the same behavior as @florianwachter regarding the new UX view on personal-views when these are called directly via the URL.

Also: when I then switch to a public view using the view selector, I'll stay on the new UX view and of course the custom commands are not available.

In addition: I have custom-forms registered in my list, and in the "old modern view" this form would be loaded for displaying an item. In the "new UX view" these forms are ignored when there is no custom commandbar entry. When a custom commandbarentry exists the custom form will be loaded (even in the "new UX view").

reedpamsft commented 3 weeks ago

As an FYI, I've fixed the issue with multiple personal views and it will be rolling out soon. In tandem, we're finishing up support in the new UI for command customizers, which might or might not arrive before the fix to properly detect command set customizers when making the decision which version of the UI to use.

Anyway, @henningeiben , do you have a few more details on this form issue you're seeing? What kind of custom form? Which specific command are you using in the new UI that's acting differently from the old one?

stevebeauge commented 3 weeks ago

It's unclear for me if the fix should also restore field customizer from teams files tab. Can we expect this to work?

reedpamsft commented 3 weeks ago

@stevebeauge the Files tab is totally unrelated to any of this. We're not currently pushing any new UI framework for the files tab. Let me check around about that, though.

florianwachter commented 2 weeks ago

@reedpamsft: Thanks for the update about the fix. You also mentioned that your team is finishing up support in the new UI for command customizers. Can you please confirm that field customizers will also work in the new UI/UX and can you please tell me if there is a way to test the new functionalities before it's rolled out globally to target release tenants? Is there some kind of program where we can get early access to new feature.

Thanks, Florian

oppie85 commented 1 week ago

@reedpamsft ; how about Form Customizer extensions? As of last week we're seeing this same issue with a list that has a Form Customizer extension active; in the previous UI, a click on the Title field would redirect to the custom form page as expected, but after the list switched to the new Lists UI, it shows the popup window instead.

I've managed to work around this limitation for now by adding a JSON formatter on the column that adds a link to the custom form with the item ID, but until they're supported in the Lists experience I'd expect form customizer extensions to be among the criteria that stop a list from getting the new UI.