adding python 3.10 and greater compatability

Our team uses this tool heavily and thank you for all the work you've put into maintaining this in the past. While this repository is relatively dead (as what it set out to do is complete), we noticed that using it with Python 3.10 broke the tool. Upon closer inspection, the reason was this:

Remove deprecated aliases to Collections Abstract Base Classes from the collections module. (Contributed by Victor Stinner in bpo-37324.)

(Pulled from Python 3.10 Release Notes)
We've tested the tool with this PR and it continues to work well on Python 3.10. We would really appreciate merging this to main and cutting a new release as it would allow us to not have to rely on an internal fork (as well as help any other folks that are using this tool still).

While its true that fabric now supports Python 3, it sadly still lacks a lot of features. I cant use "with cd("project/path")", i cant switch the used shell to zsh, colored output is not working - its just a pint to look at the tasks output. :(
So please merge this PR.

Same here, I'd love to see this merged, especially given  the low complexity of this change.

@mathiasertl This looks like a pretty safe change. Would you be able to merge and push a new release? The supported versions of python this repo runs on are quickly dropping out of support range. Thanks!

As far as I know, the changes are in Fabric themself by now.

It is true that the new Fabric has Python 3.10 support, but as @kakulukia mentioned, the new Fabric is very different from the old version and still lacks some important features. Features which are working in this fork of the old Fabric.
So for projects needing those features, but also need Python 3.10 support, this pull request would help a lot.

Hi,
Fabric 1.x has had a major update for Python3 support back in April: https://www.fabfile.org/changelog-v1.html - it integrates all of my changes.
I suggest you try to create an MR there. I don't use Fabric personally anymore, and I don't  have time to maintain the software.
kr, Mat

Also: I would not merge it like this. there is no reason for catching the ImportError. Just use collections.abc, it works in all supported versions of Python.

Thanks for your response. I didn't know fabric released a new 1.15.0 version.
The 1.15.0 version uses six (from six.moves.collections_abc import Mapping) to import Mapping. I'm going to test this version and see if it's compatible with Python 3.10 and hopefully even Python 3.11.
@mathiasertl Many thanks for your contributions to fabric and maintaining this python3 fork all those years.

To install the official fabric with this branch included run: pip install fabric==1.15.0
Changelog
https://www.fabfile.org/changelog-v1.html

1.15.0 2022-04-07
[Support]: Update packaging metadata so wheel archives include the LICENSE file.
[Support]: Merge the longstanding fabric3 fork back into our v1 branch so users who’d rather port Fabric 1.x code to Python 3 before upgrading to Fabric 2.x, are able to do so in a “blessed” manner.


panel_19

Closes #287
Current state of plot:

Do to:

add titles and lables
add colorbar
create examples with different spacing between subplots

Current state of the three figures


Build teamcity windows

High-level description
Adds Powershell equivalents for the Teamcity build scripts.
Checklist for all PRs

[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

@mesosphere-mergebot label Ready For Review

@oprinmarius  - How is this tested?

@mesosphere-mergebot sync

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label ship-it

Applying ship-it label as the changes affect teamcity in windows, and it was already tested before the last merge from master and bump-ee


Disable animation in charts for screenshot testing

Great lib:)!
It is possible to add some flag to disable all animation in your charting? Or make animation specs nullable?
"pieAnimationSpec" in PieChart.
I use the new screenshot testing lib from google and it cannot make a screenshot correctly. Only both axis are rendered in the screenshot but not the graph itself.
https://developer.android.com/studio/preview/compose-screenshot-testing
Greetings from Münster (Germany),
Olli

I wonder if this library will be made compatible with animations in the future, since they are used so often in Material design. I did see one feature request to capture entire animations. I tried using snap() for the AnimationSpec with this library but it still came up blank.

Please add this two parameter to the PieChart-composable:
labelAnimationSpecStartValue: Float = 0f,
pieAnimationSpecStartValue: Float = 0f,

under
 labelAnimationSpec: AnimationSpec<Float> = KoalaPlotTheme.animationSpec,

Please apply this value here:
val beta = remember(values) { Animatable(labelAnimationSpecStartValue) }
val labelAlpha = remember(values) { Animatable(pieAnimationSpecStartValue) }

Thank you:).
(I cannot currently open a pull request because of no access rights.)


Make SelectiveColumnReaderBuilder to use SelectiveColumnReaderFactory

SelectiveColumnReaderBuilder in TestColumnReader directly uses
SelectiveColumnReader::build() to create SelectiveColumnReader. It does
not call reader->setIsTopLevel() and therefore some functions in
SelectiveColumnReader were not tested, e.g. advanceFieldReader().
This commit changes SelectiveColumnReaderBuilder to use
SelectiveColumnReaderFactory instead, which updates the isTopLevel
field of the column readers for better test coverage.

Change merged in the native parquet reader PR.


I want you to add block public access settings to defineStorage in storage.

Environment information
npx amplify info                                                                                【 main 】
System:
  OS: macOS 14.0
  CPU: (10) arm64 Apple M2 Pro
  Memory: 524.39 MB / 16.00 GB
  Shell: /bin/zsh
Binaries:
  Node: 20.5.0 - /usr/local/bin/node
  Yarn: 1.22.19 - /usr/local/bin/yarn
  npm: 9.8.0 - /usr/local/bin/npm
  pnpm: 8.15.5 - ~/Library/pnpm/pnpm
NPM Packages:
  @aws-amplify/backend: 0.13.0-beta.15
  @aws-amplify/backend-cli: 0.12.0-beta.17
  aws-amplify: 6.0.27
  aws-cdk: 2.136.0
  aws-cdk-lib: 2.136.0
  typescript: 5.4.4
AWS environment variables:
  AWS_DEFAULT_PROFILE = cloudteam
  AWS_STS_REGIONAL_ENDPOINTS = regional
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
No CDK environment variables

Description
In order to display public image data with object URL instead of signed URL, you need to set block public access settings.
Is there a way to configure this at this time?

The following settings are required to grant public read permission to an object and execute putobject.

Cognito iam role storageAccessXXXXXXX policy requires permission for the following actions

"Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
  ],

Uncheck all S3 block public access (bucket settings) items.

Enable ACL in the S3 bucket object owner settings and set it to the desired bucket owner.

I would like to be able to configure these by building the amplify gen2 backend.

Marking as feature-request for signed urls.

"Action": [ for the authenticated role of the cognito identity pool created with amplify.
"s3:PutObject",
"s3:PutObjectAcl"
], I want to add.
I would like to know how to configure these settings.
grantPutAcl what should I set?


[bazel] fixup #10041 conflict

it looks like we see a conflict in CI between
https://github.com/lowRISC/opentitan/pull/10041 and
https://github.com/lowRISC/opentitan/pull/10148
this should resolve it and I've tested by building on my workstation
Signed-off-by: Drew Macrae<EMAIL_ADDRESS>

I ran into this issue as well. I will submit this and then rebase #10316.


Add ability to change display from Top to other categories

Being able to change what categories the images are viewed from would be a nice feature to have.
i.e. changing from top to hot on the fly
A poc could be being able to change the url to include .../analog/top which will show top posts from /r/analog. Typing in .../analog/hot would refresh the page and load the hot posts from /r/analog.

From @chickenkatsu1

https://github.com/remix-run/react-router

useful link

Closed via #5


Update Documentation

This patch fixes the documentation, explaining how to build and run
Tobira since the old instructions lead to build failures due to missing
steps and incorrect order.

@LukasKalbertodt, while I'm not necessarily opposed to your idea, I think this makes no sense right now and is a massive waste of time. I suspect that things might still change quite a bit and writing several documentations for different target audiences – including for production use – is effort and money thrown into the bin. It's something we may want to do once we are near a first prototype and things have settled a bit. But not now.
Right now, we can exclusively target developers because we do not have another target audience. This also means that we don't need a complex documentation structure yet. We can worry about that once we need it. We do not lose anything by waiting. To the contrary, we even gain something since we can then better judge what documentation we need and how it should be structured.

My major disagreement is probably about mentioning "potentially useful but not directly connected to Tobira" information, like how to stop the docker container or how to get npm/Rust.

Right now we are only three developers, and we already use different tools ;-)
Getting hugely popular tools like npm or Cargo is really easy. Getting information about them as well. Throwing additional, often unnecessary information at people is just distracting them, especially if the information is irrelevant to the actual task at hand which is building Tobira. That said, I can add a few links to additional information if you want? That would mean that people who need more information don't have to search but can easily get to a good place to get it. What do you think?

Fair point about waiting before restructuring all the docs!

That said, I can add a few links to additional information if you want? That would mean that people who need more information don't have to search but can easily get to a good place to get it. What do you think?

