Allow to send extended ClientCapabilities

Trying to add support for  a custom protocol extension that requires additional flags in ClientCapabilities set.
However, I cannot find a way to hook into the initialize request to send these additional ClientCapabilities. The request is sent inside the private initialize, which is called by start(). Please add the ability to configure the ClientCapabilities that are sent, so we can tell the LS that we added additional request handlers it can use.

Please use nitializationOptions for this. The ClientCapabilities are owned by the protocol spec.

I don't see why InitializationOptions should carry this kind of information if it expresses the client's support for a certain capability.
There is a spec for the protocol extension: https://github.com/sourcegraph/language-server-protocol/blob/master/extension-files.md#initialization

I have no problems on defining new client capabilities in the spec. However I don't see the advantage of allowing clients to append properties since this opens doors for naming conflicts.

The plan was to propose that extension to the standard eventually, but before we first wanted to experiment with it and maybe change it as we meet limitations, to make sure it really fits every use case of every LS (because it is hard to change once it is part of the standard, and then we are stuck with it until the next major protocol version). Part of testing meant building an extension for VS Code to test the LS implementations of the protocol extension - which I was unable to do because of the described limitation.
To avoid naming conflicts we added an x prefix to the requests and the capabilities, to make clear it is an extension and to make sure it can't clash with the standard properties (whatever gets accepted in the end). That's a pretty well established pattern, for example for custom HTTP headers and custom MIME types. Allowing to customize ClientCapabilities / the initialize request is really like allowing to customize every method here.
I don't see harm in allowing to add custom params or properties, as long as they are prefixed and do not break anything, and especially if the plan is to propose it to the standard once it was tested widely enough. Contrary, not allowing this can result in merging proposals not tested end-to-end across a variety of languages, where after a few months we notice this doesn't work for all languages and a different design would have been better.

But shouldn't we then first decided on the process/way how to do this before we add API to do it. We had a comparable discussion in VS Code for proposed API and we decided to put means in place that for example and extension can't be published to the market place if it uses proposed API to avoid later breakage and discussion that the API still needs to be supported. Any idea on how this should work ?

If you mean discussing the proposal - a lot of discussion went into it. And of course there will be more discussion once it gets actually proposed, but as I said it was important to first get an end-to-end implementation both for testing purposes and also for actually using it as soon as possible.
In this case it was a protocol addition that doesn't actually have such a big use case in VS Code, but where LS run in isolated environments (Sourcegraph, Eclipse Che, ...). I just wanted to implement these additions in a VS Code extension to test the LS locally.
Both proposal and implementation of the protocol addition are written in ways that don't break anything. They are prefixed to avoid naming collisions, are only used by the LS if the client expressed support for it through ClientCapabilities, otherwise the LS will fall back to direct file system access. The client will of course work whether or not the LS supports it.
I am not asking to support the protocol additions in VS Code (yet) - I am just asking for a generic API to customize the LanguageClient so that I can write a small extension (doesn't even have to get published to the marketplace) to test out custom protocol additions that use extended ClientCapabilities to signal support. Maybe you misunderstood me - you might want to take a look at my PR to see the use case: https://github.com/sourcegraph/langserver/pull/6/commits/070a32aa503a3c514556ebecc37a21b9f3bf88e3

I do see the use case, however I don't fully understand what the difference is if I let you send these and client options or as intializationOptions. In the client options case with a prefix x you need code adoption as well when the x is removed.
If we want to add this as experimental client options then I would rather have it explicit as 'experimentalClientOptions' and have it transferred as n optional bag.

The difference is semantics. ClientCapabilities is very clearly defined as the capabilities of the client. Supporting an extension is a capability. That extension doesn't have to be "experimental", it is simply an unofficial extension - experimental still kind of implies that it is official.
I don't see the argument for name clashes. The capability xcontentProvider very clearly states that the client supports the xcontent extension. What else should it mean? With what property should it clash? An unknown property in JSON should just be ignored in any implementation.
Think also about the symmetry. A language server can send extended unofficial ServerCapabilities, expressing support for extended requests on the server side. Why shouldn't the client be able to do so too?
There is no code adoption "needed" really. When the extension gets proposed to be integrated into the standard (maybe with some slight changes), the old x prefixed extension can still be supported in a transition phase by both the client and servers, but deprecated. The standard non-prefixed version can get implemented in a minor release. As it is an extension, it is only used in a small collection of servers (and clients) we have control over. When everything is updated to the standard version, we can do a major release and remove support for the extension (the prefixed version).
In theory, experimentalClientCapabilities could work. But I don't see the reason for that added complexity. The extension spans all namespaces of the LSP: It adds a member xcontent to the textDocument/ namespace, it adds a member xfiles to the workspace/ namespace, why shouldn't it add the members xfilesProvider and xcontentProvider to ClientCapabilities. Following your logic, these members should get added to experimentalTextDocument and experimentalWorkspace instead - this all makes it just more verbose and complex, without adding any benefit. Name clashes are protected against by using a prefix, and the x makes it clear that this is unofficial / experimental / an extension.

I am not suggesting to have experimentalClientCapabilities as a separate bag. I was more thinging about something like this (I do agree that the name wasn't helping):
interface ExperimentalClientCapabilites {
   [key: string]: number | boolean | string | ExperimentalClientCapabilites
}

interface ClientCapabilities {
   experimental: ExperimentalClientCapabilites
}

Otherwise it will be very hard to be speced.
In general I have no problems to add filesProvider and contentProvider as official client capabilities to the protocol since having these does make sense to me.


tracy: split the package into tracy-wayland and tracy-glfw

Description of changes
This is a follow-up to https://github.com/NixOS/nixpkgs/pull/315205. It splits the tracy package into two packages, tracy-wayland and tracy-gflw, depending on whether Wayland (Linux only) or GLFW (both Linux and Darwin) is used by the GUI profiler.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Superseded by https://github.com/NixOS/nixpkgs/pull/328253.


Update logos page in docs

[x] Passes pre-commit run --all-files

Update logos page in Dask docs (see #9160 for more context).
Does anyone know if these logos were used outside this docs page? I didn't see any mention elsewhere in dask/dask.
I don't think we have an updated equivalent for with padding (they are all "no pad"). Will this be an issue?

Thank you @jrbourbeau!

There's also the marketing.dask.org page. See https://marketing.dask.org/en/latest/logos.html for the section about logos.

I think marketing.dask.org is getting a new home at dask.org/style-guide-- I'll add a link to logos.rst to direct people there as well.

The branding is here https://www.dask.org/brand-guide. I'm not sure how this page helps https://www.dask.org/style-guide

The branding is here https://www.dask.org/brand-guide. I'm not sure how this page helps https://www.dask.org/style-guide

Ah, my mistake! Since we have https://www.dask.org/brand-guide, should we do a redirect instead? (sorry @jacobtomlinson if that's what you meant in your earlier comment).
Mistakes to fix (if we choose to keep this page):

Some of the logos are still the old ones on this page
Should link to https://www.dask.org/brand-guide (not /style-guide)

Yup looks like /style-guide was the wrong link and we should be directing to /brand-guide. Sorry about that.
I'll update the cloudflare rules tomorrow.
cc @jsignell


Implement client-side code for auto-suggesting word forms

We should write the code and the proper client-side tests (both Karma and e2e) for auto-suggesting word forms

We will close this issue since this feature is not included in the stories list we sold.


Release action

Pull Request Test Coverage Report for Build 587671499

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.038%

Totals

Change from base Build 556858732:
0.0%

Covered Lines:
368

Relevant Lines:
418

💛  - Coveralls


Add check for log4j-core in Log4jShutterDownerModule

Realized there are two jar dependencies in the shutdown module for log4j. This adds a fail-early check for the other jar.

:+1:

@gianm FYI this came up during tranquility tests when hacking around with druid versions. Haven't validated this fixes the tests yet though (since tranquility uses logback instead of log4j)


Odd behaviour when extracting tar.gz bundle

When attempting to extract files from a single archive, to a specified target directory, the command seemed to hang.
Found that the target directory, if it did not exist already, was created, but that no files were extracted into it.
To reproduce

What type of file was attempted: a .tar.gz bundle
What command was issued: extract -f archive.tar.gz -d test
What was the output / outcome: That the target directory (test) was created, and any files within the bundle (archive.tar.gz) were extracted into it.

Copy of command executed and output
extract -f archive.tar.gz -d test livedata-migrator.tar.gz: Extracting  0 % [------------------------------------------------------------------------------]
Environment (please complete the following information):

OS: Fedora 34

Additional context
No other context to add

Resolved in version 2


enforce case-sensitivity for required files

This seems like it works in linux, perhaps it has something to do with case-insensitivity in some macOS filesystem configurations?


Linking Rust code kills performance (IDFGH-5901)

I have a project where, as an experiment I set up a Rust component. I did not call any rust code, but the cycle time of my main loop went from <10ms (0 OS ticks difference) to ~500ms (50 OS ticks). My rust setup was based on https://github.com/espressif/rust-esp32-example, and I'm using esp-idf 4.2.
Linking the (again, unused) Rust library also added about 90kB to my binary.
As I did not call any of the Rust code, I don't expect any performance difference.

Hmm, after reverting my changes and re-adding them, the problem seems to have gone away. I'm not sure what happened.


mix using MPV and Mpv path make 1.1.1 not compile on case sentitive disk on macos

1.1.1 compile failed on case sentitive disk on macos for there are mix using MPV and Mpv and infact the dirname is Mpv.xframeworks

Upgrade all dependencies, not one or two.


goQuorum  kubectl with privacy and permissioning

LGTM - really happy to have this working. I can think of a few ways to make it a bit better, not least of which being incorporating istanbul-tools to dynamically generate the secrets and genesis.json configmap. That said, that's definitely work for a later revision.

Agreed, this is a good start to it and we can incorporate them as jobs or something incrementally


[opt] remove trivially dead instructions in mandatory combine

Except for all the test changes, this patch should be very simple. When mandatory combine iterates over all instructions it already checks if they're trivially dead. Now, if they are trivially dead, they will be erased.

@gottesmm when updating these tests I sometimes skipped the mandatory combine pass and sometimes added uses. I only skipped the pass when I thought that the test had absolutely nothing to do with mandatory combine. The only exception is in Serialization. I think mandatory combine should run for those two serialization tests but, I was having trouble generating uses for all the function_refs. Any suggestions on good "dummy" uses for those?

@gottesmm ping.

@swift-ci please smoke test

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@zoecarver given that you are hitting failures, lets do a full test on this.

We should also run the device filecheck tests to make sure you didn't miss anything. @shahmishal you said we could do that via a bot now, right?

I suspect those were added/modified since I last updated this PR. I'll build from TOT and fix those now.

Ok. But yea, please do a full test and also we need to do a preset test to test that the file check device tests aren't broken by this.

@gottesmm will do. I'll try to run those tests tonight and fix whatever errors arise.

@swift-ci test

Build failed
Swift Test Linux Platform
Git Sha - e98bbc5b55a72b7f0bccc8a33553f8655aa78445

Build failed
Swift Test OS X Platform
Git Sha - e98bbc5b55a72b7f0bccc8a33553f8655aa78445

@swift-ci please test source compatibility

@gottesmm I think that's the device filecheck tests that you were talking about.

@swift-ci please test source compatibility

@swift-ci please smoke test OS X platform

@swift-ci Please smoke test OS X platform

The Debug build failed because of this error:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.4.sdk/usr/include/stdlib.h:61:10: fatal error: cannot open file '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.4.sdk/usr/include/Availability.h': Operation not permitted
23:16:49 #include <Availability.h>
23:16:49          ^
23:16:49 1 error generated.

It doesn't look like that's because of this patch. Should I re-trigger the bots?

@swift-ci test windows platform

preset=buildbot,tools=RA,stdlib=RD,test=non_executable
@swift-ci Please test with preset macOS

preset=buildbot,tools=RA,stdlib=RD,test=non_executable
@swift-ci Please test with preset macOS

Possible that the debug source compat builder ran out of space
@swift-ci test Source Compatibility Debug

The preset build failed because of https://github.com/apple/swift/pull/31022 but also had another error. I'll fix the other failing test tonight then build the preset.

preset=buildbot,tools=RA,stdlib=RD,test=non_executable
@swift-ci Please test with preset macOS

@swift-ci please test

preset=buildbot,tools=RA,stdlib=RD,test=non_executable
@swift-ci please test with preset macOS

@swift-ci please test

@swift-ci please test windows platform

Looks like the enum stuff is failing on windows on master too.

Should be fixed by https://github.com/apple/swift/pull/31040

@gottesmm let me know if this looks good to you and I'll merge it.

@swift-ci test Window

@swift-ci test Windows

@zoecarver thanks for jumping through the hoops!

Of course. Thanks for reviewing :)


HDDS-4508. Add total container count to SCMContainerMetrics

What changes were proposed in this pull request?
Add total container count to SCMContainerMetrics.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4508
How was this patch tested?
Tests passed.

Thanks @sky76093016 for the contribution, @xiaoyuyao for the review.


Add "RollingOut" condition to Application

This patch adds the "RollingOut" condition to Application.
This condition should inform an Application object viewer whether a Release is being rolled out, aiming to make it easier for human viewers to understand and diagnose what is happening with their Release process.
The cases the condition reports are:

The Contender Release has been successfully rolled out, meaning that no Release is being rolled out: Status is False, and Message states the active release in English (Release %q is active);
The Contender Release is being rolled out: Status is True, and Message states the names of the Releases involved in this transition, in English (Transitioning from %q to %q);
The Contender Release is being rolled out and there's no Incumbent Release: Status is True, and Message states this fact with the name of the Release being rolled out (Rolling out initial release %q).

One small unrelated change is the removal of : from our internal chart cache path, which is not valid on win32.
Closes #8

Like the other branch, I rebased this on master to pick up the Travis checks.

@kanatohodets: I adjusted the behavior for revisionHistoryLimit in cc9c761. Can you check it and proceed to approve this PR?


Use secondary drag to orbit the view

Currently left-button drag is used to both move objects and obit the view, just depending on where the mouse button is pressed. This is prone to error especially when users are in a rush to position object and slice it.
Since orbiting the view is used less often than moving objects, the user experience will be improved by assigning secondary-button-drag (right-button drag) to it.

Since Macs have no right button, will you be implementing a keyboard equivalent? I suggest control-click-drag, since the control click seems to be an "almost standard" substitute for a right click on the Mac

Mac has "secondary click" that's equivalent to right button on windows. See attached screenshot.
I think Cura and a couple 3D design tools do the same thing: left-drag to move, right(or secondary)-drag to orbit. Personally when I'm on Mac and confronted with similar situation I'd try these in order: secondary-drag, cmd+drag, ctrl+drag, shift+drag, opt+drag. So secondary-drag would have better discoverability than ctrl+drag for users like me. :)

Although I'm personally more accustomed to secondary-click/drag than using control, especially on a web page, but I could be in the "minority group". Let me know if you think most users on Mac will find ctrl+drag more intuitive @John-Mc

I had forgotten all about "secondary click". In fact, I've probably missed out on using my trackpad to control some things. My use of Macs long predates the appearance of track pads, so I'm used to some sort of keyboard alternative (fortunately for me, many programs seem to allow keyboard alternatives). If it's covered one way or another, it's fine with me. No need to make accommodations for my dinosaur methodology.

Hehe blame Steve Jobs for his hate for the right button. Although his engineers managed to sneak the function in it was never promoted. ;)


