Need to handle pool migration when spc and cspc are created with duplicate names

Description

Tried to migrate SPC which has the same duplicate name as CSPC and in Migration job getting successful Migration event. But actually the SPC was trying to migrate is deleted and the CSPC which has the duplicate name only exists

Expected Behavior

Pool Migration job could be error out or fail

Current Behavior

Getting the successful events while migrate

Steps to Reproduce

Provision openebs [openebs version 1.11.0]
Create SPC pool and provision volume
Deployed cStor operator and create CSPC pool with the same name as SPC has
Migrate the SPC pool

k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get spc
NAME                    AGE
cstor-block-disk-pool   15m
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get csp
NAME                         ALLOCATED   FREE    CAPACITY   STATUS    READONLY   TYPE      AGE
cstor-block-disk-pool-4ptq   394K        9.94G   9.94G      Healthy   false      striped   15m
cstor-block-disk-pool-vip1   476K        9.94G   9.94G      Healthy   false      striped   15m
cstor-block-disk-pool-we3q   956K        9.94G   9.94G      Healthy   false      striped   15m
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get cspc -n openebs
NAME                    HEALTHYINSTANCES   PROVISIONEDINSTANCES   DESIREDINSTANCES   AGE
cstor-block-disk-pool   3                  3                      3                  4m51s
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get cspi -n openebs
NAME                         HOSTNAME     ALLOCATED   FREE    CAPACITY   READONLY   PROVISIONEDREPLICAS   HEALTHYREPLICAS   TYPE     STATUS   AGE
cstor-block-disk-pool-6kj2   e2e1-node1   230k        9630M   9630230k   false                                              stripe   ONLINE   4m51s
cstor-block-disk-pool-77dz   e2e1-node2   614k        9630M   9630614k   false                                              stripe   ONLINE   4m52s
cstor-block-disk-pool-qdbf   e2e1-node3   230k        9630M   9630230k   false                                              stripe   ONLINE   4m52s
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get po -n openebs
NAME                                                              READY   STATUS    RESTARTS   AGE
cspc-operator-6b45f974f8-bq2bs                                    1/1     Running   0          9m1s
cstor-block-disk-pool-4ptq-7f87d68d4f-w84ft                       3/3     Running   0          15m
cstor-block-disk-pool-6kj2-7c488c9dc6-rq5rv                       3/3     Running   0          5m
cstor-block-disk-pool-77dz-ff4548c78-ds4dd                        3/3     Running   0          5m1s
cstor-block-disk-pool-qdbf-54b458b9c6-wk9rq                       3/3     Running   0          5m1s
cstor-block-disk-pool-vip1-7cb9b8f4f5-qmnt9                       3/3     Running   0          15m
cstor-block-disk-pool-we3q-845b6bcf7b-5t9pc                       3/3     Running   0          15m
cvc-operator-76ccd4567b-6wvj6                                     1/1     Running   0          9m1s
maya-apiserver-9745975df-h9f8m                                    1/1     Running   2          22m
openebs-admission-server-67699d444b-68787                         1/1     Running   0          22m
openebs-cstor-admission-server-bb8749594-w5dfv                    1/1     Running   0          9m1s
openebs-localpv-provisioner-76868d4f9b-9jt5n                      1/1     Running   0          22m
openebs-ndm-7bs2r                                                 1/1     Running   0          22m
openebs-ndm-mpkfb                                                 1/1     Running   0          22m
openebs-ndm-operator-749845f8c6-2t997                             1/1     Running   1          22m
openebs-ndm-vv64h                                                 1/1     Running   0          22m
openebs-provisioner-7b794978db-w2668                              1/1     Running   0          22m
openebs-snapshot-operator-787c897db8-ggk76                        2/2     Running   0          22m
pvc-1826dfaf-08e7-4b9a-8df4-da6aa3dfa9eb-target-745b68c88dwstjt   3/3     Running   0          11m

Migration job logs:
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl logs -f migrate-spc-sparse-claim-mm868 -n openebs
I0701 07:19:28.327664       1 cstor_pool.go:73] Migrating spc cstor-block-disk-pool to cspc
I0701 07:19:28.368969       1 pool.go:388] Updating bdc bdc-a2988ead-ef7d-495c-95b3-a9adf9e010bc with cspc labels & finalizer.
I0701 07:19:28.377316       1 pool.go:388] Updating bdc bdc-aed24e99-e271-4481-8047-9c67943884d3 with cspc labels & finalizer.
I0701 07:19:28.384180       1 pool.go:388] Updating bdc bdc-d072a05d-fccd-4dfe-94ad-2a16120be811 with cspc labels & finalizer.
I0701 07:19:28.391127       1 pool.go:140] Creating equivalent cspc for spc cstor-block-disk-pool
I0701 07:19:28.405168       1 pool.go:421] Updating bdc bdc-a2988ead-ef7d-495c-95b3-a9adf9e010bc with cspc cstor-block-disk-pool ownerRef.
I0701 07:19:28.433072       1 pool.go:421] Updating bdc bdc-aed24e99-e271-4481-8047-9c67943884d3 with cspc cstor-block-disk-pool ownerRef.
I0701 07:19:28.438442       1 pool.go:421] Updating bdc bdc-d072a05d-fccd-4dfe-94ad-2a16120be811 with cspc cstor-block-disk-pool ownerRef.
I0701 07:19:28.476356       1 pool.go:450] Updating cvr pvc-1826dfaf-08e7-4b9a-8df4-da6aa3dfa9eb-cstor-block-disk-pool-we3q with cspi cstor-block-disk-pool-6kj2 info.
I0701 07:19:28.503466       1 pool.go:450] Updating cvr pvc-1826dfaf-08e7-4b9a-8df4-da6aa3dfa9eb-cstor-block-disk-pool-vip1 with cspi cstor-block-disk-pool-77dz info.
I0701 07:19:28.529519       1 pool.go:450] Updating cvr pvc-1826dfaf-08e7-4b9a-8df4-da6aa3dfa9eb-cstor-block-disk-pool-4ptq with cspi cstor-block-disk-pool-qdbf info.
I0701 07:19:28.576751       1 cstor_pool.go:80] Successfully migrated spc cstor-block-disk-pool to cspc

Post migration
k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get po -n openebs
NAME                                                             READY   STATUS      RESTARTS   AGE
cspc-operator-6b45f974f8-bq2bs                                   1/1     Running     0          57m
cstor-block-disk-pool-6kj2-7c488c9dc6-rq5rv                      3/3     Running     0          53m
cstor-block-disk-pool-77dz-ff4548c78-ds4dd                       3/3     Running     0          53m
cstor-block-disk-pool-qdbf-54b458b9c6-wk9rq                      3/3     Running     0          53m
cvc-operator-76ccd4567b-6wvj6                                    1/1     Running     0          57m
maya-apiserver-9745975df-h9f8m                                   1/1     Running     2          70m
migrate-spc-sparse-claim-mm868                                   0/1     Completed   0          46m
openebs-admission-server-67699d444b-68787                        1/1     Running     0          70m
openebs-cstor-admission-server-bb8749594-w5dfv                   1/1     Running     0          57m
openebs-localpv-provisioner-76868d4f9b-9jt5n                     1/1     Running     0          70m
openebs-ndm-7bs2r                                                1/1     Running     0          70m
openebs-ndm-mpkfb                                                1/1     Running     0          70m
openebs-ndm-operator-749845f8c6-2t997                            1/1     Running     1          70m
openebs-ndm-vv64h                                                1/1     Running     0          70m
openebs-provisioner-7b794978db-w2668                             1/1     Running     0          70m
openebs-snapshot-operator-787c897db8-ggk76                       2/2     Running     0          70m
pvc-1826dfaf-08e7-4b9a-8df4-da6aa3dfa9eb-target-745b68c88dwstjt   3/3     Running   0         29m

k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get spc
No resources found in default namespace.

k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get csp
No resources found in default namespace.

k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get cspc -n openebs
NAME                    HEALTHYINSTANCES   PROVISIONEDINSTANCES   DESIREDINSTANCES   AGE
cstor-block-disk-pool   3                  3                      3                  52m

k8s@e2e1-master:~/sathya/e2e-tests/providers/csi-provisioner$ kubectl get cspi -n openebs
NAME                         HOSTNAME     ALLOCATED   FREE    CAPACITY   READONLY   PROVISIONEDREPLICAS   HEALTHYREPLICAS   TYPE     STATUS   AGE
cstor-block-disk-pool-6kj2   e2e1-node1   168k        9630M   9630168k   false                                              stripe   ONLINE   52m
cstor-block-disk-pool-77dz   e2e1-node2   164k        9630M   9630164k   false                                              stripe   ONLINE   52m
cstor-block-disk-pool-qdbf   e2e1-node3   180k        9630M   9630180k   false                                              stripe   ONLINE   52m

This issue has been fixed in https://github.com/openebs/upgrade/pull/13, by providing cspc name as flag to migrate


Walkthrough - it's possible to think that you have got "stuck"

At the "line" part of the walkthrough I tried drawing a road north rather than south.  I'm now in the shaded area (I got there by scrolling with arrow keys) and clicking on the map or dragging has no effect (you can, however, click on "Lines" at the bottom again to restart this segment).

I've made a bunch of changes recently that should improve this part of the walkthrough.
related:
afca7c5 - prevent most keyboard shortcuts
a2f3227 - prevent user from editing during pause when restarting the line drawing task
46ac91a - dont show an error when removing the wrong line that the user drew


Cannot use mousewheel without shift to scoll a horizontal-only scrollable.

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
I am working on an applicaiton where I have two splits, one scrolling horizontally and one vertically:

I can scroll the vertical one with the mousewheel just fine, but not the horizontal one. It demands I hold down shift, even though there's no vertical scrollbal present (the scrollable is Horizontal, not Both, so it can only scroll in the one direction anyway). I don't believe I am able to change this behaviour.
What is the expected behavior?
Shift should be needed only when both scrollbars are present. Otherwise, scrollwheel should just scroll.
Alternatively, I should be able to specify whether I want shift scrolling on a Horizontal scrollable.
Version
crates.io release
Operating System
Windows
Do you have any log output?
No response

What is the state of the art here? The Web does not implement this.

Yeah, horizontal scrolls are pretty rare, they don't show up in windows explorer anymore, terminals, most apps honestly. They're really not developed/looked at much at all.
The web does not implement this and that's a pain whenever you actually need to make a left/right moving menu, as it creates a lot of friction, since web/app navigation is pretty much mouse only. Throwing in a shift key suddenly makes you stop moving when you expect to.
Hence why by now, everyone does little "scroll buttons" that jump x items left/right, and/or they manually implement swipe controls. You've probably seen them all round, the "display 3 elements and swipe/press the arrow on the side to keep scrolling through the next ones" is very common.
For my usecase, that really isn't good enough. I have a section of my app that is exclusively horizontally scrolled by design. I need to be fast and frictionless, and still usable without a hand on the keyboard.
I don't think most people use horizontal scrolls much, so I don't think this would impact people negatively (if at all). Though if the need arises, at worst we should be able to choose whether we want the shift modifier.


Enable mutable binding fusion by propagating noalias into codegen.

To reduce the total amount of overhead in the system it's important that we are able to alias bindings provided to dispatches. Unfortunately we are not able to express to some of the backends that aliased bindings do not imply overlapping regions of memory and when we do induce the aliasing we lose vectorization :(
To work around this we currently do a conservative form of alias induction by way of the FuseDispatchBindings pass with aliasMutableBindings=false resulting in double the number of bindings being required as we must provide both read and write bindings aliasing the same memory instead of just providing the one read/write:
https://github.com/google/iree/blob/23194ac085f8e604007d85a600cc456f8b79a67d/iree/compiler/Dialect/Stream/Transforms/FuseDispatchBindings.cpp#L97-L103
But our memory model matches that of Vulkan/SPIR-V: https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_a_id_aliasingsection_a_aliasing

The Simple, GLSL, and Vulkan memory models can assume that aliasing is generally not present between the memory object declarations. Specifically, the consumer is free to assume aliasing is not present between memory object declarations, unless the memory object declarations explicitly indicate they alias. Aliasing is indicated by applying the Aliased decoration to a memory object declaration’s , for OpVariable and OpFunctionParameter.

It'd be good then if we could emit code that observed this behavior so that we had a consistent memory model we were targeting and didn't need to worry about slipping off the fast path on accident.  In SPIR-V we don't need to do anything, then, unless we ever switch to the OpenCL model (which requires a Restrict decoration), but on the LLVM CPU/GPU paths we are currently stuck with the inverse assumption that everything may alias unless explicitly told otherwise.
The root issue on the LLVM side is that the noalias attribute is ignored on anything but function arguments even though the spec allows restrict to be placed on any pointer value (and gcc and icc support it): https://en.cppreference.com/w/c/language/restrict

Struct members
The scope of the aliasing assertion made by a restrict-qualified pointer that is a member of a struct is the scope of the identifier used to access the struct.
Even if the struct is declared at file scope, when the identifier used to access the struct has block scope, the aliasing assertions in the struct also have block scope; the aliasing assertions are only in effect within a block execution or a function call, depending on how the object of this struct type was created.

Here's an example of the approaches and where LLVM falls over
The way around this LLVM deficiency is to either outline things into a function such that the args can be annotated or to define alias scopes (what the noalias attrs are turned into). There's a lazy way to do this by outlining with noalias on the args then forcing inlining which will create the alias scopes however it's cleaner and more robust to just emit the right alias scope information in the first place.
This is also critical on the CUDA path which follows the C memory model: https://developer.nvidia.com/blog/cuda-pro-tip-optimize-pointer-aliasing/
There may be something we could share between LLVMCPU and LLVMGPU though it may not be worth trying to normalize those given the differences in parameter passing.
If we stop relying on autovectorization most of the perf hit will likely go away but so long as we use any of the alias analysis in LLVM we will still need to fix this issue.

There exist places we hit this issue today (without the binding fusion) when using in-place updates. Specifically I noticed the @sort_3d test in dispatch_linalg_on_tensors.mlir not being happy as it has two in-place operands. There are likely more we are hitting. If we're able to solve this it would allow us to enable multiple outputs/root ops again as well (as without proper tracking we run into the same aliasing assumptions in LLVM).


[WIP][KYUUBI-6278] Update DB state when the query fallback to yarn an…

…d the batch app is terminal
:mag: Description
Issue References 🔗

This pull request fixes #
Describe Your Solution 🔧
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Types of changes :bookmark:

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Behavior Without This Pull Request :coffin:
Behavior With This Pull Request :tada:
Related Unit Tests

Checklist 📝

[ ] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

WIP.  Regardless of whether to change the code, local tests always fail. Use the community's CI to run.


nginx http2 problems

Question
During the Web server HTTP/2 benchmark test, problems occur only on nginx.
Latency increases abnormally with each request count of 1000.
Have you ever reported a problem like this?
I am using it well and received a lot of help. thanks.

If you want help, please five detailed information in a Bug Report.


Using the device (disk) key instead of diskObjectId Issue/38

The "diskObjectId" is not static and changes when a VM is migrated to another ESXi server within a cluster.
Then the incremental copy will not work.
The device key is unique for a VM. In combination with the VM name, it is suitable as an identifier to map disks from VMware to Openstack volumes.
This PR changes the behavior of migratekit  to use the device key while maintaining a fallback if an incremental copy was done on a VM before these changes. It fixes #38

Excellent catch.  I ran into this a few days ago.


[Material 3] Add Navigation Bar component to flutter framework.

This PR introduces the new "Material You" (aka Material v3) Navigation Bar component as a widget in the flutter framework. It features custom animations and an indicator to highlight the selected item.
Closes https://github.com/flutter/flutter/issues/88888

The above example is accomplished with the following sample app:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Navigation Bar Demo',
      theme: ThemeData.light(),
      home: Scaffold(
        body: Body(),
        bottomNavigationBar: SampleNavigationBar(),
      ),
    );
  }
}

class SampleNavigationBar extends StatefulWidget {
  @override
  _SampleNavigationBarState createState() => _SampleNavigationBarState();
}

class _SampleNavigationBarState extends State<SampleNavigationBar> {
  int _currentPageIndex = 0;

  void _setIndex(int i) {
    setState(() {
      _currentPageIndex = i;
    });
  }

  @override
  Widget build(BuildContext context) {
    return NavigationBar(
      selectedIndex: _currentPageIndex,
      labelBehavior: NavigationBarDestinationLabelBehavior.alwaysShow,
      onDestinationSelected: _setIndex,
      destinations: [
        NavigationBarDestination(
          icon: Icon(Icons.explore),
          label: 'Explore',
        ),
        NavigationBarDestination(
          icon: Icon(Icons.commute),
          label: 'Commute',
        ),
        NavigationBarDestination(
          icon: Icon(Icons.bookmark),
          unselectedIcon: Icon(Icons.bookmark_border),
          label: 'Saved',
        ),
        NavigationBarDestination(
          icon: Icon(Icons.add_circle),
          unselectedIcon: Icon(Icons.add_circle_outline),
          label: 'Contribute',
        ),
        NavigationBarDestination(
          icon: Icon(Icons.notifications),
          unselectedIcon: Icon(Icons.notifications_none),
          label: 'Updates',
        ),
      ],
    );
  }
}

The widget also supports different label configurations.

labelBehavior
result

alwaysShow

onlyShowSelected

alwaysHide

All of the label behaviors support tooltips for proper accessibility.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

Gold has detected about 1 untriaged digest(s) on patchset 1.
View them at https://flutter-gold.skia.org/cl/github/83047

Gold has detected about 2 untriaged digest(s) on patchset 3.
View them at https://flutter-gold.skia.org/cl/github/83047

@johnsonmh Where can I find Material You guidelines as a non-googler?

@johnsonmh Quick question: where are the Material references for this and do they also feature the double ink? (one for the highlight and one for the tap?) Seems out of place but might be me.