I think I would like that. But it's not important enough to block this PR. We can still add this later.
So no remaining concerns from my side regarding this PR!

That said, I can add a few links to additional information if you want? […]

I think I would like that. But it's not important enough to block this PR. We can still add this later.

Already did that ;-P

As said, my comments aren't really concerns that would block this, I just wanted to evoke some thinking.
In it goes.


Carthage version is still 0.1.5

When carthage update, it shows that:
No available version for github "jonmadison/PeekPop" satisfies the requirement: == 1.0.0

Whether there is no update for carthage? The version is still  0.1.5.

Sorry, it's my mistake.


Is it possible to handle user groups using krakend?

I would like to be able to assign users to user groups that has there own roles for authorization. Is this possible in krakend?

Hi @moar55 , role based access is supported in KrakenD


Create config directory if it doesn't exist

What type of PR is this?
bug
What this PR does / Why we need it?
When setting a config option, if the directory doesn't exist you'll get an error. This ensures the directory is created. Will return an error if it can't create the directory.
Which Jira/Github issue(s) does this PR fix?
Resolves #
Special notes for your reviewer
Pre-checks (if applicable)

[ ] Ran unit tests locally
[ ] Validated the changes in a cluster
[ ] Included documentation changes with PR

Codecov Report

Merging #124 (5507db7) into main (d933c9e) will decrease coverage by 0.06%.
The diff coverage is 0.00%.

:exclamation: Current head 5507db7 differs from pull request most recent head 5018ce6. Consider uploading reports for the commit 5018ce6 to get more accurate results

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
- Coverage   49.65%   49.60%   -0.06%
==========================================
  Files          43       43
  Lines        2761     2764       +3
==========================================
  Hits         1371     1371
- Misses       1158     1161       +3
  Partials      232      232

Impacted Files
Coverage Δ

cmd/ocm-backplane/config/set.go
21.42% <0.00%> (-1.65%)
:arrow_down:

/lgtm


Move effect definitions to config instead of macro

Move effect definitions to config instead of macro.
Allows users to customize GP, WP, MW, AP, effects with config patches.

Will be added next update


Dependabot

We should add dependabot and add a test to test that the output between 2 versions remains the same
ie meltano invoke tap-clickup > out and meltano invoke tap-clickup > new_out
diff out newout shouldn't have any output difference or if there's a difference we should know it's correct and approve / decline.
We could have avoided https://github.com/AutoIDM/tap-clickup/issues/127

See https://github.com/AutoIDM/tap-clickup/pull/129#issuecomment-1183606087 for how to create DIFF automatically


Support multi-package (workspace) projects

It's not clear how to run rehearsal on projects with workspaces / several packages.
Running rehearsal on a root directory (root tsconfig.json) produces the error, running rehearsal on each package = multiple reports (in subdirectories).
For example, this results from running rehearsal on the rehearsal root directory:
everbits@everbits-mn2 rehearsal-js % rehearsal upgrade .
✔ Rehearsing with<EMAIL_ADDRESS>❯ Bumping TypeScript Dev-Dependency
  ✖ Command failed with exit code 1: yarn add -D<EMAIL_ADDRESS>--igno…
    error Running this command will add the dependency to the workspace root …
    yarn add v1.22.11
    info Visit https://yarnpkg.com/en/docs/cli/add for documentation about th…

We need to figure out how to run it and add this as a feature or documentation.

Duplicate. Pinning this issue in parent.


[21.05] Fix deep evaluation

https://github.com/NixOS/nixpkgs/pull/158623 's second little sister.
Notably this removes haskellPackages from packages-config.nix, see https://github.com/NixOS/nixpkgs/pull/158656#issuecomment-1032949297

21.05 jobsets have been inactive https://status.nixos.org/
adding this now will never reach a release

Oh, I definitely should have noticed that... Then 21.05 will probably just have to be dropped in nixos-search. Thanks.


🐛 cache: take into account EmbeddedEtcd options

Summary
when the cache server is run within kcp we need a copy of etcd options that have been completed with optional EmbeddedEtcd options.
Otherwise, the cache server is unable to connect to the etcd cluster.
Related issue(s)
part of https://github.com/kcp-dev/kcp/issues/342

/lgtm
/approve


Add serialization of the test data to json

closes #28
It has been a long time :D but I got around to implement an initial support for exporting serialized results.
This is a draft to get feedback in as soon as possible.
To do:

[X] Export word list as well
[ ] Do exports on key press when viewing the results screen
[ ] Export results after every test with a config option
[ ] Set export location via GUI and config
[ ] Have unique filenames (using timestamps)
[ ] Add option to add additional metadata about test (such has keyboard used)

Considering the resulting format I would propose to stick as close to original data structures as possible and export all available data. In my opinion this export is for experts, who want to their own analysis in a programming language.

I'm anticipating the merge on this PR, results history would provide some fascinating insight on hand. My typing speed as actually gone up considerably using this project (from around 50wpm - 80wpm on the default language).
I have also has the idea of using the acg/w3m project to pipe articles summaries into ttyper to enhance memory retention of core concepts and ideas.

With this code I already exported a lot of test data and analyzed them with Python. I could gain a lot of interesting insights about my typing, which was very useful, because I bought a new keyboard.

Where should I put this analysis code?
Should I complete the rest of the task as written above or do you want to propose some changes?


Fix typo in AbstractSubmission.AUDIENCE choice

Current coverage is 59.61% (diff: 100%)

Merging #22 into master will not change coverage

@@             master        #22   diff @@
==========================================
  Files            22         22
  Lines           364        364
  Methods           0          0
  Messages          0          0
  Branches         19         19
==========================================
  Hits            217        217
  Misses          147        147
  Partials          0          0

Powered by Codecov. Last update 44eb7bb...7986e9f

:bowing_man:

Thanks @fcurella !


#529: Add isToday() assertion to LocalDateAssert

Integrated, I have just renamed verify_that_isAfter_assertion_fails_and_throws_AssertionError to verify_that_isToday_assertion_fails_and_throws_AssertionError in the test, otherwise the PR was nice.
Many thanks !


ACTION REQUIRED: Changes to pulling Chainguard Images

Hey there Chainguard here.
We noticed that you are using Chainguard Images, thank you! We wanted to make you aware of an upcoming change that will impact your project.
Starting August 16, 2023 public users will no longer be able to pull images from our registry (cgr.dev/chainguard) by tags other than latest or latest-dev. Please see the announcement for more information.
You are currently using the following.
In https://github.com/navikt/pensjonskalkulator-backend/blob/0ca9756e794ebfa1ce12db2e9e05c944ab89e52e/.docker/Dockerfile:

cgr.dev/chainguard/jre:openjdk-17

Our goal is to prevent your project from experiencing any disruptions. Please see the migration guide for options.
If there's more we can do to help please reply to this issue or email us at<EMAIL_ADDRESS>Thank you!

Resolved by using a non-Chainguard image: 9b9acdc0c5d8ab143d4d8fc34502cbc18f4f7315


Add data-prevent-double-click to submit buttons