chore: bump SptagIndexer version to 0.0.2

this is related to https://github.com/jina-ai/jina/issues/878


Cleanup middleware controllers

Currently they include ContainersCommonMixin which contains a lot of irrelevant to middleware code.
Need to check what code is actually used, port it to the Middleware mixin that is added as part of #8589,
and remove the usage of Containers mixin.
@miq-bot add_label refactoring, providers/hawkular

cc @pilhuhn

@abonas please reassign within your team, as appropriate

@rubenvp8510 please have a look at this. there are several potential different refactorings that can be part of the solution


gitmodule url update

I am working to use AWS codepipeline but unfortunately the url used in the external/catch submodule needs to have .git appended to the url as AWS has troubles sometimes with submodule urls that do not end in .git . Following link has some explanation
https://stackoverflow.com/questions/53785769/aws-codebuild-error-on-download-source-client-error-repository-not-found-for-p
file: realm-object-store/.gitmodules
From:
[submodule "external/catch"]
path = external/catch
url = https://github.com/catchorg/Catch2
To
[submodule "external/catch"]
path = external/catch
url = https://github.com/catchorg/Catch2.git

Seems like something you could make a PR for perhaps? @kostagr33k

Moved to https://github.com/realm/realm-core/issues/4608


blank screen on win 10 and osx

tried installing on win 10 / osx with node 6 and node 8
can npm install and npm start
localhost:3000 returned title but with blank screen
is there a need to update for latest node or packages for win 10 / osx ?
Thanks

got it working using yarn and yarn start
but after selecting a shop the images are just placeholder

got it working using yarn and yarn start
but after selecting a shop the images are just placeholder

This should be changed on the Readme!


solved  #1109

🛠 #1109

👨💻 Now backtotop button will not get covered by cards

It has been just given higher z-index
✅ Check List (Check all the applicable boxes)

[x] My code doesn't break any part of the project
[x] This PR does not contain plagiarized content.
[x] My Addition/Changes works properly and matches the overall repo pattern.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

@swapnilsparsh pr ready to merge , kindly acknowledge

@harshita-2003 Thanks for your contribution! Excited for more in the future! 🥂


Access to AWS landing zone code for security review

-- Objective
-- to review the security compliance of the landing zone against OCIO security practices and guidelines

