Add blocking and pubsub reserved connections

Sidekiq enterprise and pro workers require the use of two categories of commands that redisbetween does not currently support:

subscribe,unsubscribe (and psubscribe/punsubscribe) is used for live config changes to sidekiq workers (such as pausing work for a given a queue)
brpoplpush is used as part of Sidekiq's reliable fetch mechanism to atomically pop and push jobs from queues to working queues in redis. The blocking part of this command is simply to add a timeout to prevent CPU saturation as Sidekiq polls the queue for new jobs to fetch.

Both of these commands differ from the current round trip style behavior of redisbetween, which is generally treated in a first come first serve manner. Both pubsub and blocking commands require connections in the redisbetween connection pool to be reserved, indefinitely if need be.
This feature branch implements two new classes of command handlers for redisbetween (versus the current round trip handler): subscription and blocker, both of which implement a reservation interface. Both implementations overlap a good bit, where incoming commands from local connections are grouped according to the channels they subscribe to or the source list that they are blocking on. Reservations still use connections from the main connection pool, but are limited via configuration. Reserved connections are returned to the pool when all local clients have unsubsribed or when the queue of blocking commands for a given blocker reservation has been emptied.
The primary difference between subscription and blocker is how messages are read from the upstream and then sent to the locals. subscription will subscribe to the appropriate channel and then listen for newly published messages, broadcasting any received message to all locals currently subscribed. blocker will form a queue of all incoming commands for the same source and send each command to the upstream in sequence, responding to the corresponding local once the upstream is unblocked or times out, and then moving to the next command in the queue.
blocker:

subscription:

Notes for Reviewing
I recognize this format is a bit difficult for review when the discrete commit history is omitted. Sorry in advance with respect to that. Here are the primary concerns and areas to look at as a guide to the PR:

Implementation and tracking of reservations in handlers/reservation.go and across proxy/proxy.go and handlers/command.go.
Implementation of subscriptions (it's the simpler of the two), noting the subscribe/unsubscribe mechanisms, broadcasting, and thread safety.
Implementation of blockers, noting the enqueue/dequeue mechanisms, timeout adjustments, and thread safety.
Configuration constraints and enforcements in config/config.go.
Signal handling for quit/shutdown/kill.
Tests and the rest.

@dustMason - you may be interested in this given some of our past conversations.

Hi 👋 thanks for the ping. Haven't had the time to look deeply yet, but do I understand correctly that for blocking / subscription commands, redisbetween will open and maintain a single connection to the upstream per client? eg, if multiple clients are all blocking on the same key via BRPOPLPUSH, redisbetween will maintain an upstream connection for each of them (up to the max)?
If that's the case, then is redisbetween performing any connection pooling? What's the added benefit of using redisbetween to proxy these blocking commands? Seems like we'd want a way to round-robin these blocking messages among connected clients while maintaining a single upstream connection. Likewise with subscriptions, we'd want to broadcast the same message to clients listening to the same key while holding one upstream connection. Apologies if this is already how it works and I'm misreading :)

@dustMason not quite (thankfully). In both the subscription and blocking approaches, we group by the command in some way.
For subscriptions, we reserve a single upstream connection for any incoming local subscription commands that subscribe to the same channel (i.e. if we have 25 local connections all issuing PSUBSCRIBE sidekiq-config, we will group them all on the same upstream connection, keyed by sidekiq-config). We issue the subscribe once to the upstream and then broadcast published messages to all the locals that are tracked on the reservation. We return the reserved connection to the pool if all locals have unsubscribed.
Similarly for blocking commands, we reserve a single upstream connection for all local commands that share the same source argument of a BRPOPLPUSH command (i.e. if we have 25 local connections all issuing BRPOPLPUSH default-queue working-queue 1, we will group them all on the same upstream connection, keyed by default-queue). At this point, only BRPOPLPUSH is supported but adding others would not be too difficult. This implementation differs from subscriptions in that commands are tracked with their local connection in a queue on the reservation. We pop off the queue, send it to the upstream (letting it block as long as specified) and then round tripping the response to the corresponding local. We then move onto the next command in the queue, adjusting specified timeouts accordingly (for the amount of time already spent in the queue). We return the reserved connection to the pool if there are no more blocking commands in the queue.

Ah, thanks for the explanation, that makes sense. Nice solution, well done 🙌

This Pull Request was merged without enough reviews
Please go here to review and +1


INFRA: Implement Build Project

You can review any of the newer Hassan repositories to see how this accomplished with the latest version of ADotNet. If need be see some of the past videos on the subject.
https://github.com/hassanhabib/ADotNet

Resolve in /users/pratikkaje/infra-configure-Build branch


Apps-added note-1553561

Added note. Please review

Docs Build status updates of commit 6c8c029:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/teams-apps-in-meetings.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


chore: Update cli docs with forge init

Plz can I have green square?

I just meant to copy-paste the forge --help output so that forge init was in the readme. I can clean up the structopt though.


Fix nested pipelining

Results of operations way down nested pipelines were not being
returned back.
Keep a counter of pipelining nesting levels in order to infer
whether we are in pipelining mode or not.

Thanks for the fix, @snmgian. Sorry for the delay in merging.


Bump mockito to 3.0.0-alpha+3

I ran update-packages --force-upgrade.
This PR bumps mockito to 3.0.0-alpha+3, which puts additional restrictions on mocks. Those additional restrictions will make for smoother rolls into Google internal, where mockito is about to enforce these restrictions.

@aam would you be able to take a look? Travis is happy. This is ready.

@srawlins wrote

@aam would you be able to take a look? Travis is happy. This is ready.

LGTM. Will you be able to land it?

:grin: I also don't have write access.

Thanks @aam!


The color of  View All Notifications should be blue on the mouseover in admin panel

Bagisto Version: Master
Steps To reproduce--
1. Login as an admin.
2. Click on the notification icon in the header
3. Mouseover on View All Notifications
Expected result:  The color of  View All Notifications should be blue on the mouseover
Actual result: The color of  View All Notifications is white on mouseover. Please find the screen recording  Here.

@jitendra-webkul
Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here for future reference.


Implement TEP-0033: Add enable-api-fields feature-flag

Changes
Implements TEP-0033:
https://github.com/tektoncd/community/blob/main/teps/0033-tekton-feature-gates.md
This commit introduces a new feature flag, "enable-api-fields", that
can be set to "alpha" or "stable". The default is "stable".
This commit provides a test helper, requireGate that allows an
integration test to be easily skipped if "enable-api-fields" is not
"alpha".
This commit also provides a way to run examples specific to each feature-gate:
New examples can be added under a directory called "alpha". When
the "enable-api-fields" flag is set to "alpha" the test runner will
only run those tests in "alpha" directories. Similarly if the flag is
"stable" then the examples under "alpha" will be prevented from running.
See the Step and Sidecar Workspaces branch for examples that use this
new mechanism:

https://github.com/sbwsg/pipeline/commit/ba4ca8d18e5a0c6a3ffc3e71424b95385314a5cf#diff-b33f1e031894c58e1c3f02fd3291bc14bdae76333d9c19a3b672b88736821a6b
https://github.com/sbwsg/pipeline/commit/ba4ca8d18e5a0c6a3ffc3e71424b95385314a5cf#diff-71bc2dcaacd303b560c738c3f1fb2e4eb35ebe628e8cf53038f7b85c63ccfb5d
https://github.com/sbwsg/pipeline/commit/ba4ca8d18e5a0c6a3ffc3e71424b95385314a5cf#diff-568a92e9e9f73030ce0dfbb15adf76f4e65e7e28aef0474421ba5b415911f9c7

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes
A new feature-flag, "enable-api-fields" has been added. Valid values are "alpha" and "stable". It defaults to "stable".

Setting the "enable-api-fields" flag tells Tekton what level of API stability you require in the cluster. As new features are added to Pipelines we'll first place those features under the "alpha" flag. When the feature is ready we'll promote it to "stable". This process is described in TEP-0033[1].

Opting in to "alpha" gives you early exposure to exciting new features as they're added to Pipelines but those features are still undergoing development and could be subject to backwards-incompatible changes.

[1] https://github.com/tektoncd/community/blob/main/teps/0033-tekton-feature-gates.md

/kind feature

TODO:

[ ] Add words to DEVELOPMENT.md to tell devs how to use these things when writing new features
[ ] Figure out how to conditionally Validate alpha features / deny submission when an alpha feature is used in "stable" environment.

/hold
Still work to be done on this.

Updated with a validation function that can be used by alpha API fields to guard them from being used when enable-api-fields is stable.

And now also updated with developer docs explaining how to use these new tools while writing feature-guarded code.  I think this is ready for review!

/hold cancel

thanks a bunch @sbwsg for all your hard work in implementing this, great work 👍
/approve

This looks great @sbwsg :smile:
Can't wait to use it to move https://github.com/tektoncd/pipeline/pull/3857 behind a feature gate !
Also, is there a concensus/guidelines around when/how a feature 'graduates' from alpha to stable ? These guidelines might be a little bit obvious with respect to testing rigour and community acceptability, but it would be nice to have these covered in a doc somewhere probably.

/approve

lgtm :pray

Also, are there any guidelines around when/how a feature 'graduates' from alpha to stable ? These guidelines might be a little bit obvious with respect to testing rigour and community acceptability, but it would be nice to have these covered in a doc somewhere probably.

Great question!  At the moment the TEP leaves it to the project OWNERS discretion:

This will likely require the feature being available for at least one release if not several releases (and maybe use in dogfooding) to be able to collect and handle user feedback.

@waveywaves would you be able to switch your approve to an lgtm?  This would put the PR into a mergeable state since Priti already added the approve.  Thanks a lot for reviewing!

I dunno if it will work, but I'll give it a go.
/lgtm


#add: get-started ES

I begin the translation of the first element called get-started.

Awesome! I think you should also translate the frontmatter (title / tocTitle / description) so it comes up translated in the menu etc?

Oh, you're right, I just saw it in the guide, in the next commit I'll fix it. :)