@johnsonmh Thanks for the comments on Twitter (https://twitter.com/MHJohnson8/status/1395530093729140736?s=20), I really appreciated them. 👍🏻
While the NavigationBarDestinationBuilder may make it possible to set something up that replicates the old interface of Widgets as icons that e.g. current BottomNavigationBarItem and NavigationRailDestination` uses, it gets very complex and verbose to actually do so.
I tried, but failed miserably. All I want and need out of it is to be able to provide Widgets for the selected and unselected icons, as in the old/current interfaces for the destinations. Rest of it should behave as the default NavigationBar does.
Please consider adding an example that demonstrates how to do this, or some helper interfaces to easier accomplish it for better/easier backwards compatible API interfaces.
Maybe I just don't fully get all the possibilities yet, but it seemed to be easier to just copy/fork the entire thing and make my own slightly modified version to do it. Mostly due to the need for the SelectableAnimatedBuilder providing animation to NavigationBarDestinationInfo that must be parent to NavigationBarDestinationBuilder.
Use case for Widgets as Icons - Legacy lowest common interface
I have setup where it is possible in the API (and end user UI) to select what type of bottom navigation bar (eg Cupertino, Material, Adaptive) you want to use, and it would be nice to add MaterialYuo (NavigationBar) to it, without stepping down the API interface for its destination wrapper to IconData. This does at the moment seem to be the easy way out, but then they would all loose the Widget flexibility. Which would otherwise be the lowest common interface. This new design still feels like it will for most use cases force it down to IconData, despite the nice builder feature NavigationBar has, but as said , maybe some concrete usage example is enough.
Observation - API Naming Consistency
The API naming for selected and unSelected icons seem to be a bit inconsistent between navigation control Widgets. In particular NavigationBar switches the usage of icon for selectedIcon, which typically has been use used for the unselected icon or one that is just same for both states.

Property
NavigationBar
NavigationRail
BottomNavigationBar
CupertinoTabBar

Selected icon
icon
selectedIcon
activeIcon
activeIcon

Unselected icon
unselectedIcon
icon
icon
icon

current index
selectedIndex
selectedIndex
currentIndex
currentIndex

@johnsonmh I noticed you made a commit to change the NavigationBarDestination icon and unselectedIcon to Widgets instead. 👍🏻
I did not try the revised version yet, but I think it is nice choice for consistency and simplicity, if all you want to do is to modify the icons with a small custom widget, but otherwise keep the default behavior or want a shared wrapper API with current widgets.
Tooltip Observation
Concerning the tooltips, there is via NavigationBarDestination currently no simple way to control the tooltips.
This makes it complex to change them from the label and to adjust their usage at all.
Currently tooltips also show up on Desktop/Web when the label is shown in NavigationBar, thus duplicating the already shown label as a tooltip, with same info (label). This does adding any new information to the UI and is actually annoying to users on desktop/web.
The BottomNavigationBar used to be like this too, but it was later fixed so it is now possible to remove the tooltips or customize the tooltips via BottomNavigationBarItem to something else than just the label.
Basically if you in BottomNavigationBarItem don't define a tooltip, you get the label, but you can remove it by specifying an empty string, or customize it to something that adds some more info than just the label that is already shown, if you really want a tooltip if you are showing labels.
Makes it possible to do something like this:
        child: BottomNavigationBar(
          items: <BottomNavigationBarItem>[
            for (MyDestination item in destinations)
              BottomNavigationBarItem(
                icon: item.icon,
                activeIcon: item.selectedIcon,
                label: item.label,
                tooltip: useTooltips &&
                        item.tooltip != item.label &&
                        item.tooltip != null
                    ? item.tooltip
                    : '',
              ),
          ],
         ...

To only show tooltips if an "app" level flag to actually show tooltips is on and if the tooltip is different from the label. Obviously in a NavigationBar equivalent destination you would also have to combine the logic with the used labelBehavior.
Users can then choose in settings (affecting useTooltips if tooltips are used or not in the app. Many users perceive that tooltips get in the way after you are familiar with the app.
Please consider some similar feature for NavigationBar.
This GIF show the tooltips showing up all the time now on Desktop/Web and there is no simple way to get rid of them.

Accessibility/Legibility Design Issue
This is a Material design matter. However, the default NavigationBar label size using the overline text style is barely legible on Web/Desktop that use device pixel ratio 1.0.
This seems to be something that Material Design team may have overlooked in the deisgn spec.
Majority (+80% globally) of Desktop Windows and Linux PC use a display setting that have a device pixel ratio of 1.0. Fonts with very small dp become illegible on them, while still looking OK on devices with a higher device pixel ratio, like all modern phones, tablets and also most Mac desktop/laptop computers. Some Windows/Linux laptop use device pixel ratio of 1.5 or higher, on them the default overline size of the NavigationBar works OK.
I tried by moving the running version of the above test app over to a my laptop screen with pixel density 1.5, on that it looks OK, but not on a normal desktop screen with device pixel ratio 1.0.
The above GIF recording also show this. The above gif recording is from a screen with device pixel ratio 1.0. click on the GIF to open it from GitHub in native resolution and not its inline zoomed state.

@johnsonmh Another wish, I hope it also gets its own subtheme where you can address some of the basic customization needs.
Now if you want o customize its look a bit, like making it use colorScheme.primary for the selected icon (OK if the icons are now Widgets, this part became a easier, you can tweak it there, but normally that part has been preferred to be in the Widgets sub-theme so you can set it once. Plus you may want it to use colorScheme.primary with same opacity as it has for the current default colorScheme.secondary now for the highlight around the selected icon.
When using NavigationBar you may also want to tune the unselected icon color and labels to match that of the NavigationRail's unselected default theme icon and label color (which imo are nicer defaults than this one has now). Regardless of opinions on what is nicer looking, in a scenario where you use both NavigationRail and NavigationBar in a responsive design, you may often want their styles to match exactly. The defaults diverge quite a bit now so you need to customize on of them quite a bit to accomplish that.
You may also need to customize is the label font/size, if you feel it is required for more legible labels.
As it looks now, you kind of have to build the NavigationBar up from all of its atomic builders to do any of this. Doable, sure, perhaps so, but imo not very fun or as easy to modify as previous approach. Not for the most common customization scenarios anyway, for  totally changing NavigationBar into something entirely customized, the builders are a great addition of course.

@YazeedAlKhalaf I don't have guidance to link to at the moment - more will be shared later this Fall.
@creativecreatorormaybenot Thanks for spotting this, the intention is not to have a highlight color and only have the ripple. I will update the code to remove the highlight color.
@rydmike Thank you for the detailed feedback, this is all very helpful. I will incorporate the feedback to hopefully 1) Make the API more consistent with existing bottom navigation and navigation rail API and 2) make the customization easier (and with more examples given).

@johnsonmh I noticed another difference and minor inconsistency compared to default background with BottomNavigationBar.
The BottomNavigationBar's default background is when using newer color scheme based Themes ThemeData.from basing its background color on colorScheme.background via the fact that ThemeData.from assigns colorScheme.background to ThemeData.canvasColor that default Material canvas type uses as background color.
This new NavigationBar on the other hand bases its default background color on colorScheme.surface  via
Material(
      elevation: elevation,
      color: backgroundColor ??
          ElevationOverlay.colorWithOverlay(
              colorScheme.surface, colorScheme.onSurface, 3.0),

Normally when dealing with plain vanilla surface and background colors, these are of course identical. However, when building more nuanced user interfaces for a larger canvas, it is common to use a slight hint of primary color (alphaBlend) mixed into to the colorScheme.surface and/or colorScheme.background. When you go really fancy you can use a slightly different blend strength of primary into the surface and background colors, for even more nuanced effects.
When you do so, the end result is that the BottomNavigationBar and NavigationBar have backgrounds that then looks different in such designs, since they use different theme based default background colors. Perhaps this is intentional, but it might be worth considering if they should not default to the same base background color definition, it would seem more logical and again have less an impact on expected default background if you switch between them or eg when you migrate from BottomNavigationBar to NavigationBar.
Here is an example showing the difference when using such primary blended surface and background color theming in dark mode. I used a bit exaggerated difference in primary blend strength on surface and background color, than one might normally use, just to show the difference more clearly, the used example theme colors are shown too:

Here it is shown as a hires GIF animation too, I also removed the double Ink ripple for this demo that @creativecreatorormaybenot mentioned:

That was just a quick experimental fix using:
return NavigationBarDestinationSemantics(
      child: NavigationBarDestinationTooltip(
        message: label,
        child: InkWell(
          highlightColor: Colors.transparent,  // Hide ink effect
          splashColor: Colors.transparent,     // Hide ink effect
          onTap: info.onTap,
          child: Row(
            children: <Widget>[
              Expanded(
                child: NavigationBarDestinationLayout(
                  icon: buildIcon(context),
                  label: buildLabel(context),
                ),
              ),
            ],
          ),
        ),
      ),
    );

It still has hover effect on desktop as before though, shown below. The yellow dot ink effect in the GIF are just from the screen recorders mouse click effect, that it uses to show when and where mouse was clicked.

Nice work! I have a few questions:

Could you please add onLongPress? It might not be frequent usage, but I've seen apps delegating the long press as reload mechanism or quick settings.
Shouldn't you use onPressed instead of onTap? ElevatedButton, OutlinedButton and TextButton uses onPressed.
Why is the tooltip vertical offset set to 42? Can't the user change it? For mobile it might not make a lot of sense, but who knows what people do on the web and other platforms.

Good comments @bernaferrari, here are my additions on the same topic.

I agree, onLongPress and with that rationale also, onSecondaryPress, for opening, typically a right mouse click based context menu on desktop apps, could certainly both be useful interactions to support out of the box for other devices than phones and tablets, but perhaps it is not in the Material spec for this widget to support that, pasts ones don't do it either. Hard to say, I don't think none Googlers have the new spec for this new MaterialYou widget yet.

The BottomNavigationBar, that this Widget primarily replaces also uses onTap (so does the CupertinoTabBar), so from that viewpoint the current onTap is the correct choice. I added API naming comparison to my earlier table. The onPressed callback used by buttons are as far as I recall always a void callback, whereas as the onTap callbacks are ValueChanged<int>? so there is that as well. But generally sometimes it seems these call back API names are a bit varied, the NavigationRails onDestinationSelected is a good example, what was wrong with onTap for that one for consistency? These things happens in big SDKs.

About tooltips, I totally agree the NavigationBar API should expose more config options without requiring constructing the thing from atoms using its builders. Tooltip labels should be possible to easily customize to something else than the navbar's text label, or completely removed. And like you say, if a default vertical offset is need (probably is due to height of this widget) that is different from Tooltip default theme vertical office, it must be available as parameter via a property, if it is hard coded like now it can't be modified even by wrapping the entire widget in its own ThemeData and custom TooltipThemeData.

Some additional observations, these are just my viewpoints from playing with and using the new widget a bit. I know the design is probably written in stone by the Material Design Theme, but I'm going to throw my views out there anyway.
Height when labels are shown.
In my opinion the default height design is a bit excessive when it comes to height when labels are shown (74dp), there is room to remove a few pixels and still keeping the look balanced and nice, the size when labels are not shown, could also be tighter (it is 56dp). Old bottom nav bar is 56dp and Cupertino one is 50dp btw. However, since the API includes a height adjustment it already allows for very easy minor opinionated tweaks to this, so it honestly does not matter so much, since you can tweak it as you want it easily.
However, @johnsonmh I noticed a bug, the height property currently has no impact on the height of the widget! The line:
   final double effectiveHeight =
      labelBehavior == NavigationBarDestinationLabelBehavior.alwaysHide
            ? 56
            : 74;

should probably be:
   final double effectiveHeight = height ??
        (labelBehavior == NavigationBarDestinationLabelBehavior.alwaysHide
            ? 56
            : 74);

Otherwise the height property has  has no impact on the height of the NavigationBar.
Default label font
The current default font style is an odd one, the overline style has letter spacing that just looks a bit strange. Flutter 2.2 still defaults to old typography (2014), my demos use the newer "correct" one (2018). However, the overline style is the same with both, it is just a peculiar style choice imo, with its 1.5 letter spacing. Plus as mentioned before, due to its default small size (10dp), it is barely legible on monitors with device pixel ratio 1.0. The old BottomNavigationBar defaults are clearer, and strangely even Cupertino looks better than this, although it is also too small for device pixel ratio 1.0, but it still looks much nicer.
Like I mentioned before, an API, perhaps via own sub-theme for the NavigationBar is needed to adjust the label text styles (maybe both selected/unselected?) easily, the sub-theme could then also include more/additional style, layout and theming properties, like e.g. custom heights for the different label style behaviors.
Below is an additional example showing NavigationBar, BottomNavigationBar and CupertinoTabBar on same screen.
I applied the height fix so I could change the height of the NavigationBar, just to try how it looks at some other sizes. I tried 50dp, same as Cupertino, when not showing labels, and quite a bit tighter, 62dp when showing labels, alongside with is current default values 56 and 74. The tighter values work well enough too. But like mentioned, if it has a working version of the height property, the default can be whatever, easy enough to tweak. However, the height values should also be themeable, both values, so it is easy to theme it differently globally for an app, and not apply it to every widget, or make  custom wrapper.
The first screen GIF recording below is at device pixel ratio 1.5. On a high res laptop screen you might have that or higher, also on devices the device pixel ratio is normally 1.5 or even much higher, at this device pixel ratio, and higher, the small fonts on NavigationBar and CupertinoTabBar are still legible and fine, although the overline font style looks odd when used here, due to its 1.5 letter spacing.

Here is the same screen, but now on a normal (none Mac) desktop screen, that use the most common desktop device pixel ratio 1.0. Now the small default font size is barely legible and have poor readability and accessibility due to that.

(In both cases, click on the GIFs to open them to see them at actual pixel accurate sizes).
You could consider the caption style instead as the default label style, if it has to have style and not just default text style with a size of 12dp. Caption uses 12dp and very similar style as default unselected label on the BottomNavigationBar, which is smaller than the default selected label on it (14dp). It would look like this, on device pixel ratio 1.0 screen, when using the newer typography 2018.

It still fits nicely, even in my smaller height examples, and this is legible on screens with device pixel ratio 1.0 as well, and the letter spacing does not look odd, like it does with the overline text style.
With typography 2014 there would be a bit more space between the letters, caption 2018 uses letter spacing 0.4 and 2014 is 1.0, both are 12dp.
As a rule of thumb, most fonts become close to illegible at 10dp if the device pixel ratio is 1.0, while 12dp is OK with most fonts, 11dp is OKish.  If the device pixel ratio is 1.5 or higher, then using font size 10dp is perfectly fine, the problem is +80% of desktops in the world use monitors that are setup to use device pixel ratio 1.0.  Since Flutter also support desktop usage, I think default font choices for widgets should also consider that they also need to work well enough and be legible on screens using device pixel ratio 1.0.
I also drive my 2x32" 4k home office screens at native resolution, thus at screen pixel ratio 1.0. However my 13" touch laptop screen is 3000x2000 pixels, this one is too small to drive at such high native resolution, so here I zoom 150%, meaning the device pixel ratio is 1.5.

The discussion of too small font size (10dp) at device pixel ratio 1.0, was also earlier discussed when it comes to the default Flutter tooltip theme style, that now also uses 10dp, a size that is just too small to be legible at device pixel ratio 1.0. This was discussed and and demonstrated here https://github.com/flutter/flutter/issues/71429.
The Material Design team rep even seemed to agree after the demonstration that 10dp is not a very legible choice. Tooltips were 14dp before in Flutter, before it changed to 10dp. I recommended 12dp instead as default as good compromise between compact but still legible. It has however not been changed yet, so the issue is still open. It is however easy to theme the tooltip globally and correct the unfortunately too small default font size.

By the way, here is also the issue where tooltip config (other label than icon label and no tooltip at all shown) was added to the BottomNavigationBar, plus its rationale and discussion too: https://github.com/flutter/flutter/issues/71049
The NavigationBar is now in its current form recreating the issue that was fixed for the BottomNavigationBar, can we please not do that? 😃

@johnsonmh Sorry about dropping even more comments. I was however wondering before when I tried the widget why it was getting overlay color also in light theme mode and not changing with elevation changes, not even in dark theme mode.
At least in the past, background overlay color has in Flutter only been applied to Material backgrounds in dark theme mode and when ambient ThemeData applyElevationOverlayColor is set to true. In this Widget you are applying overlay to both dark and light theme mode and it is not controlled by ambient theme setting for this behavior at all, as before in Flutter.
Also the elevation used for the elevation overlay color is hard coded to 3, and not using the actual elevation of the NavigationBar widget, so the overlay color is always constant, it does not change with elevation as it normally would in Flutter, and it is also applied to light theme mode, which is currently not the case in Flutter when using overlay color for elevation, you have this now:
You are using colorWithOverlay
    return Material(
      elevation: elevation,
      color: backgroundColor ??
          ElevationOverlay.colorWithOverlay(colorScheme.surface, colorScheme.onSurface, 3.0),
      child: NavigationBarBottomPadding(
   ...

Perhaps this is a new standard? But more in line with current expected behavior in Flutter would be:
    return Material(
      elevation: elevation,
      color: backgroundColor ??
          ElevationOverlay.applyOverlay(context, colorScheme.onSurface, elevation),
      child: NavigationBarBottomPadding(
   ...

This would use the widget elevation for applied overlay color, but only in dark theme mode, and only when the theme flag that toggles its usage is is true.
This still gives the widget a default colorScheme.surface colored background and not the colorsScheme.Background color, like widgets of this type currently use as their background color, that they actually get from the Material's default background color.
To make it use the same default background and the Material dark overlay color, then simply just pass the backgroundColor, it will get the Material default if it is null or supplied backgroundColor, and get overlay color applied based on the elevation of Material and only in dark theme mode, and when the flag to use it is set in ambient theme data, simply because this is already baked in behavior in Material.
    return Material(
      elevation: elevation,
      color: backgroundColor,
      child: NavigationBarBottomPadding(
   ...

Still of course, it all depends on what the new Material You design specs are, but it seems a bit off that it would deviate this much from past designs, when it comes to elevation, if that is the case pretty much all past widgets in Flutter will need to be rewritten or replaced with new ones to accommodate MaterialYou color scheme behavior.
Anyway, I just though I would mention this since it deviated quite radically from past Flutter SDK background color and elevation behavior.

Wow, this looks amazing! Any chance of this coming soon?

Any updates?

It's been 4 months, and Android 12 with Material You is now in open-beta; is it time to look at this again?

@JaffaKetchup and @evrifaessa if I would have to guess, I would say that this MaterialYou widget is perhaps being worked on and tested in a none public clone, away from public eyes. Probably together with a number of other new MaterialYou related updates that Flutter will need in order to support MaterialYou that is introduced with Android12.
If not, there will indeed be a big rush to release Anroid12 related MaterialYou widgets and features in Flutter when Android12 is released. So I'm pretty sure Flutter - Android - Material teams are collaborating on including support for MaterialYou in a way that will try to match the release of Android12, if possible. This way Flutter applications can also migrate and use new MaterialYou design features after Abdroid12 is released. Sure it would of course be nice to have them before Android12 is released so that we could also prepare Flutter apps that use the new Material design features in advance too. However, I have not noticed them in master channel yet, although I must admit I have not spent so much time on master channel recently.
I know that the above feedback has been received and reviewed by the Material design team, but I guess we will have to wait and see what the result is until it is released.
cc: @willlarche

Hey folks, we are definitely hard at work in bringing Material You to Flutter soon! Please be patient as we continue to bring all these important updates to Flutter in the coming months :)

Thanks @HansMuller, what an excellent review!
I was actually looking at it a bit too and I think you captured most of the things I noticed too and then some.  I'm just out of curiosity following this review a bit, since I tried the super early version. 😃  Which was when I noticed some issues (on earlier version), like the elevation overlay in dark mode was not used, if theme used it and height parameter had no effect and minor other things, like more control over tooltips. The visual density and text scale factor questions where next on my list too ask about too. Oh, I like the idea with both text labels and optional widget, used it for some custom widgets for similar as mentioned reasons too.
Even if this is a new Material v3 widget, I think it is important that it fits and uses conventions that matches how Flutter widgets currently behave, whenever that is appropriate and may be reasonably expected. Glad to see you are taking time to get it as right as possible. Great job @johnsonmh and I'm looking forward to using this widget for real soon enough 🙏🏻 😃
Design question
The usage of overline style ad default label choice and its default size is still poor imo. It is not very legible on most common desktops that actually use pixel ratio 1.0, as demonstrated earlier. Curios as to what drives design choices like it, as default values anyway. Sure on phone devices with much higher device pixel ratio it works, but not on a 1.0 desktop, but I guess it is what it 😃 💙

hey @rydmike, thanks for all your useful feedback! Regarding the overline usage. That is going to be what the spec calls for (and keep an eye out for updates to the text theme default values coming soon, which will update overline to be size 12 by default I believe)
The height param is now used and themable. The widget does not adjust its size due to visualDensity or textScaleFactor, by design. The tooltips do adjust to textScaleFactor however.
Thanks for the thorough review so far @HansMuller !

In you screenshots above I noticed that the on click effect (ripple) is a rectangle, but the new clocks app from Google that already uses the new component has a circle which also overlaps with the item next to it.
Also the circle is not a gray shade, but some very transparent shade of the accent color or secondary color or what ever color the focused t XT element uses. I'm not sure.

Hey @LasseRosenow thanks for the feedback!
I've spoken with our Android counterparts and I think the overlapping/unbounded ripples are actually a bug and should be fixed shortly. The spec (once published) should indicate that the ripple expands out to the bounds of the destination (so a rectangle)
As for the color of the ripple, that can be customized with the ThemeData.splashColor param and we'll make sure to set the correct default for Material 3/You once we have a full Material 3 theme ready.

For some reason Github wouldn't let me directly reply to a few of the comments, so I'll address them here @HansMuller

Not respecting textScaleFactor doesn't seem like a good idea wrt a11y, but OK.

This was an a11y decision made by Material last year since growing the height of the bar wouldn't add value as the labels would just become truncated and you'd lose screen real estate. So the a11y text scaling decision was to just scale the tooltips up instead (this also aligns with Apple's bottom navigation behavior)

If a NavigationDestination needs a builder to create its icon or label, why not just use Builder?

I'm not actually sure what you meant by this comment. The NavigationDestination does not require you to use a builder, its implementation uses a building block that uses a builder instead.

@rami-a off-topic, but you can only reply in the original thread (when responding go a previous review in a review) on GitHub.

Is the height of the new NavigationBar really still supposed to be 80?

I just read, that the most recent GMail App changed it to be the same height as the old BottomNavigationBar.

Is the height of the new NavigationBar really still supposed to be 80?

Hey @LasseRosenow, yes the new default height is supposed to be 80 (you'll be able to see this once the official spec is published on material.io). It's likely that gmail decided to override this, and we provided the flexibility for developers to override the default as well.

I've spoken with our Android counterparts and I think the overlapping/unbounded ripples are actually a bug and should be fixed shortly. The spec (once published) should indicate that the ripple expands out to the bounds of the destination (so a rectangle)

Hi @rami-a, I'm not sure if you'll get a notification about this comment or not since this PR is already merged, but I'm not really sure where else to ask this.
You mentioned overlapping/unbound ripples are a bug, to be honest that's a shame because it looks so much better, but I assume the spec says the ripples shouldn't overlap so that it doesn't give the impression the touch areas overlap as well. Wouldn't it look better to have a circular boundary rather than a rectangular one? (Like in the current YouTube app for example)

I wasn't able to select two at a time like in the other apps, but they don't overlap. I still like the "bug" a lot better though.

How to remove the container border of each NavigationDestination element in the NavigationBar to see the full InkRipple.splashFactory animation effect as in native Android?

@rami-a
What is the difficulty of implementing NavigationBar(Material 3/You) exactly the same as in native Android? For example, I noticed that the effect of InkRipple.splashFactory for NavigationBar in Flutter is somewhat different from BottomNavigationBar(Material 3/You) in native Android. The radius of the circle when clicking on the NavigationBar is also different from the native Android, while the borders of the elements on the panel are visible, and there is still no ripple effect on the circle. I gave an example in two screenshots of the bottom navigation bar in Flutter, the first BottomNavigationBar, the second NavigationBar.

@rami-a
Why are some style properties not supported in the NavigationBar widget by default, namely indicatorColor, labelTextStyle, and iconTheme, but they can be called in the NavigationBarThemeData widget? I also wanted to know why, using the BottomNavigationBar example, you can use all the default style properties without using the BottomNavigationBarThemeData widget?

M3 specs define badges (small and large) in Navigation Bar. Is it implemented in any way?
https://m3.material.io/components/navigation-bar/specs

No, not yet.

@dposs - There was an attempt (now closed) to add support for badges about 5 months ago: https://github.com/flutter/flutter/pull/99853. Should be a relatively straightforward feature to implement.


Branching Decisions in a Parser (Roll back position by 1 char?)

Hi all,
TL;DR: Can I put the position of the parser back by one character so that I can make a decision of which parser to use?
Full story: I am working to parse .dfm files which define the layout of old Delphi application windows/forms. I am successfully parsing the objects that define things like buttons on screen or input fields. These each have properties which can either be strings or string arrays.
For example,
String example -> Caption = "Hello"
Array example -> Items = ["dave", "gill", "bill"]
I want to create a generic parser that can choose if a given property assignment is a string or array one based on the first character (if an array, this would be a [,{, or () then parse an array or string assignment based on this (in both cases returning a List).
Is there a way to parse the first character of the assignment, have this as foo then roll the position of the parser back by 1 character then in the next line of the LINQ statement, feed foo into a function that returns the correct parser based on the contents of foo?
I imagine the code looking like:
from foo in Parse.Char.Once()
// Roll back position by one here
from bar in StringOrArrayParser(foo)
select bar  // This returning a List<string> (return type of string parser and array parser)

Also I'm pretty new to C# and LINQ (loving Sprache so far, had only lightly played with Parsec previously) so if I am making any huge mistakes I would appreciate direction on those as well.

You can't move the current position of the parser, but your problem can be solved without the need to do that.
Since you're dealing with 2 different types, you need to make sure that both parsers encapsulate the return value in a single type.
You can create a base object to encapsulate an array or a string with separate constructors/derived classes and return that base object from the parsers.
So lets look at some notepad (not compiled) code:
class SomeValue<T>
{
    T _value = null;
    IEnumerable<T> _values = null;
    SomeValue<T>(T value) { _value = value;}
    SomeValue<IEnumerable<T>>(IEnumerable<T> value) { _values = values;}
}

Parser<string> QuotedText =
            (from lquot in Parse.Char('"')
             from content in Parse.CharExcept('"').Many().Text()
             from rquot in Parse.Char('"')
             select content).Token();

var StringParser =
   from t in Parse.QuotedText.Text()
   select new SomeValue<string>(t);

var ArrayParser =
    from a in StringParser.Many().DelimitedBy('[', ']')
    select new SomeValue<string>(a);

var StringOrArrayParser =
    from x in StringParser.Or(ArrayParser)
    select x;

Some extra work is needed for escaping strings with quotes and properly keeping character ']' from ending your parsing earlier than expected.

Hi @mpartipilo, thanks for your help. I had a lot of that structure already but having it confirmed as the approach to take and more abstractly discussed/viewed without the context I am working in made the changes I had to make much clearer.
It came down to a misunderstanding of the Or/XOr methods and other minor things. This other issue in the project helped with that to an extent
I appreciate the help, thanks again!


Native code support (C/C++/Rust/Dart)?

Hi thanks for the tool! I have tons of native code. Think of it like C/C++ which is compiled into a .so file (though indeed it is Rust and Dart but they all get compiled into very normal so files). So I wonder whether this library can work on it?

I see. Thanks!


CSIP METS profile some requirements refer to incorrect examples

CSIP4 recommends the presence of the csip:CONTENTINFORMATIONTYPE attribute with a "should" cardinality, but of the given examples: metsRootElementExample1 metsRootElementExample2, only the second actually contains the other attribute. This could be a convenient way to demonstrate the severity of the requirement in practice and that it is not a failure criteria, but this was not used consistently with other "should" requirements, most other "SHOULD" requirements only feature examples that test positively. As such it's a little confusing.  CSIP63 has the same issue as CSIP4, with two examples only one of which contains the relevant data.
CSIP20 and CSIP34 both have one supplied example, dmdSecExample1 and amdSecExample1, which both do not contain the tested attribute @STATUS at all.
CSIPs 45-56 all depend on the presence of a rightsMD element described in CSIP45 with a "MAY" severity. The subsequent dependent requirements through CSIP56 (which vary in severity and includes "MUSTS") including 45 all list amdSecExample1 as their example, but amdSecExample1 does not contain any rightsMD element.
I am submitting this as an issue since it seems to be a problem of clarity rather than the technical construction of the examples, if we can gather a more robust understanding of what the examples are designed to achieve in the case of non-must requirements I can implement it in the profile. This may be critical if @carlwilson needs the examples to validate in a predictable way to extract cardinality from the encoded tests without external document fragments

The examples are just a snippet showing the code.
I suggest @Sunday-Crunk and I meet and go through this together.

DILCIS meeting decision: @karinbredenberg @Sunday-Crunk Will work on this topic and will present the result to the group.


CLS token

Thank you for the great paper and code repo, super nice idea.
You mention in the paper that you experiment with appending a CLS token and using this to perform classification. I was wondering how you treat this CLS token - does it attend to all patches or just just the patches which fall into its local area (in the swin self attention process)? I also cannot find where this is implemented in code as this would be helpful.
Many thanks,
Harry

I also see checks inplace which in my eyes would prevent a cls token being simply prepended e.g. in the forward method of the transformerblock.
https://github.com/microsoft/Swin-Transformer/blob/ad1c947e76791d8623b61d178c715f737748ade8/models/swin_transformer.py#L251

What the authors are talking about is applying a global average pooling layer to the feature map output in the final stage and then using a linear classifier for image classification, the strategy that has the same effect as ViT with [cls] token accuracy.

Thanks for the response; however, what you describe is the standard approach for SWIN. They explicitly say that they tried CLS prepending.

I'm interested as well :)


chore: added codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f550caa). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main        #2   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         8
  Lines           ?       309
  Branches        ?         0
========================================
  Hits            ?       309
  Misses          ?         0
  Partials        ?         0


I have issue in generating tf record for multiple mask of same class in a image

I have the dataset which have  multiple mask of one class in a image,how i modified the create_mask_rcnn_tf_record.py in this scenario: but actually create_mask_rcnn_tf_record.py save the one mask of same class  per image like
path=dataset1/label.pbtxt image1 bounding box for MotorBike 484.0 639.0 181.0 303.0
my mask example is here

please help me to generate the tf record form mask in case of multiple boundary  box  problem.

Hi,
The given approach in _create_mask_rcnn_tf_record.py to find out bounding box around objects in mask image works as follow:
It checks for min and max index of pixel with the value of class mask color along width and height of mask image. Next, it find the location of bounding box using min and max found in last step.
Pros: it removes the dependency on additional annotation for bounding box, just mask annotation is enough.
Cons: It cant handle multiple object of same class in the given image.
Solution: annotate bounding boxes speartely using some too like labelImg and then modify create_mask_rcnn_tf_record.py to take bounding box from generated xml files (from labelImg )instead of trying to find out from mask image.

Can you help me by uploading the "Modified"  file .

i have csv files for train and test data, Can i use it to create tf record for mask_rcnn_inception_v2_coco .please explain it how i can use it.
Train csv file:
Tesy csv file

test_labels.txt
train_labels.txt

I have updated the repository to handle multiple objects of the same class while generating the tfrecord file. I hope it will be helpful. go through README for detail.


Automated Package Upgrade

:tada: This PR is included in version 28.5.64 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


player rate functionality in not working.

hii
I am impatient this player according to a custom player but rate functionality is not working with this can you help me, guys.
thanks

You got the solution for this.
I'm also stuck here.


Use cache.

With this change, the generation time shorts from 3 min to 3 s for about 800 files.
Reference: https://github.com/hexojs/hexo/issues/1769

谢谢您。


Reopen Closed File Tabs

This is a direct steal from the Google Chrome browser, but after a browser tab has been closed (intentionally, or otherwise), right-clicking on the "+" icon for a new tab will allow you to reopen the last tab that was closed.
The same feature could relatively easily be implemented in VSCode with a right-click to the empty bar to the right of the file-tabs, or the 3-dot menu on the right side of the window.
Accidentally closing file tabs or closing one and then immediately regretting it has to be a massively common experience, and this feature/ability to immediately and trivially regain the tab would be massively convenient.

There's already a command in the palette for this, and on Windows it is bound to Ctrl+Shift+T.


Unable to start selenium server!

Hi, I am trying to run the selenium method (API method runs without problems), I installed it beforehand, but while executing the example instagram-profilecrawl nacimgoura --thod=selenium, I get an error ✖ Unable to start selenium server!. Any clues what can be wrong?

hello, did you do this ? :
‘‘‘
npm install selenium-standalone@latest -g selenium-standalone install
‘‘‘

yep!

Okay, thanks for the information. I'm watching this soon :wink:

Currently, crawl doesn't work for public profiles. I'll correct that when I have time. It work properly with privates profiles.


Make a CNV with 3 bit of Activation function

Hi, im trying to change from 2 to 3 of Activation function.I saw a really great change from CNVW1A1 to CNVW1A2, so i want to try improve it but i want know if i am doing right.
What i need do:
Network:

Change the config.h file > the  #define's of Lx_API to 3, but in the last layer it will be L8_API = 1 ?

Change the FoldedMVInit function in foldedmv-offload.cpp ?

Training(for Cifar10 as example):

Change the ActivationPrecisions_integer and InputPrecisions_integer ?

Bitstream

I need to regenarate the bitstream with my new cnv Network

Let me know if im forgetting something.
About the Utilization, i will use it in Ultra96. i saw the Report Utilization and i think can fit. (Im new so, maybe its a mistake)

First of all you need to train your neural network with the proper precision, as explained here. Following that, you should change the bitwidths in the weight export script (as example for W1A2 and W2A2.
The config file will be automatically generated.

Hi, thanks for the update of docker's environment, I had trained W1A3.
In terms of the weight export script, I modify W1A2 into
ActivationPrecisions_integer =    [3 , 3 , 3 , 3 , 3 , 3 , 3, 3, 1]
InputPrecisions_integer =         [1 , 3 , 3 , 3 , 3 , 3 , 3, 3, 3],
,then copy the new config file and replicate top.cpp in W1A2, modify into ap_int<3> bits,
and copy the param to the right directory.
When I started running hls, in the csim, it shows such warnings and predicts the wrong class.
WARNING: Hls::stream 'hls::stream<ap_uint<96> >.1' contains leftover data, which may result in RTL simulation hanging.
WARNING: Hls::stream 'DoCompute.inter2' is read while empty, which may result in RTL simulation hanging.
...
WARNING: Hls::stream 'DoCompute.inter5' contains leftover data, which may result in RTL simulation hanging.
WARNING: Hls::stream 'DoCompute.inter4' contains leftover data, which may result in RTL simulation hanging.
WARNING: Hls::stream 'DoCompute.inter1' contains leftover data, which may result in RTL simulation hanging.
...
It seems like some data are not present before reading and the leftover data.
Can you hint what I might miss?

There are a couple of mistakes:

The precisions with 3 bits is actually ap_fixed<3,1>, so with 1 bits for integer part and 2 bits for fractional part. For example:
    WeightsPrecisions_integer =       [2 , 2 , 2 , 2 , 2 , 2 , 2, 2, 2]
    WeightsPrecisions_fractional =    [1 , 1 , 1 , 1 , 1 , 1 , 1, 1, 1]
You should also adapt the weight type definition in top.cpp to the new precision. For example:
static FixedPointWeights<L0_SIMD, ap_fixed<L0_WPI + L0_WPF, L0_WPI, AP_TRN, AP_WRAP>, L0_PE, L0_WMEM>   weights0;
You should adapt the precision for the layers. For example:
    ConvLayer_Batch<L1_K, L1_IFM_CH, L1_IFM_DIM, L1_OFM_CH, L1_OFM_DIM, L1_SIMD, L1_PE, Slice<ap_fixed<3,1, AP_TRN, AP_WRAP>>, Slice<ap_int<3>>, Identity>(inter1, inter2, weights1, threshs1, numReps, ap_resource_lut());

Hope this helps

You missed the shared libraries. How can I generate the shared libraries for a different precision???


Add Nix files and travis check for up-to-dateness

The end goal is to be able to run nix-build and get a static executable that can be used in CIs.

@jmitchell ready for review. One problematic bit is that running stack2nix . > stack2nix.nix requires specific NIX_PATH set, but you can just commit the result of the check script.

Thanks!


V3.3.0: adding no-output-timeout and path variables

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
The new version
New release version candidate: v1..?

Reviewers, please check if the release candidate is present in the changes of this PR in the examples section!

What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[X] No

Other information

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:ad2ed3669b483e277479164fcaae53f6b5a6320f

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:9a0b175f49590cb81a2a84b204b4753de2518e6c

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:316867ecead01f3be21aa51919656981f96db233

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:31644f2d319e44057bf31c9a67ff8eee0b4ba1b7

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:a6e20a2f6df3c8cfb3544899335e8a37297c706a

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=dev:a6e20a2f6df3c8cfb3544899335e8a37297c706a

Your orb has been published to the CircleCI Orb Registry.
You can view your published orb on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dafiti-group/orb-standard-pipeline?version=3.3.0


Test Case Recorder

This is the yaml recorder portion of #59
Adds a command which records info about the next cursorless command:

Command json as sent over the wire
File language
Decorations targeted by the command

todo: handle inferred targets, eg "this", "that"

Snapshots of the editor state before and after the command is run

text document content
selections
visible ranges

Currently the fixture yaml is opened in a new pane after recording.

Great! Would be super helpful to paste an example snapshot yaml into a comment to give a sense of what it looks like

Sure thing!
command:
  actionName: swap
  partialTargets:
    - type: primitive
      mark:
        type: decoratedSymbol
        symbolColor: default
        character: h
    - type: primitive
      mark:
        type: decoratedSymbol
        symbolColor: default
        character: p
  extraArgs: []
languageId: typescript
decorations:
  default.h:
    start:
      line: 1
      character: 15
    end:
      line: 1
      character: 20
  default.p:
    start:
      line: 4
      character: 12
    end:
      line: 4
      character: 17
initialState:
  document: |
    function helloWorld(name: string) {
      console.log(`hello, ${name}`)
    }

    helloWorld("pokey")
  selections:
    - active: &ref_0
        _line: 5
        _character: 0
      anchor: &ref_1
        _line: 5
        _character: 0
  visibleRanges:
    - start:
        line: 0
        character: 0
      end:
        line: 5
        character: 0
finalState:
  document: |
    function helloWorld(name: string) {
      console.log(`pokey, ${name}`)
    }

    helloWorld("hello")
  selections:
    - active: *ref_0
      anchor: *ref_1
  visibleRanges:
    - start:
        line: 0
        character: 0
      end:
        line: 5
        character: 0

And I already see that I should probably look into serializing values instead of the references for snapshot selections 🧐

Dude. This. Is. Epic 😂

Looks great in yaml. Love how the it uses that block for the doc text. Super readable

Gonna save us so much time writing test cases

Now able to run some test cases. Plenty to improve here, including the fact that cases with inferred targets seem to throw an error...
For example,
this line
function transformSelection(
  context: ProcessedTargetsContext,
  target: PrimitiveTarget,
  selection: SelectionWithEditor
): { selection: SelectionWithEditor; context: SelectionContext }[] {
  const { transformation } = target;

  switch (transformation.type) {
    case "identity":
      return [{ selection, context: {} }];
    case "containingScope":
      var node: SyntaxNode | null = context.getNodeAtLocation( // !!!
        new vscode.Location(selection.editor.document.uri, selection.selection)
      );

throws Trace: Cannot read property 'rootNode' of undefined
on this fixture 🤔  I'm a little stumped at the moment.
command:
  actionName: swap
  partialTargets:
    - type: primitive
      transformation:
        type: containingScope
        scopeType: namedFunction
    - type: primitive
      transformation:
        type: containingScope
        scopeType: ifStatement
      mark:
        type: decoratedSymbol
        symbolColor: blue
        character: i
  extraArgs: []
languageId: python
decorations:
  blue.i:
    start:
      line: 5
      character: 0
    end:
      line: 5
      character: 2
initialState:
  document: |
    import sys

    def hello_world(name="pokey"):
        print(f"hello, {name}")

    if __name__ == "__main__":
        hello_world(sys.argv[0])
  selections:
    - active:
        line: 2
        character: 20
      anchor:
        line: 2
        character: 20
  visibleRanges:
    - start:
        line: 0
        character: 0
      end:
        line: 7
        character: 0
  clipboard: ""
finalState:
  document: |
    import sys

    if __name__ == "__main__":
        hello_world(sys.argv[0])

    def hello_world(name="pokey"):
        print(f"hello, {name}")
  selections:
    - active:
        line: 2
        character: 20
      anchor:
        line: 2
        character: 20
  visibleRanges:
    - start:
        line: 0
        character: 0
      end:
        line: 7
        character: 0
  clipboard: ""

Thanks @pokey, exactly what I needed to keep this going!

Thanks @pokey, exactly what I needed to keep this going!

Awesome!  btw feel free to ping me on slack if you'd like when you post something in case I miss the email 😊.  Always excited to see progress

And one more  minor one: for location of the yaml files, I'd be inclined to use src/test/suite/fixtures/recorded.  Does that make sense?

I hit most of these. I'll see about the recording flow and fixture location later today!

@pokey Moved the fixtures and took a shot at the recording flow you described:

Ask user for talon command

Wait for them to run command

Have subfolders in the fixture directory and present them with a list of possible subdirectories and allow them to select "add new" if they type something that doesn't exist

Ask them for a file name

Display a message that the fixture was made, with a link to open it, but don't open it by default

Note that steps 3–5 only happen if in cursorless workspace

Nice! Will have one last look tomorrow and get it merged in
Fwiw I am planning to make the following quick changes tomorrow before merging:

Add an env var that indicates cursorless workspace dir. This env var will be set when you run in debug mode. Then if the var is set it will behave the same as if you're in cursorless workspace. This behaviour will make it trivial to add tests while you're developing a new feature.
Remove the full target output to make things more compact
Implement flow style for simple objects to make more compact
have another look at order of keys in yaml

My goal is to have:

super compact and readable output for ease of reviewing test cases
rapid effortless test case recording for new and old features

I'm planning to sit down for a bit tomorrow and will try to knock these out myself. But if I don't, I think I may just file some of them and merge in this PR without.

May I suggest one improvement? Using "pre:phrase" event you can just send the spoken form to cursorless instead of having to type it. If you also use the spoken form as the file name we can skip that step and actually do bulk recordings.

"cursorless record"
popup to chose directory
take air => file created
clear bat => file created
"cursorless stop"


Totally Can NOT Re-Produce!!!

Your code is incomplete, so I supplemented it myself.

Your paper doesn't mention the seed or hyperparameters for any dataset, making it impossible to reproduce the results as reported in the paper.

I attempted to reproduce the results by manually adjusting the parameters, but it was unsuccessful.

Overall, I have significant doubts about the truth of this paper. Coule you please give me an answer?

Hello @A11en0,
thanks for reaching out and using our project.

I also answered this request in your other issue. As stated in the readme, we use the t-few project and provide all necessary files to run it for our setup in t-few. If there is anything else missing, please let us know the exact file? We added additional files to the project on user requests in the past.

The five different seeds are only provided in the code, they are 42, 1024, 0, 1, 32 (line 66 in few-shot-pretrained-100k.sh for the LLM and line 73 in evaluate_external_dataset.py). We did no parameter tuning for the LLM as stated in the paper. You can find the parameters we used for T0 in few-shot-pretrained-100k.sh and the config files configs. All hyperparameters of the baselines are in the appendix of the paper in section "3 PARAMETER TUNING FOR BASELINES". You can also find them in the code evaluate_external_dataset.py. We did an exhaustive search over all parameters.

It is probably very hard to find the right parameters by hand. Please redo the experiments with the seeds and parameters pointed out above (they are the default in our code) and check if you get the correct results. We reproduced the results from scratch using the code in this repository on a different machine, so it should definitely be possible.

If you have any further questions, please let us know!

I am using the same code as yours with seed = 42 and dataset being blood dataset with text template serialisations. I got 37.2 % accuracy compared to 67% as reported in the paper


Select All in Configuration  VMDB->Settings does not work

Version:
master.20170813013530_81d444b
Steps:
1.Navigate to configuration->database->VMDB->Settings
2.Click on  select all
Observation:
select all selects only the first item from the table. see attached screenshot.

@akarol please open an [UPSTREAM] BZ for this if not done already.


Importing Jsforce Library causing an error. Uncaught ReferenceError: process is not defined at Object../node_modules/readable-stream/lib/_stream_writable.js

Hello,
I am facing an issue Uncaught ReferenceError: process is not defined at Object../node_modules/readable-stream/lib/_stream_writable.js  when I am importing jsforce in component. I have attached the Screenshot below

without import jsforce from 'jsforce' in code the web page was loading but when I added import jsforce from 'jsforce' jsforce library it started throwing this error in browser console and Web page was not loading the content. Kindly help me resolve this issue if anybody is aware of it's reason.

I think this issue started occurring with webpack 5. I was able to use JSForce successfully in my previous project but now its not working with the same issue.
This is the part of error I am getting:
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
and suggestion mentioned in below stackoverflow post was not helpful.
https://stackoverflow.com/questions/65894521/webpack-5-node-polyfill-instructions-dont-work
Any help would be appreciated.

@FeiPengDev can you try setting these polyfills in your webpack config?:
https://github.com/jsforce/jsforce/blob/7c8e6a130a149cc7f310e6628f786f94a98c91b9/webpack.config.js#L5-L11
NOTE: those packages should be devDeps in your project.
that webpack config is from the 2.0 branch where we bumped webpack to v5.


#437 Refactor npmurlupdater

Fixes #437.

Implements NpmBasedUrlUpdater as an extension of JsonUrlUpdater
NpmUrlUpdater is now a NpmBasedUrlUpdater instead of a WebsiteUrlUpdater
Added Tests for NpmUrlUpdater

There is a rather unclean workaround to fix versions being filtered properly for npm, so that alpha/beta versions are not being made available. These versions were not available with the prior used WebsiteURLUpdater. This problematic behaviour however is not specific to npm: Currently, e.g. python too makes alpha, beta and rc versions available to the user.
This problem arises due to these tools implementing their own update method, in which doAddVersion instead of addVersion of the AbstractUrlUpdater is being utilized, and by that, circumventing the mapVersion call in which these versions would have been filtered.
I am open to suggestions for a prettier solution for this workaround, however it seems to me it requires some refactoring on AbstractUrlUpdater, and might be best to do this in a seperate issue, and consider the refactoring of NpmUrlUpdater completed.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.09%) to 61.126%

Files with Coverage Reduction
New Missed Lines
%

com/devonfw/tools/ide/tool/npm/NpmUrlUpdater.java
1
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
5207

Relevant Lines:
8193

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 61.158%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
5207

Relevant Lines:
8189

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.5%) to 61.509%

Files with Coverage Reduction
New Missed Lines
%

com/devonfw/tools/ide/commandlet/CommandletManagerImpl.java
3
90.11%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
5253

Relevant Lines:
8224

💛  - Coveralls


predicate is  not usable by but exposed to JavaScript.

Type of parameter 'predicate' in 'RowResult[] DataTable.Select(Predicate predicate)' is not usable by but exposed to JavaScript.
public  RowResult[] Select(Predicate predicate){
return rows.stream().filter(predicate).toArray(RowResult[]::new);
}

That seems correct, the class java.util.Predicate  is opaque to JavaScript (it is not marked @JsType nor has any @JsMethod)
I assume the the class DataTable is either marked @JsType  or its method Select(Predicate) is declared as @JsMethod  and that is why the warning is emitted. The method is declared to be callable directly from user written JavaScript code but takes a parameter that is opaque.
Difficult to tell with certainty since it is an incomplete snippet.

Closing the issue as WAI.

thanks！
This is my code:
@JsType(isNative = true,namespace = JsPackage.GLOBAL)
public class DataTable {
@JsMethod
public native  RowResult[] Select(Predicate<RowResult> predicate);

}。
I am trying to rewrite the DataTable class in js as an overridden java class. So the above problem occurred when I was packing. (When I typed the complete java code, I found that the size of the package was too large, almost 90M, so I rewrote some java classes in js to reduce the size of the package). If the current issue does not work out well, is there any way to reduce the package size (currently my configured compilationLevel: SIMPLE_OPTIMIZATIONS).
thanks~


Aspect Ratio 'Image'

v0.1.5
I have found that it doesn't matter whether I select Icon or Image under 'Content' in the universal widget, the image is always displayed with the same aspect ratio.
This means that if I have a roughly rectangular image (whether horizontal or vertical), it will then be compressed so that it looks square.
See attached Images

Fixed with v0.1.7


Add C3IOT to LF-Edge lanscape

Add logo and metadata for C3IOT

They do IoT and ai applications
The logo is pretty simple, should be able to make a good quality svg out of it.
Logo: https://www.google.com/search?q=C3+logo&tbm=isch&hl=en&tbs=ift:svg&chips=q:c3+logo,g_1:computer:G7CyCUQ4nS4%3D&hl=en&ved=2ahUKEwivrt3CtOHnAhXViJ4KHbr8DzgQ4lYoAnoECAEQGQ&biw=1534&bih=744#imgrc=BMA_WN1N3_A4JM
cat- other
homepage_url: 'https://c3.ai/'
logo:
crunchbase: 'https://www.crunchbase.com/organization/c3'


KEYFORMATVERSIONS, KEYFORMAT attribute default handling

An application I made that uses open-m3u8 has a section where it reads a playlist then creates a new one based on edited values in the original list. I noticed the original playlist didn't have the attributes KEYFORMATVERSIONS and KEYFORMAT. But the new one has the attributes with their default values.
I read the specification "HTTP Live Streaming draft-pantos-http-live-streaming-16". It states in there that these two attributes are optional and their omission means the default values will be assumed. So newly created playlists don't need to include these unless their values are non-default.
So I was wondering if this behavior would be desired (new playlists won't include these attributes unless they were specified before or their values are non-default). If so I'll try to work on it in a new fork.
This isn't an important issue nonetheless. The rewritten playlist with these two attributes included worked fine.

I made the changes so that a new MediaPlaylist won't write these attributes to a new playlist file if their values are default. If a new list is build by 'buildUpon' and the previous list has these attributes then it will include them in the new file.
If you want to check it out let me know and I'll make a new fork with these changes after my current fork (of different changes) is done/closed.


Handle Buffer bodies. Issue #103

Do you mind adding a test that shows this works?

Yes!

From my understanding, the tests that already exist test the feature. Does it still need more?

When I look at the existing code, I'm now failing to understand how this isn't working as designed.  When we get a value that is a Buffer, we will stringify it first and then handle the coercing based on the type requested.  The only way this shouldn't work is if your body parameter is not of type object.  Can you give me the schema for your body parameter?  (If it is a reference, give me the referenced schema as well.)

The problem was the Buffer conversion was happening too late when the type is undefined. It would return a Buffer value before the conversion could happen. The changes I implemented just converted the Buffer right away.

 /auth/login:     x-swagger-router-controller: auth     post:       tags:         - no-auth       operationId: login       description: 'Given login credentials, returns a login token.'       parameters:         - name: bodyJson           in: body           description: Login credentials.           required: true           schema:             allOf:               - required:                   - username                 properties:                   username:                     type: string               - required:                   - password                 properties:                   password:                     type: string               - required:                   - partner                 properties:                   partner:                     type: string       responses:         '200':           description: A jwt token           schema:             required:               - token             properties:               token:                 type: string

What I'm saying is that type should never be undefined.

I realize the Swagger 2.0 specification does not require type to be set but it should never be unset and most tools, like sway, will work only when type is set.  If it were, your Swagger above would proper work (or should).
Maybe @webron can jump in and help plead your case.

https://github.com/apigee-127/sway/issues/45

I don't see how we can do type conversion when we don't know the requested type, that's the problem.  Sure, we can come up with some magic that might work most of the time but I don't like magic.  I could fall back to JSON.parse for this but I'm sure it would have overhead and there would be cases where it just wouldn't work, like with non-JSON bodies.

Yeah, #45 is pretty clear. Thanks!


Have you seen this?

I highly doubt this has anything to do with the sbt plugin and is likely an error in the travis ci addon however I was wondering if you had experienced the issue I raised here. I started to see it when I updated to the latest release of sbt-sonar (1.7.0) https://travis-ci.community/t/sonar-addon-doesnt-set-environment-variables/3654?u=chocpanda

The SONAR_SCANNER_HOME environment variable isn't exported by the plugin, as you say in your issue, but it's used by it to call through to sonar-scanner cli. You should set the environment variable yourself. Once #19 is implemented it will no longer be needed to have the sonar-scanner cli installed on your server.


Remove version: SDCC.SDCC version 3.4.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: URL works;


Duplicate title in navigation tree

Hi team,
On loading this page I see the title 'Securing privileged roles' appear in the navigation tree on the left TWICE. Clicking the link navigates to the same page. Both pages have the same URL. Loading from a web search or entering the URL directly actually highlights both entries in blue.
Thanks,
James

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 826a3309-03a5-60b4-aa4c-63f385150455
Version Independent ID: 1d2e2f1c-2805-5cda-a4ad-76fedbc3f525
Content: Best practices for securing administrative access in Azure AD
Content Source: articles/active-directory/admin-roles-best-practices.md
Service: active-directory
GitHub Login: @curtand
Microsoft Alias: curtand

@jlee-vi Thanks for your feedback! We will investigate and update as appropriate.

@jlee-vi  I have assigned this issue to content author to investigate and update the document as appropriate.

Hi @jlee-vi
We have been having some trouble with regressions in our table of contents. I'll attend to this.
#In-progress

Hi @jlee-vi
I fixed the table of contents per this request. Thanks for the feedback!

#please-close

We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Weird Navigation Bar appeared

The navigation bar on SideMenuVC appeared when I tap on the table view cell in SideMenuVC.
Please find the issue from the video link below.
https://drive.google.com/open?id=0B6PyjkS8k4r7VWNTYm5MaUg1V00

I am having a similar issue. When I tap anywhere on the view a navigation bar appears and on the next click it disappears.

@keithyeohh @eciftcioglu a very quick test of the demo project does not reproduce this problem (something I ask every issue submitter to try). Please investigate further and see if this is something due to your own project code or a SideMenu issue.

same issue, please help

Same issue with me, clicking on any area - appearing navigation bar


Ansible playbook installation scripts for Moodle and WordPress

Ansible playbook installation scripts for Moodle and WordPress
Ansible VM Templates for Moodle and Wordpress

Closed this because given two different PR's for Moodle and WordPress


Fix NULL deref in JS_NewRuntime2

The API allows for the malloc_usable_size callback to be NULL, so it must not be dereferenced before the NULL check.

Good catch!


Vendoring libnetwork v0.7.0-dev.10

Fixes #20335
Fixes #20448
Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

LGTM

@aboch needs rebase

@tonistiigi Rebased. Thanks.

LGTM

All :green_heart:


test: rework test for endpoint regeneration

The check for endpoint regeneration was broken due to recent changes in the
endpoint status API. Refactor this function so that it that waits for all
endpoints to be in 'ready' state until a
certain number of retries are exceeded.
Add a function that waits until a specific endpoint is regenerated as well.
Add a function that returns the status log for a specified endpoint.

Signed-off by: Ian Vernon<EMAIL_ADDRESS>Fixes: #2047

@ianvernon needs a search and replace for s/EndpointLog/EndpointStatusLog

@aanm fixed


Question: Integration with TypeScript via tsconfig.json

Hi, I'm trying to install Lodash type definition file in one of my projects.
The only problem I'm struggling with is that the compiler only recognises the definition file when included as a reference to the top of TypeScript files.
/// <reference path="../typings/main.d.ts" />

I'd like the integration to be done via the tsconfig.json file:
{
  "files": [
    "typings/main.d.ts"
  ]
}

When I do so I get the following error message:
error TS2304: Cannot find name '_'.
I'm using Atom IDE with atom-typescript plugin and TS 1.8.

Sounds like this should work, can you please create a demo repo or gist with configuration so I can reproduce it?

Totally my mistake on this one. I'm using gulp-typescript and the setup is slightly different there.
I'll expand it later on tonight.


Support for PHP 5.6

Hi @tplaner,
I was wondering if you would be open to a PR that adds support for PHP 5.6 to the repository. The only change needed is moving the PHPUnit constraint to 5.7.27. In my own fork of the package all of the tests continue to pass.
I know that in the commit https://github.com/tplaner/When/commit/160e98f3d1ed6a824bdfaa2ede211d1877e8e5ce you dropped support for 5.x to allow for 7.x enhancements, but you are not currently using any 7.x exclusive features.
Thanks for your consideration!

Sounds good, would merge.
On Sat, Oct 10, 2020 at 7:18 PM Skyler Katz<EMAIL_ADDRESS>wrote:

Hi @tplaner https://github.com/tplaner,
I was wondering if you would be open to a PR that adds support for PHP 5.6
to the repository. The only change needed is moving the PHPUnit constraint
to 5.7.27. In my own fork of the package all of the tests continue to
pass.
I know that in the commit 160e98f
https://github.com/tplaner/When/commit/160e98f3d1ed6a824bdfaa2ede211d1877e8e5ce
you dropped support for 5.x to allow for 7.x enhancements, but you are not
currently using any 7.x exclusive features.
Thanks for your consideration!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tplaner/When/issues/78, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMLXHIUWDHS3NYXSDKDUTSKDTTVANCNFSM4SLLYTJA
.


 For example if you switch between 2 brightness modes. One thing that would assist here is to store the entity state prior to turning on a  scene. And then restoring the before_on state when turning off.
It would be great to have a per scene setting (or global var in the short term) that could toggle this.
Hope this makes sense.
(Just adding a bunch of items here so you can decide if u want to include them in the roadmap)
Happy to assist, as  things take off.
Hiren

Great suggestion I also thought about implementing this. I will look into developing this.
For now, you could always have two scenes to switch between.

Introduced in #23


test example yields OSError

After installing mikecalsetup as directed in the readme, executing the tests from the tests folder with:
python -m unittest

produced this error:
OSError: [Errno 22] Invalid argument: 'example_models\\Karup\\Karup_Basic\\|.\\Model Inputs\\MIKE_SHE_vege.ETV|'

I also encountered this error when trying to run example usage.ipynb after installing jupyter and notebook as mentioned in #2.

This specific path formatting issue that led to the OSError is due to the package not stripping the vertical lines from the string, when it should have. I have added an extra line to the script to avoid this error from happening again.