Def of Done
-- Access to the landing zone code
-- Review AWS landing zone code from security perspective with Andy/Stu/Julian
Provide finders
--  loop in Privacy( Holly) with findings

Hi @bluemel-gov  let's break this down please.  An 8 is too big for getting access.
Can you create some smaller tickets around 3 in size or smaller.
Is this still ongoing?

re-scoped and re-opened ticket

Need clearer DoD before approval for this work to continue.  What is the demo-able output of a review?


Facebook login causes you to be taken to its “Help Center” if we try to login multiple times

My app has multiple login options; of which FB Login is one of the options. Clicking "cancel" on the "confirm login" page on facebook login causes you to be taken to a troubleshooting page the next time you attempt.
Steps: Open the app that is not currently logged in but has been logged in using facebook in the past.
1 - Click on Login (Existing User)
2 - Click Login with Facebook
3 - You should be taken to a "confirm login" page where is tells you "you previously logged in to App with Facebook"
4 - Click cancel and it takes you to the Login screen
5 - Press "Login with Facebook" again
6 - If done consecutively you will be taken to the Facebook Help Center
Please let me know if this is an expected behaviour or this needs to be handled.
The error I am getting when clicking cancel is:
error_reason=user_denied
&error=access_denied
&error_description=Permissions+error.
More info:
We are using Xamarin.Facebook.iOS.4.33.0 nuget package.
We are logging in to account as per "LoginButtonCompletedEventArgs.Result".
If "LoginButtonCompletedEventArgs.Result.Token" is not null, that is taken forward for successful login and hence proceeded.
In the reported bug scenario, we are getting
"LoginButtonCompletedEventArgs.Result.IsCancelled" as TRUE when we click "Cancel" in login confirmation page as well as "Done" in Help Center page.
Could you kindly try replicating the issue using the above mentioned package?
Also please let me know if this issue, "authorize/?error=access_denied&error_code=200&error_description=Permissions+error&error_reason=user_denied" when triggered multiple times could make Facebook suggest the user to report the app for any suspected attack?
NOTE:- I have tried all the changes mentioned in an issue closed recently. (https://github.com/xamarin/FacebookComponents/issues/88)

@Scy15 I have tested our sample using Facebook iOS package v4.35, v4.38 and v4.39.1 (which is in review process) and could not reproduce the issue. I share you a test that I made, I tried like 30 times before started recording.

Click here to see the test

Can you share a test case, please?
Thanks in advance!
Israel Soto.

We are closing this issue since no response was received.  Please open a new issue referring to this one if you have more information.


Sagemcom F@st 5688b

bonjour,
est ce que je peux avoir de l'aide pour connecter ma box fibre Sagemcom F@st 5688b, lors de la connection j'ai une erreur "Failed to connect, please try again"
Merci d'avance
Mohamed B.

Please communicate in English (you can use a translate tool if this helps). Can you access the ip address in your browser? Are you sure your Home Assistant can access this IP address?

Hi,
Yes I can access the IP address, but on my browser I am automatically redirected to this address https://mabbox.bytel.fr/, but even with this address I can't connect, is there any information I can send to you to help me?
Thx for your help.
Moha


Not working in PHP storm

This plugin has stopped working for me in PHP Storm. Ive tried both PHP Storm 10.0.4 (it used to work until recently) and Ive just downloaded 2016 with the same result.

@jameschetwood Can you describe what is the problem ? Do you have any logs ?

Generate gitignore notification doesn't show and action is missing.

Apparently workaround to make the plugin realize that we're dealing with a Git project is to create a .gitkeep file and open it!

@lauripiisang workaround apply also to appcode. Thanks!


Support unserialization of unresolved Nodes

When unserializating a reference to a Node with do not know about unserialize by instantiating a special subclass of Node (BrokenNode?)
In case of multiple references to the same unresolve node-id, return the same instance of BrokenNode.

We have now two APIs: low-level and high-level. The high-level one expects to be able to solve references, while the lower-level one does not attempt to solve references. I think this covers this requirement. What do you think @enikao ?

I agree, low-level/high-level covers this.


tcl: fix dangling symlink

Motivation for this change
The recent weechat version update fails to build on Darwin now.  They
changed how the TCL library is detected, and it is now attempting to
link against the dangling symlink, causing the build to fail.
Things done
Verified that the derivation's hash does not change on Linux.

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @vrthra

Thanks!


Pin cython version

What does this PR do?

Pin cython version
Motivation

See https://github.com/DataDog/datadog-agent/pull/18216
Additional Notes

We will see how to unpin it (at least for py3) in a follow-up PR.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

not needed anymore, see https://github.com/DataDog/datadog-agent/pull/18216


DefaultClientSuggestions adapter cleared multiple times

I'm submitting a ...

[x] bug report
[ ] feature request

Current behavior:

DefaultClientSuggestions adapter is cleared multiple times when any of the navigation buttons are clicked. For reference - https://github.com/harsh-2711/android-search-ui/blob/69a10a8105b951f9342aba7035a6d11fc91bb896/searchwidget/src/main/java/com/harsh/searchwidget/SearchBar.java#L1109 and https://github.com/harsh-2711/android-search-ui/blob/69a10a8105b951f9342aba7035a6d11fc91bb896/searchwidget/src/main/java/com/harsh/searchwidget/SearchBar.java#L1122
Expected behavior:

The adapter should be cleared and set only once.
Other information:

Can I work on this issue ?

Sure. Assigning it to you.


MIQ alert folder

Hello,
I am trying to unpack the MIQ alert folder but it wont let me click on it. I am using a MAC computer. Could that be the issue?
thank you!

@ellsk21 Probably, the sample build in the link in #14 is build for windows.

@ellsk21 are you talking about the browser extension? What browser are you using? The operating system shouldn't matter with MIQ Alert.

Looks like the project is moving more away from the Chrome browser extension. You might like to give the fresh and first release a try: https://github.com/jvolker/miq-nz-booking-tools/releases/latest You don't need to code for that.


KAFKA-15045: (KIP-924 pt. 22) Add RackAwareOptimizationParams and other minor TaskAssignmentUtils changes

We now provide a way to more easily customize the rack aware optimizations that we provide by way of a configuration class called RackAwareOptimizationParams.
We also simplified the APIs for the optimizeXYZ utility functions since they were mutating the inputs anyway.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Merged to trunk and cherrypicked to 3.8


Master fixonly - new branch for fixing remote code exec.

Better pull request for fixing security issue

Limited this pull request so it'll contain only bug-fixes...


Refs 2776: make pgx logging work by default

Summary
This turns on logging by default and sets the proper level, but does not expose it via a parameter in deployment.yaml (yet).
Testing steps

https://issues.redhat.com/browse/HMS-2776

⚠ This task currently requires qe-approval, but this PR does not fully resolve the task.  Please contact QE to determine appropriate testing required.


Desync detected

Product and Version [VS/VSCode]:
OS Version [macOS/Windows/Linux]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
What were you doing when you encountered the desync?
How often have you encountered desyncs?

Hey @kevinyf , I know you've closed the issue, but we're keen to hunt down any desync issues that may exist in the product. Do you remember what you were doing when the desync happened, and if you noticed any odd behavior before or after?

Sry I could not remember. If something similar happens next time, I will
report it :) Thanks.
Dayton Ellwanger<EMAIL_ADDRESS>周四13:29写道：

Hey @kevinyf https://github.com/kevinyf , I know you've closed the
issue, but we're keen to hunt down any desync issues that may exist in the
product. Do you remember what you were doing when the desync happened, and
if you noticed any odd behavior before or after?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/live-share/issues/1847#issuecomment-477695382,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AsaIPBmfQyovL90uEDrA9CdkA1ywIoLdks5vbPvqgaJpZM4cEqUz
.


Updated blacklist papers

These are the blacklist papers updated with the papers from 900-1000.

Nice, can you edit the file blacklist.csv instead of making this new file?

Fixed the problem here: https://github.com/trigaten/Prompt_Systematic_Review/pull/95


Support : Installing scipy in pypy on Mac M1