I translated them in the revision ;)
ready to be merged in next PR.
On Thu, Apr 12, 2018 at 11:49 AM, Carlos Iván Suarez <
<EMAIL_ADDRESS>wrote:

Oh, you're right, I just saw it in the guide, in the next commit I'll fix
it. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hichroma/learnstorybook.com/pull/14#issuecomment-380832820,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABaESCgAGKiM__YGdW1H9PNz5c2zImdzks5tn2mLgaJpZM4TRHVj
.


Evaluate Datalore feasibility

From Discord:

The free plan for jupyter notebook hosting from JetBrains found here (https://datalore.jetbrains.com/) is better than colab in a LOT of ways. I think the only real thing that's missing is free GPU, but it has 2 active notebooks, scheduled runs, workspace files (great for storing env variables), the same tab completion as pycharm, access to the terminal, aws and gcp storage, and probably some more I'm forgetting it'd be amazing if we could get support in the browser plugin for that site too.

https://discord.com/channels/1027685395649015980/1107779192805933108/1107779192805933108

I've found they use Monaco, so consolidating this request in #9.


Do not mark \citep as error when natbib is not used but biblatex with natbib emulation is

Hi, I am using PyCharm 2018.3.4 and TeXiFy IDEA 0.6.5.
I noticed that my usages of \citet, \citep, \citenp and \citeauthor are marked in red (errors) because there is no \usepackage{natbib} statement. However, I am using BibLatex in natbib compatibility mode (i.e. \usepackage[natbib]{biblatex}), which provides the above commands. It would be great if the plugin realised this and did not mark them as errors.

Thanks for the report!
Where does the command \citenp come from? Doesn't compile here. Agree with the others of course.
Test files:
\documentclass{article}
\usepackage[natbib]{biblatex}
\addbibresource{books.bib}
\begin{document}
    I cite~\citet{greenwade93}
    and~\citep{greenwade93}
%    and~\citenp{greenwade93}
    and~\citeauthor{greenwade93}.
    \printbibliography
\end{document}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}

I cannot find citenp indeed. I must have dreamed about it, my apologies! According to Overleaf's page on natbib, 6 commands exist in that group: \citet{}, \citep{}, \citet*{}, \citep*{}, \citeauthor{}, \citeyear{}. I think including all those 6 would be enough!


Improve speed of int-to-bool conversions

Use a simple function that tests the bool and returns 0 for false and
1 for true, rather than a map that does the same thing, as Go appears
to compile the former into much faster code.

This change is

This should fix https://github.com/elliotchance/c2go/issues/795.


Add check for CVE-2015-6609

https://android.googlesource.com/platform/system/core.git/+/6b667fddeb871338ac7b42d2a005f3d933004e15
There looks to be a (non-functioning) test here: https://android.googlesource.com/platform/system/core.git/+/6b667fddeb871338ac7b42d2a005f3d933004e15^!/#F17

-6608 was easier to check for and in the same Android security bulletin as this one -- closing for now.
#61


Upgrading GHA to Node 16

Description
Upgrading GHA to use Node 16, to ensure everything is working on Node 16 before deployment.
Changes

Switched from using node 12 to node 16 on GHA

They are coming in another PR


Update LICENSE with proper year and name

See Issue #330
Copy from https://github.com/google/fastboot-mobile/blob/master/LICENSE

LGTM, thanks!


In the about page, add a new section called Issues Triaging team

I am interested in working on this issue. Can I get a Figma design for the section mentioned above?

I'm ready to work on this , can i get some more info on what should be present in that section, ill come up with the design and implement it.

@tachyons i've worked on the issue .. kindly review my PR. #5068

P.S: I'm new to open source ... any sort of rectifications are welcome...

@tachyons i've worked on the issue .. kindly review my PR. #5068  P.S: I'm new to open source ... any sort of rectifications are welcome...

Why your PR is not getting merged , is there any specific reason or the maintainers are not active nowdays

No idea.. probably this issue is not in priority...

@tachyons i've worked on the issue .. kindly review my PR. #5068  P.S: I'm new to open source ... any sort of rectifications are welcome...

Why your PR is not getting merged , is there any specific reason or the maintainers are not active nowdays

No idea .. probably this issue is not in their priority ...

Thank you so much it was my first ever PR


xterm redirection needs to be left on

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Problem
Synopsys (customer) is trying to launch storage explorer from a Citrix terminal to a linux desktop.
Desired Solution
Linux Storage explorer redirect and launch in a Citirx terminal of a Linux client.
Alternatives and Workarounds
No response
Additional Context
Synopsys has launched a SaaS platform on Azure for ite EDA customer to utilize Synopsys tools as a service. First step is data transfer into Azure and it is proving cumbersome to move data in blob containers.  they are trying to use Linux version of storage explorer for their customers to ease the use.  the azcopy cli is cumbersome and not intuitive enough for a service.  I can get the customer on a call for more specific details.  see TrackingID#<PHONE_NUMBER>001953 for more specifics of troubleshooting.