Context
While updating to version 3 of govuk-frontend we found that forms could be double submitted which would add excess data to the database. The GOV.UK frontend has the ability to handle this (see https://design-system.service.gov.uk/components/button/#stop-users-from-accidentally-sending-information-more-than-once).
Changes proposed in this pull request

'data-prevent-double-click': true has been added to the Personal Details, Contact Details and Degrees forms.

Guidance to review
You can check this by using the Developer tools and changing the network speed to "Slow 3G" and attempting to double submit with and without the data-prevent-double-click present.
Link to Trello card
691 - Prevent double-click form submission

It looks like you can pass this as an attribute to the f.submit method? https://github.com/DFE-Digital/govuk_design_system_formbuilder/blob/9806a0bc36ca1de13a655d74c629ba7b2c217039/lib/govuk_design_system_formbuilder/elements/submit.rb#L9

It looks like you can pass this as an attribute to the f.submit method? https://github.com/DFE-Digital/govuk_design_system_formbuilder/blob/9806a0bc36ca1de13a655d74c629ba7b2c217039/lib/govuk_design_system_formbuilder/elements/submit.rb#L9

Yup! I've updated the button to be a f.govuk_submitbutton and added prevent_double_click.

It looks like you can pass this as an attribute to the f.submit method? https://github.com/DFE-Digital/govuk_design_system_formbuilder/blob/9806a0bc36ca1de13a655d74c629ba7b2c217039/lib/govuk_design_system_formbuilder/elements/submit.rb#L9

Yup, thanks! I've updated the button to be a f.govuk_submit button and added prevent_double_click attribute now.

We've decided to revert back to #submit to allow for the data-module attribute to be added because #govuk_submit does not support it yet as it is a very recent addition to the GOV.UK frontend.


Notify the user if the slug is already taken

See issue #415 and comments on PR #418.
If a user creates a post giving an already taken slug, the app should give some notification about the fact that the final one is created starting from the provided one by the user.

Please fix this issue

@pupattan not sure when I will have the bandwidth to handle this, but it's definitely something that should be improved

@yakky This should be closed, issue is resolved for both wizard and admin form.


argv is not defined when running npm start

#Bug
Description
When I run npm start I get the following error:

cross-env NODE_ENV=development node server

C:\dev\Source\test\site\server\index.js:6
(isDev && process.env.ENABLE_TUNNEL) || argv.tunnel
^
ReferenceError: argv is not defined
at Object. (C:\dev\Source\test\site\server\index.js:6:43)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: cross-env NODE_ENV=development node server
npm ERR! Exit status 1
It previously worked, all I have done is restart my computer.
I have tried removing node_modules and rerunning npm install, npm build:dll, etc.
I have checked and the argv.js file exists as does the minimalist package it uses.
Versions

React-Boilerplate (see package.json): 3.6.0
Node/NPM: 8.9.4
Browser:

Sorry, I discovered it was a VS Code sorting require/imports that caused the problem.


Cannot read property 'statusText' of undefined

Running aicommits command when getaddrinfo ENOTFOUND api.openai.com will raise an error Cannot read property 'statusText' of undefined

Sounds like you're not able to connect to api.openai.com. Can you confirm?
As an action item, we should add better error messages for this.

Closed via #100


How to apply to a Swift project.

Hello, I am still learning a lot about Swift and programming but I was just wondering how I could use this in my Swift project?

I haven't used this in a long time, but suffice to say, you have to build this as a C module, it's mostly just a matter of getting the source files where they need to be. The errors should be able to guide you a good deal.

I haven't used this in a long time, but suffice to say, you have to build this as a C module, it's mostly just a matter of getting the source files where they need to be. The errors should be able to guide you a good deal.


TVDB sqlite3.IntegrityError

2016-04-21 18:02 ERROR    flexget.api                   Exception on /tvdb/series/True Detective/ [GET]
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python27\lib\site-packages\flask\app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python27\lib\site-packages\flask_restful\__init__.py", line 477, in wrapper
    resp = resource(*args, **kwargs)
  File "C:\Python27\lib\site-packages\flask\views.py", line 84, in view
    return self.dispatch_request(*args, **kwargs)
  File "C:\Python27\lib\site-packages\flask_restplus\resource.py", line 42, in dispatch_request
    resp = meth(*args, **kwargs)
  File "C:\Flexget\flexget\utils\database.py", line 31, in wrapper
    return func(*args, **kwargs)
  File "C:\Flexget\flexget\plugins\api\tvdb_lookup.py", line 84, in get
    result = lookup_series(name=search, session=session)
  File "C:\Flexget\flexget\utils\database.py", line 28, in wrapper
    return func(*args, **kwargs)
  File "C:\Flexget\flexget\plugins\api_tvdb.py", line 446, in lookup_series
    _update_search_strings(series, session, search=name)
  File "C:\Flexget\flexget\plugins\api_tvdb.py", line 378, in _update_search_strings
    func.lower(TVDBSearchResult.search) == name).first()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\query.py", line 2634, in first
    ret = list(self[0:1])
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\query.py", line 2457, in __getitem__
    return list(res)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\query.py", line 2735, in __iter__
    self.session._autoflush()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 1303, in _autoflush
    util.raise_from_cause(e)
  File "C:\Python27\lib\site-packages\sqlalchemy\util\compat.py", line 200, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 1293, in _autoflush
    self.flush()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 2019, in flush
    self._flush(objects)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 2137, in _flush
    transaction.rollback(_capture_exception=True)
  File "C:\Python27\lib\site-packages\sqlalchemy\util\langhelpers.py", line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 2101, in _flush
    flush_context.execute()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 373, in execute
    rec.execute(self)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 532, in execute
    uow
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\persistence.py", line 174, in save_obj
    mapper, table, insert)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\persistence.py", line 767, in _emit_insert_statements
    execute(statement, multiparams)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line 914, in execute
    return meth(self, multiparams, params)
  File "C:\Python27\lib\site-packages\sqlalchemy\sql\elements.py", line 323, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line 1010, in _execute_clauseelement
    compiled_sql, distilled_params
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line 1146, in _execute_context
    context)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line 1341, in _handle_dbapi_exception
    exc_info
  File "C:\Python27\lib\site-packages\sqlalchemy\util\compat.py", line 200, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line 1116, in _execute_context
    context)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\default.py", line 447, in do_executemany
    cursor.executemany(statement, parameters)
IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) column id is not unique [SQL: u'INSERT INTO tvdb_genres (id) VALUES (?)'] [parameters: ((u'Crime',), (u'Drama',), (u'Mystery',))]

i can't re-produce this on my box.. are you able to re-produce?

was there a task running at the time? There have been a few reports of this and i'm trying to track down in what situation this happens as i can't reproduce it.

These logs were 30 min after the last scheduled task : no task running.
I can reproduce just by browsing series section in the webui. Any  advice to provide you better infos ?

does it happen every time?? I can't seem to make it happen on mine, is it possible to get a copy of your db so i can troubleshoot?

I don't have a method to reproduce on demand but it pops up some time to times.
I restarted the deamon with -L debug --debug-db-sessions for future times it happens.
My db:
db-config.zip

ok i managed to re-produce the issue.. i suspect it might be due to multiple calls to tvdb api both trying to write to the database at the same time.. i'll need some time to dig into it tho.

actually, this is different to your error @Mirgolth opening your issue back up..

Hasn't reproduces in a long time, probably due to me removing the actors call from the default api call.


Update internal deps

Updated internal deps to get CartoDB/tangram-cartocss#90
Just tested on staging.

:+1:
This is to update tangram-cartocss. Reference where?

Here: https://github.com/CartoDB/cartodb/blob/b8759d7cf080e26e8bbe1b198626787cb4e3b66b/package.json#L40


Allow borrowing while preemption is applied to assigned cluster queue

What type of PR is this?
/kind bug
/kind feature
What this PR does / why we need it:
Allows borrowing when preempting workloads from the same queue, but prefers no borrowing and preempting workloads that have already borrowed from the queue. Preemption of borrowers will not happen if borrowing would be needed anyway.
Which issue(s) this PR fixes:
Fixes #533
Special notes for your reviewer:

/assign @alculquicondor

/lgtm

/approve


New feature: New prompt to generate data plots

I want to work on the new feature to generate plots from the user given data.
@kvcops can you assign this issue to me

Explain your approach otherwise this issue will be rejected.

simply using the csv files as input, then analyzing what type of data is there, and then showing all the plots that can be created. if one plot is not applicable on the dataset then we will let the user know that it does not support tha data plot as the original dataset provided lacks the data type in columns


Thisyahlen/chore: tradingaccountslist modal

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
21

Relevant Lines:
21

💛  - Coveralls


prometheus: make node sync periodic instead of watching

@fabxc

Manually ran tests due to difficulties in the test infra, this passes all tests. Moving forward as we already merged #629 has already been merged and released as well.


CII Badge: Default crytpo chooses weak algorithms

The default security mechanisms within the software produced by the project MUST NOT depend on cryptographic algorithms or modes with known serious weaknesses (e.g., the SHA-1 cryptographic hash algorithm or the CBC mode in SSH).
We need to modify the current crypto samples to use algorithms with no known weaknesses.

We need to modify the current crypto samples to use algorithms with no known weaknesses.

I do not think this need to depend on samples, if we have some default system configuration that selects a weak crypto, then it should be changed, the samples and tests need to test all cryptos, also the weak ones.
So this should be seen as "Met" if we have no defaults in the system pointing to weak cryptos, and I do not think we have this, do we?

Samples have been added/modified to avoid non-weak crypto.  Specifically we have a google iot application that shows an example of how to properly implement TLS communications with a cloud service.


Markdown clip download fails if website does not have a 'title'  tag

Found in: https://www.developmentsimplyput.com/post/strategy-design-pattern-in-net-c
Despite a missing <title>  tag the browser displays a reasonable title. However, the website cannot be clipped because pageTitle is empty. The extension silently fails to download anything. The solution appears to be to make sure the DOM string passed into getArticleFromDom (background.js) contains a <title> tag.

+1 for that
Got similar behavior when tried to save some txt files which, obviously has neither {title} nor {pageTitle}.
There are two separate issues for that:

If resulting filename is empty, there should be visual indication of an error, not just silent "do nothing" behaviour. Currently it's extremely easy to miss the fact that page is not actually saved.
It would be nice to have some syntax for fallback or conditions. For example, I would like extension to try {title}, {pageTitle}, {baseURI} in this order to create a file name.