I'm seeing below error while installing scipy.
Collecting scipy (from shap==0.41.0->-r requirements.txt (line 2))
  Using cached scipy-1.11.4.tar.gz (56.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      + meson setup /private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2 /private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2/.mesonpy-xp9lew2g -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2/.mesonpy-xp9lew2g/meson-python-native-file.ini
      The Meson build system
      Version: 1.3.0
      Source dir: /private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2
      Build dir: /private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2/.mesonpy-xp9lew2g
      Build type: native build
      Project name: SciPy
      Project version: 1.11.4
      C compiler for the host machine: cc (clang 15.0.0 "Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)")
      C linker for the host machine: cc ld64 1015.7
      C++ compiler for the host machine: c++ (clang 15.0.0 "Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)")
      C++ linker for the host machine: c++ ld64 1015.7
      Cython compiler for the host machine: cython (cython 0.29.36)
      Host machine cpu family: aarch64
      Host machine cpu: aarch64
      Program python found: YES (/Users/home/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/bin/pypy)
      Run-time dependency python found: YES 3.10
      Program cython found: YES (/private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-build-env-dml72ikq/overlay/bin/cython)
      Compiler for C supports arguments -Wno-unused-but-set-variable: YES
      Compiler for C supports arguments -Wno-unused-function: YES
      Compiler for C supports arguments -Wno-conversion: YES
      Compiler for C supports arguments -Wno-misleading-indentation: YES
      Library m found: YES
      Fortran compiler for the host machine: gfortran (gcc 13.2.0 "GNU Fortran (Homebrew GCC 13.2.0) 13.2.0")
      Fortran linker for the host machine: gfortran ld64 609
      Compiler for Fortran supports arguments -Wno-conversion: YES
      Compiler for C supports link arguments -Wl,-ld_classic: YES
      Checking if "-Wl,--version-script" : links: NO
      Program pythran found: YES (/private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-build-env-dml72ikq/overlay/bin/pythran)
      Did not find pkg-config by name 'pkg-config'
      Found pkg-config: NO
      Found CMake: /opt/homebrew/bin/cmake (3.27.9)
      WARNING: CMake Toolchain: Failed to determine CMake compilers state
      Run-time dependency xsimd found: NO (tried pkgconfig, framework and cmake)
      Run-time dependency threads found: YES
      Library npymath found: YES
      Library npyrandom found: YES
      pybind11-config found: YES (/private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-build-env-dml72ikq/overlay/bin/pybind11-config) 2.11.0
      Run-time dependency pybind11 found: YES 2.11.0
      Run-time dependency openblas found: NO (tried pkgconfig, framework and cmake)
      Run-time dependency openblas found: NO (tried framework and cmake)

      ../scipy/meson.build:159:9: ERROR: Dependency lookup for OpenBLAS with method 'pkgconfig' failed: Pkg-config for machine host machine not found. Giving up.

      A full log can be found at /private/var/folders/t7/s2k1tsds02z8bz5xv3s3yml00000gq/T/pip-install-mza7eh1q/scipy_05ef69af7d0b4f088b803c81014d45d2/.mesonpy-xp9lew2g/meson-logs/meson-log.txt
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

The error states, the pip couldn't find openblas dependency. but, i have installed it with brew
      ../scipy/meson.build:159:9: ERROR: Dependency lookup for OpenBLAS with method 'pkgconfig' failed: Pkg-config for machine host machine not found. Giving up.

closed this on the assumption that no news is good news but feel free to reopen if you still need help @iamshreeram !

@rgommers, That helped. Thanks!


Added custom color

Allows a user to set a custom color. Custom color overrides if color is set and if invert is set too.
--custom_color - to enable custom color
--r - set r
--g - set g
--b - set b
My branch was messed up. that's why there's so many commits lmao

actually ignore this pr, creating a new one where my branch is fixed.


Add Jest Tests

Since the app and contributor count is growing, we need tests!
Jest is a great integration and unit testing framework. simple and fast.
Acceptance Criteria

[ ] Add Jest Testing framework
[ ] Create essential tests.

[ ] Add clinic js logic
[ ] get clinics / cancellation table logic
[ ] login logic

@leandrotk that would be great! Feel free to create a separate issue for that 🎉

@leandrotk I created a separate issue #284 for adding our foundational test suite. 😄

@leandrotk  I went ahead and created issue #285 for adding the tests to the CI pipeline 🚀


[FEATURE] Gemini: JSON output mode

Gemini now supports JSON output, more details: https://ai.google.dev/gemini-api/docs/api-overview#json

cc @glaforge will this be available in Gemini SDK?

Yes, it should be available soon.
The function calling mode is also coming soon.

Implemented in https://github.com/langchain4j/langchain4j/pull/1278


Context Different in Mobile Tabs

We've started looking into the mobile (personal) tabs that are in developer preview in the mobile client and we are noticing a difference between what is provided in the context on the mobile device and what is provided on the desktop client.
In an example we have got (an educational user), the following properties are available in the context in the desktop client, but for the same user are missing on the mobile tab:
licenseType
tenantSKU
teamSiteDomain
ringId
loginHint
On the desktop userPrincipalName is set, but is blank in the mobile client
And on the mobile client there is an additional userTeamRole property we don't see on the desktop client.

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

ID: 525acdf7-3f72-b657-63ea-ddb95c4fb247
Version Independent ID: c5d9575a-ace3-8441-4516-ad2c7adb3d99
Content: Get context for your tab - Teams
Content Source: msteams-platform/concepts/tabs/tabs-context.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

@icelandgrecian Thanks for reaching out. This is a known issue. We have a bug for this. We are working on it.


fix: remove zustand deprecation warning (#1634)

Description
Fix zustand getStorage deprecation warning.
Additional Information

[x] I read the contributing docs (if this is your first contribution)

Your ENS/address:
peterferguson.eth

Whoops, didn't see this when I did #1646 – we can merge this one first, and then mine (with included changeset), so you can get the contribution. :)


Document.resource_namespaces is empty after loading a document

OwnedObject.find_resource depends on Document.resource_namespaces. Since Document.resource_namespaces is unset, objects cannot be found in a document by displayId.

In libSBOL the resource_namespaces are updated in Document::dress_document. In this modules, there's just a lonely note: # TODO dress document. The time has come to at least partially dress the document.

Closed by #182


🇺🇸Integration with Consolidated Edison (Con Ed)

WHY
Con Ed is the leading electricity and gas provider in New York City.
HOW
https://www.coned.com/en/login?url=%252fen%252faccounts-billing%252fdashboard&returnUrl=%2Fen%2Faccounts-billing%2Fdashboard
https://www.coned.com/en/accounts-billing/download-con-edison-app

Green Button may help, see #80


Could not find io.flutter:flutter_embedding_debug:1.0.0-890a5fca2e34db413be624fc83aeea8e61d42ce6. Required by:     project :app > project :flutter

Following the steps from https://docs.flutter.dev/development/add-to-app/android/project-setup (both method A and B, since there's no Flutter template in the "New Module" option), I'm getting the following output:
Could not find io.flutter:flutter_embedding_debug:1.0.0-890a5fca2e34db413be624fc83aeea8e61d42ce6.
Required by:
    project :app > project :flutter

Flutter doctor:
[✓] Flutter (Channel stable
, 2.8.1, on macOS 12.0.1 21A559 darwin-arm, locale
    en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.63.2)
[✓] Connected device (2 available)
    ! Device 52007e785ffc85c7 is not authorized.
      You might need to check your device for an authorization dialog.

• No issues found!

Hi @ljmatan, can you provide the full error message and at which stage in the integration that you get the error?
Thank you

Looks like gradle issues, copying versions off of the example project works.


How can i use with  angluar 5 please suggest

Note: for support questions, please use our Gitter channel. This repository's issues are reserved for feature requests and bug reports.
Do you want to request a feature or report a bug?
What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar.
What is the expected behavior?
What is the motivation / use case for changing the behavior?
Which versions of Angular, UI Tree and which browser / OS are affected by this issue? Did this work in previous versions of Angular, UI Tree? Please also test with the latest version.
Other information (e.g. stacktraces, related issues, suggestions how to fix)

How can i use with  angluar 5 please suggest

You can't use this plugin in angular 5. Sorry!


minor ui alignment and position fixes

@aravinve Minor UI patches pushed to development. Please pull these changes


trompeloeil: 48 -> 49

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/rollbear/trompeloeil/releases.
meta.description for trompeloeil is: Header only C++14 mocking framework
meta.homepage for trompeloeil is: https://github.com/rollbear/trompeloeil
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 49 with grep in /nix/store/hkys7vqj3rsalvv9vgjdm4lnh86l9cy2-trompeloeil-49
found 49 in filename of file in /nix/store/hkys7vqj3rsalvv9vgjdm4lnh86l9cy2-trompeloeil-49

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

arma3-unix-launcher
influxdb-cxx
trompeloeil

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hkys7vqj3rsalvv9vgjdm4lnh86l9cy2-trompeloeil-49 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A trompeloeil https://github.com/r-ryantm/nixpkgs/archive/8ecc874d8ab65b3815459522f3fc88c29eedee58.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/8ecc874d8ab65b3815459522f3fc88c29eedee58#trompeloeil

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hkys7vqj3rsalvv9vgjdm4lnh86l9cy2-trompeloeil-49
ls -la /nix/store/hkys7vqj3rsalvv9vgjdm4lnh86l9cy2-trompeloeil-49/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

arma3-unix-launcher
influxdb-cxx
trompeloeil

Maintainer pings
cc @bjornfor for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 347142 run on x86_64-linux 1

3 packages built:

arma3-unix-launcher
influxdb-cxx
trompeloeil


[Fix bug 1284254] Remove vouch check on basket subscription.

Coverage remained the same at 92.538% when pulling ff46a2b71783d3d6b47e18a59b9d172e7bcd0f9d on johngian:1284254 into 3cf4043a9d559a318df7e97dde45e7d111dab917 on mozilla:master.

Also add a test without newsletter and verify that the basket.subscribe has no calls. r+wc :+1:

Coverage increased (+0.006%) to 92.56% when pulling 17743b68d085dbff148e6e7917604816d2b9de67 on johngian:1284254 into 9708862c75be315804bef98c7f368b9efd8d0c00 on mozilla:master.


How do we initialise etcd?

There are several bits of etcd data structure that various components (mostly Felix) simply assume is there, and they either crash or fail if it's not present. We need a position about how that data gets into etcd.

It's really just /calico/config that we don't understand, isn't it?  For host and profile data, it's clearly the plugin's job to populate that.  For the Felix status TTL key (when we specify it), it will clearly be each Felix's job.

The plug-in is responsible for populating etcd (starting from a completely blank etcd).  Once etcd is in a consistent state then the plug-in will set a well known top level calico key to say it is ready.  Until that point Felix will not process the etcd data (and must be robust to nothing being there at all).  The Felix status TTL key is the possible exception in that Felix may the the component that creates that, but I'm not sure if we have done the data model design for that (beyond us saying we can use TTL so it should be really easy).

Note that the Felix code for handling etcd not being in a ready state is not written yet!

@apollitt agree for the most part, with one note:
Who is responsible for creating the /calico/host/<host>/ subkeys (/config and /endpoint)? It feels like the plugin shouldn't do that necessarily, unless we have some way of triggering a plugin that a new Felix instance exists.

https://github.com/Metaswitch/calico/pull/313 enhances the plugin to provide the /calico/config/InterfacePrefix value that Felices need in an OpenStack system.  For all the other config values, the default values are good, so I don't believe we need to explicitly provide them.

Felix now waits for the config to be present, and #407 covers the remaining missing pieces, I think.


Update Pages “home”

Automatically generated by Netlify CMS

👷 Deploy Preview for parsimony-dev processing.
🔨 Explore the source changes: 6cb198aee71edd9a5eb0f2bb6560dbd1feeda584
🔍 Inspect the deploy log: https://app.netlify.com/sites/parsimony-dev/deploys/61885055f92e050007595812


Error with bbdd when starting

When (using Windows) I run docker-compose I get this error "sqlite3.OperationalError: unable to open database file"

So http://localhost:8080/docs  url doesnt work but the frontend runs, when i write something it throws another error

Any idea? also, if you can provide more info abour the structure of the markdown files and the index, maybe adding a folder with content to the project, would be perfect
thanks

Thank you so much for reporting this. Much appreciated! 🤩
This might be caused by the path for the database store not existing on disk yet. I've made a fix for this case in 8ede5dea83c46e1e786f62885fb96136227f6814.
Also made a folder for the markdown files and will create some samples. For now, any file will do - plain text and markdown alike.
The indexing pipeline will pick up any .md files in the source directory. See this for more info: https://github.com/larsbaunwall/bricky/blob/8ede5dea83c46e1e786f62885fb96136227f6814/api/pipelines/indexing.py#L53

Closing this as a bugfix is merged. Feel free to re-open it if it is still an issue.


Slow compilation from computation involving arithmetic and concatenation

Here's a reproduction: https://gist.github.com/joschu/54699199d16b02a78d8d4ff58d349596
Sorry that it's a bit complicated--I can try to simplify if that'd be helpful.
Oddly, the compilation times seem to depend on the size of the arrays involved.
GPU/Linux: compiles in 27 seconds
CPU/OSX: compiles in 14 seconds. Also non-deterministically segfaults on exit

PR #932 fixes the compilation time (I get closer to 0.2s afterward).
The segfault on Mac OS I will also look into; it's most likely related to destruction ordering, so it's annoying but unlikely to harm anything.

#933 fixed the segfault on exit. It requires a Jaxlib rebuild, so you can either rebuild from source or wait for us to make a binary release. Hope that helps!

Nice!!
Sent via Superhuman<EMAIL_ADDRESS>)
On Thu, Jun 27, 2019 at 5:27 AM, Peter Hawkins <<EMAIL_ADDRESS>> wrote:

#933 ( https://github.com/google/jax/pull/933 ) fixed the segfault on exit.
It requires a Jaxlib rebuild, so you can either rebuild from source or
wait for us to make a binary release. Hope that helps!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub (
https://github.com/google/jax/issues/927?email_source=notifications&email_token=AABDGMQRUI3P6N3TQFEIGRLP4SW3ZA5CNFSM4H3OS272YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYW6O4A#issuecomment-506324848
) , or mute the thread (
https://github.com/notifications/unsubscribe-auth/AABDGMTZFPDENE7J3TUTSZDP4SW3ZANCNFSM4H3OS27Q
).


[FLINK-10056] [test] Add JobMasterTest#testRequestNextInputSplit

Brief change log
Add JobMasterTest#testRequestNextInputSplit to make sure that JobMaster#requestNextInputSplit works as expected.
Verifying this change
well, code itself is the verify.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@yanghua thanks for review!
suppressed comments and leave my thoughts.
please review when you are free, thanks!

cc @zentol @tillrohrmann

cc @twalthr @tzulitai

cc @aljoscha @zentol


Separate metric's collect process from business logic

The purpose of this PR is to decouple metric's collect process from business logic, this is done by creating another layer or set of components whose purpose is exactly this, collect metrics (in metric/prebid package)
We also take advantatge of this refactor and create a noop metric impl, and open the door to other impl like for instance micrometerio
Details:

Metrics and its derived metric classes like AccountMetrics, AdapterMetrics and so on are now interfaces
Dropwizard is the standard implementation of metrics, but one can use the "noop" impl by setting metrics.type to noop (new property)
All the code that collects metrics that was previously in AuctionHandler, openrtb2/AuctionHandler, AmpHandler now resides in AuctionHandlerMetrics and RequestHandlerMetrics. The same goes for ExchangeService and now ExchangeServiceMetrics

Misc:

need to change application.yaml#deploy-timeout-ms from 5sec to 10sec otherwise ApplicationTest fails from time to time
expecting some discussion regarding naming convention like interfaces should start with I, or implementations should be placed in impl package or named with Impl prefix

Seen https://github.com/rubicon-project/prebid-server-java/pull/9

Thank you for detailed and clear description of the changes proposed.
This PR encompasses two major changes so let's try to tackle them separately.
Metrics decoupling
This part is about moving metrics submission out of handlers and services to AuctionHandlerMetrics, RequestHandlerMetrics, ExchangeServiceMetrics and AbstractMeteredHandler.
Motivation for this change is clear and understandable, we have also put some effort into segregating metrics-related code from main auction business logic and we share the feeling that it's not cool to have them intermingled. However due to the fact that metrics are inherently coupled with the business logic we decided to put up with the current state of things because it seems to be most straightforward (although not ideal) and least confusing. It's one of those cases when aspiration to code deduplication could do more harm than good. Specifically here are some observations:

Metrics gathering and sending is now scattered across several classes. Let's take AuctionHandler for example - previously metrics logic was completely contained in the handler and was easy to follow but now it is distributed among AuctionHandler, AuctionHandlerMetrics, AbstractHanderMetrics and AbstractMeteredHandler
updateXXXMetrics methods in XXXHandlerMetrics classes accept complex objects as arguments (PreBidRequestContext, AdapterResponse etc.) and return values that doesn't make a lot of sense within these classes because they appear far from the context they are created and used at. For example RequestHandlerMetrics#updateErrorRequestsMetric returns Future<BidRequest> but looking just on RequestHandlerMetrics it is hard to understand why, while it was clear when this method resided in AuctionHandler.
Interaction with HTTP request and response objects happened to escape from Handlers to XXXMetrics classes where it doesn't belong (AuctionHandlerMetrics#setupRequestTimeUpdater, AuctionHandlerMetrics#bidResponseOrError etc).
Design of some methods in RequestHandlerMetrics relying on classes introspection seems to be fragile and is not considered a good practice.

While many of these decisions seems natural at write time they make the design harder to grasp and comprehend for readers thus complicating codebase maintenance.
One thing that could be considered though is making XXXMetrics just dumb metrics reporters so that decision making on what to send is made in Handlers and Services but actual submission is delegated to these classes - in this case XXXMetrics will have clear scope and responsibility and will not break encapsulation of Handlers and Services. But again, is it worth the effort? Personally I'm not convinced that it will simplify things a lot.
Metrics framework abstraction
Creating a level of abstraction over the metrics framework looks fine given it is justified by some need, so here are some thoughts about this:

Why would it be necessary to use metrics engine other than Dropwizard-metrics? If micrometer.io (or something else) is superior to Dropwizard-metrics and has richer functionality then it makes sense to move to it in full - all users of the prebid-server would benefit from it.
What is the purpose of providing support for different metrics engines? Any metrics framework is just a means to collect metrics and deliver them to one or more backends for further processing (graphite, influxdb, prometheus etc.). So it's better to ask the following questions: how do we want to collect metrics? where do we want to send to? do we need greater degree of flexibility (make metrics names/prefixes/ configurable etc.)? Based on answers to these questions it will be possible to determine how metrics support could be improved in the prebid-server for common good.
It's not clear why noop implementation is necessary at all. Metrics are not sent anywhere if no reporters configured so the case when some vendor doesn't want monitoring (this is hard to imaging though) is pretty covered.

Conclusion
Since this PR in fact covers two independent changes I propose to create separate PRs for them once we agree on how to proceed with them in this thread. What do you think?

The whole idea of the PR is to leave the business logic, totally unrelated to metrics, in the "Web"handlers and ExchangeService and put metric's related logic into these XXXHandlerMetrics.
AbstractMeteredHandler and AbstractHandlerMetrics are just two convenient abstract classes that ease the interaction between these kind of handlers(web and metrics).
As you said XXXMetrics could be just dumb metrics facades over the real metrics engine
When we impl the PR we decided that sharing objects outside their natural boundaries are less harmful than having the "same" code in different places, we thought that it could be easier to read but harder to mantain
Using an asyncrhonous tech like vertx where the method chains are so important and meaningful (compose, map, ...) , and given that we do not want to block event-loops while
gathering metrics IMHO I think we have 3 choices here :

split each "Web"handler that we have in more handlers, each handler will have a concrete unit of work and will belong to a chain.
Then, I think, it will be much easier to place our "metrics handlers/interceptors" between them in order to collect the metrics
This approach could imply creating "lots" of new classes, boilerplate code and so on but I think that it could completely solve the problem

follow what others do ... and by this I mean that the main idea of the PR is inspired by how Vertx gathers their internal metrics, and it turns out that they use SPI and that the business logic only invoke these SPI s https://github.com/eclipse/vert.x/tree/master/src/main/java/io/vertx/core/spi/metrics
Of course they have to do that because they support different metrics engines, but I like the idea

do nothing :)