Relevant message on failure:
evalpv6@edprj316-submit storageexplorer]$ StorageExplorer --disablble-extensions -disable-gpu
[2023-01-24T18:06:40.528Z] (main:5504)  Log file: /remote/usrhome/evalpv6/.config/StorageExplorer/logs/2023-01-24_100640/2023-01-24_100640_main_5504.log
[2023-01-24T18:06:40.531Z] (main:5504)  Log level: info
[2023-01-24T18:06:40.531Z] (main:5504)  Startup app state:  {
    lastWindowState: { rect: { x: 0, y: 0, width: 1000, height: 768 }, maximized: false },
    disableGpu: false,
    dialogAutoResponse: {}
  }
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /remote/usrhome/evalpv6/bin/storageexplorer/resources/app/node_modules/keytar/build/Release/keytar.node)
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:5:1810)
    at Module._extensions..node (node:internal/modules/cjs/loader:1252:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:5:1810)
    at Module.load (node:internal/modules/cjs/loader:1035:32)
    at Module._load (node:internal/modules/cjs/loader:876:12)
    at c._load (node:electron/js2c/asar_bundle:5:13339)
    at Function.load [as _load] (/remote/usrhome/evalpv6/bin/storageexplorer/resources/app/out/app/SdkLoading/SdkRequireInterceptor.js:28:37)
    at Module.require (node:internal/modules/cjs/loader:1059:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object. (/remote/usrhome/evalpv6/bin/storageexplorer/resources/app/node_modules/keytar/lib/keytar.js:1:14)
    at Module._compile (node:internal/modules/cjs/loader:1167:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1222:10)
    at Module.load (node:internal/modules/cjs/loader:1035:32)
    at Module._load (node:internal/modules/cjs/loader:876:12)
    at c._load (node:electron/js2c/asar_bundle:5:13339)
    at Function.load [as _load] (/remote/usrhome/evalpv6/bin/storageexplorer/resources/app/out/app/SdkLoading/SdkRequireInterceptor.js:28:37)
[5504:0124/100641.013432:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[5504:0124/100641.013849:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")

@MRayermannMSFT i believe they are using the tar.gz.  I am pretty certain they stepped through the troubleshooting steps with MSFT support.  MSFT support has deferred back to the product team.  If you can, please refer to the case notes.  that should detail the steps already taken.  I am opening this case for the customer, but I am not specifically hands on with the product since it is in their subscription.  I will be glad to facilitate an email chain to provide the full details.  FYI, it is a production blocker for the customer at the moment.

@gidipas no I don't have any updates. I'm still waiting for more explanation on why there is a belief that this is an issue with xterm when there is a clear error about something else, which doesn't sound to be xterm related. I don't have access to any sort of case notes or anything like that.

Hi Matthew,
Thanks for the response.  I apologize, I assumed you would have access to tools when they were related to your product.  I have sent an ask back to the customer for more specifics.  I trust that the customer has already run down most of these, but I will ask for clarification on what that error is for and more specifics of how Storage Explorer is being deployed.
From: Matthew Rayermann @.>
Sent: Thursday, February 23, 2023 3:08 PM
To: microsoft/AzureStorageExplorer @.>
Cc: Giancarlo DiPasquale @.>; Mention @.>
Subject: Re: [microsoft/AzureStorageExplorer] xterm redirection needs to be left on (Issue #6531)
@gidipashttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgidipas&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=fGOx%2BK5SGY0tLMKsQ4ND01C8d9OrJxbpsPjxC0P58%2Bw%3D&reserved=0 no I don't have any updates. I'm still waiting for more explanation on why there is a belief that this is an issue with xterm when there is a clear error about something else, which doesn't sound to be xterm related. I don't have access to any sort of case notes or anything like that.

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzureStorageExplorer%2Fissues%2F6531%23issuecomment-1442366223&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=RDcnXOlAfAuZRMfJRb4iTCY6pDApQKWN51zOIWzeP48%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMETYIY4NGMROTCDUY2ZE33WY67RFANCNFSM6AAAAAAUVVJF7U&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=F%2FU7OKKOZVP4vJ%2BfoQSB06c0yCbRmnN4GBbzSJbe%2Fgg%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Hi Matthew,
As I suspected, the error message is spurious and unrelated. They have examples both with and without the error and the forwarding problem persists.  Attached you will find annotated case notes.  It appears you worked on this case previously.  We can surmise that Synopsys is asking to see if any progress has been made to address the issue from that previous case.
Can we support the ask?  We would like to provide an update on if this has been reviewed and is possible or should we try to find an alternative?
Look forward to your thoughts.  We can also facilitate a call with the customer for more information if you would like.  Let us know.
Best,
Gi
From: Giancarlo DiPasquale
Sent: Thursday, February 23, 2023 4:40 PM
To: microsoft/AzureStorageExplorer @.>; microsoft/AzureStorageExplorer @.>
Cc: Mention @.>; Damian Hasak @.>; Patrick Gary @.***>
Subject: RE: [microsoft/AzureStorageExplorer] xterm redirection needs to be left on (Issue #6531)
Hi Matthew,
Thanks for the response.  I apologize, I assumed you would have access to tools when they were related to your product.  I have sent an ask back to the customer for more specifics.  I trust that the customer has already run down most of these, but I will ask for clarification on what that error is for and more specifics of how Storage Explorer is being deployed.
From: Matthew Rayermann<EMAIL_ADDRESS>Sent: Thursday, February 23, 2023 3:08 PM
To: microsoft/AzureStorageExplorer<EMAIL_ADDRESS>Cc: Giancarlo DiPasquale<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/AzureStorageExplorer] xterm redirection needs to be left on (Issue #6531)
@gidipashttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgidipas&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=fGOx%2BK5SGY0tLMKsQ4ND01C8d9OrJxbpsPjxC0P58%2Bw%3D&reserved=0 no I don't have any updates. I'm still waiting for more explanation on why there is a belief that this is an issue with xterm when there is a clear error about something else, which doesn't sound to be xterm related. I don't have access to any sort of case notes or anything like that.

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzureStorageExplorer%2Fissues%2F6531%23issuecomment-1442366223&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=RDcnXOlAfAuZRMfJRb4iTCY6pDApQKWN51zOIWzeP48%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMETYIY4NGMROTCDUY2ZE33WY67RFANCNFSM6AAAAAAUVVJF7U&data=05|01|G.DiPasquale%40microsoft.com|980a869adb0d4d8b5e4508db15d9a1ba|72f988bf86f141af91ab2d7cd011db47|1|0|638127796698018663|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=F%2FU7OKKOZVP4vJ%2BfoQSB06c0yCbRmnN4GBbzSJbe%2Fgg%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@gidipas if you're responding to GitHub via email you cannot attach things to your email. You have to come to GitHub to add attachments. Feel free to also just reach out over teams.

Please pass on these links to the customer to see if they are of any help. The first and second seem especially promising.

https://github.com/microsoft/vscode/issues/137850
https://github.com/atom/node-keytar/issues/132
https://github.com/Noovolari/leapp/issues/153

Closing due to lack of response.


Authorizer not yet working

apiVersion: admissionregistration.x-k8s.io/v1alpha1
kind: ValidatingAdmissionPolicy
metadata:
  name: "demo-policy.example.com"
spec:
  failurePolicy: Fail
  matchConstraints:
    resourceRules:
    - apiGroups:   ["apps"]
      apiVersions: ["v1"]
      operations:  ["CREATE", "UPDATE"]
      resources:   ["deployments"]
  validations:
    - expression: "authorizer.group('apps').resource('deployments').check('create').allowed()"

$ k create deploy --image=nginx nginx --replicas=2
error: failed to create deployment: admission webhook "cel-shim.example.com" denied the request: deployments.apps "nginx" is forbidden: ValidatingAdmissionPolicy 'demo-policy.example.com' with binding 'demo-binding-test.example.com' denied request: expression 'authorizer.group('apps').resource('deployments').check('create').allowed()' resulted in error: no such attribute: id: 1, names: [authorizer]

Thank you for creating this issue! Just to clarify, it is working in the in-tree feature but not work as expected in current out of tree implementation.


Implement Redis Override in Config-Seed

For the Edinburgh release, we need a way to seed Consul with Redis connectivity configuration via docker-compose. The proposal is to add a cmd line flag such as
--database=redis
-d=redis

The default value would be mongo for now. If this flag is set then right before config-seed puts the configuration into Consul, the Port and Type properties of the primary database configuration should be set to
Port=6379
Type=redisdb

Adding this flag will allow us to override the default Docker entrypoint for the config-seed from a docker-compose file using a command parameter. (see here)
Example usage from our security docker-compose file is here

Why isn't it enough to simply have different config-seed read different config files for redis vs mongo? That's how I've been handling it in the snap is just by automatically changing the config files to use redis and then running config seed with the config files again.

We could but we would need to publish a separate Docker image then, and I'm trying to come up with a solution that doesn't put more work into the DevOps pipeline at the last minute.

As recommended in the PR, I think a cleaner solution to this short-term would be to have a different set of configuration files specific to redis in the container and then in docker-compose for redis override the arguments to config-seed to specify the folder for redis configuration files instead of the mongo configuration files

1.) That would require duplicating all of the configuration.toml files in all services with the only difference in them being the Database/Type and Port. These would then be copied into the config-seed image to support the use case, but wouldn't ever be used directly by the individual services -- which is confusing. In the proposed PR the variation is encapsulated and managed completely within the config-seed.
2.) Since "profile" is already used as a command line flag and maps to subdirectories within the ./res folder, we can't put these in a new directory so we'd need to name them accordingly -- something like configuration_redis.toml
3.) We would still need command line flag support for config-seed.
Since #3 is needed regardless, the solution can be refactored after Edinburgh without breaking backward compatibility.

Why do you need additional command line flag support for config-seed? You already have this with the --confdir and --profile options. I imagine you would just do something like:
config-seed dockerfile:
ENTRYPOINT bin/config-seed
CMD --cmd /config -confdir /config/config-seed/res --props /config/config-seed/res/properties

mongo compose (i.e. default):
  config-seed:
    image: edgexfoundry/docker-core-config-seed-go:0.7.1
    container_name: edgex-config-seed

redis compose:
  config-seed:
    image: edgexfoundry/docker-core-config-seed-go:0.7.1
    container_name: edgex-config-seed
    command: ["--cmd" "/config-redis" "-confdir" "/config-redis/config-seed/res" "--props /config-redis/config-seed/res/properties"]

(note that this isn't exactly the same as the current /edgex/cmd/... directory structure, but you should get the idea from above)
This way the only thing you need to change for Edinburgh is to create additional configuration.toml files in the docker container - you don't even have to commit them to edgex-go, you could easily generate them using the mongo ones in edgex-go during the docker image build process.
Regarding 2, AFAICT none of the services ever use the configuration files from config-seed currently when using docker, they all use consul? How would it be different to have additional files in the config-seed image?

Regarding 2, AFAICT none of the services ever use the configuration files from config-seed currently when using docker, they all use consul? How would it be different to have additional files in the config-seed image?

If you look here, you can see that ALL of the service config files are copied into the config-seed image. The issue isn't the config-seed's configuration. The approach above would require a duplicate config file for all services, as I was saying above, which would only be used for this operation. This is because config-seed uses each individual service config to populate Consul. As said above, I'm not going to create a directory for Redis because sub-directories inside of ./res already map to the profile flag. Thus I would have to create a configuration-redis.toml for each service with only two values being different which seems inefficient to me. And in order to tell config-seed to read that file, I would need to hand it some kind of new parameter anyway.
I think we're going to have to agree to disagree here.

Also remember that the solution has to work in a situation where the services are deployed natively (no Docker) and using Consul.

in order to tell config-seed to read the correct file I would need to hand it some kind of new parameter anyway.

I don't think this is true, I think the combination of the -profile and -confdir options in edgex-go right now are sufficient to solve this. If you still don't understand how to use this from my above examples perhaps as you say I should just submit an PR to explain how those options can be used. I had hoped the Dockerfile and docker-compose snippets above would be sufficient to see how this would work.
To your other point, yes the other service config files in the config-seed container would be duplicated, but I just checked and it's only ~9 KB for all the configuration.toml files in the docker folders:
$ for f in $(find $(pwd)/cmd -name configuration.toml | grep docker/configuration.toml); do ls -l $f | awk '{print $5}'; done | paste -s -d+ - | bc
9317

Personally I think having 1 container be 9 KB larger is better than adding a flag like this.


Series of prep commits for topic action sheet related changes

Taken from #1041.
Other PRs that rely on this:

#1103
#1076

Requested by @gnprice here.

Merged. @rajveermalviya FYI — this version has fixed that issue you discovered when combining #1103 with the corresponding commits in a previous revision of #1041, so I expect a merge conflict but it should be easy to fix by just dropping the commits that came from #1041 when you rebase #1103 atop the new main.


Interface of Go libraries are different from Java and Node.js

The interface between Java and Node.js libraries are the same, but Go seems quite different.

auth_core
https://github.com/yahoo/athenz/tree/master/libs/java/auth_core
https://github.com/yahoo/athenz/tree/master/libs/nodejs/auth_core
zpe
https://github.com/yahoo/athenz/tree/master/clients/java/zpe
https://github.com/yahoo/athenz/tree/master/clients/nodejs/zpe

Should we modify the interface of Go libraries to be the same as Java?
Thank you,
Chris

@havetisyan Hi Henry,
Yes, there is no ZPE library or auth_core in Go.
My question is that if we should change the existing interface of the libraries.
I would be mostly done by changing the structures.
For example:
We can move this function to a different package, add the functions which are missing (other packages) and name it auth_core.
https://github.com/yahoo/athenz/blob/master/libs/go/zmssvctoken/token.go
Thank you,
Chris


Provided an option to prevent any page modification

To me the article was confusing as I was looking for a way to prevent members to create any kind of pages. I found out that fiddling with the "Site Pages" feature only disables creation of modern pages, but still allows classic pages to be created. I don't really see in which scenario this would be useful. To provide people in the same scenario as me, so wanting to disallow any kind of page creation of modification, at least a hint towards how to accomplish this, I've added a hint towards how to do that to the notice box.

can you paste in the URL to where this change is to be??

@kaarins this is the page for the request.   SharePoint/SharePointOnline/let-users-create-modern-site-pages.md

Correct, this is the URL: https://docs.microsoft.com/en-us/sharepoint/let-users-create-modern-site-pages

@kaarins and @Techwriter40 - OK to merge?

I am OK with it, but more Kaarin's space than mine.


Enable master branch protection

      This repository does not seem to have master branch
      protection enabled, at least in the way I'm expecting.
      I was hoping for:

      - master branch protection
      - requiring at least one code reviewer
      - requiring at least two status checks
      - enforcing rules for admins

      Please turn it on!

Will turn this on when the first iteration of the microgenerator is done, current estimate is the start of October.

Curiosity - which parts prevent us from enabling it now?  Not pushing back, just trying to learn.

Development speed.

Sure - I guess what I was asking is:

Are you doing git push origin master?
Or are you doing PRs, and not requiring code reviews?
Or do you have tests, you just don't care right now if they're passing?

Our development model merges PRs in from non-master branches,  and OWNERS approval with passing tests, linter checks, and the CLA check. Without any of this, there can be no pushes to master. So we do have master branch protection, and we can enable the stricter variant in this bug soon enough.

Mira, your existing process sounds good.  Is there a reason to not enable branch protection today?

Closing as fixed.


Corrected bug in Lifetime reference count

The addFactory in ConcurrentDictionary's GetOrAdd isn't guaranteed to be called only once, yielding incorrect reference counts. Switched to a lazily evaluated singleton to avoid this

Thanks.
I would have thought you would be more creative with the branch name, though.
I pushed this to master, but somehow GitHub didn't get the message and left it open. For whatever reason, I don't have the ability to close pull requests on GitHub from the UI, the only way I can do it is by pushing another commit with a special #closes 210 commit message. So, if you don't mind (and you can see a close button here), please close this pull request, it is accepted.

Good morning Shad,
I followed your detailed instruction to the letter and was so happy it worked. And “vincents-amazing-patch” sounded creative enough .
I closed the pull request, and got this as a message:
Closed with unmerged commits
This pull request is closed, but the vvdb:vincents-amazing-patch branch has unmerged commits.
… with a button  “Delete branch”. I did not click on that button. But can I? If so, next time I’ll have a more creative name, such as vincents-attempt-at-a-pull-requests-waiting-for-Shad-s-approval. Or something like that…
Vincent
From: Shad Storhaug<EMAIL_ADDRESS>Sent: Wednesday, August 02, 2017 8:07 AM
To: apache/lucenenet<EMAIL_ADDRESS>Cc: Van Den Berghe, Vincent<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [apache/lucenenet] Corrected bug in Lifetime reference count (#210)
Thanks.
I would have thought you would be more creative with the branch name, though.
I pushed this to master, but somehow GitHub didn't get the message and left it open. For whatever reason, I don't have the ability to close pull requests on GitHub from the UI, the only way I can do it is by pushing another commit with a special #closes 210 commit message. So, if you don't mind (and you can see a close button here), please close this pull request, it is accepted.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/apache/lucenenet/pull/210#issuecomment-319576869, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ARBXptBSLCcJVQHf5CnF-D45zdhHCuCHks5sUBIQgaJpZM4Ophnh.

As you can see your commit is here: https://github.com/apache/lucenenet/commits/master
What you do with the branch on your GitHub account is up to you. Personally, I usually just keep them in case I need to review them later - it is easier to find your commits when they are on top of your own branch than buried among everyone else's. And GitHub won't send you a bill for keeping them.


Unable to retrieve the list of sites for Admin view

🐞 Bug Report
I don't know if it is covered as a part of existing issues if so kindly close this issue.
For admin user, upon visiting the sites page, the spinner keeps on loading

Upon further inspection, we are getting the following stack trace in the backend
server            | [04/Jan/2023 09:45:44] "GET /api/trak/site/ HTTP/1.1" 500 16016
server            | Internal Server Error: /api/trak/site/
server            | Traceback (most recent call last):
server            |   File "/opt/venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
server            |     response = get_response(request)
server            |   File "/opt/venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
server            |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
server            |     return view_func(*args, **kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/django/views/generic/base.py", line 103, in view
server            |     return self.dispatch(request, *args, **kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
server            |     response = self.handle_exception(exc)
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
server            |     self.raise_uncaught_exception(exc)
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
server            |     raise exc
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
server            |     response = handler(request, *args, **kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/generics.py", line 199, in get
server            |     return self.list(request, *args, **kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/rest_framework/mixins.py", line 38, in list
server            |     queryset = self.filter_queryset(self.get_queryset())
server            |   File "/app/apps/trak/views/sites.py", line 28, in get_queryset
server            |     return RcraProfile.objects.get(user=user).epa_sites.all()
server            |   File "/opt/venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
server            |     return getattr(self.get_queryset(), name)(*args, **kwargs)
server            |   File "/opt/venv/lib/python3.10/site-packages/django/db/models/query.py", line 650, in get
server            |     raise self.model.DoesNotExist(
server            | apps.trak.models.rcra_profile.RcraProfile.DoesNotExist: RcraProfile matching query does not exist.

We need to find out why the backend is failing. Also, we need to let the front-end know that something went wrong and we need to display an appropriate error message to the user.

Thanks for the issue!
similar to what I was talking about in #204, Our fixture data currently only includes 3 instances.

a User instance for testuser1
a User instance for admin
a RcraProfile for testuser1

The User modal is responsible authentication (why we can login with both testuser1 and admin) but RcraProfile is responsible for access to sites, site permissions, and other things related to interfacing with the RCRAInfo Restful APIs.
With that being said, you're right. The server should handle this gracefully.
Without looking, I bet the server is responding with a 500 code which we could also handle better on the front end by displaying an error. Would you like to take a look into that?
BTW I appreciate your contributions so far, it's given me a chance to focus on the server which has been neglected recently :)

@dpgraham4401 , sure I can take up adding sad path validation in frontend and displaying an error modal saying "something went wrong. Please try again after sometime" to the user. Will that be fine?
Also, can we inject some sample data into our postgres DB during docker-compose startup? Kindly let me know your thoughts.

Note fro #281 : example reason why it would be great to add back some fixtures that are loaded on start for new developers. The new developer was unable to, intuitively, reach the manifest related functionality because there are no sites loaded.
ToDO: add one of the preprod testing sites as a fixture.


Can't use WLAN interface as vip_interface

Describe the bug
I am trying to use the WiFi interface on my laptop as the vip_interface.  I am using this with DHCP to acquire a dynamic address for the VIP. It fails because it can't find the interface. I am using this for my local test setup.
To Reproduce
Steps to reproduce the behavior:

kubectl apply -f kube-vip.yml
kubectl expose deployment hello-eks-a --port=80 --type=LoadBalancer --name=hello-eks-service --load-balancer-ip=<IP_ADDRESS>
Check the pod logs and you will see an error "not a valid interface"

Expected behavior
Should be able to use the WiFi interface
Screenshots
time="2022-04-15T17:33:03Z" level=info msg="Service [hello-eks-service] has been addded/modified, it has an assigned external addresses [<IP_ADDRESS>]"
time="2022-04-15T17:33:03Z" level=error msg="Error finding VIP Interface, for building DHCP Link : Link not found"
Environment (please complete the following information):

OS/Distro: [e.g. Ubuntu 2104]
Kubernetes Version: [e.g. v.1.22]
Kube-vip Version: [e.g. 0.3.5]

Kube-vip.yaml:
apiVersion: apps/v1
kind: DaemonSet
metadata:
creationTimestamp: null
name: kube-vip-ds
namespace: kube-system
spec:
selector:
matchLabels:
name: kube-vip-ds
template:
metadata:
creationTimestamp: null
labels:
name: kube-vip-ds
spec:
hostNetwork: true
containers:
- args:
- manager
env:
- name: vip_arp
value: "true"
- name: vip_interface
value: "wlp164s0"
- name: port
value: "6443"
- name: vip_cidr
value: "32"
- name: svc_enable
value: "true"
- name: vip_startleader
value: "false"
- name: vip_addpeerstolb
value: "true"
- name: vip_localpeer
value: bfd96b9fcdc3:<IP_ADDRESS>:10000
- name: vip_loglevel
value: "5"
- name: vip_address
image: plndr/kube-vip:0.3.5
imagePullPolicy: Always
name: kube-vip
resources: {}
securityContext:
capabilities:
add:
- NET_ADMIN
- NET_RAW
- SYS_TIME
serviceAccountName: kube-vip
updateStrategy: {}
status:
currentNumberScheduled: 0
desiredNumberScheduled: 0
numberMisscheduled: 0
numberReady: 0
Additional context
The only interface that works is "eth0" but DHCP fails later on because this is not a valid interface on my host. It makes me believe that hostNetwork:true is not taking effect i.e it is not able to see host interfaces.

Can you try with the latest image release, that version is quite old?

Here is the output:
time="2022-04-22T19:17:24Z" level=info msg="Starting kube-vip.io [v0.4.4]"
time="2022-04-22T19:17:24Z" level=fatal msg="wlp164s0 is not valid interface, reason: get wlp164s0 failed, error: Link not found"
I think "hostNetwork: true" does not mean you see all the host interfaces; only the host network is reachable. I have created a simple program to just do this:
package main
import (
"fmt"
"github.com/vishvananda/netlink"
)
func main() {
_, err := netlink.LinkByName("wlp164s0")
if err != nil {
fmt.Println("error finding VIP Interface, for building DHCP Link : %v", err)
return
}
fmt.Println("Worked..")
}
If you run this under with "docker -net host", it prints "Worked". If you deploy this under k8s with hostNetwork:true, it prints the error message. Let me know if I am missing anything

This is stale at this point.


Added missing functions from libusb.h

Fix #19

This looks great, @a1ien , thanks!

This looks great, @a1ien , thanks!

Sorry to bother you about this @a1ien , but I just went to update my project to use this and noticed that the version isn't changed, I guess it needs a minor version bump.  No rush from my end, I'm happy to keep using my local workaround in the mean time.

Sorry to bother you about this @a1ien , but I just went to update my project to use this and noticed that the version isn't changed, I guess it needs a minor version bump.  No rush from my end, I'm happy to keep using my local workaround in the mean time.

I plan to publish a new version in the next couple of days

I plan to publish a new version in the next couple of days

Done.

Done.


Failure to capture full precision for low (maybe subnormal) values

When investigating #144, the problem is actually string read of a small number.
The reduced test case finds that cpp_double_double loses precision when reading in the following control value.
$$8.9699910066184047911669732896043282222388381719332458957375{\phantom{.}}{\times}10^{-292}$$
Test code follows below.
#include <iomanip>
#include <iostream>

#include <boost/multiprecision/cpp_double_fp.hpp>
#include <boost/multiprecision/cpp_dec_float.hpp>

int main()
{
  using boost::multiprecision::cpp_double_double;

  using float_type = typename cpp_double_double::backend_type::float_type;

  using dec_float_type = boost::multiprecision::number<boost::multiprecision::cpp_dec_float<31>, boost::multiprecision::et_off>;

  const auto ctrl1 = cpp_double_double("0.89699910066184047911669732896043282222388381719332458957375089781363329036291716592940465828282353321e-291");
  const auto ctrl2 = dec_float_type   ("0.89699910066184047911669732896043282222388381719332458957375089781363329036291716592940465828282353321e-291");

  const auto flg = std::cout.flags();

  std::cout << std::setprecision(static_cast<std::streamsize>(std::numeric_limits<cpp_double_double>::digits10)) << ctrl1 << std::endl;
  std::cout << std::setprecision(static_cast<std::streamsize>(std::numeric_limits<dec_float_type   >::digits10)) << ctrl2 << std::endl;

  std::cout.flags(flg);
}

I think we might be able to fix this by scaling up small numbers (via ldexp() or similar) at the time of reading them and subsequently scaling the result down when string conversion is finished.

Thank you for investigating this. Indeed it looks like subnormal numbers.

Over the top of my head question (I could be entirely silly here): is -292 within the supported exponent range? I think -308 + 106 / 3.3 == -273 (+-1) is the minimum supported exponent. Below this, everything falls into subnormal (for our case: zero) territory.
@ckormanyos

Over the top of my head question (I could be entirely silly here): is $-292$ within the supported exponent range? I think $-308 + 106 / 3.3 == -273 {\pm}1$ is the minimum supported exponent.

You are reading my thoughts. I#m not sure about this one. I think we can hold numbers down to the currently set minimum value, but we need to be careful when reading them in.
I'm also not entirely sure here.
Let's take the minimum value of double, say std::numeric_limits<double>::min(). Suppose we set the low part of a cpp_double_double to that value. Then I could do something like left-shifting that (ldexp() for floating-point types) up to the high part. And we could still fit another minimum value into the low part.
So it makes sense that the minimum value is approximately of the order we have. I'm not exactly sure if this is correct. But I think it might be. Then we need to ensure that we have the right value set for cpp_double-fp<>::my_value_min().
Thoughts?
Cc: @sinandredemption and @cosurgi

Suppose we set the low part of a cpp_double_double to that value. Then I could do something like left-shifting that (ldexp() for floating-point types) up to the high part. And we could still fit another minimum value into the low part.

You're absolutely right.
I think that's what is currently implemented in my_value_min(). The only problem is we don't have enough checks (during arithmetic operations, for example) for underflows.

You're absolutely right.

I think that's what is currently implemented in my_value_min().

Indeed. I had also yesterday changed the value of cpp_double_fp<>::my_value_min() to reflect this. Have a look and see if you agree?

The only problem is we don't have enough checks (during arithmetic operations, for example) for underflows.

Yes. I will also very soon PR some slight modifications to the rd_string() method which should allow us to properly read in those small-valued string representations that are near, but slightly above the minimum value.
I will get these new changes in ASAP.
Thanks Fahad! (@sinandredemption)

CI is cycling now in #146

Yes. We have a few edge cases that we still need to catch in the operations.

This sounds like a job #136 could handle. I will work on this and report back to you.

have a few edge cases

a job #136 could handle

Indeed Fahad (@sinandredemption). I believe that is a good place to hammer the limits and edge cases. There will be a bit of tiny work on rd_string that i will do for numbers very close but barely above the minimum value.
Other than that, i think tightening up our detection of edge cases will be helpful for the failing tests.
The failing specfun tests in the latest CI are now down to 3 files:

test_ibeta_inv_1.cpp
test_carlson_2.cpp
test_bessel_k.cpp

The failures in BesselK are trivially insignificant, all related to cyl_bessel_k(-1000, 700).
I'll look into the above two files. i think the ibetac_inv() failures are interesting since they involve a failure of a root-finding iteration to converge. And this does not seem like a tolerance problem (well maybe it is). But it could also be an algebraic problem.
I wil linvestigate and isolate a root (and its brackets) that does not coverge.
Keep going on tightening up the edge case in general Fahad and we will keep moving forward.
kind regards, Chris
Cc: @cosurgi

Fixed by #146


As a user I want to Add a new pet to the store

3.1 @happy
Given I send a POST request to the Petstore API
And I have entered Valid information
When I send the POST request
Then I should recieve a 200 Successful Operation status Code
AND the store should contain the new pet


GraphQL Support

BlackSheep looks promising but anyone tried to implement Graphene for GraphQL?

Thanks @psdon, I didn't look into this, yet.
Currently I am working on adding support for automatic generation of OpenAPI Documentation. This is something I already planned to add before knowing that FastAPI does the same, because I've been using ASP.NET Core with Swashbuckle in the last years. I am going to add support for both OAS 3.x and 2.x, and both YAML and JSON formats.
Once this is done, I will, in order:

work on documentation
write a blog post about the latest improvements
work on other features currently missing (e.g. middleware to handle CORS, gzip, etc.).

Small update:

I published a new website with documentation here https://www.neoteroi.dev/blacksheep/
Support for generation of OpenAPI Documentation has been added to BlackSheep and is documented here

Things are happening!

@psdon Hi,
I believe in the future we definitely should implement GraphQL support for the BlackSheep, by the way in the near future we plan to work on WebSockets support, see #88
Thank you, and stay tuned.
Best,
Mykhailo

I think it is a good idea that you consider integration with strawberry-graphql

Has there been any progress on the implementation of GraphQL support?


Trace rootless

This builds on https://github.com/containers/bootc/pull/413

This will catch rootless podman cases even more reliably (assuming
we were invoked with --pid=host).

Test failure looks like an AWS flake?
+ greenprint 'Install centos-stream-9 bootc system'
++ date -Isecond
+ echo -e '\033[1;32m[2024-03-21T16:59:17-04:00] Install centos-stream-9 bootc system\033[0m'
[2024-03-21T16:59:17-04:00] Install centos-stream-9 bootc system
+ ansible-playbook -v -i /tmp/tmp.JzrW00HDAJ/inventory -e test_image_url=quay.io/redhat_emp1/centos-bootc-dev-test:j8qu playbooks/install.yaml
[WARNING]: Found both group and host with same name: guest
Using /var/ARTIFACTS/work-awsz91uao0l/plans/install-upgrade/aws/discover/default-0/tests/tests/integration/playbooks/ansible.cfg as config file

PLAY [guest] *******************************************************************

TASK [Gathering Facts] *********************************************************
fatal: [guest]: UNREACHABLE! => changed=false
  msg: |-
    Data could not be sent to remote host "<IP_ADDRESS>". Make sure this host can be reached over ssh: ssh: connect to host <IP_ADDRESS> port 22: Connection timed out
  unreachable: true

Test failure looks like an AWS flake?

Yeah, right now we aren't always gating on these, though we probably should.  But...I would also like to change the testing framework to inject testing code into the OS image, instead of being ssh-push based as it is now.  The former is much more in line with the philosophy here :smi


Enable pending cops – prepare for v3.0.0 release.

As mentioned in the last release PR, it’s over a year since we released v2.0.0. Let’s enable all the pending cops and make a v3.0.0 release soon 🎉

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

It makes sense to synchronize the 3.0 release with the RuboCop 2.0 release.
I was believing that RuboCop planned major releases every year. For the reason of not forcing users with more than a year worth of new pending cops being enabled at once. It's been 1.5 years since 1.0 was released.
It's unlikely, though, that RuboCop 2.0 will happen anytime soon.
My reasoning for doing a major version update is not to utilize the new rubocop APIs that we did with a minor 2.5.0 update, or dropping unsupported Ruby versions that we did with a minor 2.3.0 update. But just to split the burden of dealing with the many new cops.
I clearly understand that there's .rubocop_todo.yml, but from what I've seen in my practice, those "temporarily" disabled cops remain there forever (see e.g. ours).
If this sentiment doesn't resonate with your vision @Darhazer @bquorning, I have no hard feelings to closing this and postponing the release to follow the parent RuboCop release cycle.


Update README.md paths: -> path:

fixes #22

This was originally path, but then this was changed to paths to support multiple reports (comma separated). So using path won't work anymore.

The arg was renamed in v1.2 so this PR is no longer necessary


Blank localhost/testsql.php file

PHP 7.4.11
pdo_sqlsrv 5.8.1
sqlsrv 5.8.1
Ubuntu 20.04.1 LTS
Issue is I'm having a constant blank php file when I look at it from the browser.
Followed and installed curl, pdo_sqlsrv, sqlsrv, php, loaded drivers at php.ini, verified with phpinfo.php, verified php works with a simple php hello world file, verified php installed with php -v, yet when i run the sample script thats at the bottom of the page, and after i input the sql info, i always come up with a blank page.
Expected to see anything, even an error to be displayed while going to testsql.php
To reproduce error follow guide:
https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15#installing-the-drivers-on-ubuntu-1604-1804-and-2004
See also previous ticket:
https://github.com/MicrosoftDocs/sql-docs/issues/5639
Please assist thank you.

Assuming you're using Apache, @RickPerez10 , have you tried a simple phpinfo.php and view it under localhost? Are the drivers loaded?
Have you tried the same test using php in command line (not with Apache)?
What is the version of your SQL Server?

hi @RickPerez10 , I checked your previous ticket MicrosoftDocs/sql-docs#5639 and believed you made a typo in the following while loop. You had 4row instead of $row.
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
    echo $row['SQL_VERSION'] . PHP_EOL;
}

If this does not solve the problem, try running your testsql.php in a terminal and add the following block right after the above while loop:
if (empty($row)) {
   print_r(sqlsrv_errors());
}

Hi @RickPerez10 , I could reproduce the blank screen if I made the same typo in the php script. If running in a terminal, you would have seen an error like this: PHP Parse error:  syntax error, unexpected 'row' (T_STRING) in /home/jennyt/testsql.php on line 30
When running from Apache, the error log can be found in /var/log/apache2, like this:

We will update the documentation to add the location of Apache log files for troubleshooting.
I believe this issue has been resolved. Please feel free to reopen the issue if necessary.

Hi @yitam , Thanks for catching that typo, I fixed the mentioned error but I am still having a blank page on the browser while calling that testsql.php file, and yes I am running on apache.
I've yet to try running the file from the terminal so I will give that a try and get back to you.

Thanks @RickPerez10 . Please restart apache after making the change to your php script.
Feel free to reopen this if you still have issues.

@yitam  There were several errors with the script on my end, here's what I did and for records:
Find and fixed all syntax errors line per line on script by running php -f testsql.php , the test ran and spat out the results without issues. Thank you for your assistance everyone.

Nice, @RickPerez10. FYI, to reduce the chance of typos or errors you might want to copy the sample script and only modify the credentials for quick testing. Anyway, glad to be of help!


Set custom user-agent string

Warning: Untested, but I'm pretty convinced this will work based on how we set custom ua for terraform:

Compute Client: https://github.com/hashicorp/terraform/blob/master/builtin/providers/google/config.go#L103
Storage Client: https://github.com/hashicorp/terraform/blob/master/builtin/providers/google/config.go#L124

I couldn't find an appropriate version string to reference, so hard-coded it to 0.0.1.

Thanks @erjohnso! Do you mind fixing the indentation?
All the google functions needs adding testing. But I'm also sure this fix will work.

Thanks @erjohnso!


Using load_path to support Rails 5.

NOTE: Hence Rails 5 expects locale path as Rails::Paths::Path. So, we
should be using config.i18n.load_path to load locale files.

Since Travis doesn't work at the moment - Does this break backwards compatibilty with Rails <5?

(If not, I'll merge it in). Thank you for contributing - Apologies it's taken almost a year for me to look at this.


Detailed Report Message for GWS.CHAT.7.1 and GWS.CHAT.7.2

💡 Summary
Refactor GWS.CHAT.7.1 and 7.2 to include a detailed report message in the report.
Motivation and context

Chat has already been refactored to include detailed report messages
But new controls are being added to Chat: https://github.com/cisagov/ScubaGoggles/pull/187
While the ideal would be to add the new code with detailed report messaging, GWS.CHAT.7.1 involves multiple settings simultaneously (4 to be precise), something the existing utils code is not able to handle yet.
An update to allow the report details to detail multiple settings simultaneously is in review: https://github.com/cisagov/ScubaGoggles/pull/207
Creating this issue so that that baseline update to Chat is not blocked by an independent issue; Chat 7.1 and Chat 7.2 can be updated once both PRs are merged to main.

Implementation notes
NA
Acceptance criteria

Chat 7.1 has a detailed report message
Chat 7.2 has a detailed report message

Am I missing something or did the updated detail report messages get removed from main after the merge of #176

Am I missing something or did the updated detail report messages get removed from main after the merge of #176

Most of Chat still has the updated detail report messages in main (just double checked). But Chat.7.1 and Chat.7.2 are new and didn't get the update.


Build puppy agent with open source ARM images

What does this PR do?
This PR makes the build of the ARM version of the puppy agent use open source images from https://github.com/DataDog/datadog-agent-buildimages.
Motivation
Eat your own dogfood, the images were created for this purpose so let's use them.
Additional Notes
This PR has to be considered in coordination with #4634 but might be considered independently.

I proposed the latest commit 399a6f1 to apply the same logic to all ARM builds. What do you think @albertvaka ?


Search term conflicts

Noticed a few edge case problems with the search functionality. Specifically when searching for a subject matter like "ECON" you return several PHED courses because of the "sECONd half" text in the course title/information.

So I was thinking about this a little more, and we'll have to be careful with how we tackle this.
I think we need to make sure we're only adjusting this for course numbers/titles. Right now searching "Tekin" correctly returns results because Tekin is a subset of Gultekin. I'll try to get tests in to make sure we don't inadvertently break handling professor nicknames.

Is this closed by pull request #134?

Yeah we'll close this for now...if it ends up still being an issue we can always re-open.


Add support for more fan speeds

My AC unit model (LP1419IVSM) only has low/medium/high fan speeds at API values 2/4/6. However as @vaxi87 reported in #5, some units respond with other values such as 8:
'airState.windStrength': 8

The fan value converter likely needs to be improved to support more varying values rather than a fixed three low/medium/high settings.
Workaround
While fan speeds higher than 8 aren't supported yet, you can still use Homebridge to set your fan speed to 2/4/6. Drag the slider on Homekit's "fan speed" accessory setting to do so and it should update accordingly.

Hey @sman591, thanks, it seems to be working with the latest version, I can see the temperature details in my Home app.
Also, I'm having the following errors in my Homebridge logs:
[5/20/2020, 7:40:58 AM] [LgThinqAirConditioner] Error parsing mode Error: Invalid value for modeFromValue: "4"

 Pushed updates to HomeKit {
  power: 'off',
  currentTemperature: 26,
  targetTemperature: 30,
  mode: null,
  fan: 'high'
}

[5/20/2020, 7:38:58 AM] [LgThinqAirConditioner] Error parsing fan speed Error: Invalid value for fanFromValue: "8"
[5/20/2020, 7:40:58 AM] [LgThinqAirConditioner] Pushed updates to HomeKit {
  power: 'off',
  currentTemperature: 25.5,
  targetTemperature: 23.5,
  mode: 'cool',
  fan: null
}

I guess the second one is related what you mentioned above.
I have 2 ACs, both of them are LG Silence Plus.

Yeah, the 8 value would be why this is happening. I haven't seen Mode: 4 before, what mode is your A/C unit on when you see this error? Invalid value for modeFromValue: "4"

I'm also seeing this from my LG LW1517IVSM when it's in "Energy Saver" mode
Error parsing mode Error: Invalid value for modeFromValue: "8"

I'm happy to make a PR for the various modes / speeds if you point me in the right place.  I'm guessing around here?

Unfortunately, unless I'm missing something the HAP doesn't seem to actually support "Energy Saver" mode. There just isn't an option currently available. HAP only supports 4 states: Off, Cool, Heat, and Auto for HeaterCooler accessories, which an AC would fall under. Nor would it seem to support "Dry" mode. It might be able to be made to accept those, but not directly, through multiple services, basically breaking the thermostat out from the fan control and the dehumidifier.

The more I am thinking about it, the breaking out of services might be a good idea anyway to also support displaying and control of the Air Filter on some of the units as well.

Yeah, the hard part is mapping fan speeds to the 0-100 scale Homekit works with. For example, my product only has 3 fan speeds (low med high) so I’ve mapped the 0-100 scale roughly equivalent to three zones.
If additional fan speeds are supported, there will need to be some sort of product mode-based detection.. not sure if this is something there’s an API that provides product info like this?

@kb1ibt is correct- Homebridge docs don’t look to support and “energy saver” mode, so this would likely have to be a separate control to make it work, if implemented

Lets move any discussion on modes to #16 while this issue (#8) is focused solely on fan speed.

The model from @vaxi87's snapshot in #5 is RAC_056905_WW. I have an idea on how we can start defining these characteristic switches based on model, but I may not get to it until next weekend

@vaxi87  Could you update to version 1.4.0 and let me know if this works now? (fan speed only; modes beyond heat/cool/fan won't work)
@tarekrached Could you share what "Model" is listed in Homekit for your LG LW1517IVSM A/C unit? This will look something like XXX_XXXXXX_XX -- it looks like your unit also supports 4 fan speeds.

@vaxi87 Could you update to version 1.4.0 and let me know if this works now? (fan speed only; modes beyond heat/cool/fan won't work)

It seems to be working! Awesome!
My first device:
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] ActiveCharacteristic: handleUpdatedSnapshot 0
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] SwingModeCharacteristic: handleUpdatedSnapshot 0
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] RotationSpeedCharacteristic: handleUpdatedSnapshot 8
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] CoolingThresholdCharacteristic: handleUpdatedSnapshot 20
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] HeatingThresholdCharacteristic: Target state is not "heat", ignoring snapshot update
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] HeatingThresholdCharacteristic: handleUpdatedSnapshot 20
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] TargetHeaterCoolerStateCharacteristic: handleUpdatedSnapshot 0
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] CurrentTemperatureCharacteristic: handleUpdatedSnapshot 24.5
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] Finished pushing updates to HomeKit

For my second device (just FYI):
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] ActiveCharacteristic: handleUpdatedSnapshot 0
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] SwingModeCharacteristic: handleUpdatedSnapshot 0
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] RotationSpeedCharacteristic: handleUpdatedSnapshot 6
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] CoolingThresholdCharacteristic: Target state is not "cool", ignoring snapshot update
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] CoolingThresholdCharacteristic: handleUpdatedSnapshot 30
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] HeatingThresholdCharacteristic: Target state is not "heat", ignoring snapshot update
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] HeatingThresholdCharacteristic: handleUpdatedSnapshot 30
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] TargetHeaterCoolerStateCharacteristic: handleUpdatedSnapshot 4
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] TargetHeaterCoolerStateCharacteristic: Error parsing state Error: Unsupported API value: 4
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] CurrentTemperatureCharacteristic: handleUpdatedSnapshot 24.5
[6/2/2020, 3:56:55 PM] [LgThinqAirConditioner] Finished pushing updates to HomeKit

