Airbnb swift style reports compatibility with linux but it is actually not compatible.

Please describe the bug
As you can see in the readme it displays linux https://github.com/airbnb/swift#readme but it is not running on linux. As detailed here https://github.com/airbnb/swift/discussions/197
Explain the steps needed to reproduce the bug

run swift package format on ci
then it reports binary not available for linux
that the bug

What was the expected behaviour?
I would expect swift package index to only show macos and not linux if a binary is not available for the linux platform
Screenshots

Additional context
https://github.com/airbnb/swift/discussions/197

Thanks for the report, @doozMen !
This is a tricky one. Our build system uses something like swift build on a package to determine its compatibility and for the AirbnbSwift plugin this actually works on Linux.
I'm not sure how to best deal with platform and Swift version compatibility for plugins. Clearly, a plain "build" process like we have is problematic.
Until we come up with something, one way to fix this false positive would be to intentionally break the Linux build of the plugin by adding:
#if os(Linux)
#error("Linux is currently not supported")
#endif

somewhere in the source or even the Package.swift manifest.
I'll raise the question over in the original issue if that's a feasible approach until we have a better solution. I can't really think of a better way to deal with this for now.

One approach I considered is to create a dummy package and reference a package (plugin) as a dependency from there. This is as simple as placing a Package.swift with the following content in an empty directory:
// swift-tools-version:5.7

import PackageDescription

let package = Package(
    name: "dependency-check",
    dependencies: [
        .package(url: "https://github.com/airbnb/swift.git", from: "1.0.0")
    ]
)

That succeeds as well though:
⋊> ~/dep-test uname -a                                                                                12:14:12
Linux lb1 5.4.0-1094-azure #100~18.04.1-Ubuntu SMP Mon Oct 17 11:44:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
⋊> ~/dep-test swift build                                                                                12:14:19
Fetching https://github.com/airbnb/swift.git from cache
Fetched https://github.com/airbnb/swift.git (0.22s)
Computing version for https://github.com/airbnb/swift.git
Computed https://github.com/airbnb/swift.git at 1.0.2 (0.01s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser (0.16s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.1.4 (0.02s)
Creating working copy for https://github.com/airbnb/swift.git
Working copy of https://github.com/airbnb/swift.git resolved at 1.0.2
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.1.4
Downloading binary artifact https://github.com/calda/SwiftFormat/releases/download/0.51-beta-2/SwiftFormat.artifactbundle.zip
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.48.0/SwiftLintBinary-macos.artifactbundle.zip
Downloaded https://github.com/calda/SwiftFormat/releases/download/0.51-beta-2/SwiftFormat.artifactbundle.zip (0.53s)
Downloaded https://github.com/realm/SwiftLint/releases/download/0.48.0/SwiftLintBinary-macos.artifactbundle.zip (2.17s)
Compiling plugin FormatSwift...
Compiling plugin GenerateManualPlugin...
/home/docker-user/dep-test/.build/checkouts/swift/Plugins/FormatSwift/Plugin.swift:53:13: warning: 'launchPath' is deprecated: renamed to 'executableURL'
    process.launchPath = launchPath
            ^
/home/docker-user/dep-test/.build/checkouts/swift/Plugins/FormatSwift/Plugin.swift:53:13: note: use 'executableURL' instead
    process.launchPath = launchPath
            ^~~~~~~~~~
            executableURL
Building for debugging...
Build complete! (4.12s)
⋊> ~/dep-test echo $status                                                                                12:14:33
0

If we wanted to generalise this we'd need to
a) create a package with an honest package dependency for library targets
b) somehow execute plugin commands for plugin targets
For a) that's probably somewhat feasible and could replace our current builds. (This is not directly related to this issue but I believe if we change how we determined build compatibility we'll want to do it in similar ways for both plugins and libraries.)
The main problem here is which library target(s) to pick. All of them? Heuristics like we have for schemes? That's not a great prospect given the problems we often see with xcodebuild.
For b) I don't know how we'd discover the commands to run nor how to determine if the problem was due to the platform or some other issue with its execution in a dummy package. Perhaps just running it with --help could be an indicator.
For example, this seems to be a way to trigger an error on Linux (using the above-mentioned minimal package manifest):
⋊> ~/dep-test swift package plugin --allow-writing-to-package-directory format --help                                  12:23:52
Building for debugging...
Build complete! (0.21s)
error: Plugin does not have access to a tool named ‘swiftformat’
⋊> ~/dep-test echo $status                                                                                12:23:54
1

Running the same on macOS yields:
❯ swift package plugin --allow-writing-to-package-directory format --help
Fetching https://github.com/airbnb/swift.git
Fetched https://github.com/airbnb/swift.git (68.47s)
Computing version for https://github.com/airbnb/swift.git
Computed https://github.com/airbnb/swift.git at 1.0.2 (0.87s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser (1.83s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.1.4 (0.62s)
Creating working copy for https://github.com/airbnb/swift.git
Working copy of https://github.com/airbnb/swift.git resolved at 1.0.2
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.1.4
Downloading binary artifact https://github.com/calda/SwiftFormat/releases/download/0.51-beta-2/SwiftFormat.artifactbundle.zip
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.48.0/SwiftLintBinary-macos.artifactbundle.zip
Downloaded https://github.com/calda/SwiftFormat/releases/download/0.51-beta-2/SwiftFormat.artifactbundle.zip (5.76s)
Downloaded https://github.com/realm/SwiftLint/releases/download/0.48.0/SwiftLintBinary-macos.artifactbundle.zip (49.83s)
Building for debugging...
[48/48] Linking AirbnbSwiftFormatTool
Build complete! (3.87s)
USAGE: airbnb-swift-format-tool [<directories> ...] --swift-format-path <swift-format-path> [--swift-format-cache-path <swift-format-cache-path>] --swift-lint-path <swift-lint-path> [--swift-lint-cache-path <swift-lint-cache-path>] [--lint] [--log] [--swift-format-config <swift-format-config>] [--swift-lint-config <swift-lint-config>] [--swift-version <swift-version>]

ARGUMENTS:
  <directories>           The directories to format

OPTIONS:
  --swift-format-path <swift-format-path>
                          The absolute path to a SwiftFormat binary
  --swift-format-cache-path <swift-format-cache-path>
                          The absolute path to use for SwiftFormat's cache
  --swift-lint-path <swift-lint-path>
                          The absolute path to a SwiftLint binary
  --swift-lint-cache-path <swift-lint-cache-path>
                          The absolute path to use for SwiftLint's cache
  --lint                  When true, source files are not reformatted
  --log                   When true, logs the commands that are executed
  --swift-format-config <swift-format-config>
                          The absolute path to the SwiftFormat config file
                          (default:
                          /Users/sas/Downloads/dep-test/.build/arm64-apple-macosx/debug/AirbnbSwift_AirbnbSwiftFormatTool.bundle/airbnb.swiftformat)
  --swift-lint-config <swift-lint-config>
                          The absolute path to the SwiftLint config file
                          (default:
                          /Users/sas/Downloads/dep-test/.build/arm64-apple-macosx/debug/AirbnbSwift_AirbnbSwiftFormatTool.bundle/swiftlint.yml)
  --swift-version <swift-version>
                          The project's minimum Swift version
  -h, --help              Show help information.

~/Downloads/dep-test took 2m15s
❯ echo $status
0

So maybe we do this for package that vend only a plugin as a product (or several and per plugin but not a mix of plugins and libraries) and keep the regular build process as is?

As to how we'd get the verb to run the plugin, I can see two approaches:
a) we could run swift package describe --type json in the plugin package directory and then get it from the target's plugin_capabilitiy.intent.verb attribute.

b) run swift package plugin --list and parse the output:
❯ swift package plugin --list
‘format’ (plugin ‘FormatSwift’ in package ‘AirbnbSwift’)
‘generate-manual’ (plugin ‘GenerateManualPlugin’ in package ‘swift-argument-parser’)

The slight problem here is (as we can see in the example) that this list is going to be "polluted" by plugins from other dependencies. And of course we'd be relying on output format stability.
Option a) is cleaner and more stable. We probably wouldn't need to worry about trying to find the correct target - we could just take any verbs we find in plugin_capability.intents. All of them should be declared plugins of the package we're inspecting.
One thing to check is if the describe format is stable for all the Swift tools versions that support plugins.

One other idea is that you could check the platforms supported by the binary dependencies. For example our Package.swift has:
    .binaryTarget(
      name: "SwiftFormat",
      url: "https://github.com/calda/SwiftFormat/releases/download/0.51-beta-3/SwiftFormat.artifactbundle.zip",
      checksum: "4b0516d911258b55c3960949f4a516a246f35a1dc7647a6440c66e1f1fe1a32e"),

The artifactbundle file has an info.json manifest:
{
  "schemaVersion": "1.0",
  "artifacts": {
    "swiftformat": {
      "version": "0.51-beta-3",
      "source": "https://github.com/calda/SwiftFormat/releases/tag/0.51-beta-3",
      "type": "executable",
      "variants": [
        {
          "path": "swiftformat",
          "supportedTriples": ["x86_64-apple-macosx", "arm64-apple-macosx"]
        }
      ]
    }
  }
}

Since the supportedTriples only includes macOS targets, this dependency can't be used on Linux.

I think we discovered a caveat in the system an maybe should consider filing a bug on swift package manager. It should not build for packages on platforms it does not support.
Although I find the found workarounds profoundly clever they seam too complex. The spm build system should manage that.
Where do you post bugs on spm build? Should I?

It should not build for packages on platforms it does not support.

I'm not sure what you mean by this - to my knowledge there's no way to tell SPM that a platform isn't supported. We actually have to try and build on all of them to find out.

@finestructure What I mean is that I do not think your tooling should change because a build on a platform does work but the binary used for that platform is not available on that platform. It seams logical to me that the build should fail. But it does not. So I consider that  bug in spm.
I would however not wait for that and if possible read the target triples from the info.json files so that the build of plugins that use binaries would fail. But that would also require to download the artifact bundle and go peek in there ...