About metrics

NoOp just tries to avoid wasting cpu cycles, given that incrementing counters, gauges and creating timers makes no sense if those are not going to be stored
Micrometerio team is doing great job in many areas(spring integration, vertx supports it too), but I really like the idea of portability, Micrometerio tries to adapt application's metrics based on the monitoring system used (https://micrometer.io/docs/concepts#Naming meters), some of them do not share the same rules. Using something that can reduce the complexity of moving metrics from A to B is something appealing to me.

I agree with you that decoupling metrics from business logic it's not easy
Thanks for this detailed revision

It seems we both agree that metrics helpers could be just dumb senders unaware of the context their methods are being invoked in. That's a good start!
Agree with you that having an option to easy throw in another metrics framework is not a bad idea. However it is important to note that such flexibility is really necessary for frameworks or libraries like Spring, Vert.x and others, however prebid-server is different because it's not framework but rather a product so I wouldn't say that flexibility of this kind is of first priority or even necessary at all. Anyway while the second change looks like a sound design decision it feels like walking half way only. Therefore it's better to decide first what we want to achieve in the end in terms of business value (what monitoring systems to support, what naming scheme requirements to meet etc.) and then act pursuing these clearly defined goals.


[WIP] Implement 2d structure visualization

Adds ml_matrics/struct_vis.py with ase-inspired plot_structure_2d() but works natively with pymatgen Structures, matplotlib being the only other dependency.
Example
from pymatgen.ext.matproj import MPRester
from ml_matrics.struct_vis import plot_structure_2d