Failure running asv with healpy on Mac OS

Running asv locally on Mac OS fails for projects containing the healpy dependency.
The log trace is rather long - here's a short snippet of the observed error messages:
Failed to build healpy
   STDERR -------->
     error: subprocess-exited-with-error

     × Building wheel for healpy (pyproject.toml) did not run successfully.
     │ exit code: 1
     ╰─> [1156 lines of output]

     note: This error originates from a subprocess, and is likely not a problem with pip.
     ERROR: Failed building wheel for healpy

   ...

   ERROR: Could not build wheels for healpy, which is required to install pyproject.toml-based projects

   ...

·· Failed to build the project and import the benchmark suite.

Users have reported being unable to install healpy on Mac OS via pip (compilation issues). An alternative would consist of changing the environment manager to conda, which is also accepted by asv. However, conda's support for pyproject.toml is still a work in progress (more info).

Closing this ticket as we're not facing the issue anymore!


REGEX for Email Address validates with incomplete email addresses

When using the REGEX included in Angular for validating email addresses, it validates addresses without a finished domain ( user@domain will validate the same as<EMAIL_ADDRESS>). Therefore an incomplete email address passes validation when it shouldn't.
Steps to reproduce:

Create HTML page with angular.js , a <input type="email" required> , and some form of validation using $error or $invalid . Example is below.
Input the email address user@domain into the input field.
Validation will pass using angular's validation REGEX located here.

Live Example on Plunkr
Code Example:
<!DOCTYPE html>

Email Address Validation with Angular

      <form name="contactForm" novalidate>
          Email Address:
          <input type="email"
            name="emailaddress"
            ng-model="user.emailaddress"
            required>
      </form>

              ERROR. Your email address does not validate with current Angular EMAIL_REGEXP.

Current REGEX used:

var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;

Proposed REGEX change. This conforms to REGEX standard RFC 5322. Live Example:

var EMAIL_REGEXP = /[a-z0-9!#$%&'*+=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g;

I tried changing the EMAIL_REGEXP to the proposed value above but when I ran the test suite, I received the following error:
Chrome 38.0.2125 (Mac OS X 10.10.0) input email EMAIL_REGEXP should validate email FAILED
    Expected false to be true.
    Error: Expected false to be true.
        at null.<anonymous> (/Users/benrondeau/Desktop/angularfix/angular.js/test/ng/directive/inputSpec.js:4081:49)
    Expected false to be true.
    Error: Expected false to be true.
        at null.<anonymous> (/Users/benrondeau/Desktop/angularfix/angular.js/test/ng/directive/inputSpec.js:4082:44)
    Expected false to be true.
    Error: Expected false to be true.
        at null.<anonymous> (/Users/benrondeau/Desktop/angularfix/angular.js/test/ng/directive/inputSpec.js:4087:42)

I am not knowledgeable enough about tests or Angular to figure out a fix that validates the test suite. Recommendations?
Thanks Angular team!!

Yes, an email address like "jslagle@math" is valid (for applications running INSIDE private domains).  OUTSIDE such domains, the likes of<EMAIL_ADDRESS>are required.
Perhaps the Forms Guide should provide a well-tested pattern for this most-frequent-of-all scenario.  After all, the built-in validator only applies to applications "behind closed doors" (or firewalls, anyway).

How multiples email address validate?

Is there a way to validate sub addresses with a + in between words and use a . in the address in any combination? Basically, the most liberal possible email validation in angular?


Add configmap creation script

Description
Wrote a script to download config files from remote repo and use them to create configmaps. The maps are created from the repo at dell/csm-operator-config by either downloading the tarball or by using a local version of the files. Also made a few additions to common.sh.
GitHub Issues
Checklist:

[x] I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have not allowed coverage numbers to degenerate
[x] I have maintained at least 90% code coverage
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have maintained backward compatibility

How Has This Been Tested?
Used script to successfully install configmaps for PowerScale v2.2.0 and v2.3.0 using all variations of happy-path scenarios. Also tested some error conditions -- wget fails, provided local configmap folder does not exist, configmap creation fails, run with bad option.
Output from successful run:
[root@rhel-8-latest configmap]# sh create_cm.sh --force-configmap-delete
******
> Downloading configmap yamls
******
Please enter GitHub token: --2022-04-21 14:21:47--  https://raw.githubusercontent.com/dell/csm-operator-config/main/powerscale/powerscale-v2.3.0/downloads/powerscale-v2.3.0.tgz
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3768 (3.7K) [application/octet-stream]
Saving to: ‘powerscale-v2.3.0.tgz’

powerscale-v2.3.0.tgz                               100%[==================================================================================================================>]   3.68K  --.-KB/s    in 0s

2022-04-21 14:21:48 (8.34 MB/s) - ‘powerscale-v2.3.0.tgz’ saved [3768/3768]

******
> Untar config files
******
authorization-module-v1.2.0/
authorization-module-v1.2.0/container.yaml
authorization-module-v1.2.0/volumes.yaml
driver/
driver/controller.yaml
driver/csidriver.yaml
driver/driver-config-params.yaml
driver/node.yaml
module-common-v2.3.0/
module-common-v2.3.0/version-values.yaml
powerscale-v2.3.0.yaml
sidecars/
sidecars/default.yaml
sidecars/k8s-1.21-values.yaml
sidecars/k8s-1.22-values.yaml
sidecars/k8s-1.23-values.yaml
******
> Read configmap names from file
******
listOfConfigMapNames:
reading configmaps list
- driver
- sidecars
- authorization-module-v1.2.0
- module-common-v2.3.0
Done reading configmap names
******
> Create config maps
******
> Creating configmap driver
configmap "driver" deleted
configmap/driver created
configmap driver successfully created
> Creating configmap sidecars
configmap "sidecars" deleted
configmap/sidecars created
configmap sidecars successfully created
> Creating configmap authorization-module-v1.2.0
configmap "authorization-module-v1.2.0" deleted
configmap/authorization-module-v1.2.0 created
configmap authorization-module-v1.2.0 successfully created
> Creating configmap module-common-v2.3.0
configmap "module-common-v2.3.0" deleted
configmap/module-common-v2.3.0 created
configmap module-common-v2.3.0 successfully created
******
> Finishing configmap creation
******
Following configmaps created:  driver sidecars authorization-module-v1.2.0 module-common-v2.3.0
Success

Closing PR since we are not using remote repo for now


Add new RemoveMilestone method on IssuesService

Fixes #236

Hi @gmlewis and @cpanato . Mind taking a look at my PR?

Hi @gmlewis . I have made updates. Kindly requesting for another review.

/lgtm


~? Rune

Assert with message on fail.

Huh.  Never run into this one before.  NEVERMIND THEN
https://docs.urbit.org/language/hoon/reference/rune/sig#-sigwut


chunking functions now accept new docs as parameters instread of tokens

fix #111

From my personal perspective, the scope of this PR is much broader than the custom length mentioned in #111. This PR moves most of the logic from the user-invisible get_chunks to the user-customizable chunk_func, offering users a lot of flexibility for customization. However, I am concerned that such a degree of freedom might cause some issues, so I think it would be worth considering adding some mandatory checks in get_chunks for the parameters and return values of chunk_func, and returning a custom warning for non-compliant cases.


keyvault 2021-10-01: ignoreMissingVnetServiceEndpoint not respond as expect

I created a keyvault with ignoreMissingVnetServiceEndpoint = true but the server does not respond ignoreMissingVnetServiceEndpoint field as true when i retrieve the keyvault.
request as:
curl -H 'content-type: application/json; charset=utf-8' -H 'user-agent: Go/go1.19.3 (amd64-linux) go-autorest/v14.2.1 Azure-SDK-For-Go/v66.0.0 keyvault/2021-10-01 HashiCorp Terraform/1.3.6 (+https://www.terraform.io) Terraform Plugin SDK/2.10.1 terraform-provider-azurerm/dev pid-222c6c49-1b0a-5959-a213-6608f9eb8820' -H 'authorization: Bearer xxxxx' -H 'x-ms-authorization-auxiliary: ' -H 'x-ms-correlation-request-id: 10f68284-3bfb-5132-9756-b3bf890b7aaf' --compressed
-X PATCH
 'https://management.azure.com/subscriptions/xx-xx-x-x-xxx/resourceGroups/acctestRG-230110183813226776/providers/Microsoft.KeyVault/vaults/vault230110183813226776?api-version=2021-10-01'
 -d '{
    "properties": {
        "networkAcls": {
            "bypass": "AzureServices",
            "defaultAction": "Allow",
            "ipRules": [
                {
                    "value": "<IP_ADDRESS>"
                },
                {
                    "value": "<IP_ADDRESS>/32"
                }
            ],
            "virtualNetworkRules": [
                {
                    "id": "/subscriptions/xx-xx-x-x-xxx/resourceGroups/acctestrg-230110183813226776/providers/Microsoft.Network/virtualNetworks/acctestvirtnet230110183813226776/subnets/acctestsubneta230110183813226776",
                    "ignoreMissingVnetServiceEndpoint": false
                },
                {
                    "id": "/subscriptions/85b3dbca-5974-4067-9669-67a141095a76/resourceGroups/acctestrg-230110183813226776/providers/Microsoft.Network/virtualNetworks/acctestvirtnet230110183813226776/subnets/acctestsubnetb230110183813226776",
                    "ignoreMissingVnetServiceEndpoint": true
                }
            ]
        }
    }
}'