@sman591 the model in HomeKit for my LG LW1517IVSM A/C unit is WIN_056905_WW  (assuming the 0s are not Os)


Docker served on an unreliable site

For @DaanSelen
The site hosting docker is down:

I get this error when pulling docker:

I'd strongly recommend hosting the docker repo on github since it is a more reliable service.

I found your commit proposing a new docker container. Here are the errors I get now:
Starting the WireGuard Dashboard Docker container.
---------------------    CLEAN UP    -----------------------
Looking for remains of previous instances...
No pid remains found, continuing.
No pycaches found, continuing.
Setting permissions to not be world-accesible.
chmod: cannot access '/etc/wireguard/*': No such file or directory
---------------------  STARTING CORE -----------------------
Standard WG0 Configuration file not found, grabbing template.
Activating Python venv and executing the WireGuard Dashboard service.
/entrypoint.sh: line 47: /opt/wireguarddashboard/src/venv/bin/activate: No such file or directory
/entrypoint.sh: line 48: cd: /opt/wireguarddashboard/src: No such file or directory
------------------------------------------------------------
Setting relevant variables for operation.
Changing timezone.
grep: /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
Changing default dns.
sed: can't read /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
Trying to fetch the Public-IP using ifconfig.me: [redacted]
sed: can't read /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
------------------------------------------------------------
Ensuring container continuation.
find: '/opt/wireguarddashboard/src/log': No such file or directory