I would however not wait for that and if possible read the target triples from the info.json files so that the build of plugins that use binaries would fail. But that would also require to download the artifact bundle and go peek in there ...

That just feels like a too fiddly and implementation detail a thing for us to do, to be honest (plus some other reasons I can go into but the upshot is that it'd be quite the departure to how we're currently testing compatibility, requiring quite a bit of effort). We have to try and stick to higher level ways of determining compatibility so our system isn't too brittle in the face of SPM changes. (We've seen this a couple of times already.)
I believe if invalidating the build via an #if isn't viable, the next best thing would be for us to extend our .spi.yml file with a way for package authors to declare incompatibility (and only incompatibility) for a certain platform.
However, I think even regular package users would probably benefit from the clear compile time messaging via #error - if SPM doesn't provide that messaging.
As to reporting it, I believe the best place would be https://github.com/apple/swift-package-manager/issues. I'll definitely be seen and triaged by the SPM folks there!

Looks like this is fixed now, please re-open if you're still seeing issues!


[FontIcon] inside an IconButton loose is color from props

FontIcon inside an IconButton loose is color from props
In material-ui.alpha.1 when you put a FontIcon with color props inside an IconButton the prop will not work.
I think is related to this commit https://github.com/callemall/material-ui/commit/a99451a4d6d7f20457cdbd16ea5668080eb72bbf
Before styles was merged like that:
this.mergeStyles({styles.root, style, { color: this.state.hovered ? onColor : offColor })
And now it is:
Object.assign({styles.root, style})
Versions

Material-UI: v0.15.0-alpha.1
React: 0.14.7
Browser: chrome 48.0.2564.116

I found it too. I have to define colors with inline-style for the time being.

Duplicate of #3577


Feature/feroz/components

Cart, CartItem and DeleteBtn was added in components

not merging to main. merge to develop branch instead please


MCS-951 Reduced function complexity of validate_and_convert_params

Refactored this function pretty much as-is although I do not agree with the validation approach here. Why resort to a default if we are given an invalid value? Raising an exception seems more appropriate to me in that case. Providing a default if no value is given does seem like a good idea especially if we are relying on having a value for that attribute.

MCS-677 is for raising exceptions. That'll be next.


move processor-lifecycle-manager from messaging to service module

sync with https://github.com/Azure/azure-sdk-for-java/pull/32152

/azp run java - spring - ci

/azp run java - spring - tests

API change check
API changes are not detected in this pull request.


Copy + Clone optimization is incorrect

The code here that special-cases deriving Copy and Clone bounds together is incorrect. Take, for example, the following type:
pub struct Wrapper<Inner, S> {
    inner: Inner,
    marker: PhantomData<S>,
}

A #[derive_where(Copy, Clone; Inner)] annotation will produce the following code:
impl<Inner, S> ::core::marker::Copy for Wrapper<Inner, S> where Inner: ::core::marker::Copy {}
impl<Inner, S> ::core::clone::Clone for Wrapper<Inner, S>
where
    Inner: ::core::clone::Clone,
{
    #[inline]
    fn clone(&self) -> Self {
        *self
    }
}

This won't compile because the Clone impl can't prove that the type Inner implements Copy (correctly).
One solution is to require Inner: Copy + Clone in the annotation; that produces code that compiles, but that is overly restrictive since Wrapper<Inner, S> will only implement Clone if Inner: Clone and Inner: Copy.

Already on it, but thank you!


Show success Modal on completion of download file transaction

part 2 of #205

Downloaded file x.y.z

Save File
Dismiss

This is ready

Don't merge this yet


Add tests for useTokenBalance

Beastmode @Dhaiwat10

@Dhaiwat10 i can tackle this, if you don't mind :)

Closing since we have deprecated our hooks


Fix serve instruction in README

In mdbook v0.4.10, mdbook server doesn't work (subcommand not recognized), but mdbook serve does.

Thank you :)


Rename properties that caused breaking changes downstream in PowerShell

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

Any background? Is service owner approved? Does it affect other SDKs with this PR?

Any background? Is service owner approved? Does it affect other SDKs with this PR?

The properties being changed in this PR were previously changed in an older API version, but we are seeing an issue with PowerShell for the 2020-03-01 API version because the previous version of PowerShell that we released didn't include the renamed properties, and now that it's including them, it's being considered a breaking change. This change will only impact SDK and PowerShell for 2020-03-01.


Pinned dependency on "request-promise": "^0.4.3"

blockchain.info depends on  "request-promise" version "^0.4.3".
The version of request-promise is outdated (5 years old) and depends on a vulnerable lodash version, so npm audit says this:
│ Low           │ Prototype Pollution
│ Package       │ lodash
│ Patched in    │ >=4.17.5
│ Dependency of │ blockchain.info
│ Path          │ blockchain.info > request-promise > lodash
│ More info     │ https://npmjs.com/advisories/577

Wrong repository ... sorry


feat(website-frontend): add supported frameworks to the home page

There have been tons of changes, it would be wise to start new from master (and copying most of the work done here)


It is hard to distinguish names in the Workspaces menu.

What would you like to be added:
Add distinguishing colored text or icons to the Workspaces menu.
Why is this needed:
I have uniform naming for my workspaces (CSP region). This makes the text shapes very similar. When combined with the low contrast grey on grey text, it's very hard to read and identify a particular workspace at a glance. Mirroring the benefits of the colorful cluster icons would be helpful.
Environment you are Lens application on:

Kubernetes distribution: EKS, GKE, AKS, KOps
Desktop OS: MacOS

Thanks!

This is related to an unsupported version of Lens. Please open a new issue if this continues to happen with the latest (4.1.4) version.


ENHANCEMENT-update-settings-in-terminal

Using the local dial and pump switch, though functional, is very clunky. With the newly expanded setting structure (120 folders!) it takes a long time to navigate and get set the way you want it. It would be much easier to do this with a console interface prior to the implementation of a remote application.

This ended up being a bigger project than the original scope. The settings are now displayed as
Brew Temp   :  92.0 C
Hot Temp    : 100.0 C
Steam Temp  : 140.0 C
Dose        :  16.0 g
Yield       :  30.0 g
Brew Power  :   100 %
Hot Power   :    20 %

|=|=========================|========================|=========|
| |        Setpoint         |         Target         | Timeout |
|#|  Style  : Start :  End  | Flow : Pressure : Mass |         |
|-|---------:-------:-------|------:----------:------|---------|
|0|  Power  :   100 :   100 | 0.50 :    1.0   : 10.0 |  30.0   |
|1|  Flow   :  0.25 :  0.25 | 0.00 :    0.0   :  0.0 |   0.0   |
|2| Pressure:   2.5 :   2.5 | 0.00 :    0.0   :  0.0 |   0.0   |
|3|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|4|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|5|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|6|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|7|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|8|  Power  :    25 :    25 | 0.00 :    0.0   :  0.0 |   0.0   |
|=|=========================|========================|=========|

RaspberryLatte
 (1) Settings
 (2) Autobrew
 (3) Presets

This is much cleaner than it was and should maintain it's format during use without needing to reprint everything with each change.
The settings can be navigated while the machine is off using "1"-"3" for subfolder selection, "u" to go up a level, "r" to go to root, and "p" to reprint (e.g. after resizing the terminal window).


[admin] merge to live

Docs Build status updates of commit a660138:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/AppSDK/index.md
:warning:Warning

Details

Skype/AppSDK/SkypeAppSDK.md
:warning:Warning

Details

Skype/AppSDK/index.md

Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 1, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Skype for Business App SDK' is duplicated with other articles: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(6,1)'. First level headings must be unique within a docset.
Line 1, Column 1: [Warning: duplicate-titles - See documentation] Title 'Skype for Business App SDK' is duplicated in: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(2,8)'. Titles must be unique within a docset.
Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

Skype/AppSDK/SkypeAppSDK.md

Line 2, Column 8: [Warning: duplicate-titles - See documentation] Title 'Skype for Business App SDK' is duplicated in: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(2,8)'. Titles must be unique within a docset.
Line 6, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Skype for Business App SDK' is duplicated with other articles: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(6,1)'. First level headings must be unique within a docset.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d1b2033:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/AppSDK/index.md
:warning:Warning

Details

Skype/AppSDK/SkypeAppSDK.md
:warning:Warning

Details

Skype/AppSDK/index.md

Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 1, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Skype for Business App SDK' is duplicated with other articles: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(6,1)'. First level headings must be unique within a docset.
Line 1, Column 1: [Warning: duplicate-titles - See documentation] Title 'Skype for Business App SDK' is duplicated in: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(2,8)'. Titles must be unique within a docset.
Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

Skype/AppSDK/SkypeAppSDK.md

Line 2, Column 8: [Warning: duplicate-titles - See documentation] Title 'Skype for Business App SDK' is duplicated in: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(2,8)'. Titles must be unique within a docset.
Line 6, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Skype for Business App SDK' is duplicated with other articles: 'AppSDK/index.md, AppSDK/SkypeAppSDK.md(6,1)'. First level headings must be unique within a docset.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


#103

#103 FillValue for the variables humidity and temp should be -999.9f
added "f" as requested

Merged with command-line tools.


Release 24.3

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 97.919%

Totals

Change from base Build<PHONE_NUMBER>3:
-0.02%

Covered Lines:
1368

Relevant Lines:
1389

💛  - Coveralls


[WIP][web] Coverage improve

Here's the brief road map about adding tests for our JavaScript code.

[x] Clear up the code: remove jest.unmock()
[ ] Add full coverage to the files in the path we have touched, for example js/ducks, js/ducks/ui
[ ] Add tests for components in the .jsx files.

The reason why we need to remove jest.unmock has been discussed here, I think we should keep the automocking disabled and manually mock the modules if necessary.

Sounds good! You can merge this right away if you want, but also feel free to follow through with the other points in this PR if you prefer that! :smiley:

Let me explain these tests a bit. We bound many actions to the keyboard, which have different mechanism. It took me more time than expected to figure out a solution to cover them up...

For the actions which change the state by invoking reducer, (for example cursor movement), we can create a mock store by using redux-mock-store, and assert the actions pass to the reducer.
For the actions which simply invoke fetchApi, we have to introduce the real store object because the mocked one does not actually dispatch things to the reducer. Then we assert the arguments pass to the fetchApi.

If these new tests are good enough, I think it's time to move on to the components parts. I hope this PR can be merged before we touch those paths, because we are going to experience a dramatic drop on the coverage rate. Hold on for the drop! :smile:


End conversation by the Bot

I have created a Bot which I have attached to Omnichannel for customer services (D365 extension). When a user starts a conversation with he Bot through any channel (e.g. Teams) the conversation goes for ever with the Bot.
I am not able to end up the conversation in Omnichannel for customer service as there is no standard Action in the Bot Framework Composer to end the conversation.
Could you advise what is the easiest way to end up the conversation by the Bot so that it ends in Omnichannel for customer services (D365) as well?

The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.

The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.

Hi @VladimirDjidjishev Unfortunately, I am not familiar with Omnichannel.
Can you confirm what are the conditions of an started or ended conversation in your scenario? Once a conversation is ended, is the user expected to log back in? Are they expected to ask a new question? I think I need to better understand the scenario and what you consider the beginning and end of a conversation (with the bot).
You can use actions in adaptive dialogs/Composer like 'End this dialog' (most are auto-ending by default) or Cancel all active dialogs, but as you're aware those aren't ending the conversation.

Could you advise what is the easiest way to end up the conversation by the Bot so that it ends in Omnichannel for customer services (D365) as well?

What does Omnichannel need to end a conversation? Is it an API call?

Hi @VladimirDjidjishev Unfortunately, I am not familiar with Omnichannel.
Can you confirm what are the conditions of an started or ended conversation in your scenario? Once a conversation is ended, is the user expected to log back in? Are they expected to ask a new question? I think I need to better understand the scenario and what you consider the beginning and end of a conversation (with the bot).
You can use actions in adaptive dialogs/Composer like 'End this dialog' (most are auto-ending by default) or Cancel all active dialogs, but as you're aware those aren't ending the conversation.

Could you advise what is the easiest way to end up the conversation by the Bot so that it ends in Omnichannel for customer services (D365) as well?

What does Omnichannel need to end a conversation? Is it an API call?