struct = MPRester().get_structure_by_material_id('mp-12712')
plot_structure_2d(struct)

Aims to resemble output of ase.visualize.plot.plot_atoms with minor improvements, less conversion hassle and handling of disordered structures.
pymatgen is unable to convert disordered structures via AseAtomsAdaptor().get_atoms(struct):
ValueError: ASE Atoms only supports ordered structures

which appears to be untrue. ASE does allow for disorder.
ASE Example
from pymatgen.ext.matproj import MPRester
from pymatgen.io.ase import AseAtomsAdaptor
from ase.visualize.plot import plot_atoms

struct = MPRester().get_structure_by_material_id('mp-12712')
atoms = AseAtomsAdaptor().get_atoms(struct)

plot_atoms(atoms)

Disordered Example
import matplotlib.pyplot as plt
from pymatgen.transformations.standard_transformations import SubstitutionTransformation

struct = MPRester().get_structure_by_material_id("mp-19017")

disord_struct: Structure = SubstitutionTransformation(
    {"Fe": {"Fe": 0.75, "C": 0.25}}
).apply_transformation(struct)

plot_structure_2d(disord_struct, rotation="10x,10y,0z", atomic_radii=0.5)

Structure with new annotate_sites=True option:

Room for improvement: element labels aren't yet occluded by sites with higher z-index.

Output seems fine across most of 20 random structures. I think the code can still be simplified quite a bit though so leaving WIP status.

Maybe a key off to the side? So then it doesn't overlayer the labels?
Does it give different colours to charge assigned elements?

Maybe a key off to the side? So then it doesn't overlayer the labels?

Could you be more specific?

Does it give different colours to charge assigned elements?

It doesn't. Do you think that's an important feature? I feel like there aren't enough colors to differentiate elements clearly as it. Maybe better to include oxidation state in site labels?

@janosh if you decide to include it, I think as a site label might work. As a legend (e.g. blue: Ni, red: O) incorporating charge states is tough because of the color issue.


Enhancement: Generic driver node cleanup after "docker-machine rm"

When removing a machine provisioned with the generic driver, the node is removed from the machine list but the system itself is untouched. If you then wish to re-create the same generic host with machine, the provisioning fails (due to #2970 #2976 and others). It requires manual intervention to get the system back to a state where it can be created in machine again -- at least, that's been my experience so far with CentOS hosts using the generic driver.
Other drivers do things like cancel the instance when a machine is removed. It would be nice to have an optional flag (maybe --cleanup) to tell the generic driver to also remove the various pieces it added with docker-machine create, bringing the system back to its initial state. Cleanup tasks may include:

Stopping docker
Uninstalling docker packages
Removing any added yum/apt repos
Removing the systemd override file (/etc/systemd/system/docker.service)
Removing any leftover docker dirs (/var/lib/docker, /etc/docker)
Cleaning up any snapshots under /var/lib/docker (i.e. if using btrfs storage driver)

... and perhaps other tasks, depending on the OS.

Hm, yeah, I think this kind of fits in the general category of "making provisioning idempotent"-- rather than implement tear-down logic, I think it would be easier in the short term to simply make it safe to call provisioning multiple times.

True, the main issue is really to prevent a re-provision from failing. Maybe a confirmation though to prevent accidents.


take stock of post-processing and analyses

[ ] porting analyses from Matlab -> Python -- work with Aaron.

what analyses will I need? what code do I know I'll need to write?

when I'm converting my matlab to python, write up the lines of code that I'm recreating in python in my comments of the python code.

I think you should literally sit down and write out a list of all the functions and methods you're going to want in Python, and then we can start planning from there


Normalize titles of pages in theories/

Normalize titles of pages in theories/:

Capitalize 'Lean'
Remove space before ':'
Normalize capitalization
Sync the in-page titles with those in theories.md
Replace a non-breaking space character with a regular one

Also, apply various small Markdown fixes to pages in theories/ and contribute/:

Use a blank line to separate blocks (headings, paragraphs, code blocks, etc.)
Normalize headings to the non-wrapped style (which is more prevalent in this repo)
Add missing language specifications for fenced code blocks
Fix a raw URL to be a proper markdown link
Add missing backticks and other punctuation in theories/naturals.md

That was fast, thank you!


Return default language in case no locale is found

@CTPaHHuK-HEbA can you check if this works for you now?
Cheers

Sorry, I didn't notice this PR ;-)
@goanpeca, could you rebase this PR and make the necessary changes after my revision 792372f4672db00145f1022770b11f5fb39abd2e?

Done @ccordoba12

@ccordoba12, I think you can merge this, the solution I did is slightly different to what the user suggested, and should work better

Ok, merging then :-)

Thx. All works well.


Enable GitHub, GitLab, and Bitbucket

Closes #15

bors r+

bors r+

bors r+

bors r+

bors r+

bors r-

bors r+

bors r+


How to use grunt-newer with grunt-config?

Hello, how can i use the grunt-newer plugin within load-grunt-config?
If i follow the instructions i should prefix the tasks (i suppose in my aliases.yaml) with newer:. What i get is the following error:
Running "newer:scripts" (newer) task
Fatal error: The "newer" prefix is not supported for aliases

I think its not as easy as i thought to implement -newer within grunt-config, isn't it?
A second question: Whats about loading tasks/plugins without the grunt- namespace? I tried the wildcard * instead of grunt-* in the grunt-config but without success. "The task could not be found ..."
Regards
Volker