and it response with no ignoreMissingVnetServiceEndpoint
HTTP/2.0 200
cache-control: no-cache
pragma: no-cache
content-type: application/json; charset=utf-8
expires: -1
vary: Accept-Encoding
x-ms-client-request-id: c8d75352-7a55-4e17-8f41-f2ace95b4f11
x-ms-keyvault-service-version: 1.5.606.0
x-ms-request-id: 53bf4605-d867-418d-a57d-1e79c1e70dad
x-content-type-options: nosniff
strict-transport-security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1198
server: Microsoft-IIS/10.0
x-aspnet-version: 4.0.30319
x-ms-correlation-request-id: 10f68284-3bfb-5132-9756-b3bf890b7aaf
x-ms-routing-request-id: EASTASIA:20230110T104421Z:a14bbbf7-92d9-4f9b-8de6-f3428ab3f9af
date: Tue, 10 Jan 2023 10:44:21 GMT
content-length: 1755

{
    "id": "/subscriptions/xxx-xx-xx-x-xx/resourceGroups/acctestRG-230110183813226776/providers/Microsoft.KeyVault/vaults/vault230110183813226776",
    "name": "vault230110183813226776",
    "type": "Microsoft.KeyVault/vaults",
    "location": "westeurope",
    "tags": {},
    "properties": {
        "sku": {
            "family": "A",
            "name": "standard"
        },
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "networkAcls": {
            "bypass": "AzureServices",
            "defaultAction": "Allow",
            "ipRules": [
                {
                    "value": "<IP_ADDRESS>/32"
                },
                {
                    "value": "<IP_ADDRESS>/32"
                }
            ],
            "virtualNetworkRules": [
                {
                    "id": "/subscriptions/xxxx/resourcegroups/acctestrg-230110183813226776/providers/microsoft.network/virtualnetworks/acctestvirtnet230110183813226776/subnets/acctestsubneta230110183813226776"
                 # <-- no ignoreMissingVnetServiceEndpoint
                },
                {
                    "id": "/subscriptions/xxxx/resourcegroups/acctestrg-230110183813226776/providers/microsoft.network/virtualnetworks/acctestvirtnet230110183813226776/subnets/acctestsubnetb230110183813226776"
                 #  <-- no ignoreMissingVnetServiceEndpoint
                }
            ]
        },
        "accessPolicies": [
            {
                "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
                "objectId": "46f17840-0e65-493b-b5b7-caf7e2520c8c",
                "permissions": {
                    "keys": [
                        "Create"
                    ],
                    "secrets": [
                        "Set"
                    ],
                    "certificates": [],
                    "storage": []
                }
            }
        ],
        "enabledForDeployment": false,
        "enabledForDiskEncryption": false,
        "enabledForTemplateDeployment": false,
        "enableSoftDelete": true,
        "softDeleteRetentionInDays": 7,
        "enableRbacAuthorization": false,
        "vaultUri": "https://vault230110183813226776.vault.azure.net/",
        "provisioningState": "Succeeded",
        "publicNetworkAccess": "Enabled"
    }
}

related API:
https://github.com/Azure/azure-rest-api-specs/blob/4b7373a29b0cc90e654ca66a8ca3742affca732d/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2021-10-01/keyvault.json#L1798-L1801

UPDATE:
when i create keyvault with ignoreMissingVnetServiceEndpoint the reponse is as expected. but when i update/patch an existed keyvault resource to add the ignoreMissingVnetServiceEndpoint property, the reponse is as this issue (losts
ignoreMissingVnetServiceEndpoint). all request with api-version=2021-10-01.


ENH: Add/modify mixin to allow setting info['meas_date']

On the mailing list people asked about modifying info['meas_date']. We should perhaps make a public method for this in cases where it's incorrect.

When we create a raw object from a numpy array there is no absolute time recorded, it would be indeed  very interesting to be able to modify info['meas_date']. Thank you