Hi @dmvtech,
I checked further what is needed to end the conversation in Omnichannel and found out that I have to include only a single property in the message send from the Bot.
root.chanelData.tags : { "type:"EndConversation" }   see the screenshot

Is it possible to add such property under root using composer "Set a property" action. If it is not possible how can I do it from the custom action with some code. I will appreciate a sample line of code for this.

Hi @dmvtech,
I checked further what is needed to end the conversation in Omnichannel and found out that I have to include only a single property in the message send from the Bot.
root.chanelData.tags : { "type:"EndConversation" }   see the screenshot

Is it possible to add such property under root using composer "Set a property" action. If it is not possible how can I do it from the custom action with some code. I will appreciate a sample line of code for this.

Hi @VladimirDjidjishev
I was able to send an event of type EndConversation, by using basic Send Activity action in Composer and the following structured response:
[Activity
    Type = EndConversation
]

I don't know if this will for sure work in Omnichannel, but can you please give it a try?

Hi @VladimirDjidjishev
I was able to send an event of type EndConversation, by using basic Send Activity action in Composer and the following structured response:
[Activity
    Type = EndConversation
]

I don't know if this will for sure work in Omnichannel, but can you please give it a try?

You can also set in ChannelData. I did it by putting json in a property:
        {
          "$kind": "Microsoft.SetProperty",
          "$designer": {
            "id": "ydHR8P"
          },
          "property": "dialog.channelDatasuff",
          "value": {
            "tags": {
              "type": "EndConversation"
            }
          }
        },

and then using:
[Activity
    ChannelData = ${json(dialog.channelDatasuff)}
]

You can also set in ChannelData. I did it by putting json in a property:
        {
          "$kind": "Microsoft.SetProperty",
          "$designer": {
            "id": "ydHR8P"
          },
          "property": "dialog.channelDatasuff",
          "value": {
            "tags": {
              "type": "EndConversation"
            }
          }
        },

and then using:
[Activity
    ChannelData = ${json(dialog.channelDatasuff)}
]

Hi @dmvtech,
I tested the suggested approach and it works perfectly fine to end the conversation in Omnichannel.
There is one more property that has to be add in order Bot messages to reach the user in Omnichannel. It has to be included in every Bot message otherwise the message will not be forwarded to the user by the Omnichannel.
root.chanelData.deliveryMode = "bridged" see the screenshot

I tested the same approach you suggested in the last comment and it is working for a single message. However is not convenient to rebuild all messages in the Bot with this way.
Could you advise what is the way to add globally this property to every Bot message/activity? I will appreciate a sample line of code.
PS: If there is no way to do it with Composer functionalities will you advise to add the property directly in the activity/message class and recompile the composer. For this I will need an advise which is the class name which to modify.

Hi @dmvtech,
I tested the suggested approach and it works perfectly fine to end the conversation in Omnichannel.
There is one more property that has to be add in order Bot messages to reach the user in Omnichannel. It has to be included in every Bot message otherwise the message will not be forwarded to the user by the Omnichannel.
root.chanelData.deliveryMode = "bridged" see the screenshot

I tested the same approach you suggested in the last comment and it is working for a single message. However is not convenient to rebuild all messages in the Bot with this way.
Could you advise what is the way to add globally this property to every Bot message/activity? I will appreciate a sample line of code.
PS: If there is no way to do it with Composer functionalities will you advise to add the property directly in the activity/message class and recompile the composer. For this I will need an advise which is the class name which to modify.

Hi @VladimirDjidjishev Yeah; no way to do with Composer as-is unfortunately. You'll want to customize the runtime. I'm not sure how to do it exactly (and it may be more than a single line of code), but it should be doable in the OnTurnAsync method and/or the dialog manager class. Usually channelData is populated by the actual channel, so if this bot is going to be using anything other than Omnichannel, you may want to add logic into your code to handle that (if needed).
I'll give it a shot, but you should look into it yourself as you may be able to get it up and running before I can get to it.
FYI, I should have mentioned this earlier, but; The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.

Hi @VladimirDjidjishev Yeah; no way to do with Composer as-is unfortunately. You'll want to customize the runtime. I'm not sure how to do it exactly (and it may be more than a single line of code), but it should be doable in the OnTurnAsync method and/or the dialog manager class. Usually channelData is populated by the actual channel, so if this bot is going to be using anything other than Omnichannel, you may want to add logic into your code to handle that (if needed).
I'll give it a shot, but you should look into it yourself as you may be able to get it up and running before I can get to it.
FYI, I should have mentioned this earlier, but; The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.

closing due to inactivity


Reverse_lookup using enum

@dlech request a feature in issue #42 using enum s for rever_lookup that works something like:
LEGO_CID = Companies.LEGO_SYSTEM_AS
# instead of
LEGO_CID = 0x0397

Looking into this a bit there is a problem with the uniqueness of the names and descriptions, of each id.
What to do?
>>> from bluetooth_numbers import company, oui, service, characteristic, descriptor
>>> print(f"Companies (count: unique names): ({len(company)}, {len(set(company.values()))})")
>>> print(f"oui (count: unique names): ({len(oui)}, {len(set(oui.values()))})")
>>> print(f"service (count: unique names): ({len(service)}, {len(set(service.values()))})")
>>> print(f"characteristic (count: unique names): ({len(characteristic)}, {len(set(characteristic.values()))})")
>>> print(f"descriptor (count: unique names): ({len(descriptor)}, {len(set(descriptor.values()))})")
Companies (count: unique names): (3236, 3231)
oui (count: unique names): (33938, 19016)
service (count: unique names): (707, 535)
characteristic (count: unique names): (603, 566)
descriptor (count: unique names): (16, 16)

looking into this a bit more:
>>> [(k, v) for k, v in Counter(characteristic.values()).items() if v>1]
[('Apple Reserved Characteristic', 38)]

and
>>> srv = [(k, v) for k, v in Counter(service.values()).items() if v>1]
>>> srv
[('Xiaomi Inc.', 5),
 ('Qualcomm Technologies, Inc.', 3),
 ('HP Inc.', 2),
 ('OMRON(DALIAN) CO,.LTD.', 2),
 ('Google LLC', 19),
 ('Smith & Nephew Medical Limited', 2),
 ('Samsara Networks, Inc', 3),
 ('ITT Industries', 3),
 ('Honor Device Co., Ltd.', 2),
 ('Leupold & Stevens, Inc.', 2),
 ('Barrot Technology Limited', 2),
 ('Luminostics, Inc.', 2),
 ('AEON MOTOR CO.,LTD.', 4),
 ('BRG Sports, Inc.', 2),
 ('Panasonic Corporation', 2),
 ('LEGIC Identsystems AG', 2),
 ('Samsung Electronics Co., Ltd', 2),
 ('3M', 2),
 ('GN Hearing A/S', 2),
 ('Huawei Technologies Co., Ltd.', 6),
 ('GD Midea Air\xadConditioning Equipment Co., Ltd.', 2),
 ('Sony Corporation', 2),
 ('The Access Technologies', 2),
 ('Bitstrata Systems Inc.', 2),
 ('Verkada Inc.', 2),
 ('Apple Inc.', 3),
 ('Sigma Elektro GmbH', 2),
 ('Samsung Electronics Co., Ltd.', 6),
 ('70mai Co.,Ltd.', 2),
 ('UTC Fire and Security', 3),
 ('Volvo Car Corporation', 2),
 ('Fitbit, Inc.', 2),
 ('Emerson', 4),
 ('Logitech International SA', 2),
 ('BRControls Products BV', 2),
 ('Insulet Corporation', 2),
 ('Withings', 4),
 ('Husqvarna AB', 2),
 ('Tile, Inc.', 3),
 ('Urbanminded LTD', 2),
 ('Groove X, Inc', 2),
 ('Inseego Corp.', 2),
 ('WWZN Information Technology Company Limited', 2),
 ('Houwa System Design, k.k.', 2),
 ('Proxy Technologies, Inc.', 2),
 ('LivaNova USA Inc.', 2),
 ('Comcast Cable Corporation', 2),
 ('California Things Inc.', 2),
 ('Hunter Douglas', 2),
 ('Baidu Online Network Technology (Beijing) Co., Ltd', 2),
 ('Eli Lilly and Company', 2),
 ('Fortin Electronic Systems', 2),
 ('Huawei Technologies Co., Ltd', 2),
 ('Bose Corporation', 3),
 ('Jiangsu Teranovo Tech Co., Ltd.', 2),
 ('Robert Bosch GmbH', 2),
 ('Tandem Diabetes Care', 2),
 ('Amazon.com Services, Inc.', 2),
 ('ruwido austria gmbh', 2),
 ('Procter & Gamble', 2),
 ('Tyto Life LLC', 2),
 ('Zoll Medical Corporation', 2),
 ('Apple, Inc.', 17),
 ('Volkswagen AG', 3),
 ('CHIPOLO d.o.o.', 2),
 ('HUAWEI Technologies Co., Ltd', 3),
 ('Spaceek LTD', 2),
 ('TTS Tooltechnic Systems AG & Co. KG', 2),
 ('BD Medical', 2),
 ('Inugo Systems Limited', 2),
 ('B&O Play A/S', 2),
 ('General Motors', 2),
 ('Nordic Semiconductor ASA', 3),
 ('Qualcomm Life Inc', 2),
 ('TASER International, Inc.', 2),
 ('The University of Tokyo', 2),
 ('Abbott (formerly St. Jude Medical, Inc.)', 2),
 ('TangoMe', 2),
 ('Hewlett\xadPackard Company', 2),
 ('Telit Wireless Solutions (Formerly Stollmann E+V GmbH)', 2),
 ('Doppler Lab', 2),
 ('Medtronic Inc.', 2),
 ('RF Digital Corp', 2),
 ('CSR', 3),
 ('OttoQ In', 2),
 ('Tesla Motors Inc.', 2),
 ('Currant Inc', 2),
 ('Intrepid Control Systems, Inc.', 2),
 ('GoPro, Inc.', 2),
 ('Savant Systems LLC', 2),
 ('Nokia', 4),
 ('Nest Labs Inc', 2),
 ('WiSilica Inc.', 2),
 ('Meta Platforms, Inc.', 2),
 ('KDDI Corporation', 2),
 ('Broadcom', 2),
 ('Jawbone', 2),
 ('Anhui Huami Information Technology Co., Ltd.', 2),
 ('Anki, Inc.', 2),
 ('Quintic Corp.', 2),
 ('Swirl Networks, Inc.', 2),
 ('Polar Electro Oy', 2),
 ('Aplix Corporation', 2),
 ('PayPal, Inc.', 2),
 ('Gimbal, Inc.', 2),
 ('FiRa Consortium service', 2),
 ('ZigBee Alliance service', 2),
 ('Apple Reserved Service', 4)]

We could add an increasing value or the actual ID number as a suffix in cases of duplicates.
I suppose a problem with company names too is that they change over time if they get bought out or rebrand themselves.

An application that is using the value Services.STOLLMANN_E_V_GMBH suddenly won't work anymore if it's called Services.TELIT_WIRELESS_SOLUTIONS_FORMERLY_STOLLMANN_E_V_GMBH in a new version of the database.

Ideally we wouldn't remove Services.STOLLMANN_E_V_GMBH and we would have Services.TELIT_WIRELESS_SOLUTIONS without the formerly part with both enums having the same value. But this would be difficult to automate.


invalid command 'build_sphinx' during make source

docs dir was removed to merge all docs in irma repo but setup.py need to be fixed

setup.py is no more available, closing this issue.


chore: update example to RN0.61.5

Summary
There seemed to be many people who are having trouble with using this library in RN 0.61.x, as shown in #43 and #50
I've upgraded the example directory to get it working with RN 0.61.5

Test Plan

iOS
iOS

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
❌

Checklist

[x] I have tested this on a device and a simulator
[x] I added a sample use of the API in the example project (example/App.js)

@Naturalclar some changes have been made in the core: D19700061
Original summary:
Resolve and reject promise for PushNotificationIOS.requestPermissions by Paige Sun

@ecreeth Thanks for letting me know!
I'll look into it

import RCTDeviceEventEmitter from 'react-native/Libraries/EventEmitter/RCTDeviceEventEmitter';
Shorter version works for me:
import { DeviceEventEmitter } from 'react-native'

@Entryist Thanks so much for the info :+1: updated the example to use DeviceEventEmitter


Rely on Enumerable#any? & #all? and use recursion

Please reject this pull-request.
It's hard to come up with reasoning for why I did things this way, other
than it's just how I think. The two fundamental things that my mind
immediately noticed were:

Ruby's built-in Enumerable#any? and #all? could really help
We could benefit from a touch of recursion, since nested items need
to get the same treatment as root-level items

Extract two methods:

#arrays_match?
This method first asserts that the two arrays are of the same
length then iterates over each item in the expected collection to make
sure that at least one of the items in the actual collection contains a
match. We rely on the eq_wo_order to do the final comparison between
all values.

#hashes_match?
Similaraly to the #1, this method asserts that the two items have
equivalent keys then iterates over each key/value pair in the expected
collection, searching for any item that has a matching value at the
given key.

These methods allow us to simplify the top-level case statement.
This was really just a fun challenge for myself to see if I could get the tests to pass. I have no idea if it
actually works.

Wait, this is awesome. Why reject this PR? I don't see a problem with it - it's WAY more terse than the garbled code it replaces. Would you be cool with me adding some more specs to check it out and then accepting if it works out?

Haha, I was saying reject it because you were just asking for a code review, not for me to go in and change everything up.
I'm happy you think the code has promise, so by all means please merge it if/when you like.

Will bump version, too.


WIP: LaTeX support

What
Adds support for the LaTeX programming language
Checklist

[x] Recorded tests for the new language
[x] Used "change" / "clear" instead of "take" for selection tests to make recorded tests easier to read
[x] Added a few specific tests that use "chuck" instead of "change" to test removal behaviour when it's interesting, especially:

[x] "chuck arg" with single argument in list
[x] "chuck arg" with multiple arguments in list
[x] "chuck item" with single argument in list
[x] "chuck item" with multiple arguments in list

[ ] Added a test for "change round" inside a string, eg "hello (there)"
[x] Supported "type" both for type annotations (eg foo: string) and declarations (eg interface Foo {}) (and added tests for this behaviour 😊)
[x] Supported "item" both for map pairs and list entries (with tests of course)

@pokey Thank you for your feedback. Your suggestions should now be reflected in the changes. (I hope I haven't missed anything.)
Regarding the brackets following a command (now: call):
This is due to the generated parse tree (see related issue).
For a lot of the commands the generic command rule (see: vsc-parse-tree dependency / most recent version) used in the tree-sitter grammar is sufficient for parsing. Others, however, require individually defined rules, as the generic one would not be able to parse them or they have some "special purpose", eg providing structure (section, subsection,...).
The problem with the generic rule is that it has no fixed argument count/order and "absorbs" subsequent pairs into the command node.

@du-da I just wanted to follow up on this one.  I think it's getting really close!

Ok I think this one is good to go!  @du-da @AndreasArvidsson I'll give you 24 hours to object then I'll merge it in


Include the Microsoft OpenJDK bundled with Xamarin Android

@Happypig375 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Create node.js.yml

First try with Evan :)

this is a work in progress, we arent done yet

Shouldn't we add windows-latest and mac-latest to the os list? Is ubuntu enough?
Which version of node does matrix pull? Can we change this to pull the node version from package.json?


This page should compare/contrast with the IDataModelManager interface

I.e. which methods are new? Which behave differently?

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

ID: f721db8d-4f4e-c13e-a451-15099bf4d7d4
Version Independent ID: 3b034261-2a28-be61-8522-c0e9e093695e
Content: IDataModelManager2 (dbgmodel.h) - Windows drivers
Content Source: wdk-ddi-src/content/dbgmodel/nn-dbgmodel-idatamodelmanager2.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @DOMARS
Microsoft Alias: domars

@jazzdelightsme - I'm working with the dev team to see if we can describe the interface differences.

@jazzdelightsme
By design, the follow is true of all version 2 interfaces.
This version 2 of the interface supports all of the previous methods with identical signatures and includes additional new methods that provide added functionality. The new methods are listed in the header at the end of the section for that interface.
I added this text to all of the version 2 interfaces. Thanks for spending the time to create the issues for the dbgmodel.


Missing field in plonk vk/pk marshal

There is a missing field vk.CosetShift in plonk vk marshal and a missing filed pk.EvaluationPermutationBigDomainBitReversed in plonk pk marshal. Is this on purpose?

hey -- just a quick note, we have couple of events next week and won't have time to look at that until the following one at least.


Multithread AVIF & OxiPNG

This adds support for multithreaded C++ and Rust codecs on Wasm, with AVIF and OxiPNG used as reference examples.
Some rough, non-scientific, numbers from my machine on preheated (Turbofanned) Wasm with default codec settings, on Device screen demo:

OxiPNG: 7560ms -> 2930ms (-61%)
AVIF: 5533ms -> 3932ms (-29%)

In general, OxiPNG is much more parallelisable because all it does is tries various independent combinations, while AVIF has some shared state & computations, but either way the improvements seem nice.
Multithreaded versions are built alongside single-threaded once, and then wasm-feature-detect is used for Wasm+threads feature detection and appropriate version is loaded dynamically.
I've also added COOP+COEP headers to make this work in browsers other than desktop Chrome (e.g. confirmed it works in Firefox).
Note: there seems to be a race condition bug in Chrome Canary that will sometimes trip at least OxiPNG, but potentially other codecs using threads too. This bug doesn't appear on stable Chrome so I think there's no point in blocking on it.

(I'll clean up commit history after reviews)

Nice! Gonna review later.
My hunch was that AVIF can parallelize much more if you tile the image under advanced settings, so I did a a quick manual measurement (DevTools closed, waiting sufficiently long to make sure TurboFan kicked in, using a stop watch lol):

Red fox in prod Squoosh, Min/Max Quantizer = 30: 42s
Red fox in multithreaded Squoosh, Min/Max Quantizer = 30, 8x8 tiling (both tiling options set to 3): 21s

Literally 50% faster 🎉

@surma Very nice! I tried to use default settings for the results to be a bit more representative of a typical user (but also because I would be too lazy to change settings those hundreds of times I did the testing, lol).
Do you think it's worth changing the defaults as part of this PR to enable tiling? Are there any downsides (in terms of size or anything else) I'd we do that?

Do you think it's worth changing the defaults as part of this PR to enable tiling

I think it would be interesting to enable tiling (maybe 2x2) by default for people with thread support. Although, yes, it’s worth investigating how big of a file size penalty tiling brings.

OTOH, Squoosh already produces different results (in terms of the output size) on different browsers, so maybe nobody will notice 😅

As one more update, I've fixed EXPORT_ES6 + pthread upstream, and tried it on AVIF codec, but it currently hits the same missing Webpack support for import.meta and fails to compile; I could make it work with more hacks, but for now prefer to keep importScripts and wait for our switch to a different bundler.


Strange turn

I use CameraMode.TRACKING_GPS and I found in some turns this strange animation of camera also with gps location. Any ideas?
https://github.com/user-attachments/assets/103c847f-c6f8-4fc2-9112-2a6e804ef136

Which version, you are using?

What router are you using?

I'm using the default router of snap to route in demo app with this little change into calculateRouteAndStartNavigation()
            this.origin(Point.fromLngLat(13.799300, 45.621789))
            this.destination(Point.fromLngLat(13.7979091, 45.6203637))

No I mean, Mapbox, GraphHopper, Valhalla, something else?

Mapbox

Ok, mhm. My idea was that this is related to the actual coordinates in the route response. But yeah, it could also be an issue in the snapping itself.

Ty. What are the properties responsible for turns? I will do other tests in the next days.


Removal of firstNonWhite variable name

My PR got locked.
I suggest the removal of
https://github.com/crystal-lang/crystal/blob/master/src/compiler/crystal/tools/playground/public/session.js#L518
  var firstNonWhite = 0;
  while (str[firstNonWhite] == ' ') {
    firstNonWhite++;
  }
  var rendered = "\u00a0".repeat(firstNonWhite) + str.substring(firstNonWhite);
  dom.append(document.createTextNode(rendered));

Or, at least change the variable names. firstNonWhite can be conveyed as being very racist, and this kind of terminology should not exist in code. It has no place for it.
Thanks for your attention! =]

Okay, I'll give you a chance. Could you elaborate why mentioning "white" is racist? I'm currently looking at a white background in this page, and I'm seeing a lot of whitespace, you know...

Okay, I'll give you a chance. Could you elaborate why mentioning "white" is racist? I'm currently looking at a white background in this page, and I'm seeing a lot of whitespace, you know...

Thank you for allowing the discussion, I don't bite =]
It's not the word itself, but the way its used in the code, "firstNonWhite". That's why I replaced it with a firstNonW instead.  First none white person of "whom". Is where it could possibly be oppressive.

firstNonW is way less clear. I don't feel it's racist or oppressive as it's counting whitespace characters, but even firstNonWhite is really not that expressive.
What if were renamed to firstNonWhitespaceCharacter or firstSpaceChar?

firstNonWhitespace sounds good to me. A little long, but much better than firstNonWhite

It's a troll, it has been bothering us at the Godot repo as well: https://github.com/godotengine/godot/pull/22385

Not trolling. I made a PR for the changes, and it was deleted so I made a issue.

Please, don't reply. My intention was to stop the troll from opening new issues by waiting for an answer from me :-(

@Laura-Mauria Yes, please give up. We already have very little time contributing to code in this project, we don't have time to discuss philosophy and morale. If you are from the US, I suggest you try to rename the White House first as it's more notable and known than this project.


Incorporate Cloud Composer and Airflow into the Blueprint

This is a change to incorporate Cloud Composer and Airflow into the Blueprint.
Detailed changes:

Updated to use Artifact Repository
Updated version of terraform to 1.2+
Added terraform for Cloud Composer (configured with workload identity)
Added cloudbuild.yaml example configurations
Added example Airflow DAG
Adjusted data load to replace tables
Updated DBT Dockerfile to be based on Python and latest version
Removed reporting_month (unused)

Looks great.
Pushed one further commit with some minor changes.

Common components

Composer variables prefixed with AIRFLOW_VAR, so that they can be read in Airflow
Fixed permission issues to allow the Composer SA to run BigQuery jobs and read Cloud Storage
Removed Artifacts registry from main.tf, as our current examples use Docker registry

Use cases

Added a macro to get reporting month from reporting day
Fixed an issue with the test data
Amended Dockerfile so that it can support both 'dbt run' and 'dbt test'
Amended the run_dag.py to read from the Docker registry
Amended the run_dag.py to include data quality and regression tests steps

Documentation

Aligned the tutorial.MD to the latest version of the published blog
Added documentation to execute the Composer DAG


rename to ember-cli-deploy-webhooks

This came up in the ember slack channel. I agree that the webhook-name is a better fit. What do you think @marcoow ?

Yeah, sounds like a good idea. Want to prepare a PR changing it in the codebase? I'll rename the project then once that is merged.


The mutator named 'RemoveConditionals' caused an error: TypeError: Cannot read property 'nodeID' of null

node.test is absent

For now i change string in RemoveConditionalsMutator.js to
RemoveConditionalsMutator.prototype.applyMutations = function (node, copy) {
if (node.test && this.canMutate(node)) {
but seems problem somewhere earlier

Do you have for-loops without a test?
for (var I = 0; ; i++)

quick search returns

is it something that can broke stryker? if so, my fix is ok and can't skip a lot of suitable mutations?

and in qtaController:

This is a known issue.
@simondel do you know if someone is already working on a fix?

Ah yes, that's a known bug that we plan to fix (#166). We want to mutate it so it will become
for(;false;) {

@nicojs I wrote some code this morning but I haven't tested it yet

Ok, just let me know when i can review it.
@zxxc you can work around it by changing for(;;) in while(true)

Or for(;true;)


Tabs displaying all div content on initial load

For some reason when navigating from another component to the tab component, the div content from all of the divs is displayed and tabs are inactive -- it seems the tabs are not being initialized (localhost --> localhost/css)
However, when directly navigating to the component the tabs display correctly (localhost/css).
This was setup using  Angular 2 CLI and following the documentation. I've tried various settings changes but to no avail. Hopefully someone here can help! Thanks!
Tab HTML:

    CSS

Test 1

Test 2

Disabled Tab

Test 4

Test 1

Test 2

Test 3

Test 4

Tab TS:
import { Component } from '@angular/core';
@Component({
selector: 'app-pagecss',
templateUrl: './pagecss.component.html',
styleUrls: ['./pagecss.component.scss']
})
export class PagecssComponent {
}
Navigating from within app to page with tabs:

Navigating directly to page:

Is it possible that you could share what solved your problem? I think I'm having the same issue, and I feel like I've tried everything.


Is this mac-only?

I see this line in
https://github.com/jplaut/vim-arduino-ino/blob/master/plugin/vim-arduino-serial#L8
Also, ls /dev/tty.* lists nothing on my Linux box (there's only /dev/tty):
https://github.com/jplaut/vim-arduino-ino/blob/master/plugin/vim-arduino-serial#L5

The ino serial command looks for picocom, so I just installed that and changed my ArduinoSerial function toexecute "!ino serial".


SwipeLayout as ListView item: SeekBar updating multiple time with recycled child views

Hello,
I am using this project in my new app which shows a list of tracks with a play button and a SeekBar progress. I am able to get the tracks playing but I got an issue with updating the SeekBar.

I use a Runnable and a Handler to update the SeekBar.
When I hit play, the SeekBar of that child view, moving correctly, but the child at its recycled position got updated too. For example, I have a list of 10 items, with 5 visible items only. When 1st track's SeekBar got updating, the 6th track was also updated. The same thing happening with 11th or 16th... positions if I have bigger list.

Any suggestion to how I could get it updated properly?
child_item.xml
<com.daimajia.swipe.SwipeLayout
    xmlns:swipe="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    swipe:leftEdgeSwipeOffset="0dp"
    swipe:rightEdgeSwipeOffset="0dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="80dp"
        android:background="#FF5534"
        android:gravity="center"
        android:tag="Bottom3"
        android:weightSum="10">
        <ImageView
            android:id="@+id/trash"
            android:layout_width="27dp"
            android:layout_height="30dp"
            android:layout_weight="1"
            android:src="@drawable/trash" />
        <Button
            android:id="@+id/delete"
            android:layout_width="0dp"
            android:layout_height="40dp"
            android:layout_weight="4"
            android:background="@drawable/white"
            android:text="Yes,Delete"
            android:textColor="#FF5534" />
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/item_selector"
        android:padding="10dp">

        <ImageButton
            android:id="@+id/buttonPlayPause"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:onClick="playpause" />
        <TextView
            android:id="@+id/songName"
            android:layout_width="wrap_content"
            android:layout_toRightOf="@id/buttonPlayPause"
            android:layout_height="wrap_content"
            />
        <SeekBar
            android:id="@+id/progressBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/buttonPlayPause"
            android:layout_below="@id/songName"/>
    </RelativeLayout>
</com.daimajia.swipe.SwipeLayout>

ListViewAdapter.java
@Override
    public void fillValues(int position, View convertView) {
        ImageButton imageButton = (ImageButton) convertView.findViewById(R.id.buttonPlayPause);
        TextView t = (TextView)convertView.findViewById(R.id.songName);
        SeekBar seekbar = (SeekBar) convertView.findViewById(R.id.progressBar);
        String url = adapterData[position];
        MediaPlayer mp = mpUtils.getMediaPlayer(url);
        imageButton.setTag(R.id.TAG_MEDIAPLAYER, mp);
        imageButton.setBackgroundResource(R.drawable.ic_media_play);
        Runnable updateProgress = new UpdateSongTime(mp,seekbar);

        imageButton.setOnClickListener(new playButtonClicked(position,updateProgress));
        t.setText((position + 1) + ".");
}
private class UpdateSongTime implements Runnable {
        MediaPlayer mediaPlayer;
        SeekBar seekBar;
        double startTime = 0;
        public UpdateSongTime(MediaPlayer mp, SeekBar sb){
            this.mediaPlayer = mp;
            this.seekBar = sb;
        }
        public void run() {
            startTime = mediaPlayer.getCurrentPosition();

            seekBar.setProgress((int)startTime);
            myHandler.postDelayed(this, 100);
        }
    };

Have you got any solution ?? :p if yes then please help me , i am facing this issues from many days !

Have you got any solution ??

Nope. I switched to use BottomSheet instead of SwipeLayout and I have a universal SeekBar in the main layout, not in child's xml.

Can you show me your adapter class code?Please

You need to keep track id in your data class and that you should use inside onBindViewHolder(..) before to update UI. Other than this I observed another issue, 1) I'm notifying item with (~100ms) interval and so it does not allow user to scroll down(Up work as expected.)
2) For last 3 item you can observe it's pushing list at bottom and it follow issue #1.
Please update if you also face same.


DNS SRV lookup fails with  is not a valid SRV record

I'm trying to use SD for jobs, as per a quick chat with @juliusv on twitter, but I'm not getting very far with it. All I see printed in the log is:
target_provider.go:117] <nil> is not a valid SRV record

I've been testing it against a local dnsmasq setup, but I've also tried it against a real DNS server on one of my public domains too.
  IN  SRV

;; ANSWER SECTION:
_sd._tcp.sd.calendars.io. 59  IN  SRV 1 1 8080 test.host.

;; Query time: 203 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Fri Apr 10 07:49:24 2015
;; MSG SIZE  rcvd: 71

And tailing my DNS logs shows something (I assume Prometheus) is doing a query for an A record for _sd._tcp.sd.calendars.io but never seems to query for an SRV record.
Any ideas? This has got me pretty stumped.

Prometheus definitely queries for an SRV record - it actually boils down to https://gist.github.com/fabxc/25bc3af953d13338388e, which works fine for me.
It also works on my local Prometheus.
Unfortunately, this leaves me without an answer except that the issue lays probably not within Prometheus.
You could run the minimal example above (with the DNS server you are using) and report back if that works.

Thanks for the reply. I tried your snippet locally and it worked as expected. I figured it out, it's not Prometheus as you suspected, explanation below.
I wondered what's different between the code I was running from you and how Prometheus is running said code. The difference being Prometheus is in Docker, and Docker is in VirtualBox (because I'm using boot2docker).
I SSH'd onto the boot2docker VM and ran the code you gave again, boom, it explodes in a much similar way to Prometheus. Interestingly, no matter what query you do of the DNS it always responded with an A record which is why the Prometheus code was logging the <nil>. It was receiving a Result but it wasn't a *dns.SRV it was a *dns.A.
I dug a bit deeper and my VM had --natdnshostresolver1 on which was there to forward DNS resolving to my host, but for whatever reason that seems to assume A record queries only. Switching natdnshostresolver1 off and setting my host's DNS to always route via dnsmasq seems to have worked, but it's a little weird.
Either way, it's not a Prometheus issue. Thanks for the pointers.


Feat: Section Slider

A component has been added which expands on the slider block component called Section Slider Block. Essentially the same except there are controls on the bottom to flip through columns in the slider block. This has been added using a new zero module component called Zero_Core__Slider.

@svvimming, sorry, some conflicts arose because I didn't review in time. Can you resolve?

@orvn conflicts resolved!


ClientAuthError: request_cannot_be_made:  Token request cannot be made without authorization code or refresh token.

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Framework

[ ] Angular
[ ] React
[x] Electron

Description
I have created an application that needs accesses the outlook calendar of a user. When I test with my personal outlook account it works without any issues, but when attempting to log in with an organization it throws the following error.  Does it have to do with any policies of my organization or is it a problem with my code? Should I handle organization accounts differently using the msal library or contact my administrator?
Error Message

Uncaught (in promise) Error:
Error invoking remote method 'login':
ClientAuthError: request_cannot_be_made:
Token request cannot be made without authorization code or refresh token.
i.send.i.invoke  @  electron/js2c/renderer_init.js:75
Promise.then (async)
   step  @  mgt-login.js:33
  eval  @  mgt-login.js:34
   __awaiter @  mgt-login.js:30
   login  @  mgt-login.js:118
   onClick  @  mgt-login.js:363
   handleEvent  @  parts.js:480
   EventPart.__boundHandleEvent  @  parts.js:446
MSAL Configuration
   const config: MsalElectronConfig = {
    clientId: "my id",
    mainWindow: mainWindow, //This is the BrowserWindow instance that requires authentication
    scopes: [
      'user.read',
          'user.read',
          'people.read',
          'user.readbasic.all',
          'contacts.read',
          'presence.read.all',
          'presence.read',
          'user.read.all',
          'calendars.read'
    ],//cachePlugin: new PersistenceCachePlugin(filePersistence)

  };
  ElectronAuthenticator.initialize(config);

Reproduction steps
// Provide relevant code snippets here.
// For Azure B2C issues, please include your policies.

Expected behavior
Identity Provider

[ ] Azure AD
[ ] Azure B2C Basic Policy
[ ] Azure B2C Custom Policy
[ ] ADFS
[x] Not sure

Browsers/Environment

[ ] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari
[ ] IE
[x] Electron 11

Regression

[ ] Did this behavior work before?
Version:

Security

[ ] Is this issue security related?

Source

[ ] Internal (Microsoft)
[x] Customer request

Can you please share your request calls, the initial interactive call and the following silent call? And can you please turn on logs? The sample code to turn on logs can be found here.

@sameerag  Actually I am using @microsoft/mgt-electron-provider in electron which from what I understand has a different config. Any info on that config because I cannot find the options for it. I am using the <mgt-login></mgt-login> element so I don't make the requests manually to log in. All I know is that I click sign in, enter my credentials and once the window closes I am logged in and can make requests.
Problem is that with a consumer outlook account it works without any problems while with two organization accounts that I tested it throws the aforementioned error. I used this tutorial from Microsoft to create the application.

@IIrafail Did you contact the dev team that manages @microsoft/mgt-electron-provider? @amrutha95 can you take a look?

Hi @IIrafail! I'm curious to know what option is selected under "Supported Account Types" in your app registration on Azure.

Could you let me know if the third option is checked? (Accounts in any directory and personal Microsoft accounts)

@amrutha95 This is the option I have selected. It turns out that if I try to login a second time it then shows me a message that I need administrator permission. Not sure why it didn't show the first time. I later found out here that even for basic permissions like calendar organizations might choose to block them by default. Note I am not an admin so I have no control.
I think the bug in this case is that the "approval required" message should show the first time you try to log in.

Hi @IIrafail ! Do you mind raising an issue for this on the Microsoft Graph Toolkit repository?

@amrutha95  I will open the issue there, thanks


MSD Personal Requests - Ministry Upload and Tagging

As a MSD ministry coordinator
I want to tag records by division or record type
so that they can be organized for redaction

Assumptions & Scope
Uploading of records for MSD personal requests will still utilize the core functionality of the records tab - automated conversions and deduplication, as well as the ability to make changes to the records through delete/replace, changing tags etc...
The download for harms feature will also work as usual, allowing users to download a separate PDF for each tag.
What is IN scope?
What is NOT in scope?
Acceptance Criteria
Scenario 1: MSD Ministry Team - Upload Records

GIVEN a user is on a MSD Personals Request
AND they are a member of the MSD Ministry Team
WHEN they click on the "Records" tab
THEN they will see a button to "Upload Records"

Scenario 2: Upload Records

GIVEN a MSD Ministry user is on the Records Tab
AND the request is a MSD Personals
WHEN they click on the 'Upload Records' Button
THEN a modal will pop up (INSERT UPDATED MSD DESIGN LINK)
AND the continue button will be disabled

Scenario 3: SDD Division Selected

GIVEN a Ministry user has clicked on upload records button
AND the SDD division has been selected by the Ministry for the tracking
WHEN the modal opens
THEN the modal will include the divisions and a list of tags for the SDD division (INSERT UPDATED MSD DESIGN LINK)

Scenario 4: Activate Files

GIVEN a Ministry user is on the "Upload records" modal
WHEN they select a division (link to finalized list)
OR they select a file type from the SDD division
THEN a space to upload records will appear (INSErT UPDATED MSD DESIGN LINK)

Scenario 5: Select Different Tag

GIVEN a Ministry user is on the "Add scanned records" modal
AND a tag has been selected
WHEN they select a different tag
THEN the prior tag will be de-selected
AND the new tag will be selected

Scenario 6: Activate Continue

GIVEN a Ministry user is on the "Upload records" modal
WHEN they drag or drop files into the file upload
OR they add files by selecting through their computer via the Add File button
THEN the continue button will become active

Scenario 7: Click Continue

GIVEN a Ministry user is on the "Upload Records" modal
AND the continue button is active
WHEN the continue button is clicked
THEN the modal will close, and the files will be uploaded to the records log with the associated tag

Scenario 8: Search Additional

GIVEN a Ministry user is on the "Upload records" modal
AND the SDD Division was selected from the divisional tracking
WHEN the user types in the "search" field
THEN any tags that start matching the entered text will begin appearing (link to full list here)

Scenario 9: Click Cancel

GIVEN a Ministry user is on the "Upload Records" modal
WHEN they click cancel
THEN the modal will close and the user will be returned to the records section

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

MSD Ministry user - upload records story (personals)
cc @lmullane @JHarrietha-AOT @KyEggleston

Similar questions to #@4292:

Likely we should specify that only one tag can be selected.
Should the system remove duplicates and convert to PDF? Assume the answer is yes for MSD files
I have heard that Scanning sometimes need to upload records too. Should they have that option as well for MSD records?

updated

Passed UX Assurance

@richard-aot For MSD Ministry user, record upload modal has wrong title. it should be 'Add Record' instead of "add Attachment'. Could you please check?
Private Zenhub Image

@abin-aot  Following sections are missing on the upload modal. could you please check?
FM4 AHR
GA2 SPOUSE PHYSICAL
GA2 DEPENDENT PHYSICAL
FM5 PHYSICAL

@nimya-aot The following bugs are fixed and ready for testing:

Upload modal title
Typos for sections

All AC pass, closing ticket.


D3D12Fullscreen: D3D12 ERROR: ID3D12CommandList::ResourceBarrier

After an absolute age of loading the symbols (+30 minutes: see my question on stack overflow: http://stackoverflow.com/questions/39321665/vs2015-is-really-slow-loading-symbols). I get these errors from running the DX12Fullscreen sample.  Any ideas?  This has all been working fine in the past.  I'm on a fast ring Insider version of Win 10 which I suspect has brought in the issue, see attached
DxDiag.txt.
Also using Windows SDK 10.0.14393.0, Visual Studio 2015 Update 3 and the latest DirectX-Graphics-Samples from this project.

D3D12 ERROR: ID3D12CommandList::ResourceBarrier: Resource(0x000001FA579DD8E0:'m_intermediateRenderTarget') (subresource : 0) was bound as DATA_STATIC on this command list before this ResourceBarrier call to transition from state (0x80: D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE) to (0x4: D3D12_RESOURCE_STATE_RENDER_TARGET), which indicates a change to its data (or possibly resource metadata). But it is invalid to change it until this command list has finished executing for the last time. [ EXECUTION ERROR #1009: DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: Resource(0x000001FA579DD8E0:'m_intermediateRenderTarget') (subresource : 0) was bound as DATA_STATIC on Command List , still in execution (ExecuteCommandLists) by Command Queue 0x000001FA579B03C0:'m_commandQueue'. It is invalid to change it until the command list has finished executing for the last time, but there is a state transition to (0x4: D3D12_RESOURCE_STATE_RENDER_TARGET) here, which indicates a change to its data (or possibly resource metadata). [ EXECUTION ERROR #1009: DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE]

Yes, this is a bug in the sample.  I'm working on a fix now.

Fixed with #197

Thank you ever so much for fixing this as it shines a light on what I'm doing wrong,


Feature/app header

Closes https://sce.myjetbrains.com/youtrack/issue/TD-1379/Create-new-react-ui-component-for-header
Figma
https://www.figma.com/proto/5qkWskMGpXY38REVIDcJnW/Landing-Page?page-id=0%3A1&node-id=3%3A7&starting-point-node-id=3%3A7&scaling=scale-down&show-proto-sidebar=1

New app header including the sidebar, usermenu, mode toggle button and app launcher.
Added IPG logo to svgicons
Toggle Button style is handled separately (https://github.com/IPG-Automotive-UK/react-ui/pull/526)
Current user menu UI is fine for now as discussed with @Sowbhagya-ipg

@m4manjesh can you link the latest figma prototype. I had a look for one, but it doesn't look like what you've implemented so I assume there is a newer version.

Added in the description.

@m4manjesh have you tried integrating this with an app yet to check it looks and works as expected? If not, please do a pre-release build now and test it out so we can confirm all is ok. Send me a link to an app that conmtians it when done.

Why is there a sidebar shown in the app header story? Is the sidebar actually part of the component? I don't think it should be.

The APP NAME text is not aligned with VIRTO text. Also looks slightly different font or size.
Figma:

This branch:

Prop names should be camelCase. Both logo link props are wrong. I also don't think you need a prop for IPG link. That should just be fixed to IPG website https://ipg-automotive.com/

Which is mode a prop? Surely this is internal to the component and is set by the dark/light toggle switch that is part of the component. What else would be setting this in an app?

Why do we need these props to show/hide these items? When would we ever hide them? Is there a particular app that needs them hidden?

Is this the intended design for disabled buttons in dark mode to have the light grey transparent background? I don't see anything in Figma with disabled buttons so just checking. @Sowbhagya-ipg to confirm.

The icons are smaller compared to Figma.
Figma (67px):

This branch (54.32px):

The app bar background color does not match Figma. Also note that the app text is black and doesn't match the color of the VIRTO text.
Figma:

This branch:

Is this the expected design to show two menu buttons when the sidebar is collapsed? This doesn't feel nice to me. I don't see anything in Figma for this. @Sowbhagya-ipg to confirm expected behaviour here. Maybe we don't need to collapse sidebar anymore?

Figma shows hover effect on each app button but this branch doesn't.
Figma:
https://user-images.githubusercontent.com/8976377/221927024-07f9a5ad-5a54-4ea7-8115-4420cf8f4352.mov
This branch:
https://user-images.githubusercontent.com/8976377/221927153-6828ed9a-ea68-4659-bbee-24f51cfa6bbc.mov

Why is there a sidebar shown in the app header story? Is the sidebar actually part of the component? I don't think it should be

We just had a call to discuss this. Agreed that it's useful to have a top level wrapper component that can render header, sidebar and content. However, that component is not AppHeader. We agreed to rename this component to AppLayout or such like and then have props for sidebarItems and content. At the moment, the current implementation doesn't allow any actual app content to be rendered. This AppLayout component can then contain all of the code we currently have in Layout of each app, including the ThemeProvider wrapping.

Is this the expected design to show two menu buttons on the left when the sidebar is collapsed? This doesn't feel nice to me. I don't see anything in Figma for this. @Sowbhagya-ipg to confirm expected behaviour here. Maybe we don't need to collapse sidebar anymore?

We need the collapse Menu. Here, the position of icons has to be changed. More apps menu icon (9 dots) on the left most. @m4manjesh @dmbarry86

Is this the intended design for disabled buttons in dark mode to have the light grey transparent background? I don't see anything in Figma with disabled buttons so just checking. @Sowbhagya-ipg to confirm.

This is fine.

@m4manjesh have you tried integrating this with an app yet to check it looks and works as expected? If not, please do a pre-release build now and test it out so we can confirm all is ok. Send me a link to an app branch that contains it when done and I will use that as part of the review.

I have done a pre-release and tested it in MM with some default data. This is the branch, please take a look https://github.com/IPG-Automotive-UK/model-manager/tree/feature/layout-update

The APP NAME text is not vertically aligned with VIRTO text. Also looks slightly different font or size.
Figma:
This branch:

Done and can test in MM branch.

User menu does not align with Figma. Neither does the dark/light switch.
Figma:
This branch:

@nikitharani is working on this. https://github.com/IPG-Automotive-UK/react-ui/pull/526

Done and can test in MM branch.

Done and can test in MM branch.

Why do we need these props to show/hide these items? When would we ever hide them? Is there a particular app that needs them hidden?

No, removed as discussed. Can test in MM branch.

@dmbarry86  I am done with the changes. Had a chat with @Sowbhagya-ipg about the AppLauncher dark mode hover effect, she is fine with the new hover styles I have added.

Almost there. Few small styling issues as mentioned in chat.

[x]  Spacing between top of sidebar item and the app bar.
[x]  APP NAME text height/position not aligned with VIRTO image.
[x]  Small jumping in app bar height as I resize window. May just be Storybook issue in which case not too much of a problem but just double check in an app itself.

As mentioned in the chat the jumping is only in storybook. The updated layout in MM can find here, please take a look.
https://github.com/IPG-Automotive-UK/model-manager/tree/feature/layout-update


You are neither in a module nor in your GOPATH. Please see https://github.com/golang/go/wiki/Modules for information on how to set up your Go project.

#How can I fix this issue,I create a  go project not in GOPATH but when I want to begin my project,I
found that everytime I press the keyboard,the GO extension will warn me You are neither in a module nor in your GOPATH. Please see https://github.com/golang/go/wiki/Modules for information on how to set up your Go project.,and I found that the gopls is not  #work,what can  I do

Are you intentionally not using modules? This warning should only pop up if you have imports that gopls cannot resolve.

Hi there,
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For asking questions, see:

Stack Overflow with questions tagged "go"

The Go Forum, a web-based forum

Gophers Slack, use the invite app for access. The #general channel is a good starting point.

Go Community on Hashnode with questions and posts tagged with "go"

The golang-nuts mailing list

IRC channel #go-nuts on Freenode

Please ask the question on one of the above forums.
(Quoted from https://golang.org/wiki/Questions)


fix(nifs): docs for prove

In rustdoc no explanation about ro_acc & ro_nark
https://github.com/snarkify/sirius/blob/43000ef822141741569c8b85e9c27461fcad4e86/src/nifs/vanilla.rs#L159-L160

This is more of a question I had during the development process, but I would like the answer in the form of documentation so that this question does not arise again

The terminology is adopted from protostar paper.
When we prepare the PlonkInstance/PlonkWitness, ro_nark is the random oracle used in special soundness protocol to generate random values (the number of challenges depends on the sps protocol).
When we fold two instances, ro_acc is the random oracle used in folding scheme to generate random value r, e.g. U1+r*U2.


False positive for Activator.CreateInstance

I'm seeing the following warning:
PC001 Activator.CreateInstance(Type, params object[]) isn't supported on Linux, MacOSX, Windows

But when testing this out with the following code, it works correctly on all platforms without throwing an exception:
using System;

namespace TestPlatform
{
    class Program
    {
        static void Main(string[] args)
        {
            var instance = Activator.CreateInstance(typeof(Test), 100, "42");
        }
    }

    class Test
    {
        int first;
        string second;

        public Test(int one, string two)
        {
            first = one;
            second = two;
        }
    }
}

I'm getting similar false positives with Activator.CreateInstance.
I'm also getting a false positive with AutoResetEvent evnt = new AutoResetEvent(false). Seeing as AutoResetEvent is used in dotnet/corefx, and is listed in the .NET Core 2.0 API browser I assume this is a false positive too?
Same goes for HMACSHA1 - generates PC001 warning, but listed in .NET Core 2.0 api browser.

As you saw the automated scan has some false positives I am working on a manually curated list of PNSE exceptions, then some work to track this manual exclusions.

/cc @bording @elevate-andrewlock
I am adding the cases of Activator.CreateInstance and sync primitives via #35. Some of them are simply incorrect and added to a exclusion list while some of them are being moved to deprecation since it is not possible to use a given parameter, so the recommendation becomes to use alternative overloads.

@bording Yes, please. It will be very helpful.

@elevate-andrewlock

... generates PC001 warning, but listed in .NET Core 2.0 api browser.
Those listed in your comment are false-positives but notice that is possible for some method/property to be in .NET Core 2.0 and for it to throw PlatformNotSupportedException . This tool is to try to reduce such bad surprises and point the real ones.

@elevate-andrewlock

Personally, I feel like the decision to make PlatformNotSupportedExceptions an acceptable way of "implementing" .NET Standard completely undermines the whole premise of portable, cross-platform code :(

It's a trade-off. See this entry in our FAQ

Yep, totally understand the decision, I guess I just don't necessarily agree with it due to the ambiguity it introduces :) This analyzer should go a long way to fixing that though 👍

@elevate-andrewlock @bording - the APIs mentioned here were covered in #35, I will close this item but please keep raising issues for any false positives that you may find, I did some scan of that but it is a large surface...


Use pointer to struct types in MergeRequest

This allows comparing these fields of a mergeRequest returned by GetMergeRequest against nil.
I've encountered the need for these changes after I tried all solutions here and I realized that it would be better to patch the MergeRequest type to use pointers :)
I'm a Go beginner so feel free to comment!

@doronbehar thanks for the PR and I fully understand what you are trying to achieve, but this change could cause nasty issue for people already using this package.
I'm not afraid to make backwards incompatible changes, but I rather don't make this one. I assume that people currently test if they received a value by doing something like this:
if MergeRequest.MergedBy.ID != 0 {

When we now make MergedBy a pointer and the value would not be in the response, the above test would panic. And since that is not something you can detect during compile time, this could cause nasty production issues for users of this package.
If this was new code, this would absolutely be fine. But adding this now seems like a bad idea.

Oh right, I'll use that in the meantime. It's rather confusing though that some fields are pointers and some are not.. I need to actually look into the source code to know that.. I hope you'll reconsider merging this although this is backwards incompatible..
BTW, thanks so much for creating this library! It's so well organized and easy to use, wonderful! You have no idea how easy you've made my life. I sure will give you credit when my app will be finished :)

Thanks for the nice feedback @doronbehar!
For now I'm going to close this PR. If we ever want to add this kind of change, I suggest we do it throughout the whole package and make a new major release. By doing everything at once, we'll keep the package consistent and hopefully prevent a lot of issues for users of the package.

Oh right, please let me know if you need someone to do all the boring work, I'd be happy to help.


Add lib build step

Should build a transpiled version to /lib from /src for use in node
Also means reactify can be removed from dependencies for browserify - it and webpack won't need to apply any additional transformations.

Added in the latest release.


More 23andMe content

Current coverage is 72.36%

Merging #293 into master will decrease coverage by -0.12% as of ffc5e87

@@            master    #293   diff @@
======================================
  Files          106     106
  Stmts         2733    2739     +6
  Branches         0       0
  Methods          0       0
======================================
+ Hit           1981    1982     +1
  Partial          0       0
- Missed         752     757     +5

Review entire Coverage Diff as of ffc5e87

Powered by Codecov. Updated on successful CI builds.

@madprime looks good to me!


BrunelPad makes a directory named index.html not a file if index.html does not exist

Running BrunelPad for the first time will make a directory named index.html, when you really want it to create a file.  If you delete the created index.html directory and replace it with a empty file named index.html, then BrunelPad runs.
I am using the develop branch, but Dan thinks it may be an issue on master.

Fixed on /develop


feat: update to helius icarus endpoint

the github tests are complaining because of prettier stuff and cnfts dont work atm (but liam is working on that currently) but other than that looks good so far

I don't know how I managed to get on prettier's badlist. I used github built in editor for a reason! :(


How can I stay on the latest SDK patch version?

Hello
I'm using your images for my development Docker image. This is my Dockerfile:
# https://mcr.microsoft.com/v2/vscode/devcontainers/dotnet/tags/list
ARG VARIANT="7.0-bullseye-slim"
FROM mcr.microsoft.com/vscode/devcontainers/dotnet:${VARIANT}

ENV PATH="${PATH}:/Company/Commands/ApiContainer"

ENV Nuget=/root/.local/share/NuGet/http-cache/

COPY . /Company/Infra

RUN mkdir /Temp \
    && cd /Temp \
    && dotnet new console \
    && echo '<Project Sdk="Microsoft.NET.Sdk.Web"><Import Project="/Company/Infra/DotNet.targets" /></Project>' > /Temp/Temp.csproj \
    && echo 'System.Console.WriteLine("hello");' > /Temp/Program.cs \
    && dotnet restore \
    && dotnet build \
    && cd / \
    && rm -rf /Temp

RUN apt update \
    && apt install bc -y \
    && apt install -y procps \
    && apt install gettext-base \
    && apt install apt-utils -y \
    && apt install libgdiplus -y \
    && apt install libc6-dev -y \
    && apt install webp -y \
    && apt install imagemagick -y \
    && cd /usr/local/bin \
    && curl https://getmic.ro | bash

However, when I build it, run a container from it, and enter into the container using docker exec -it container_name bash, and run the dotnet --info I see this message:
root ➜ / $ dotnet --info
.NET SDK:
 Version:   7.0.103
 Commit:    276c71d299

Runtime Environment:
 OS Name:     debian
 OS Version:  11
 OS Platform: Linux
 RID:         debian.11-x64
 Base Path:   /usr/share/dotnet/sdk/7.0.103/

Host:
  Version:      7.0.3
  Architecture: x64
  Commit:       0a2bda10e8

.NET SDKs installed:
  7.0.103 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

As you can see the .NET SDK version is 7.0.103.
However, at the same time, the .NET SDK version in its download page is 7.0.201.
I need to stay on the latest patch update. How can I do that?

Hi 👋
The .NET images are dependent on the upstream mcr.microsoft.com/dotnet/sdk images. That said, our dev tags have been updated with latest .NET version v7.0.201 - reference.
In the meanwhile, feel free to use mcr.microsoft.com/devcontainers/dotnet:dev-7.0 in your Dockerfile. I can help release the images today/tomorrow which will update the prod images.

@samruddhikhandale thank you for answering.
The problem with the upstream image is that it does not work for debugging in a container.
We tried that several times and we could not make it work. Maybe you have added extra stuff that makes it possible.
We need to be able to debug inside containers using the Dev Containers extension.
And I'm grateful that you are doing this update. However, I'm not asking about this one instance. I'm asking in general to see what options do we have, to always stay on the latest SDK release.

We do have a monthly release cadence for all the images, which happens in the first week. Besides that, we have in between releases depending upon patches and bug fixes. However, if we have an issue asking us to release an image to update it, then we are happy to take such requests as well.
For major version releases, let's say .NET 8 is released, then we support it immediately. Look at the tracking issue https://github.com/devcontainers/images/issues/90 for more details.

@samruddhikhandale thank you for the detailed answer. So we can stay sure that we won't stay behind Microsoft for more than a month. That's very good. Thank you.

As you can see the .NET SDK version is 7.0.103.
However, at the same time, the .NET SDK version in its download page is 7.0.201.

Closing as .Net images are updated 🚀


nacos  .yaml格式文件解析属性错误

I used springcloudalibba to build a project and used nacso as the configuration center. In the file format of nacos, which is ". yaml", I customized a configuration "com: no: 123". Java applications can obtain this configuration item, but the key parsed is "com [false]", resulting in the inability to obtain the value of "com. no". If the configuration is modified to "com: no1:123", the value can be obtained. Has the project done keyword processing on "no"

no, sca doesn't have a word for no.

maybe the configuration parsed exists bug

maybe the configuration parsed exists bug

Maybe, sca just integrates with nacos, you can ask questions to the nacos community and see!


Can't create readonly enum

I'm using Swashbuckle 5.5.1, and I want a enum to be generated as a readonly property. Our code looks like this:
[JsonConverter(typeof(StringEnumConverter))]
public enum MyEnum
{
    Value1, Value2, Value3
}

public class MyClass
{
    [ReadOnly(true)]
    public MyEnum MyEnumProperty { get; }

    [ReadOnly(true)]
    public int MyIntProperty { get; }
}

MyClass is returned from an operation.
MyIntProperty is correctly generated as a readonly property in the swagger, but MyEnum is not. What do we need to do to fix this?

Looking at this some more, we are generating our swaggers in v2 compatibility mode, and I think that is part of the problem. The output looks fine in v3 mode.

Going to close this unless you have more info to provide. One thing that might help if you're using the v2 compat setting, is to apply the UseInlineDefinitionsForEnums setting.