Are you trying to wireguard from inside the container? I'd prefer to run it on my host for maximum stability and just run the web interface VIA docker. Is this possible?

For @DaanSelen
The site hosting docker is down:

I get this error when pulling docker:
I'd strongly recommend hosting the docker repo on github since it is a more reliable service.

Hello @hoggatt, thanks for notificing I was just yesterday busy with moving my efforts to Docker Hub, instead of my homelab, which is repo.nerthus.nl. I will keep you updated.
For the errors, please provide some context.

Hopefully my other comments add some context. Biggest question I have: is the docker container meant to be just the wireguard dashboard, or is it meant to run wireguard itself + the dashboard? It's just not 100% clear which is the goal.

Hopefully my other comments add some context. Biggest question I have: is the docker container meant to be just the wireguard dashboard, or is it meant to run wireguard itself + the dashboard? It's just not 100% clear which is the goal.

The container has the wireguard and wireguard-tools package installed, with WGDashboard on op.
So yes, its a VPN + Dashboard.

Hi @hoggatt, you were right. My server hang itself and it now back but this ideally should not be the option, pulling its latest image from my server and pushing it to Docker Hub under a specific label, I keep you updated.

I've reread your question and if you already have wireguard installed on your system, you can pass the configurations from the host to the container. In the volumes, remove the conf entry and replace it with /etc/wireguard:/etc/wireguard this maps the host directory on the host to the container.