if you have a datetime object dt in python you can do:
raw.info['meas_date'] = (int(dt.timestamp() // 1), dt.microsecond)

I was thinking of a nicer API like:
raw.set_meas_date(dt)

where dt must be a datetime object in UTC. It's a bit nicer than making people mess with info['meas_date'] and also we can/should for example adjust the raw.annotations simultaneously when setting info['meas_date'] to something new.

sure why not

I tested Alexandre proposal, it works fine, a setter would effectively be nicer, but the same would be needed for other values like info['description'], perhaps propose a setter for all the values that we can modify ?
For info, why using the quotient (timestamp //1) ?

I tested Alexandre proposal, it works fine, a setter would effectively be nicer, but the same would be needed for other values like info['description']

For meas_date we need the setter because there is something else that needs to be kept in sync with it, namely annotations.
For other things like description we don't need a setter as it's just a str entry.
We can make it clear in the info docs which things need to be set via setters and which do not. Most things shouldn't be modified by users so we can just make a short list of things that can be. For example info['chs'] should not be modified, we have setters like set_channel_names and set_channel_types for that stuff.

we have now raw.set_meas_date and epochs.set_meas_date closing.


cloudprint disconnects from admin.google.com

Our school district has about 50 sites and 450 printers shared up to google cloudprint using cups-connector.  This is working well.
https://admin.google.com is used to share those printers to labs of chromebooks.  The problem we are having is that admin.google.com gets disconnected from www.google.com/cloudprint and the chromebooks can't see any print shares or printers.  See attached screenshot.

The printers that the chromebooks can not see/use are tagged as "Other printers" in the admin.google.com site.  However when i send a test job from www.google.com/cloudprint to the printer it works fine - so cloudprint is working but google chromebook connection to the cloud printers gets dropped/lost.
The only way to fix it is to log into admin.google.com device management then delete and re-add the printers.  This is getting a bit tedious deleting and re-adding the printers in the admin.google.com interface.

@dmonty2 : This doesn't sound related to cups-connector. It sounds like a Google admin console or GCP server issue. Have you filed a ticket with Google support?

cups-connector is probably not the issue as cloud-print continues to work even though chromebooks are broken.  Closing this ticket and will open a new ticket for Google Admin Console problem.
Thanks.


Dev env setup guide for M1 Mac

It looks like the same setup steps work on M1 Mac as well, so closing this as completed.


commands/operator-sdk: Add better error message when dep is not installed or not in path

Addresses Issue #163

lgtm


Add Gitter and Badges

Hi there,
Gitter would be a good starting point for contributors to get some feedback outside of issues and pull requests.
https://gitter.im
Also everyone loves extra badges.

https://img.shields.io/badge/Tested on unity-5.4.0f3-blue.svg?style=flat-square

https://img.shields.io/badge/Gitter-Join ➤-green.svg?style=flat-square

Done :) although I don't know if I've done it right, I've never used glitter before


Handle TextObject Attributes Serialization

Add text object attributes to TextObjectSurrogate
Definition of Done

[ ] Text Object Surrogate class exists
[ ] A test exists verifying a TextObject can be serialized with attributes.

TextObjectSurrogate now exists


fix memory leak

fix memory leak, storage's type is the template type T, so the type T's destroy function will not be called.

I am attempting to reproduce the claim in the bug (memory leak in async code path).  The existing http_server.cc does not call the LoadMonitor, which is the only demo code that uses async.
I've sent over 10 minutes of high-speed requests to ./build/examples/run_http_server.  Memory usage (VIRT, RES, DATA, as seen via htop) shoots up slightly, then stabilizes and does not increase with time.
My own personal project that uses pistache.io also does not use async.
Would you humor me and author a separate PR that implements an async code path via http_server.cc (either make the LoadMonitor work, or write a new URI handler)?  I would love to repro the problem before merging this PR.  Also, I have no easy way to test this PR, so on principle I won't merge it yet.

Update: It appears that "serveFile()" uses the async code path.  I ran over 10M calls to "/static" (URI in run_http_server) and noticed no memory leak that grows with each request.  I will try again with valgrind once I can fix pistache's failure to shutdown (SIGINT handler is broken).

I'm sorry for not having discribed it clearly. I use async code  in my project. I found if the Promise's template type T is a struct or class, it use std::aligned_storage to alloc memory,  and use placement new to construct T, but T's destructor will never be called.
As you say, examples/run_http_server has no such problem, because it only use type ssize_t as Promise's template type. I found examples/run_http_client use PromiseHttp::Response, and valgrind reports leak messages :
=30341== 1,671 (552 direct, 1,119 indirect) bytes in 1 blocks are definitely lost in loss record 35 of 40 ==30341==    at 0x4C285FC: operator new(unsigned long) (vg_replace_malloc.c:298) ==30341==    by 0x414456: __gnu_cxx::new_allocator<Pistache::Http::Response>::allocate(unsigned long, void const*) (new_allocator.h:104) ==30341==    by 0x4142BF: std::allocator_traits<std::allocator<Pistache::Http::Response> >::allocate(std::allocator<Pistache::Http::Response>&, unsigned long) (alloc_traits.h:488) ==30341==    by 0x4140A5: std::_Vector_base<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >::_M_allocate(unsigned long) (stl_vector.h:170) ==30341==    by 0x418258: std::_Vector_base<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >::_M_create_storage(unsigned long) (stl_vector.h:185) ==30341==    by 0x4180E8: std::_Vector_base<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >::_Vector_base(unsigned long, std::allocator<Pistache::Http::Response> const&) (stl_vector.h:136) ==30341==    by 0x417FAC: std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >::vector(std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> > const&) (stl_vector.h:320) ==30341==    by 0x417E65: void Pistache::Async::Private::Core::construct<std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >, std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >&>(std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >&) (async.h:206) ==30341==    by 0x416AFD: bool Pistache::Async::Resolver::operator()<std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >&>(std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> >&) const (async.h:745) ==30341==    by 0x415AD1: Pistache::Async::Impl::WhenAllRange<Pistache::Http::Response, std::vector<Pistache::Http::Response, std::allocator<Pistache::Http::Response> > >::WhenContinuation<Pistache::Http::Response, void>::operator()(Pistache::Http::Response const&) const (async.h:1434)

I will attempt to repro the problem per your description tomorrow.  Can you update your PR to remove merge conflicts?  If I can successfully repro the problem and verify your PR, I will merge it.  Thank you.

I have remove the conflict. Thank you.

Ping.  I'm clearing out stale PRs.  Do you have nay thoughts on the feedback from milipili?
I'm going to close this PR.  If you would like this change applied to pistache, please update the PR, respond to the feedback and we'll try to repro the memory leak again (and merge the PR if it fixes the leak).


Missed update to kube-proxy when removing nginx on vagrant

The vagrant kube-proxy setup was still trying to hit on 6443 instead of 443.

looks like i also have a certificate issue where i need to ensure the x509 cert is <IP_ADDRESS> and not <IP_ADDRESS>

LGTM.

@alex-mohr

Risk: low.  Only affects vagrant.


Cannot Update -- Pro Version

Hello,
I purchased the Pro Version May 9th, 2024. Everything was working fine last time I used the software a couple months back, now all tasks fail. I attempted to update botasaurus, but now whenever I attempt to start run,py I get the following error:
"Traceback (most recent call last):
File *********/run.py, line 1, in
from botasaurus_server import run_server
ImportError: cannot import name 'run_server' from 'botasaurus_server' (C:\Python312\Lib\site-packages\botasaurus_server_init_.py)"

I also cannot locate the original email with the pro download link, how can I redownload the newest pro version?

Please run
python -m pip install bota botasaurus botasaurus-api botasaurus-requests botasaurus-driver bota botasaurus-proxy-authentication botasaurus-server --upgrade
as for getting link, kindly mail me at<EMAIL_ADDRESS>

@M0in4
I send you email, please check


Restyle compilation warning

if the compilation is took less than 1000ms, we should hide the warning. now it just remove the content of the error div. I'll push changes if that's fine

@yann300 The problem with the span is when you resize, it rearranges the whole checkbox area. Try to make it smaller. That's the reason I though about rather making a new div and put it in the new line...


feat: added option for k8s collector deployment

Summary
This PR implements the necessary components to deploy the Lacework K8s Collector agent to allow for Kubernetes compliance analysis within the Lacework platform.
The configuration for this functionality was derived from the Lacework agent helm chart located here.
How did you test this change?
Implemented example configurations for CI testing, and deployed in a lab environment.
Issue
N/A

Yeah, 100% agree - while I don't think there are any breaking changes in this update, there are enough changes to the configuration upon upgrade that I think it probably warrants a major version bump.  I'd like to think that I'm overly sensitive to making changes without the awareness of the user, so open to any feedback.
Here was the plan that was produced when I upgraded a relatively standard config:
Terraform will perform the following actions:

  # module.k8s_services.module.lacework_k8s_datacollector.kubernetes_daemonset.lacework_datacollector will be updated in-place
  ~ resource "kubernetes_daemonset" "lacework_datacollector" {
        id               = "lacework/tf-module-test"
        # (1 unchanged attribute hidden)

      ~ spec {
            # (2 unchanged attributes hidden)

          ~ template {
              ~ metadata {
                  ~ annotations = {
                      - "lacework_config_version" = "38942621"
                    } -> (known after apply)
                    # (2 unchanged attributes hidden)
                }

              ~ spec {
                  ~ dns_policy                       = "ClusterFirst" -> "ClusterFirstWithHostNet"
                  ~ termination_grace_period_seconds = 30 -> 20
                    # (9 unchanged attributes hidden)

                  + affinity {
                      + node_affinity {

                          + required_during_scheduling_ignored_during_execution {
                              + node_selector_term {
                                  + match_expressions {
                                      + key      = "kubernetes.io/arch"
                                      + operator = "In"
                                      + values   = [
                                          + "amd64",
                                          + "arm64",
                                        ]
                                    }
                                  + match_expressions {
                                      + key      = "kubernetes.io/os"
                                      + operator = "In"
                                      + values   = [
                                          + "linux",
                                        ]
                                    }
                                }
                            }
                        }
                    }

                  ~ container {
                        name                       = "lacework"
                        # (9 unchanged attributes hidden)

                      + env {
                          + name = "LaceworkAccessToken"

                          + value_from {

                              + secret_key_ref {
                                  + key  = "agent-access-token"
                                  + name = "tf-module-test-access-token"
                                }
                            }
                        }

                      ~ security_context {
                          + run_as_user                = "0"
                            # (4 unchanged attributes hidden)
                        }

                      ~ volume_mount {
                          ~ mount_path        = "/var/run/docker.sock" -> "/sys"
                          ~ name              = "run-sock" -> "sys"
                            # (2 unchanged attributes hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/var/run/docker.pid" -> "/var/log"
                          ~ name              = "run-pid" -> "log"
                            # (2 unchanged attributes hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/sys" -> "/etc/passwd"
                          ~ name              = "sys" -> "passwd"
                          ~ read_only         = false -> true
                            # (1 unchanged attribute hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/var/log" -> "/etc/group"
                          ~ name              = "log" -> "group"
                          ~ read_only         = false -> true
                            # (1 unchanged attribute hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/etc/passwd" -> "/var/lib/lacework/collector"
                          ~ name              = "passwd" -> "hostlacework"
                          ~ read_only         = true -> false
                            # (1 unchanged attribute hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/etc/group" -> "/var/lib/lacework/controller"
                          ~ name              = "group" -> "hostlaceworkcontroller"
                          ~ read_only         = true -> false
                            # (1 unchanged attribute hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/var/lib/lacework/collector" -> "/laceworkfim"
                          ~ name              = "hostlacework" -> "hostroot"
                          ~ read_only         = false -> true
                            # (1 unchanged attribute hidden)
                        }
                      ~ volume_mount {
                          ~ mount_path        = "/laceworkfim" -> "/etc/podinfo"
                          ~ name              = "hostroot" -> "podinfo"
                          ~ read_only         = true -> false
                            # (1 unchanged attribute hidden)
                        }
                      - volume_mount {
                          - mount_path        = "/etc/podinfo" -> null
                          - mount_propagation = "None" -> null
                          - name              = "podinfo" -> null
                          - read_only         = false -> null
                        }

                        # (4 unchanged blocks hidden)
                    }

                  ~ toleration {
                      ~ key      = "node-role.kubernetes.io/master" -> "node-role.kubernetes.io/infra"
                        # (2 unchanged attributes hidden)
                    }
                  + toleration {
                      + effect   = "NoSchedule"
                      + key      = "node-role.kubernetes.io/master"
                      + operator = "Equal"
                    }

                  ~ volume {
                      ~ name = "run-sock" -> "sys"

                      ~ host_path {
                          ~ path = "/var/run/docker.sock" -> "/sys"
                        }
                    }
                  ~ volume {
                      ~ name = "run-pid" -> "log"

                      ~ host_path {
                          ~ path = "/var/run/docker.pid" -> "/var/log"
                        }
                    }
                  ~ volume {
                      ~ name = "sys" -> "passwd"

                      ~ host_path {
                          ~ path = "/sys" -> "/etc/passwd"
                        }
                    }
                  ~ volume {
                      ~ name = "log" -> "group"

                      ~ host_path {
                          ~ path = "/var/log" -> "/etc/group"
                        }
                    }
                  ~ volume {
                      ~ name = "passwd" -> "hostroot"

                      ~ host_path {
                          ~ path = "/etc/passwd" -> "/"
                        }
                    }
                  ~ volume {
                      ~ name = "group" -> "hostlacework"

                      ~ host_path {
                          ~ path = "/etc/group" -> "/var/lib/lacework/collector"
                        }
                    }
                  ~ volume {
                      ~ name = "hostroot" -> "hostlaceworkcontroller"

                      ~ host_path {
                          ~ path = "/" -> "/var/lib/lacework/controller"
                        }
                    }
                  ~ volume {
                      ~ name = "hostlacework" -> "config"

                      - host_path {
                          - path = "/var/lib/lacework/collector" -> null
                        }

                      + secret {
                          + default_mode = "0644"
                          + secret_name  = (known after apply)

                          + items {
                              + key  = "config.json"
                              + path = "config.json"
                            }
                        }
                    }
                  ~ volume {
                      ~ name = "config" -> "podinfo"

                      + downward_api {
                          + default_mode = "0644"

                          + items {
                              + path = "labels"

                              + field_ref {
                                  + api_version = "v1"
                                  + field_path  = "metadata.labels"
                                }
                            }
                          + items {
                              + path = "annotations"

                              + field_ref {
                                  + api_version = "v1"
                                  + field_path  = "metadata.annotations"
                                }
                            }
                          + items {
                              + path = "name"

                              + field_ref {
                                  + api_version = "v1"
                                  + field_path  = "metadata.name"
                                }
                            }
                          + items {
                              + path = "poduid"

                              + field_ref {
                                  + api_version = "v1"
                                  + field_path  = "metadata.uid"
                                }
                            }
                          + items {
                              + path = "namespace"

                              + field_ref {
                                  + api_version = "v1"
                                  + field_path  = "metadata.namespace"
                                }
                            }
                        }

                      - secret {
                          - default_mode = "0644" -> null
                          - optional     = false -> null
                          - secret_name  = "lacework-config-e39a0210529dd4ee" -> null

                          - items {
                              - key  = "config.json" -> null
                              - path = "config.json" -> null
                            }
                        }
                    }
                  - volume {
                      - name = "podinfo" -> null

                      - downward_api {
                          - default_mode = "0644" -> null

                          - items {
                              - path = "labels" -> null

                              - field_ref {
                                  - api_version = "v1" -> null
                                  - field_path  = "metadata.labels" -> null
                                }
                            }
                          - items {
                              - path = "annotations" -> null

                              - field_ref {
                                  - api_version = "v1" -> null
                                  - field_path  = "metadata.annotations" -> null
                                }
                            }
                        }
                    }

                    # (1 unchanged block hidden)
                }
            }

            # (2 unchanged blocks hidden)
        }

        # (1 unchanged block hidden)
    }

  # module.k8s_services.module.lacework_k8s_datacollector.kubernetes_secret.lacework_access_token will be created
  + resource "kubernetes_secret" "lacework_access_token" {
      + data                           = (sensitive value)
      + id                             = (known after apply)
      + type                           = "Opaque"
      + wait_for_service_account_token = true

      + metadata {
          + generation       = (known after apply)
          + labels           = {
              + "app"  = "tf-module-test"
              + "tier" = "monitoring"
            }
          + name             = "tf-module-test-access-token"
          + namespace        = "lacework"
          + resource_version = (known after apply)
          + uid              = (known after apply)
        }
    }

  # module.k8s_services.module.lacework_k8s_datacollector.kubernetes_secret.lacework_config must be replaced
-/+ resource "kubernetes_secret" "lacework_config" {
      ~ data                           = (sensitive value)
      ~ id                             = "lacework/lacework-config-e39a0210529dd4ee" -> (known after apply)
      - immutable                      = false -> null
        # (2 unchanged attributes hidden)

      ~ metadata {
          - annotations      = {} -> null
          ~ generation       = 0 -> (known after apply)
          ~ labels           = {
              + "app"  = "tf-module-test-cluster"
              + "tier" = "monitoring"
            }
          ~ name             = "lacework-config-e39a0210529dd4ee" -> (known after apply) # forces replacement
          ~ resource_version = "38942621" -> (known after apply)
          ~ uid              = "ed9513cf-86aa-4a57-84b5-08570f525ad1" -> (known after apply)
            # (1 unchanged attribute hidden)
        }
    }

  # module.k8s_services.module.lacework_k8s_datacollector.random_id.cluster_config_name_tail will be created
  + resource "random_id" "cluster_config_name_tail" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 8
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
      + keepers     = {
          + "data" = ""
        }
    }

  # module.k8s_services.module.lacework_k8s_datacollector.random_id.config_name_tail will be destroyed
  # (because random_id.config_name_tail is not in configuration)
  - resource "random_id" "config_name_tail" {
      - b64_std     = "45oCEFKd1O4=" -> null
      - b64_url     = "45oCEFKd1O4" -> null
      - byte_length = 8 -> null
      - dec         = "16400423262151890158" -> null
      - hex         = "e39a0210529dd4ee" -> null
      - id          = "45oCEFKd1O4" -> null
      - keepers     = {
          - "data" = jsonencode(
                {
                  - ebpf   = {
                      - externalshortlivedattribution = "enabled"
                    }
                  - fim    = {
                      - notify = "true"
                    }
                  - tags   = {
                      - Env = "k8s"
                    }
                  - tokens = {
                      - AccessToken = "<redacted>"
                    }
                }
            )
        } -> null
    }

  # module.k8s_services.module.lacework_k8s_datacollector.random_id.node_config_name_tail will be created
  + resource "random_id" "node_config_name_tail" {
      + b64_std     = (known after apply)
      + b64_url     = (known after apply)
      + byte_length = 8
      + dec         = (known after apply)
      + hex         = (known after apply)
      + id          = (known after apply)
      + keepers     = {
          + "data" = jsonencode(
                {
                  + ebpf = {
                      + externalshortlivedattribution = "enabled"
                    }
                  + fim  = {
                      + notify = "true"
                    }
                  + tags = {
                      + Env = "k8s"
                    }
                }
            )
        }
    }

Plan: 4 to add, 1 to change, 2 to destroy


[Proposal] Chained token credentials for component authentication

In what area(s)?
/area runtime
Describe the proposal
Today, Dapr supports the capability to authenticate to Azure using any of a collection of authentication measures:

Client Credentials
Certificates
Managed Identities
Workload Identity (AKS)
Azure CLI

This is more than fine when the deployment is going to a single known environment, but it makes things sticker when trying to minimizing having multiple sets of files for different environments when the values you use don't change between the two or even create artifacts that are fully permissioned in Azure but intended only for development purposes and not intended to be distributed.
In the effort to minimize creating additional artifacts that can be misplaced (like client credentials or certificates), Azure provides Managed Identities, which are passwordless and great.. so long as your application is running in Azure, which is probably isn't if you're developing locally. If you're running locally, you can just pass in a certificate.. except that that probably shouldn't be a part of the repo for obvious security implications. Same goes for the client credentials in that they shouldn't be saved locally necessarily. Ah, but that's why we have environment variables, right? Just provide the credentials separately to each developer and have them install to their environment. That's nice until you have to roll the secret because an employee resigned and now everyone gets to reinstall.
Rather, to simplify .NET development, Visual Studio implements a local auth service that is represented by a VisualStudioCredential or a VisualStudioCodeCredential depending on your preferred IDE. This is great because now you're authenticating directly through Entra and if a user's credentials are revoked, they immediately lose all related access to Azure without rotating secrets or swapping certificates.
But this is really only a development time problem as your secrets are presumably safely maintained in a Key Vault and accessible via Managed Identity, so that's trivially handled.. how can we reconcile the two to make development easy locally, but functional remotely without having to modify any code or configurations between the two?
In the Azure.Identity package for .NET (and presumably for other languages), there exists a class that I've found invaluable called (ChainedTokenCredential)[https://learn.microsoft.com/en-us/dotnet/api/azure.identity.chainedtokencredential?view=azure-dotnet]. It does precisely what it sounds like. Where one can typically authenticate by providing a single credential to Azure services, a ChainedTokenCredential allows one to pass in multiple credential types and it will essentially failover between each (in the order provided) until one works.
To look at how easily this is set up (in C#), let me share how I handle this in my various non-Dapr microservices via dependency injection registration (so the credentials are readily available to other Azure resources):
builder.Services.AddSingleton(_ => {
  var managedIdentityCredential = new ManagedIdentityCredential("<clientId>");
  var visualStudioCredential = new VisualStudioCredential();

  return new ChainedTokenCredential(managedIdentityCredential, visualStudioCredential);
});

With nothing but the above, I have a fully functional instance I can pass into any Azure resource that accepts a TokenCredential and I don't have to change anything between local and development deployments. I place the managed identity credential first in the list because a brief timeout delay is acceptable for local development where it would have negative implications in production, but this is a detail that can be explained in the documentation.
I would like to propose something similar be implemented in Dapr. This is likely a pretty small addition as it's just repurposing everything already there and chaining it, but rather than provide a single set of metadata fields to authenticate to Entra (or whatever else other cloud providers are using), I propose some changes to the approach used today. My approach doesn't deprecate the existing approach and instead leaves it as something that can be discouraged (not mentioned in the documentation) and marked as obsolete down the road. Today, the approach looks like the following, allowing only a single authentication approach to be attempted (and which one depends on which properties are provided, here the last three options in the metadata values):
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: azurekeyvault
  namespace: default
spec:
  type: secretstores.azure.keyvault
  version: v1
  metadata:
  - name: vaultName
    value: "[your_keyvault_name]"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId
    value: "[your_client_id]"
  - name: azureClientSecret
    value : "[your_client_secret]"

When referencing a secret that's intended to be accessed via this Entra-based approach, there was a new type created called SecretKeyRef. I propose a new resource should be introduced called Credential with a format similar to the following (included all available token providers, but also added VS). This type should allow the desired identity providers to be passed in (meaning that if there's a duplicate type provided, it's fully legal and processed in the order provided):
apiVersion: dapr.io/v2alpha1
kind: Credential
metadata:
  name: <REPLACE-WITH-NAME>
spec:
  providers:
    - type: VisualStudioCredentialProvider
    - type: AzureClientCredentialProvider
      clientId: <REPLACE-WITH-CLIENT-ID>
      tenantId: <REPLACE-WITH-TENANT-ID>
      clientSecret: <REPLACE-WITH-CLIENT-SECRET>
    - type: AzureCertificateCredentialProvider
      clientId: <REPLACE-WITH-CLIENT-ID>
      tenantId: <REPLACE-WITH-TENANT-ID>
      certificate: '<REPLACE-WITH-CERTIFICATE-IN-PFX/PKCS#12-FORMAT>'
      certificateFile: <REPLACE-WITH-PATH-TO-CERTIFICATE>
      certificatePassword: <REPLACE-WITH-CERTIFICATE-PASSWORD>
    - type: AzureManagedIdentityCredentialProvider
      clientId: <REPLACE-WITH-CLIENT-ID>
    - type: AzureWorkloadIdentityCredentialProvider
    - type: AzureCliCredentialProvider
scopes:
  - <REPLACE-WITH-SCOPED-APPIDS>

Nothing needs to be changed about how the secretKeyRef works in component specifications.
The secret store component should be updated to add a new key/value pair at the bottom, as in the following:
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: azurekeyvault
spec:
  type: secretstores.azure.keyvault
  version: v1
  metadata:
  - name: vaultName # Required
    value: [your_keyvault_name]
  - name: azureEnvironment # Optional, defaults to AZUREPUBLICCLOUD
    value: "AZUREPUBLICCLOUD"
  - name: azureTenantId
    value: "[your_service_principal_tenant_id]"
  - name: azureClientId
    value: "[your_service_principal_app_id]"
  - name: azureCertificateFile
    value : "[pfx_certificate_file_fully_qualified_local_path]"
identity:
  credential: <REPLACE-WITH-NAME-OF-CREDENTIAL-PROVIDER-COMPONENT-ABOVE>

From there, Dapr will attempt to secure credentials in the order provided in the specified component until it receives a non-default credential and then use it like it would today to authenticate to the component it's trying to access.
A couple of follow-up thoughts on the approach:

Names don't assume Azure usage and instead clarify who the credential provider is associated with so this can be extended to support in other cloud providers as part of a future effort
Nothing about the implementation in the secret stores needs to change as the fail-over behavior should be managed entirely within Dapr
The way the authentication values are passed in today needn't change. Rather, as a matter of documentation, it should be introduced ASAP that there's a new preferred approach and that either one or the other needs to be implemented (emphasis on the new approach). Existing approaches will continue to work either indefinitely without chaining support or until the component spec gets an upgrade, so plenty of time to migrate and give notice.

Especially paired with users learning about Dapr from its recent integration with Aspire, implementing low-effort functionality like this will only simplify their adoption and lessen authentication overhead while encouraging richer development-time security.
Thank you for the consideration.
Release Note
RELEASE NOTE:
ADD Support for chained authentication enabling a fail-over style approach across different credential providers

Bump - haven't had time to make further progress on this, but I would still like to solicit ideas as to whether it might be a good fit here or not.


Replenishment API

Is Replenishment API available in this library?
https://developer-docs.amazon.com/sp-api/docs/replenishment-api-v2022-11-07-reference#overview

It isn't yet. Want to open a PR?

Looks like someone was monitoring new issues here and already created PR. 😆
https://github.com/saleweaver/python-amazon-sp-api/pull/1234

It's available now :)


Checkbox SVG doesn't appear in Firefox

Firefox 50 shows the checkbox input.

Firefox 54 shows no input or SVG:

Step 1 for this fix is replacing the SVG data attributes with escaped characters. Firefox fails parsing # as invalid character.

Looks like #8 fixed this but the latest version of this CSS has not been pulled into todomvc.com

Open an issue on TodoMVC about that.

Was already on file as well: https://github.com/tastejs/todomvc/issues/1780 thanks to patrickkettner


CEN64 Doesn't Open

When attempting to open CEN64 with openAL32.dll from the CEN64 website downloaded, CEN64 still does not open.

More info needed. How are you running it? You can't just double-click it -- you need to run it from the command line and give the program some arguments.
If this all sounds foreign, you might want to look into using CEN64-Qt.

 I didn't know that there was no GUI for this one. I am familiar with running programs through a command line. Anyway, thanks for the help. Looking forward to the progress of this emulator.


Rapid successive calls to onShake callback on Android

After trying to replace our existing package with this package,
I've ran into these issues on Android,

android build fails when trying to customise shake force threshold.
sometimes the onShake callback is getting called rapidly 10, 100's of times in a second.
emulator cmd + m simulation for shake gesture is not working after following Readme steps to do so.

Thats said this package is working perfectly fine on iOS since it's using existing apple sdk motionShake.
I have reverted back to the old package afterwards, i'll try to add the screenshots of the issues.

Sorry to see that you have those issue.
The first one is fixed in 1.0.3. Indeed, the metadatas were already defined in the module.
Emulator simulation shake gesture only work on a detached emulator window. If you have your emulator inside a toolbox in Android Studio, it won't work. CMD+M acts as a press on a media button, a button that disappeared long ago.
The snippet in the readme redirects call to that button to the skake module. Just like React Native do.
For the repeated calls, do you have a reproducible demo ? I can't simulate that behavior on my side

I will reopen this issue if I can reproduce it ✅


CacheFilePath incompatible with MSIX

If the CacheFilePath  is defined as follow:
public static readonly string CacheFilePath = System.Reflection.Assembly.GetExecutingAssembly().Location + ".msalcache.bin3";
And you try to package the app with MSIX, after installing you get a runtime exception in KERNELBASE.dll.
This error in your documentation costed me 2 days of debugging.
Also, the CacheFilePath doesn't need to be public.
Please replace it with:
private static readonly string CacheFilePath =
$"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{AppName}\msalcache.bin";

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

ID: ff6b0d71-daf8-e75a-5157-a8a3c1c8bf1a
Version Independent ID: 64d94165-c058-3867-fc63-6d816399fde4
Content: Token cache serialization (MSAL.NET) - Microsoft identity platform
Content Source: articles/active-directory/develop/msal-net-token-cache-serialization.md
Service: active-directory
Sub-service: develop
GitHub Login: @jmprieur
Microsoft Alias: jmprieur

@Licantrop0 Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Taken into account by https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/1776

#please-close

Addressed by https://github.com/MicrosoftDocs/azure-docs-pr/pull/112613

@jmprieur the link is 404


fishPlugins.autopair-fish: init at 1.0.3

Description of changes
Adds the fish autopair plugin, closes #176594.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

1 package built:

fishPlugins.autopair-fish