same problem. fixed using aliases file

+1

Hi guys, can someone provide an example of configuration, for testing purpose?

newer works OK for me. There is my aliases.yml file:
css:
  description: |
    Task for development.
    The task performs minification for images, compilation of scss files in
    development mode and process styles with postcss plugins.
    You can use this task when you need only rebuild your css.
    To run this task you should use 'grunt css' command.
  tasks:
    - newer:imagemin
    - sass:dev
    - newer:postcss:css

js:
  description: |
    Task for development.
    The task checks javascript files for coding standards and makes some their
    beautification.
  tasks:
    - newer:jshint
    - newer:uglify:beauty

dev:
  description: |
    Task for development.
    The main task for process theme in a development mode.
    This task processes all subtasks for this theme: performs minification for
    images, checks javascript files files for coding standards and makes their
    beautification, compiles scss files in development mode and processes styles
    with postcss plugins.
  tasks:
    - newer:imagemin
    - newer:jshint
    - newer:uglify:beauty
    - sass:dev
    - newer:postcss:css

I had the same error twice. In the first case I tried to add 'never' to the 'dev' task which called in 'devcr' task and the second time with imagemin task, but there was a typo.
So as I understand, you can't use 'newer' with your custom tasks that contains tasks from grunt plugins

Hi guys, I'm currently trying to investigate this problem... will keep you informed, thx.


Added tpm2-tss/abrmd/tools

And added comments to the Dockerfile.release

Hmmm, @tomoveu will need to take a look at this:
docker run --rm iaxes/iax-tpm-runtime:latest /usr/bin/bash -c "tpm_server >/dev/null & sleep 1; /wolftpm/examples/wrap/wrap_test"
/usr/bin/bash: /wolftpm/examples/wrap/wrap_test: No such file or directory


Setting 2-dimensional list causes stack overflow

I was curious if multidimensional lists were supported, so I ran a helm upgrade command with --set test[0][0]=hey --set test[0][1]=there --set test[1][0]=thisIs --set test[1][1]=aTest. A stack overflow occured, here is a large output of the panic:
helmpanic.txt
I understand multi-dimensional lists are probably not supported but I figured a panic shouldn't happen.
Output of helm version:
$ helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.0", GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}

Output of kubectl version:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.12-gke.13", GitCommit:"39fe6cf6b77a3a0f620bd89db92f5133be67aa91", GitTreeState:"clean", BuildDate:"2019-11-13T20:44:51Z", GoVersion:"go1.12.11b4", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
GKE

I am marking this as closed for inactivity, and since it's on an exceptionally old version of Helm. Feel free to re-open if it reproduces on 3.x or even on a recent 2.x


The pretrained model link is invalid, please update it. Thanks

Thanks a lot for your reminding. Will update it soon.

Hi,
I have updated the pretrained links. Please check again. Will update the preprocessed data links soon as I am considering transferring them to a new drive.

Ok. Thanks

Hi,
All links are updated. Please have a check. Thanks.


Unknown field (settings) on table users

I sometimes get this error, even though I have the field on my users table.

Can you paste here the complete trace, from the log file.