@hoggatt please check the new image I am working on called dselen/wgdashboard:dev
I am using this compose to deploy it:
services:
  wireguard-dashboard:
    image: dselen/wgdashboard:dev
    restart: unless-stopped
    container_name: wire-dash
    environment:
      #- tz=                # <--- Set container timezone, default: Europe/Amsterdam.
      #- global_dns=        # <--- Set global DNS address, default: <IP_ADDRESS>.
      - enable=wg0      # <--- Set the interfaces that will be enabled on startup, default: none. The option "off" is also allowed.
      - isolate=wg0     # <--- When set to true, it disallows peers to talk to eachother, setting to false, allows it, default: true.
      #- public_ip=         # <--- Set public IP to ensure the correct one is chosen, defaulting to the IP give by ifconfig.me.
    ports:
      - 10086:10086/tcp
      - 51820:51820/udp
    volumes:
      - conf:/etc/wireguard
      - app:/opt/wireguarddashboard
    cap_add:
      - NET_ADMIN

volumes:
  conf:
  app:

Adjust the volumes as needed, but to disable the usage of WireGuard itself, I need to look into that.

Thanks for the update. Here's my config:
services:
  wireguard-dashboard:
    image: dselen/wgdashboard:dev
    restart: unless-stopped
    container_name: WGDashboard
    environment:
      - tz=America/Chicago
      #- global_dns=
      - enable=wg0
      # - isolate=wg0
      #- public_ip=
    ports:
      - 10087:10086/tcp
      - 51821:51820/udp
    volumes:
      - /etc/wireguard:/etc/wireguard
      - /data/wgdashboard/app:/opt/wireguarddashboard
    cap_add:
      - NET_ADMIN