I am getting this error as well in a feature test in the PHPUnit setUp method. I create a new user by using a factory that is not filling the settings field, leaving the column null.
A middleware checks to set the localization and timezone for the user falling back to the defaultSettings. This works correctly when manually testing, but not in my feature test where it throws:
{#1521
  +"message": "Unknown field (settings) on table users"
  +"exception": "Glorand\Model\Settings\Exceptions\ModelSettingsException"
  +"file": "/application/vendor/glorand/laravel-model-settings/src/Traits/HasSettingsField.php"
  +"line": 59
  +"trace": array:54 [
    0 => {#1536
      +"file": "/application/vendor/glorand/laravel-model-settings/src/Managers/AbstractSettingsManager.php"
      +"line": 41
      +"function": "getSettingsValue"
      +"class": "App\Models\User"
      +"type": "->"
    }
    1 => {#1538
      +"file": "/application/vendor/glorand/laravel-model-settings/src/Managers/AbstractSettingsManager.php"
      +"line": 60
      +"function": "all"
      +"class": "Glorand\Model\Settings\Managers\AbstractSettingsManager"
      +"type": "->"
    }
    2 => {#1524
      +"file": "/application/app/Http/Middleware/SetLocalizaton.php"
      +"line": 25
      +"function": "get"
      +"class": "Glorand\Model\Settings\Managers\AbstractSettingsManager"
      +"type": "->"
    }
    3 => {#1537
      +"file": "/application/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php"
      +"line": 171
      +"function": "handle"
      +"class": "App\Http\Middleware\SetLocalizaton"
      +"type": "->"
    }
}

Note: I am using RefreshDatabase

the problem is with Larave Model getAttributes method it doesn't get settings column so your condition will always fail.
https://github.com/glorand/laravel-model-settings/blob/79a2f0a0a77da6994607f49b90d33da31d1524d3/src/Traits/HasSettingsField.php#L42

I can confirm that adding the settings field to my User Factory fixed this issue, but I don't know if @chadidi has the same problem.

@LaPelle yes, will work when you set the field, but it should work in the other case too! the way I did it is by overriding HasSettingsField.php trait and removing that check maybe later I may add some line to check if the column exists directly on the database table.
Have a nice day too 👍

I see mixed up your names, I though the reply was from @glorand. But I agree, it should work either way.

@chadidi and @LaPelle, think this PR #32 will fix this issue

Thanks, @glorand
I will test this next Monday and let you know,

Hi,
I still have this error "Unknown field (settings) on table members". The field settings exist on the table members.
if I remove this code in Glorand\Model\Settings\Traits\HasSettingsField
if (!$this->hasSettingsField()) {
throw new ModelSettingsException("Unknown field ($settingsFieldName) on table {$this->getTable()}");
 }

it will work fine.
I am using laravel 6.9.0 and this package version 3.5.4.


redirect after iFrame dosen't happening

Are you requesting a feature or reporting a bug?
Maybe it is a bug, I'm not sure, I just want to try testcafe...
What is the current behavior?
I want to build a login script, after login via iFrame the redirect dosen't happening and I will get a 404 page, this is my test script:
import { Selector } from 'testcafe';
import {ClientFunction} from 'testcafe'
fixture Getting Started// declare the fixture
.page https://www.aboutyou.de/;  // specify the start page
//then create a test and place your code there
test('Login test with new User', async t => {
const getLocation = ClientFunction(() => window.location.href);
	// NOTE: the ClientFunction will be executed in TOP window's context
	console.log(await getLocation());
await t
    .click('button.login_8b49da')
    .switchToIframe('.iframe_1k7bcr7')
    .typeText('body > main > div > div.login-section.fade-in-out-transition > form > div:nth-child(1) > div > input'<EMAIL_ADDRESS>    .typeText('body > main > div > div.login-section.fade-in-out-transition > form > div.form-wrapper > div > div > div:nth-child(2) > input', '12345')
    .click('body > main > div > div.login-section.fade-in-out-transition > form > button')
    .switchToMainWindow()
    .expect(Selector('#app > section > div.navigation_1ie55wv > div.topWrapper_17208h5 > div > div.logoContainer_9563j8 > a > div > div.youWrapper_pzivoe > div.text_1apmb75-o_O-nick_ay4wjb').innerText)
        .eql('vorname');

});
What is the expected behavior?
I should be redirected to the main page.
If I'm doing a manually log in after the iFrame I will go trough this redirects:
Status Code	URL	IP	Page Type	Redirect Type	Redirect URL
302	https://checkout.aboutyou.de/oauth/success ...*	server_redirect	temporary	https://www.aboutyou.de/oauth?state=*
200	https://www.aboutyou.de/oauth?state=* ...*	  client_redirect	javascript	https://www.aboutyou.de/
200	https://www.aboutyou.de/ ...*	normal	none	none
How would you reproduce the current behavior (if this is a bug)?
please try my provided script
Provide the test code and the tested page URL (if applicable)
it is in the "What is the current behavior?" section
Tested page URL:
https://www.aboutyou.de/
Test code
import { Selector } from 'testcafe';
import {ClientFunction} from 'testcafe'

fixture `Getting Started`// declare the fixture
    .page `https://www.aboutyou.de/`;  // specify the start page

//then create a test and place your code there
test('Login test with new User', async t => {
	const getLocation = ClientFunction(() => window.location.href);

    	// NOTE: the ClientFunction will be executed in TOP window's context
    	console.log(await getLocation());
    await t
        .click('button.login_8b49da')
        .switchToIframe('.iframe_1k7bcr7')
        .typeText('body > main > div > div.login-section.fade-in-out-transition > form > div:nth-child(1) > div > input'<EMAIL_ADDRESS>        .typeText('body > main > div > div.login-section.fade-in-out-transition > form > div.form-wrapper > div > div > div:nth-child(2) > input', '12345')
        .click('body > main > div > div.login-section.fade-in-out-transition > form > button')
        .switchToMainWindow()
        .expect(Selector('#app > section > div.navigation_1ie55wv > div.topWrapper_17208h5 > div > div.logoContainer_9563j8 > a > div > div.youWrapper_pzivoe > div.text_1apmb75-o_O-nick_ay4wjb').innerText)
            .eql('vorname');
});

Specify your

operating system: mac 10.13.4 (17E199)
testcafe version: 0.19.2
node.js version: v9.10.1

Hi @sebokgabor84m I've reproduced the issue, and need some time to investigate it. Now it looks like a bug in TestCafe.

@AndreyBelym  Thanks for the feedback!

Hey @AndreyBelym, I'm having the same issue where the state param is being dropped in the roundtrip for oauth. We're in the same boat as @sebokgabor84 where we're inside an iFrame. I'm wondering if there is any progress on debugging/solution for this?

I'm working on this

Just curious if there's an update on this issue. I would love to start using TestCafe again on my project :)

yeah.... that's exactly our problem :\ it's a auth redirect flow through an iFrame


Bundle size issue due to unordered plugins

Situation
People are using Webpack because every React tutorial have Webpack as its module bundler. Some of them are beginners, some others come from Angular with experience in browserify.
I've seen a lot of beginners struggle with bundle sizes. And even though everything looked fine. Something was off. Some sorting in the plugins array messes up the final size.
I detected this from people coming from Angular. Since most of angular tutorials/examples don't have webpack in it. Usually they try to extend the default config with the prod config and if the order is not correct, the bundle size incease and you have no clue of what's going on.
I've seen it several times.
Issue
Documentation does not clarify about plugins load order.
Solution
Detailed explanation while handling plugins in Webpack.

Thanks!!!

I'm closing this in favor of #51 ("Concepts - Plugins" article) as that's the perfect place to discuss the topic. Feel free to continue there.


No Fasm.obj source

Why is there no source included to Fasm.obj, or at the very least the modifications you made to whatever version of Fasm you branched from?
I'm not sure if a brief credit Tomasz in your readme even follows his Fasm's license:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
...

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

Would be good to get a clarification. Perhaps this file could be updated from a newer version of FASM as well.


md-tabs + md-inputs

Bug, feature request, or proposal:
[X] Bug
What is the expected behavior?
when tab load i expect to see Inputs with their content
What is the current behavior?
I only see the inputs content when i click on input
Imgur
Which versions of Angular, Material, OS, browsers are affected?
Angular RC5, material 7-12, MacOs, all browsers
Is there anything else we should know?
It was working on all previous versions of material, like version 7-9, today i updated to 7-12 and i'm facing this issue.
In previous versions if when i use detectionStrategy.Onpush this issue occur too.
I asked earlier on gitter channel but no answers. Thanks

Same problem here. Until this geht fixed; instead of using ngModel this works for me:
<md-input [value]="val" (change)="val=$event.target.value"></md-input>

I have not seen this problem in the current release. Will close because I cannot reproduce but feel free to reopen if it is still an issue for you.


chore: add ci lint

Which issue does this PR close?
Closes #
Rationale for this change
Add CI lint.

What changes are included in this PR?
Add CI lint.

Are there any user-facing changes?
No.

How does this change test

LGTM

LGTM


feat: add custom tables config

Closes #63
Overview
This pull request introduces support for mapping custom field types as DBML tables in schema_to_dbml, addressing issue #63. This enhancement allows users to easily document and generate DBML for enums, which are commonly encountered in various applications.
Changes Made

A new attribute, custom_tables, has been added to the configuration options. Currently, its primary purpose is to map custom field types.
The dmbl_tables_formatter  has been modified to consider and incorporate custom table configurations during DBML generation.

Testing

Extensive unit tests have been implemented to thoroughly validate the functionality and reliability of the "custom_tables" feature.
These tests cover a range of scenarios and edge cases to ensure the robustness of the implementation.

Notes
While the attribute name is currently custom_tables, this initial implementation focuses solely on enabling proper DBML documentation for custom field types. In the future, this attribute can be extended to support:

Custom primary key configurations per table
Mapping other table information not directly obtainable from schema.rb

I'm not entirely shure if we should use the configuration method as a group or use the table directly


Merging master to release-csharp

@chuckries do we still need to add the launch option schema to OmniSharp-vscode for ignoring checksums?
Otherwise LGTM.

Yes we do.


Assume Role

Is it possible to not require the Assume Role permission for the role arn if the role has sufficient permission already?  The role I'm using is the role that would "be assumed."
After a lot of troubleshooting with sp-api support, we found that the assume role permission was causing my API requests to fail.  After removing the permission, I'm now able to write successful requests.  That said, I would prefer to start working with this library.
Here's the error message I'm currently receiving:
ClientError: An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::72750xxxxxxx:user/spxxxx is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::72750xxxxxxx:user/spxxxx
Let me know if any of this doesn't make sense.

Hm. That's interesting, didn't have that before. From the error message, it totally sounds like you didn't have the permission to assume the role - Amazon's errors are misleading all the time though. What permission did the role have that you have removed?

Hm. That's interesting, didn't have that before. From the error message, it totally sounds like you didn't have the permission to assume the role - Amazon's errors are misleading all the time though. What permission did the role have that you have removed?

The user had two policies associated with it -- One intended to enable "Action": "sts:AssumeRole" and another for "Action": "execute-api:Invoke."
They had me remove both policies, then re-add "Action": "execute-api:Invoke."
From there I started making requests without using Assume Role and things started working properly.

The user had two policies associated with it -- One intended to enable "Action": "sts:AssumeRole" and another for "Action": "execute-api:Invoke."
They had me remove both policies, then re-add "Action": "execute-api:Invoke."
From there I started making requests without using Assume Role and things started working properly.

For example, I can retrieve results from /sales/v1/orderMetrics via python requests module but when using this library I received the AssumeRole error from my first comment.
In both instances I'm using the same credentials.

For example, I can retrieve results from /sales/v1/orderMetrics via python requests module but when using this library I received the AssumeRole error from my first comment.
In both instances I'm using the same credentials.

Ok, there's a part missing in Amazon's documentation about those policies, I could make it work only with the assume role call. I'll try to recreate this tomorrow and update you.

Ok, there's a part missing in Amazon's documentation about those policies, I could make it work only with the assume role call. I'll try to recreate this tomorrow and update you.

Awesome, thanks.

Awesome, thanks.

The client needs a session token to sign the request, the session token is created by the assume role operation. So I don't think there's (and haven't found) a solution to this.

The client needs a session token to sign the request, the session token is created by the assume role operation. So I don't think there's (and haven't found) a solution to this.

Okay. For what it's worth, I don't use the assume role operation and am able to create requests.
To get the access token required for making requests, I use my refresh_token, client_id & client_secret in a post request to https://api.amazon.com/auth/o2/token.  The grant_type parameter is set to refresh_token.  The client_id and client_secret are the id and secret associated with the iam user.
That request returns an access_token along with the original refresh_token.  The access_token is used in the requests as the x-amz-access-token.
In order to get the refresh_token that's used to retrieve the access_token for requests, you send a post request to the same endpoint(/auth/o2/token).  Only this time the request includes the following parameters:
grant_type = authorization_code
code= spapi_oauth_code
redirect_uri = found in the app details
client_id = LWA id
client_secret = LWA secret
\
Maybe you already know all of this, but if nothing else the overview might end up being helpful for someone who stumbles on it by accident.

Okay. For what it's worth, I don't use the assume role operation and am able to create requests.
To get the access token required for making requests, I use my refresh_token, client_id & client_secret in a post request to https://api.amazon.com/auth/o2/token.  The grant_type parameter is set to refresh_token.  The client_id and client_secret are the id and secret associated with the iam user.
That request returns an access_token along with the original refresh_token.  The access_token is used in the requests as the x-amz-access-token.
In order to get the refresh_token that's used to retrieve the access_token for requests, you send a post request to the same endpoint(/auth/o2/token).  Only this time the request includes the following parameters:
grant_type = authorization_code
code= spapi_oauth_code
redirect_uri = found in the app details
client_id = LWA id
client_secret = LWA secret
\
Maybe you already know all of this, but if nothing else the overview might end up being helpful for someone who stumbles on it by accident.


Documentation issue on xRingbufferSendComplete() (IDFGH-14191)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Following issue #13730, where the xRingbufferSendAcquire function was called with a variable of the typevoid *pvItem instead of void **pvItem in the documentation (now fixed), there is now an issue in the documentation on the call of xRingbufferSendComplete which is called with void pvItem instead of void pvItem.
Documentation link: Here
Screenshot of issue:

Proposed change:
-res = xRingbufferSendComplete(buf_handle, &item);
+res = xRingbufferSendComplete(buf_handle, item);

Thanks for reporting the error, @adam-hotait! We shall fix it.