And here is the log. Seems to be having issues with /opt/wireguarddashboard:
WGDashboard  | Starting the WireGuard Dashboard Docker container.
WGDashboard  | ------------------------ CLEAN UP --------------------------
WGDashboard  | Looking for remains of previous instances...
WGDashboard  | No pid remains found, continuing.
WGDashboard  | No pycaches found, continuing.
WGDashboard  | Activating Python venv and executing the WireGuard Dashboard service.
WGDashboard  | ---------------------- STARTING CORE -----------------------
WGDashboard  | Standard WG0 Configuration file found, using that.
WGDashboard  | Activating Python venv and executing the WireGuard Dashboard service.
WGDashboard  | ------------- SETTING ENVIRONMENT VARIABLES ----------------
WGDashboard  | /entrypoint.sh: line 36: /opt/wireguarddashboard/src/venv/bin/activate: No such file or directory
WGDashboard  | /entrypoint.sh: line 37: cd: /opt/wireguarddashboard/src: No such file or directory
WGDashboard  | /entrypoint.sh: line 57: /opt/wireguarddashboard/src/venv/bin/activate: No such file or directory
WGDashboard  | /entrypoint.sh: line 58: cd: /opt/wireguarddashboard/src: No such file or directory
WGDashboard  | Changing timezone.
WGDashboard  | grep: /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
WGDashboard  | Changing default dns.
WGDashboard  | sed: can't read /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
WGDashboard  | Trying to fetch the Public-IP using ifconfig.me: [redacted]
WGDashboard  | sed: can't read /opt/wireguarddashboard/src/wg-dashboard.ini: No such file or directory
WGDashboard  | -------------- ENSURING CONTAINER CONTINUATION -------------
WGDashboard  | Ensuring container continuation.
WGDashboard  | find: '/opt/wireguarddashboard/src/log': No such file or directory

The shared folder I'm using on my system does exist, but is empty.

Hopefully my other comments add some context. Biggest question I have: is the docker container meant to be just the wireguard dashboard, or is it meant to run wireguard itself + the dashboard? It's just not 100% clear which is the goal.

The container has the wireguard and wireguard-tools package installed, with WGDashboard on op. So yes, its a VPN + Dashboard.
You were right. My server hang itself and it now back but this ideally should not be the option, pulling its latest image from my server and pushing it to Docker Hub under a specific label, I keep you updated.
I've reread your question and if you already have wireguard installed on your system, you can pass the configurations from the host to the container. In the volumes, remove the conf entry and replace it with /etc/wireguard:/etc/wireguard this maps the host directory on the host to the container.

A potential concern people may have with hosting wirguard in this container is updates. Wireguard is a critical piece of security software for many, and if a vulnerability is discovered this docker container would need to be updated immediately. That's taking on quite a bit of risk unless that container is auto-updated each time wireguard gets updated.
Having the option to use the host's wireguard would solve this issue, but I'm not sure if WGDshboard can communicate with wireguard from inside a docker container since it won't have access to system commands like wg show.

Essential security can be handled by going into the container itself, but you are right. i need to setup some auto building.
For your issue I think I have a lead, going to work on that now.

@hoggatt just pushed a new version, can you test with that?

@hoggatt just pushed a new Docker Image version, can you test with that?

Works now with my config! Logs look good.
Is there a reason you recommend making a volume for /opt/wireguarddashboard? It looks like only /opt/wireguarddashboard/src/db/ and /opt/wireguarddashboard/src/wg-dashboard.ini are required to preserve your WGDashboard session if everything else is re-installed. I'd recommend just having those (plus /etc/wireguard) as the default volumes to keep things as minimal as possible.

Essential security can be handled by going into the container itself, but you are right. i need to setup some auto building. For your issue I think I have a lead, going to work on that now.

Having it auto-build when a new wireguard debian package update occurrs would be ideal. But maybe just building twice a day using a schedule trigger OR when there is a push to the master branch would be sufficient. I'm not sure there's an easy way to trigger a build when a Debian package is updated.

@hoggatt just pushed a new Docker Image version, can you test with that?

Works now with my config! Logs look good.
Is there a reason you recommend making a volume for /opt/wireguarddashboard? It looks like only /opt/wireguarddashboard/src/db/ and /opt/wireguarddashboard/src/wg-dashboard.ini are required to preserve your WGDashboard session if everything else is re-installed. I'd recommend just having those (plus /etc/wireguard) as the default volumes to keep things as minimal as possible.

Hey @hoggatt you are right. Going to test with this, the way I just made a volume of the entire directory was because I did not know yet how WGDash precisely stores values.
Going to test, watch my fork!

@hoggatt it took long... but here it is: https://github.com/donaldzou/WGDashboard/pull/437
Persistency among updates works not through symlinks which makes the WGDashboard files latest every time the image is built.
Also with Github workflows the image is pushed to Donaldzou's Docker Hub repo!

That's really exciting! Great work.


Better image picker (gallery style), please

Instead of media picker, which opens the file manager, it would be better to use a gallery style image picker, I believe.
Also, the buttons for media loading, share, undo/redo, would be better placed at the top of the screen, for a cleaner and more intuitive interface.

Bumping this...

@derei Happy to review a PR for image picker style gallery.


Remove cairo fork

It's certainly nice that it's removing the fork but i think the thing we wanted to achieve was extracting the cheats as a scarb library, so i'm confused why this order of action (i thought fork removal should be an effect, not the mean to an end).
Also this PR makes it impossible to tell which version of corelib we are running ATM

I wonder about this too, perhaps it would make sense to wait until cairo 2.1.0 so we can achieve both at the same time?

I wouldn't wait for 2.1.0, I think we can merge it and get rid of the fork for now, then export cheatcodes as package when 2.1.0 is released


Field label is passed down to the input element

Field labels are passed down to the internal <input>, it should be filtered out.

Only passing the label down when hideLabel is true in the field register function.


System.InvalidOperationException: No mapping to a relational type can be found for the CLR type 'object'

I recently updated to Microsoft.EntityFrameworkCore.SqlServer 2.1.0-preview2-final and am Scaffold-DbContext to generate the EF Context and Entities for an existing DB. The DB hasn't changed and this function was previously working.
I am now getting the following error. Unfortunately the error doesn't provide much meaningful info. Could this be a new bug?
System.InvalidOperationException: No mapping to a relational type can be found for the CLR type 'object'.
at Microsoft.EntityFrameworkCore.Storage.RelationalTypeMappingSourceExtensions.GetMapping(IRelationalTypeMappingSource typeMappingSource, Type clrType)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ScaffoldingTypeMapper.FindMapping(String storeType, Boolean keyOrIndex, Boolean rowVersion)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.GetTypeScaffoldingInfo(DatabaseColumn column)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.VisitColumn(EntityTypeBuilder builder, DatabaseColumn column)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.VisitColumns(EntityTypeBuilder builder, ICollection1 columns)    at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.VisitTable(ModelBuilder modelBuilder, DatabaseTable table)    at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.VisitTables(ModelBuilder modelBuilder, ICollection1 tables)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.VisitDatabaseModel(ModelBuilder modelBuilder, DatabaseModel databaseModel)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.RelationalScaffoldingModelFactory.Create(DatabaseModel databaseModel, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineerScaffolder.ScaffoldModel(String connectionString, IEnumerable1 tables, IEnumerable1 schemas, String namespace, String language, String contextDir, String contextName, ModelReverseEngineerOptions modelOptions, ModelCodeGenerationOptions codeOptions)
at Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(String provider, String connectionString, String outputDir, String outputContextDir, String dbContextClassName, IEnumerable1 schemas, IEnumerable1 tables, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(String provider, String connectionString, String outputDir, String outputDbContextDir, String dbContextClassName, IEnumerable1 schemaFilters, IEnumerable1 tableFilters, Boolean useDataAnnotations, Boolean overwriteFiles, Boolean useDatabaseNames)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
No mapping to a relational type can be found for the CLR type 'object'.

@patnolan - Do you have any table with a column of type sql_variant?

Possible duplicate of #11977

Hi @smitpatel yes we do have a table with a column of type sql_variant. However, this was working until we got the latest update.

It has been fixed in version 2.1.1 (which is available on NuGet now). Please upgrade the version to get the bug fix.
Closing as duplicate.


how to use it without useState

i have class component and i have state
i dont wanna use like this :
const [selectedDay, setSelectedDay] = useState(null);
how can i change  it for class component
thanks

Hello Elyas,
I highly encourage you to use new React hooks API, but if you want a class-based example, I made one on CodeSandbox


updating json-schema address: fixing broken link

Updating json-schema website link address in CustomResourceDefinition here : https://kubernetes.io/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/#JSONSchemaProps

Previous link was sending user to "http://json-schema.org/)"
changed it to correct address.: "http://json-schema.org/"

/assign @kbhawkey

Hi @kbhawkey Please take a look.

👋 @Ritikaa96 .
Page preview:
https://deploy-preview-28803--kubernetes-io-main-staging.netlify.app/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/
Thanks for fixing this link. This file is generated from the Kubernetes source code. As such, the link should be updated
in the upstream code. I think the source file and comment is located at:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go#L19

@Ritikaa96 .
Page preview:
https://deploy-preview-28803--kubernetes-io-main-staging.netlify.app/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1/
Thanks for fixing this link. This file is generated from the Kubernetes source code. As such, the link should be updated
in the upstream code. I think the source file and comment is located at:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go#L19

Hi @kbhawkey , thanks for the reply. I'll raise the PR in kubernetes/kubernetes then.

Hi @kbhawkey , raised a pr in kubernetes/kubernetes #103519

Ah, oops.
/lgtm cancel

/close
in favor of https://github.com/kubernetes/kubernetes/pull/103519


Minor changes

I'm not seeing much use of these... Hopefully this will make their existence more obvious,

More bits added to CMake stuff


[0.8.x] RHBRMS-2687: [Screen Plugin] Fail to upload picture on WAS and IE11

See https://issues.jboss.org/browse/RHBRMS-2687

Before:

After:

@etirelli @ederign Could you please take a look?

+1 thanks.


A11y_AzureDataStudio(Schema,Dacpac,Backup)_Menu Bar_Schema Compare_Screenreader: Improper focus order observed when activated 'Compare' or 'Stop' buttons while JAWS is on.

“Check out Accessibility Insights! ! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”

Connect to server with windows credentials.
Navigate to Extensions from left menu.
Search & install Schema Compare extension.
Navigate to Connections from left menu.
Expand the server connected in step 2.
Right click an on prem database and select Schema compare from Context menu.
Navigate till Select Source or Select Target & hit enter.
Provide all the details for Source & Target.
Start screen reader as JAWS.
Navigate to 'Compare' button and hit Enter.
Navigate to 'Stop' button and hit Enter.
Actual:
When activated 'Compare' or 'Stop' buttons, screen reader moves focus to File menu item and announces as 'File Alt+fEdit Alt+e Ciew Alt+v Help Alt+h'.
Expected:
When activated 'Compare' or 'Stop' buttons, screen reader moves focus should not be moved to File menu item.
Recommendations:
Refer below link which is repository of bug fixes code snippets: (https://microsoft.sharepoint.com/teams/msenable/mas/pages/browse-fixes.aspx)
User Impact:
Screen reader users will face difficulty while activated compare/ stop button as focus order is improper and will get information about File menu Item which is not present on schema compare screen.
MAS Reference:
MAS 1.3.2-
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={1ee227a7-e3c5-47b8-ab18-48ca8595077b}
Attachment for Reference:
A11y_AzureDataStudio.Schema.Dacpac.Backup._Select.Source-Target_Schema.Compare_Screenreader.pptx

NVDA seems to work finel


Well done with performace

Your site scored well . there was no issue with layout-shifting, loading optimization, and responsive images.
my only tip is to pay attention to your mobile layout
https://pagespeed.web.dev/analysis/https-s10-gflo-onrender-com/qrsov7fxo1?form_factor=mobile

mobile layout will be done in the next sprint


make everything work on Mumbai

We have some issues when trying to make it work on Mumbai. Fix and test all of them
Loading payments:

After payments or agreement creation, timeout and no event returned to update screen


Add support for WAFv2 logging and sampling

Contact Details (optional)
No response
Summary
When enabling WAFv2 for the ALB, it is important to be able to log the web ACL traffic in order to evaluate the rules groups and make improvements.
WAFv2 provides two methods of achieving this:

Logging: stream logs to Amazon Kinesis Data Firehose, Cloudwatch Log group, or an S3 bucket.
Sampling: stores samples from the last 3 hours of requests that match the web ACL rules.

Motivation
Need to get detailed information about traffic that is analysed by the WAF web ACLs such as:

Timestamp
Rule groups evaluated
Rule action
Terminating rule

Alternatives
No response
Additional Context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Closing this as it is better implement customisation of the WAF in your own terraform config. Particularly when needing things like rule exclusions.


performance

How does the performance of boringproxy compare to Cloudflare tunnels?  Or Wireguard?

boringproxy is built on SSH, which uses a single TCP connection to multiplex channels. Generally speaking I would expect it to have slower performance than WireGuard, and probably Cloudflare Tunnels as well (at least using QUIC or similar). The main problem is head-of-line blocking.

Closing. Feel free to ask any additional questions.


Suspension type

Closes #227
The spatial proteomics link is not live yet because EFO released this morning.

I'll make another editorial pass.

If the assay is not addressed by the table

I outlined my CLI intentions earlier. which was to warn when an assay is not in the table, so we can create a tracking issue, but we can do belts and suspenders.

Addressed in 9d129f3163b96a4f3a27bf02ae40603d1c2b75cb


Time remaining calculation overflows

The calculation of time remaining casts the remaining count to an i32, which will not work if the overall task involves more than 2^31 values - for example, if transferring more than 2 GB of data.

Hello @sfackler, thank you for taking the time to report this issue.
This is definitely an issue that should be fixed. would you like to make a PR with the fix?