Multi-value filters for Status value on pipeline run pages

Is your feature request related to a problem? Please describe.
This is a UI/UX improvement for managing pipeline runs. Flipping between single statuses is tedious and it would be a great improvement to be able to select multiple values. I would love to be able to select combinations of values, such as {"Ready", "Running"} or {"Cancelled", "Failed"} to be able to monitor alive or dead runs.
Describe the solution you'd like
Provide the ability to be able to select multiple run status values from the drop down of the pipeline runs page. The list of pipeline runs would be filtered based on the selected status values.
Describe alternatives you've considered
Not sure if there are any alternatives here.
Additional context

@jdvermeire Noted, thanks for the suggestion.


⚠ Bofrost.com has degraded performance

In b72d4ff, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 1565 ms

Resolved: Bofrost.com performance has improved in 6857ff9 after 6 minutes.


:new: Textfield checkfocus

Fixes #1125
No unit test since nothing I tried to test this functionality would work. Looks like the focus() method on inputs in a test focusing seems to be an issue. I manually tested by opening a snippet and adding autofocus to one, then going to http://localhost:5000/components/textfield/demo.html and seeing if it were focused or not. Works as expected.

LGTM

Tested in IE10, works there. LGTM, merge at will!


Change DO logo from png to svg

As per https://github.com/prometheus/docs/pull/2351#issuecomment-1635619390

@juliusv same behaviour as before. Could you help with sizing the SVG, please?

@juliusv that works, thanks. Are you particular about 250px? I think the 200 looked better. Alternatively, the CNCF logo is 300 wide, so we can make them the same.

NB: The whole text width is a clickable link for both CNCF & DO, which is not HTML default behaviour -- but I don't think it's worth digging to find what causes this.

Are you particular about 250px? I think the 200 looked better.

Either is fine :+1:

The whole text width is a clickable link for both CNCF & DO

That's because we have a CSS rule that sets doc content images to display: block, but fine with me.
:+1:


Add default logo to README

Reviews in this chain:
└https://github.com/Skydio/revup/pull/37 Add default logo to README

#
head
base
diff
date
summary

0
aa7bcceb
4a4bc9f2
diff
Sep 14 3:18 PM
2 files changed, 9 insertions(+), 3 deletions(-)


[AVM Module Issue]: Could not retrieve the list of available versions for provider hashicorp/modtm. Provider Not Found

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
No response
(Optional) Correlation Id
No response
Description
Error: Failed to query available provider packages
Could not retrieve the list of available versions for provider hashicorp/modtm:
provider registry registry.terraform.io does not have a provider named registry.terraform.io/hashicorp/modtm
Did you intend to use azure/modtm? If so, you must specify that source address in each
module which requires that provider. To see which modules are currently depending on
hashicorp/modtm, run the following command:
terraform providers
exit status 1

terraform --version

Terraform v1.7.5
on darwin_amd64

Output of terraform providers,
Providers required by configuration:
.
├── provider[registry.terraform.io/hashicorp/azuread]
├── provider[registry.terraform.io/hashicorp/azurerm] >= 3.63.0, < 4.0.0
├── provider[registry.terraform.io/azure/modtm] 0.3.2
├── module.naming
│   └── provider[registry.terraform.io/hashicorp/random] >= 3.3.2
├── module.service_bus
│   ├── provider[registry.terraform.io/hashicorp/random] ~> 3.6
│   ├── provider[registry.terraform.io/hashicorp/azurerm] ~> 3.71
│   └── provider[registry.terraform.io/hashicorp/modtm]
└── module.this
Expected Behaviour:
Module should have a Required provider for modtm that being used in telementary and it looks like,
terraform {
  required_version = "~> 1.5"

  required_providers {

    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.71"
    }

    random = {
      source  = "hashicorp/random"
      version = "~> 3.6"
    }

    modtm = {
      source = "Azure/modtm"
      version = "0.3.2"
  }
 }
}

since it's not defined, by default it's looking in hashicorp registry (where it is not located)

I've implemented the necessary changes. Should be a quick review. Can you take a look please @bryansan-msft @matt-FFFFFF @mbilalamjad

LGTM


Replacing lingering references to metadata store

Describe changes
I took out some lingering metadata store references but some are left over and some README's need an update
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table and the corresponding website section.
[ ] I have added tests to cover my changes.

Types of changes

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

@wjayesh  and @safoinme I notice that the whole KServe, custom deployment, and seldon README's are  very verbose and might need a simpler neater alternative! :-) Is it possible that you guys help me re-write them?

@safoinme I think so yes!

@htahir1 can we merge this?

Closing in favor with @bcdurak 's upcoming PR


[client] Support hex address without 0x prefix in dev script command

Motivation
Hex address without '0x' prefix is valid in client, and is the default print format. But function 'parse_as_transaction_argument' only support address start with '0x'. It's confusing for users why address print by client is illegal in dev execute command.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
cargo test
cargo run -p libra-swarm -- -s
Create account and mint some libra, then execute following commands:

dev c 0 language/stdlib/transaction_scripts/peer_to_peer_transfer.mvir script
dev e 0 language/stdlib/transaction_scripts/peer_to_peer_transfer.mv<PHONE_NUMBER>00000000000000000000000000000000000000000000000a550c18 1
q b<PHONE_NUMBER>00000000000000000000000000000000000000000000000a550c18

check the balance of<PHONE_NUMBER>00000000000000000000000000000000000000000000000a550c18  is added by one.
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

@bors-libra: r+

:pushpin: Commit 3671f94 has been approved by phoenix-antigravity

:hourglass: Testing commit 3671f94314a57c1e9c5dfe748676fcd0153d5ec9 with merge 72fab8dc361e138c7ec3e0d829a9a30db76f1e4f...

@bors-libra: r+

:pushpin: Commit 77b0258 has been approved by phoenix-antigravity

:hourglass: Testing commit 77b025811bc7ba23eba5523f4af7f4419a066e6a with merge 4efcc5e2b637cb30491dfe84111aa7984da73010...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: phoenix-antigravity
Pushing 4efcc5e2b637cb30491dfe84111aa7984da73010 to master...


Clean up tests more.

Unfortunately I can't test properly because of the CDN errors...

@jmervine: there's an issue I could use some help.
request in functional_test.js is broken when an error is thrown in helpers.preFetch. That is why we keep getting those "Uncaught assertion errors" in assert.itWorks in functional.
Also, I don't seem to call the callback at all in functional's request.

@jmervine: the issue I mention above still exists though. That is what I need help with :P

So basically here's what I was thinking:
We should drop request in functional and move the responses caching in test helper prefetch. Then run functional walk first, then run the individual tests there.
Also, perhaps we should return an object with the responses in test helper, although I'm not sure this would help us. In theory it seems more appropriate but it's just an idea.

@jmervine: I just went back to using a try/catch around itWorks.
Please check the diff again one last time.

@jmervine: ping ^^


Added Binary Search Tree under C++ folder

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked the issues to see if your request isn't assigned to someone else?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[ ] If your submission is to improve an existing code, have you created an issue to specify that?
[x] Don't tag anyone unless specifically requested to do so
[x] Don't create any subfolders unless specifically requested to do so.

[x] Does your code work locally?
[x] Have you cleaned your code for better readability? (no extra unnecessary lines, etc.)
[x] Have you updated the README.md file to add the link to your code?

@GudiaArunKumar please check all the boxes.

Updated the check boxes

But same issue is assigned Yesterday to other programmer. So, Please close my PR

Added Stack DS in C++

welcome!


Suggestions ApiSpecification.md

Removed the "success = true" and "success = false" in response messages as the client will rely on HTTP code to be informed of success/failure.
Changed the error object to be an array of errors.
Reformatted the errors in the spec to be just a status code followed by a message instead of showing their JSON representation.

Apart from that I think there is some value in having possible errors after each endpoints, rather than having them grouped together at the top. This way, the client implementer doesn't have to look at all the errors in sequence to decide whether the relevant endpoint does or doesn't include which errors.
@nopara73 @dangershony @dev0tion  any thoughts?

Hey,

Great, using the http status is the way to go.
Ok
What's the advantage of having the errors unstructured?

And yes I see value in adding possible error codes on every endpoint as well, that's the way most API specs are defined anyway.

They're still structured as Json but no need to rewrite the Json messahe every time in the API specifications :-)
Just to save space and because it's easier to see
403 (Forbidden) - "Access denied"
404 (Not Found) - "Wallet not found"

instead of
{
    "status": 403,
    "message": "Access denied",
    "description": "..."
}
{
    "status": 404,
    "message": "Wallet not found",
    "description": "..."
}
etc...

Allrighty! All good here.


Broken when streaming to mpv?

? What would you like to do for me? Stream on a video player (Recommended)
? Which video player would you like to use to stream? mpv
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\wolf\anime-cli\anime_cli\__main__.py", line 129, in main
    video_url = searchApi.get_video_url(embed_url)
  File "C:\Users\wolf\anime-cli\anime_cli\search\gogoanime.py", line 55, in get_video_url
    link = re.search(r"\s*sources.*", r.text).group()
AttributeError: 'NoneType' object has no attribute 'group'

Streaming to browser works perfectly otherwise

hey can you tell me what anime you were watching and what episode?
also make sure that mpv is installed, running this should this return the mpv version
mpv --version

Sorry, for a very late response I was bit busy

The problem was happening with all animes (despite the streaming to browser working perfectly). I also have mpv 0.33.0-397 installed. However, something seems to have broken, as I now can't get past the anime choice.
Traceback (most recent call last):
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\wolf\AppData\Local\Programs\Python\Python39\Scripts\anime-cli.exe\__main__.py", line 7, in <module>
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\anime_cli\__main__.py", line 109, in main
    anime = anime_prompt(searchApi)
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\anime_cli\__main__.py", line 48, in anime_prompt
    return inquirer.select(
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\InquirerPy\prompts\list.py", line 193, in __init__
    self.content_control = InquirerPyListControl(
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\InquirerPy\prompts\list.py", line 60, in __init__
    super().__init__(
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\InquirerPy\base\control.py", line 73, in __init__
    self._safety_check()
  File "c:\users\wolf\appdata\local\programs\python\python39\lib\site-packages\InquirerPy\base\control.py", line 156, in _safety_check
    raise InvalidArgument("argument choices cannot be empty")
InquirerPy.exceptions.InvalidArgument: argument choices cannot be empty

I'll be closing this as it surely broke on my machine. Thank you for your time.

I know this exception occurs when it doesn't find any anime, I will fix it

I have plans for a rewrite of the api and host it, so users don't have to download those additional libraries

I have fixed the argument choices cannot be empty issue, although streaming to browser is still broken update anime-cli by running
pip install anime-cli --upgrade

I have fixed this issue completely, just upgrade your anime-cli version. Thanks for reporting it

Facing the same issue while using the tool on termux. OnePlus 8Pro Android 11.
Doesn't work on browser as well. When browser is selected it simply exits.
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/bin/anime-cli", line 8, in
sys.exit(main())
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/anime_cli/main.py", line 129, in main
video_url = searchApi.get_video_url(embed_url)
File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/anime_cli/search/gogoanime.py", line 56, in get_video_url
link = re.search(r"\ssources.", r.text).group()
AttributeError: 'NoneType' object has no attribute 'group'


502 Bad gateway when on kafka topics ui

I run the command docker run --rm -it -p 2181:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 9092:9092 landoop/fast-data-dev on redhat 7.2.
Everything is started. When i go to http://IP:3030, i have many error http 502 (Bad gateway) in chrome console.

Do you know the problem  ? Can you help me to resolve this plz ?
Gaetan

I just gave it a try on Redhat 7.3 on GCE and it seems to work fine.
Could you give me more info about your setup? Is redhat installed in a VM? In a cloud service? Is the IP address in the errors the same as the IP address you use in your browser to connect to the service?
Also you can come over at gitter if you prefer.
https://gitter.im/Landoop/fast-data-dev

What works for me (on Mac) is using the correct
-e ADV_HOST=<IP_ADDRESS>

Where the IP is the one exported on DOCKER_HOST environment variable
So the full cmd would look like this
docker run --rm -it \
       -p 2181:2181 -p 3030:3030 -p 8081:8081 \
       -p 8082:8082 -p 8083:8083 -p 9092:9092 \
       -e ADV_HOST=<IP_ADDRESS> \
       landoop/fast-data-dev

This ticket seems to be in-active. I'm closing as we have also recently upgraded the documentation (README.md) to better suggest how to set up your docker depending on your environment and setup
Feel free to re-open if this persists
Thanks

In chrome i got this issue but in edge browser its works. :p


Added uv_open_osfhandle (counterpart of uv_get_osfhandle)

I do not know why uv_get_osfhandle was implemented without its counterpart to begin with,
But when fiddling with node.js native addons this looks like a major oversight.
This PR is a very basic wrapper for get_osfhandle, which allows us to pass fds to node.js from a native addon. (Scenario: We create a HANDLE to a file or another compatible object, and pass it to node to do something with it)
Closes https://github.com/nodejs/node-addon-api/issues/304

Oh yeah, he answered my issue on the nodejs repo, and I did not notice he already created this PR :-)


fix viewer's animation error when animations has same name

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14247/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14247/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14247/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14247/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14247/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14247/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14247/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14247/merge#BCU1XR#0

The comment on the line just before is not uptodate in this case.
Is there no way to allow all of them to play ???

I agree that we need a better solution. This PR is just to avoid a break. However, I'm not certain about the range that needs to be changed.

This will require changing the value added to the select. it should be the index of the animation instead of the animation name.

Do we want to fix it in this PR?


(feature) Turn GOFF editor into GOFF playground

Requirements
GOFF editor is a great idea to simplify the definition of a feature flag. It can go one step further to become a GOFF playground where not only a rule can be defined but also can be evaluated/tested with manually entered user context data.
Option 1
Re-implement the evaluation logic in Javascript so the feature flag can be evaluated purely in the frontend. No backend service is required. This may also serve the purpose of future frontend only SDK.
Option 2
Run a GOFF relay proxy instance and then attach the editor to it so evaluation/testing can be done.

@yangzhaox I was thinking about it and I am not sure how it should look like in the UI.
Any  idea?

PR #890 is creating the API and preparing the editor to use it.
I will have to host the service before being able to release the feature in the editor.

@yangzhaox You can now validate your flag directly in the UI.
This is not the most pretty UI but you can have a fast feedback loop.


How to disable source maps in node?

My setup is something like this:
require('livescript');
require('./src/server.ls');

So, LiveScript directly patches the node environment. Within this setup, how can I optionally disable source maps, so that stack traces point to the line numbers of the compiled javascript code (Hopefully with a hint to which LS file the JS code was generated from)?

I am surprised that by just doing require('livescript') you already get source map support in node.
If you don't precompile where is the value of getting js line numbers when you don't get the js code?
Just precompile your code without sourcemaps.

Well now that you said that, I'm not sure :)
I assumed I'm getting source maps because the stack traces have .ls extensions and don't point to relevant lines when I look up the line numbers in a manually compiled js file.
But if you think source maps aren't actually enabled by default in node, then I should try to reproduce the bug.


Add Word Number Labels to Mnemonic Inputs in Wallet Restoration Flow

Problem:

The word number label disappears when the user types in the mnemonic input field.

closes: #190
Issue ticket number and link:

Ticket Number: [ 190 ]
Link: [ https://github.com/palladians/pallad/issues/190 ]

Evidence:
https://www.loom.com/share/7cc9a86b55ce4457ba6b943530f5b633

Acceptance Criteria

[x]   Each Seed Import input should have a label inside the input with an according word number.
[x] It should work fine on smaller side panels - inputs should be responsive.

Hi @mrcnk Please review this PR.

Hi @aliraza556, it's almost perfect, can you just make sure the label has enough of spacing for double digit numbers? It's a little too close.

When it's fixed I'm gonna merge and let you know how we do bounty pay outs with https://astromina.org/.

When it's fixed I'm gonna merge and let you know how we do bounty pay outs with https://astromina.org/.

@mrcnk Ok I fix it and then ping you.

Hi @mrcnk, Please merge this PR.

Hi @aliraza556, it's almost perfect, can you just make sure the label has enough of spacing for double digit numbers? It's a little too close.  When it's fixed I'm gonna merge and let you know how we do bounty pay outs with https://astromina.org/.

@mrcnk Fixed

@aliraza556 now it's the other way around, the single digit number labels are too close 😅

@aliraza556 now it's the other way around, the single digit number labels are too close 😅

ok I try to fix it

@mrcnk Done:

@aliraza556 please format the code with "pnpm format:unsafe" and push again, that should make it complete and bounty will be on the way to you

@mrcnk Please approve the workflows

Hi @mrcnk, How i get payment any idea?


Issue with finding LdrpHandleTlsData64 in some builds of Windows 7 Professional

Hello. I am using your library for injecting my DLL with ManualMap, and in some builds of Windows 7 Professional I have faced a crash problem. When I analyzed ExceptionAddress in the debugger, I noticed that offset of the beginning LdrpHandleTlsData64 is not -0x27, but -0x23.

So, this is my quality fix of this problem in NtLdr::AddStaticTLSEntry xD

Fixed in #f654f75f2309858b9fc331f3571a57045c


Added button color change when user record is edited but not saved

Short Description
Added button color change when user record is edited but not saved
Rationale/purpose of the feature
Allows Admin to quickly identify when a user record has been edited, but not saved
Link to relevant User Story
Change Button Color when User Record Unsaved
Optional: Screenshot(s) of intended state of feature, wire-frame(s), flowchart
Screenshot
Checklist for author and reviewers

[ ] Commits are well named and descriptive
[ ] PR is focused on a single problem, is small enough and easy to review
[ ] PR requests were sent to multiple reviewers
[ ] PR is reviewed by more than one team member
[ ] Code is consistently formatted
[ ] Code is suitably commented on
[ ] There is no duplicate code
[ ] Code tries to follow best practices
[ ] Decide with reviewers if this PR should have tests before merging

Thank you for working on this! The stakeholder wanted our button to match the other teams styling. I believe they had a white background and blue text when the form was not yet ready to submit and turned blue with white text when it was ready to submit. You can look at Team A's demo for exact colors but I think it would be best if we change the button styling to match theirs that way the app is more cohesive.

You're very welcome. Ok, I thought I had said that he wanted it to be white when editing, but not yet saved. I had a hard time hearing him last night. Thank you for clarifying what he was asking. I appreciate it. I went ahead and pushed the updated color scheme. Can you take another look for me?

Yes! I think that is much closer to the other teams! Looks good!

Thank you! I appreciate it.

Thanks for both of your comments.
The changes make our feature aligned with the styling used by team A on the calendar.

You're welcome. Thank you!


Cropping with wrong dimensions when try with already cropped bitmap

Hi,
When i am trying to crop an image(Bitmap) which is already cropped with Image Cropper, it is cropping with wrong dimensions.
Thanks

can you provide the steps to reproduce in the sample app?


The incomplete expense status confuses payees, collective admins and host admins

We had multiple reports of people not understanding how to get out of the "Incomplete" expense status, currently defined as:

The incomplete status is cleared after either: someone edits the expense OR the author comments on the expense.

I would argue that this behavior is:

Obscure: there's no way to guess beforehand that it's going to act like that
Dangerous: if it's still incomplete, you may want to comment on the expense without re-approving it

I would suggest making the re-approval an obvious process:

The payee could have a new button: I have completed the requested information. This could also be a checkbox when commenting.
The host and collective admins should have a button in "More Actions" to Re-Approve the expense, or Mark as completed.

Feedback of people being confused with this

https://opencollective.slack.com/archives/GFH4N961L/p1705473344766949
https://opencollective.slack.com/archives/C0429NTTABF/p1692266313542219
https://opencollective.slack.com/archives/C0HSLRNVC/p1692970040254069

cc @kewitz @iamronen

I would love to see this prioritized soon; the current behavior feels very clumsy to me.

Another one today: https://opencollective.slack.com/archives/GFH4N961L/p1705532602999709


Reagent container visualizer

About the PR
Fixes #3002.
Add bluespace beaker and cryostasis beaker (non-obtainable yet)
Also add different variants for chemistry bottles.
Reworked a lot of rsi and meta in chemistry folder.
Screenshots

Changelog

:cl:

add: Beakers, syringes and chemistry bottles show fill level by different sprites
add: Add bluespace beaker and cryostasis beaker (non-obtainable yet)

Will need updating to serv3 when you get time

Done. Though new YAML Linter fails with:
Error: /Prototypes/Recipes/Crafting/Graphs/tiles.yml(13,15)  Field "name" not found in "Content.Shared.Construction.MaterialConstructionGraphStep".
Error: /Prototypes/Recipes/Crafting/Graphs/tiles.yml(28,15)  Field "icon" not found in "Content.Shared.Construction.MaterialConstructionGraphStep".
Error: /Prototypes/Recipes/Crafting/Graphs/tiles.yml(31,15)  Field "name" not found in "Content.Shared.Construction.MaterialConstructionGraphStep".

But I guess it's not mine.


increase the card item when its landscape( it's requirement)

Consider it as a Requirement.

How do I display 5 items when the screen in on landscape mode could you please suggest me,
I want to display 5 item as in the design, right now it shows only 3 items in landscape and portrait mode.

Is this a bug report, a feature request, or a question?
(Write your answer here.)

Have you followed the required steps before opening a bug report?
(Check the step you've followed - put an x character between the square brackets ([]).)

[] I have read the guidelines regarding bug report.
[] I have reviewed the documentation in its entirety, including the dedicated documentations :books:.
[] I have searched for existing issues and made sure that the problem hasn't already been reported.
[] I am using the latest plugin version.
[] I am following the issue template closely in order to produce a useful bug report.

Have you made sure that it wasn't a React Native bug?
(Write your answer here.)

Is the bug specific to iOS or Android? Or can it be reproduced on both platforms?
(Write your answer here and specify the iOS/Android versions on which you've been able to reproduce the issue.)
Is the bug reproductible in a production environment (not a debug one)?
(Write your answer here.)

Environment

(Write your answer here.)
Expected Behavior

(Write what you thought would happen.)
Actual Behavior

(Write what happened. Add screencasts/screenshots!)
Reproducible Demo
(Paste the link to a Snack example in which the issue can be reproduced. Please follow the guidelines for providing a Minimal, Complete, and Verifiable example.)

Steps to Reproduce

(Write your steps so that anyone can reproduce the issue in the Snack demo you provided.)

Hey @sharanagouda
If your problem is solved can you please close the issue? or at least update your description 😅
It sparks joy for maintainers ✨

@sharanagouda Sorry, please allow me to advertise for my open source library! ~
I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2

Hey @sharanagouda If your problem is solved can you please close the issue? or at least update your description 😅 It sparks joy for maintainers ✨

Sorry, its not solved yet,
If we keep mobile landscape still I see only 3 item on screen, there is no option to show 5 items


WIP: Btrfs

This is not finished yet, but it will make the base OS btrfs and more reliable by doing that once it's finished

with btrfs, there is some small maintenance to do on the filesystem regularly, so do not forget to implement a crontab (for the root user) something in the like:
0 0 * * * /usr/bin/btrfs balance start -dusage=50 -dlimit=2 -musage=50 -mlimit=4 ${BTRFSMOUNTPOINT}
This prevents BTRFS from running out of blocks even if it has unused space within blocks, and is run at midnight everyday. You may need to change the path to the btrfs binary, and the dusage and musage (as 50% is a lot)
0 0 * * 0 /usr/bin/btrfs scrub start -B -c 2 -n 4 ${BTRFSMOUNTPOINT}
This detects bit rot (i.e. bad sectors) and auto-heals the filesystem, and is run on Sundays at midnight.

with btrfs, there is some small maintenance to do on the filesystem regularly, so do not forget to implement a crontab (for the root user) something in the like:
0 0 * * * /usr/bin/btrfs balance start -dusage=50 -dlimit=2 -musage=50 -mlimit=4 ${BTRFSMOUNTPOINT}
This prevents BTRFS from running out of blocks even if it has unused space within blocks, and is run at midnight everyday. You may need to change the path to the btrfs binary, and the dusage and musage (as 50% is a lot)
0 0 * * 0 /usr/bin/btrfs scrub start -B -c 2 -n 4 ${BTRFSMOUNTPOINT}
This detects bit rot (i.e. bad sectors) and auto-heals the filesystem, and is run on Sundays at midnight.

Thanks! We'll add that for the SSD. Closing this PR now as the SD will stay ext4, because btrfs would require big changes to the boot system, I'll add btrfs-progs in a later PR.


feat(components/webserver): added support for proxification

Proxy support added by setting the addrs in the txAdminProxyAddresses variable separated by ,. No support for CIDRs as it would require a module and I leave that decision to tabarra.
The actual address of the client must be specified in the x-txadmin-real-ip header.
Example configuration:
set txAdminProxyAddresses "104.81.29.xxx, 92.10.23.xxx"

Hey @MrSentex thanks for the PR.
Any particular reason why to use a custom txAdmin header instead of x-forwarded-for?

Hey @MrSentex thanks for the PR. Any particular reason why to use a custom txAdmin header instead of x-forwarded-for?

No real reason, I followed the pattern of the rest of the headers as x-txadmin-identifiers. x-forwarded-for is a better idea to follow the standard.

I think we better go with XFF, since it will be the zero-config alternative for most reverse proxies.
But also i'm not sure about manually handling the ip/src validation.
https://github.com/tabarra/txAdmin/blob/master/core/components/WebServer/index.js#L69
Koa itself has an option for that which can accept an array but must be configured correctly not to be vulnerable to XFF spoofing.

The safest option I can think of would be to add a header for example: x-txadmin-proxy-token authenticating that the traffic is being proxied from an authorised server assuming that XFF will be valid. If it is configured incorrectly, the attacker will not have the key (If the key is not predictable. It could be generated automatically from the panel) and therefore will not be able to perform XFF spoofing. Configuring Koa for this seems unnecessary to me, we can work with ctx.txVars.realIP and it would be easier to make any modifications.

The code should also be modified to follow the XFF standard as there may be more than one IP address concatenated.


Poll: Switch to python 3 only?

Any opinions on this?
Anybody using tmuxp and require python 2?

I only use it from a python3 virtualenv.  So +1 from me.


Ideas

I don't use Instagram or TikTok and I'm new on here so idk how or if you can message people but I had few ideas. First one is that you could maybe do the same thing with life weaver almost where it heals right when his heal is fully charged. Idk about the second one if its possible cause of where the bar its located but whenever you shift/dash towards a person when the bar for mercy's jump gets in the threshold for max height it auto triggers. Maybe make it where that only happens if you hold shift maybe idk just ideas.  I know in the source I can go in the code and change the key binds and compile it for different ones but being able to change the key bind from left click or F2 would be nice but not necessary. Also this is probably too much but at it would be nice to also be able to control the thresh old at which it chooses to use dmg boost over heals. This is more of a personal one which I can probably just add myself but auto jump when holding left click while dmg/heal would be a nice option just cause I spam jump all the time and my finger gets tired lmao. I appreciate your work and keep it up thanks.
edit: also thought about anas anti grenade. would it be possible to make it swap to dmg when the person you are healing gets hit by her grenade since it puts that purple outline around the health bar? I think this would be a good thing to add if anything.

I appreciate your interest in the project and your commitment to improving it. I will work on possible ideas and keep you updated on the progress of those that I manage to implement.
Regarding the idea of customizing the button, I will work on its implementation and make it part of an external config file. This file will be created upon the first run of the program and will include customization options for the heal and damage increase buttons, as well as buttons for code pause and sensitivity adjustment.
As for the sensitivity setting, I understand that it may be bothersome for some users, as it reflects the confidence level in artificial intelligence, making it complex and challenging to configure. However, I will include it in the config file as a precaution.
Concerning the code activation button, I can allow users to choose between the right and left mouse buttons, as they are typically easier for users compared to other buttons. I can also include various code settings in the config file, such as making Mercy's actions toggleable and other features. However, I realize that these settings might be complicated for users unfamiliar with programming, so I will consider simplifying them.
I will provide you with further updates once I figure out how to implement these great ideas. Thank you for your attention and support.

Currently, the changes I will make to the code is include adding a feature to Mercy's weapon to swap to increase damage if the healed ally is affected by Ana's grenade.
I will dedicate a config file for advanced and default settings.
Regarding Mercy's jump, I believe you need settings for Mercy super jump only, not artificial intelligence bot :)

Hi, I have added some new features in v1.3. If you would like to try them on https://github.com/Hexer-7/Overwatch-Mercy-AI/releases.
I will try to make something good out of the idea of the character life weaver soon

Ill give it a try when I get home

I tried the new version and its crashing after I hit enter. Even crashes after restarting it after putting my heal, dmg, and resolution

yeah sorry it's because file config of 1080p resolution haven't <bomb_locations> like other resolutions, Thanks for telling me, i will fix that

Done, now you can try download 1.3.0 again,
i made Life weaver but for now it's a beta version and will make it so sample not like mercy ai, so If you have any suggestions, I am all ears

@BornWithGuns  you can try auto life weaver now on release https://github.com/Hexer-7/Overwatch-Auto-Life-Weaver/releases/tag/Auto-Life-Weaver1.0

Ive been using 1.3 and it works fine. I dont have LW unlocked on my other account yet so I cant test. I dont wanna run it on my main account just incase.

you can try it on "no limits" or any mode except comp and qp.
btw i have tried it on main account, It is your right to be concerned about your account, but I want to emphasize that the program has no involvement in anything related to the game.
It simply observes your screen and makes decisions based on what it sees.
I assure you, it is 99% safe.

ill try it later but OW got an update and LW is now 80 for heal so idk if that affects it or not

Thanks for notifying me. I have updated it

just tested the LW one and its perfect

The only other one I could think of that could be useful is for sojourn. When you hit 100 charge while shooting it shoots the secondary fire. Also I guess you could do it with widow when aiming it shoots when it hits 100 charge but its probably not that great on her unless your a tracking god.


User-defined type guards with ternary operator

Search Terms
type guards ternary

Suggestion

Support to use dser-defined type guards with ternary operator
Use Cases

More complex type guards function
Examples

function checkAnimal(animal: Animal)
  : animal is Cat ? 'Cat'
    : animal is Dog ? 'Dog'
    : animal is Animal
{
  // ...
}

let value: any;
let checkResult = checkAnimal(animal);

if(checkResult === 'Cat'){
  // value is Cat now
}
else if(checkResult === 'Dog'){
  // value is Dog now
}
else if(checkResult){
  // value is other Animal
}
else{
  // value is not Animal
}

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

conditional types can do it:
   type NameOfAnimal<A> = A extends Cat ? 'cat' : A extends Dog ? 'dog' : A extends Animal ? 'animal' : never;
   function checkAnimal<A extends Animal>(animal: A): NameOfAnimal<A> { ... }

conditional types can do it:

That won't work as a type guard, since TS will statically infer <A> (or you'll need to statically specify it).
http://www.typescriptlang.org/play/#src=interface Animal {
        ugly%3A boolean%3B
}
interface Dog extends Animal {
        noisy%3A boolean%3B
}
interface Cat extends Animal {
        annoying%3A boolean%3B
}

type NameOfAnimal<A> %3D A extends Cat %3F 'cat' %3A A extends Dog %3F 'dog' %3A A extends Animal %3F 'animal' %3A never%3B
declare function checkAnimal<A extends Animal>(animal%3A A)%3A NameOfAnimal<A>%3B

declare const a%3A Animal
if (checkAnimal(a) %3D%3D%3D "dog")%20%7B%0D%0A%0D%0A%7D%0D%0A

Seems to be a duplicate of https://github.com/Microsoft/TypeScript/issues/30698

your example is not type narrowing it's type extending (into unknown) although i see what you mean, it looks like a poor design to me, sorry for being rude

which throws us to the expression problem which practically says that oop is a bad idea in general


1751/Privacy Request Form - Add labels and placeholder text examples

Closes #1751

Code Changes

[ ] Add form control labels to inputs for privacy request fields
[ ] Add examples as placeholder text

Steps to Confirm

[ ] list any manual steps taken to confirm the changes

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation Updated:

[ ] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[ ] documentation issue created (tag docs-team to complete issue separately)

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md

Description Of Changes
Write some things here about the changes and any potential caveats

TODO: Need to fix the failing jest tests since the placeholder texts are different and the previous texts are now labels instead

If fixing the jest tests is easy, go for it, but we also have cypress set up now which requires less mocking of the the app state.


Pagination @Input definitions

Getters and setters  for itemsPerPage and totalItems are decorated wrongfully. @Input decorator should decorate the setter, not the getter. This makes it impossible to use the pagination component.

@apatryda Pull request ? :smile:


Emulated Hue Bridge Windows discovery problems

Make sure you are running the latest version of Home Assistant before reporting an issue.
Home Assistant release (hass --version): 0.27.2 and 0.28.0.dev0
Python release (python3 --version): Python 3.5.1
Component/platform: Emulated Hue Bridge https://home-assistant.io/components/emulated_hue/
Description of problem:
Discovery piece crashes with stack trace.
Expected:
No stack trace, discovery to work
Problem-relevant configuration.yaml entries and steps to reproduce:

emulated_hue:
  listen_port: 8300

Traceback (if applicable):
  File "c:\users\clach04\py\home-assistant\homeassistant\components\emulated_hue.py", line 494, in run
    ssdp_socket.bind(("<IP_ADDRESS>", 1900))
OSError: [WinError 10049] The requested address is not valid in its context

NOTE if this problem is resolved then get error:

ERROR (Thread-2) [homeassistant.components.emulated_hue]UPNP Responder socket exception occured: <method-wrapper '__str__' of OSError object at 0x00A67A50>

However the error is really:

OSError: [WinError 10038] An operation was attempted on something that is not a socket

The logging call needs is masking this (e.g. add "raise" to exception block to see it).

Additional info:
I believe Windows ssdp hosting needs to be done on all interfaces (with different set options, and with blocking sockets). I would recommend listening on all interfaces but that might be a concern if HA is ran on a DMZ without a firewall :-( I have a version on my machine that works and should behave the same on non-Windows platforms but I'm not sure it is reasonable to merge it (I've deliberately left comments in to try and explain it). See attached (and rename to .py)
discovery_mostly_works_emulated_hue.txt
NOTE emulated hue bridge works fine without discovery piece on Windows for my use case so this is limited to discovery only.
I've some sample code that works on Linux and Windows https://github.com/clach04/upnp_ssdp/blob/master/upnp_ssdp.py#L192
One other option might be to add a config option to disable discovery support.

I saw this reported on the 0.28 announcement reddit thread and again on the subreddit

I have this same issue, i'm just setting up emulated hue for the first time - @clach04 what do I need to do to get it working as per your config? I've replaced the emulated hue script with your attached one and no dice. The webserver doesn't start up at all, how do I disable discovery to get it running?
Cheers

@sharepointalex I'm currently running the current version (0.33.0) and do not have my hack for 0.27 in place.
HA is working, not sure about Hue emulation (http://localhost:8300/api/username/lights does come up but I've not tried to POST to it) and I still have discovery disabled.

@clach04 thanks - I'm running 0.33.4 - hue emulation just won't start up - still get the error you reported.
When you say you have discovery disabled, do you mean HA discovery? Or is there a specific hue emulation discovery?

@sharepointalex yes I did mean HA discovery (see https://github.com/home-assistant/home-assistant/issues/3085#issuecomment-246206843 for why).
I had time to check today and Hue emulation is working for me, e.g. the following work for me.
I have a switch named lounge_uprights_lamps which you can see in the emulated HUE json payload from:
curl http://localhost:8300/api/username/lights
# or web browse to that URL, replace localhost with your HA address

I.e. to operate just on that switch/lamp the url is http://localhost:8300/api/username/lights/switch.lounge_uprights_lamps
C:\>type on.json
{"on": true}

C:\>type off.json
{"on": false}

C:\>curl -X PUT -d @on.json http://localhost:8300/api/username/lights/switch.lounge_uprights_lamps/state
[{"success": {"/lights/switch.lounge_uprights_lamps/state/on": true}}]
C:\>curl -X PUT -d @off.json http://localhost:8300/api/username/lights/switch.lounge_uprights_lamps/state
[{"success": {"/lights/switch.lounge_uprights_lamps/state/on": false}}]

I've used localhost in the example above but I was doing this remotely from another machine in my tests (also works from a Pebble watch Hue app).

Just upgraded today to 0.34.4, curl still works for me with emulated hue but the exception/traceback is still occurring (but in a different location).

Just encountered the same issue with emulated_hue on Windows 10.
Is there anything new regarding this issue?

Also got this problem on 32bit Windows 10, Python 3.5.2 and 0.37 Home Assistant.  I would be grateful if anyone has a solution to this.

I have the exact same problem on 64-bit Windows 7, 32-bit Python 3.5.3 and 0.38 Home Assistant.

Same issue on WX Creators, HA 0.43.2, PY 3.6.1, 32 bit.
Exception in thread Thread-3: Traceback (most recent call last):   File "C:\Python36\lib\threading.py", line 916, in _bootstrap_inner     self.run()   File "C:\Python36\lib\site-packages\homeassistant\components\emulated_hue\upnp.py", line 122, in run     ssdp_socket.bind(("<IP_ADDRESS>", 1900)) OSError: [WinError 10049] The requested address is not valid in its context

Same issue with Win 10 32-bit, HA 0.46.1, Py 3.6.1.
  File "C:\Python\Python35-32\lib\site-packages\homeassistant\components\emulated_hue\upnp.py", line 122, in run
    ssdp_socket.bind(("<IP_ADDRESS>", 1900))

Same for me too in Win 10 64-bit, HA 0.47.1, Py 3.6.1
File "C:\Users\HASS\AppData\Local\Programs\Python\Python36\lib\site-packages\homeassistant\components\emulated_hue\upnp.py", line 122, in run     ssdp_socket.bind(("<IP_ADDRESS>", 1900)) OSError: [WinError 10049] The requested address is not valid in its context

Win10 64 bit, HA 0.49.0, Py 3.6.2
Same as above unless I use "upnp_bind_multicast: false"
Then we have:
2017-07-23 20:47:39 ERROR (Thread-2) [homeassistant.components.emulated_hue.upnp] UPNP Responder socket exception occured: <method-wrapper '__str__' of OSError object at 0x07F8EE40> Exception in thread Thread-2: Traceback (most recent call last):   File "C:\Users\reime\AppData\Local\Programs\Python\Python36-32\lib\threading.py", line 916, in _bootstrap_inner     self.run()   File "C:\Users\reime\AppData\Local\Programs\Python\Python36-32\lib\site-packages\homeassistant\components\emulated_hue\upnp.py", line 152, in run     if "M-SEARCH" in data.decode('utf-8', errors='ignore'): UnboundLocalError: local variable 'data' referenced before assignment

I ended up creating a Hypervisor VM with Ubuntu Server 16.04.1 LTS in Windows Server 2016 and installing HASS via the Installation in Virtualenv.
I edit the configuration in sublime text 3 via Samba server, mapped to my PC via "mapped drives".
Run SSL commands via Putty.

I have found the cause of the issue.

Windows version of select() does NOT support pipes, only sockets
From: https://docs.python.org/2/library/select.html
Note
File objects on Windows are not acceptable, but sockets are. On Windows, the underlying select() function is provided by the WinSock library, and does not handle file descriptors that don’t originate from WinSock.

it should be binding to IP ANY (<IP_ADDRESS> or empty string and not the multicast address)

Will create a branch and pull request with fix shortly for windows

@kabongsteve you are an amazing person


⚠ Bofrost.at has degraded performance

In 17610df, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1047 ms

Resolved: Bofrost.at performance has improved in 5ea7cf7.


Map/Gamechange require voting before changing

Gamble, [28.03.19 12:51]

Present a vote to players on the server and give them 20 seconds to reject it

Taylor Hicks, [28.03.19 12:51]

The only foolproof method I could see would to be some kind of voting system that can collect votes from people who are on the server as well as here.

Gamble, [28.03.19 12:51]

Make it a simple one vote from one person, nothing special

Implementation
There is the inbuilt Map Vote functionality that is available in the GUI. Is that able to be called to take the reigns? Will that also work when voting to change the gamemode, or only the map?
Most servers make a menu with a 1) Yes, 2) No vote system that pops up. Put a message in chat stating the map and gamemode change request.
Is a custom !map command required to adopt extra functionality of voting? If so, it'll require a config file with the list of maps to display, same as .map.
Design
Is it a "everyone has to press Yes" voting system? One person just has to say "no" and people who say "yes" don't have to actually vote? As in just polling and waiting for a "No" vote?


Implement --pretend option for the move command

This very old issue (#247) came up again recently (#1455). This patch gets it done, and can also close the related PR #304 that is almost 2 years old.
I've implemented the show_path_changes method as proposed in issue #1405 (for showing destination during import) such that changes are printed over 1 or 2 lines depending on terminal width.

This looks perfect. It is indeed a very old and dusty issue! Thank you for tackling it. And the line-breaking output is an excellent touch.


first simple tests

Coverage increased (+5.7%) to 42.529% when pulling 9a2e6e9e8b34266149a405eec8747bd17a262d8c on purplediane:pycon2016 into c8a14475337df801f7188962a09a7ccd56f30f52 on keeppythonweird:master.

Coverage increased (+10.3%) to 47.126% when pulling c314b48c693c651785591a9076b7e4ad1da3b565 on purplediane:pycon2016 into c8a14475337df801f7188962a09a7ccd56f30f52 on keeppythonweird:master.


Add TypeNode#has_method?

Fixes #4472

Nice addition, you should add some specs for this

@bew there aren't any for the rest of related methods, I can add it though.

@Sija yes, please let's add some spec in /spec/compiler/codegen/macro_spec.cr.
I would suggest also to split the fixes in the docs in other PR 🙏
Regarding the functionality, I have some doubts how it should interact with method_missing. Currently responds_to returns false if no method with that name is invoked somewhere, which is reasonable given that the types are fixed after the compilation finishes. But during macros evaluation, depending the evaluation order the has_method might return true if later a method_missing generates that method.

@bcardiff I've added specs as per request. I'm not sure what to do regarding method_missing and macros evaluation order... any ideas? /cc @asterite

@Sija don't worry about that, it's a separate issue

Is it GTG? Travis CI xcode8.2 build failed, rest 's good.


bump js deps

Codecov Report
Base: 48.18% // Head: 48.18% // No change to project coverage :thumbsup:

Coverage data is based on head (6d97a2d) compared to base (caba816).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #92   +/-   ##
=======================================
  Coverage   48.18%   48.18%
=======================================
  Files          11       11
  Lines         276      276
  Branches       45       45
=======================================
  Hits          133      133
  Misses        143      143

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


After Upgrade to v0.11.0 tk apply shows diff on Ingress annotations

Hi,
v0.11.0 shows a diff in annotation of Ingress objects, even after I've deleted the ingress and recreate it with v0.11.0.
Going back to v0.10.0 solves the problem immediately.
Does anybody else see this kind of problem?
In fact tanka wants to remove  kubectl.kubernetes.io/last-applied-configuration: from the Ingress objects.
Best regards and thanks
Andreas

Can you paste an example of a diff that you see with 0.11.0?

sure
diff -u -N /tmp/diff818278465/LIVE-extensions-v1beta1.Ingress.shop-example-com.test-solr /tmp/diff818278465/MERGED-extensions-v1beta1.Ingress.shop-example-com.test-solr
--- /tmp/diff818278465/LIVE-extensions-v1beta1.Ingress.shop-example-com.test-solr     2020-07-12 14:23:54.330000000 +0200
+++ /tmp/diff818278465/MERGED-extensions-v1beta1.Ingress.shop-example-com.test-solr   2020-07-12 14:23:54.330000000 +0200
@@ -2,8 +2,6 @@
 kind: Ingress
 metadata:
     annotations:
-        kubectl.kubernetes.io/last-applied-configuration: |
-            {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"traefik"},"labels":{"tanka.dev/environment":"environments.shop-example-com.test"},"name":"test-solr","namespace":"shop-example-com"},"spec":{"rules":[{"host":"test-solr.testeshopneu.example.local","http":{"paths":[{"backend":{"serviceName":"test-solr","servicePort":"test-solr"}}]}}]}}
         kubernetes.io/ingress.class: traefik
     labels:
         tanka.dev/environment: environments.shop-example-com.test

diff -u -N /tmp/diff283793056/LIVE-extensions-v1beta1.Ingress.shop-example-com.test-app /tmp/diff283793056/MERGED-extensions-v1beta1.Ingress.shop-example-com.test-app
--- /tmp/diff283793056/LIVE-extensions-v1beta1.Ingress.shop-example-com.test-app      2020-07-12 14:23:54.330000000 +0200
+++ /tmp/diff283793056/MERGED-extensions-v1beta1.Ingress.shop-example-com.test-app    2020-07-12 14:23:54.330000000 +0200
@@ -2,8 +2,6 @@
 kind: Ingress
 metadata:
     annotations:
-        kubectl.kubernetes.io/last-applied-configuration: |
-            {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"traefik","traefik.ingress.kubernetes.io/rule-type":"PathPrefixStrip"},"labels":{"tanka.dev/environment":"environments.shop-example-com.test"},"name":"test-app","namespace":"shop-example-com"},"spec":{"rules":[{"host":"testebbcom.example.local","http":{"paths":[{"backend":{"serviceName":"test-app","servicePort":"test-app-de"}}]}},{"host":"testdashboardcom.example.local","http":{"paths":[{"backend":{"serviceName":"test-app","servicePort":"test-app-de"},"path":"/"},{"backend":{"serviceName":"test-app","servicePort":"test-app-de"},"path":"/de"},{"backend":{"serviceName":"test-app","servicePort":"test-app-en"},"path":"/en"}]}},{"host":"testeshopneu.example.local","http":{"paths":[{"backend":{"serviceName":"test-app","servicePort":"test-app-de"},"path":"/"},{"backend":{"serviceName":"test-app","servicePort":"test-app-de"},"path":"/de"},{"backend":{"serviceName":"test-app","servicePort":"test-app-en"},"path":"/en"}]}}]}}
         kubernetes.io/ingress.class: traefik
         traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip
     labels:

Applying to namespace 'shop-example-com' of cluster 'example.local' at 'https://example:6443' using context 'example.local'.
Please type 'yes' to confirm:

tk diff with v0.10.0 shows No differences.

We did some hacking around annotations, might indeed have broken that.
Thanks for filing!

Could you please post the result of tk status (remove apiServer IP) and kubectl version of that specific cluster?

Hi,
kubectl version
Client Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:26:26Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.5", GitCommit:"51dd616cdd25d6ee22c83a858773b607328a18ec", GitTreeState:"clean", BuildDate:"2019-01-16T18:14:49Z", GoVersion:"go1.10.7", Compiler:"gc", Platform:"linux/amd64"}

tk status with v0.10.0
tk status environments/shop-example-com/test
Context: example.local
Cluster: example.local
Environment:
  InjectLabels: %!s(bool=true)
  APIServer: https://xxx
  Namespace: shop-example-com
  DiffStrategy: subset
Resources:
  NAMESPACE    OBJECTSPEC
               ConfigMap/test-app-de
               ConfigMap/test-app-en
               ConfigMap/test-solr-de
               ConfigMap/test-solr-en
               PersistentVolumeClaim/pvc-test-app
               PersistentVolumeClaim/pvc-test-redis
               PersistentVolumeClaim/pvc-test-solr
               Service/test-app
               Service/test-redis
               Service/test-solr
               Deployment/test-app-cdb5bdcb21658733132fb691242cc372bd370dee
               Deployment/test-redis
               Deployment/test-solr
               CronJob/test-job-dam-cleanup
               CronJob/test-job-index-update
               Ingress/test-app
               Ingress/test-solr

tk status with v0.11.0
tk status environments/shop-example-com/test
Context: example.local
Cluster: example.local
Environment:
  APIServer: https://xxx
  Namespace: shop-example-com
  DiffStrategy: subset
  InjectLabels: %!s(bool=true)
Resources:
  NAMESPACE             OBJECTSPEC
  shop-example-com    ConfigMap/test-app-de
  shop-example-com    ConfigMap/test-app-en
  shop-example-com    ConfigMap/test-solr-de
  shop-example-com    ConfigMap/test-solr-en
  shop-example-com    PersistentVolumeClaim/pvc-test-app
  shop-example-com    PersistentVolumeClaim/pvc-test-redis
  shop-example-com    PersistentVolumeClaim/pvc-test-solr
  shop-example-com    Service/test-app
  shop-example-com    Service/test-redis
  shop-example-com    Service/test-solr
  shop-example-com    Deployment/test-app-cdb5bdcb21658733132fb691242cc372bd370dee
  shop-example-com    Deployment/test-redis
  shop-example-com    Deployment/test-solr
  shop-example-com    CronJob/test-job-dam-cleanup
  shop-example-com    CronJob/test-job-index-update
  shop-example-com    Ingress/test-app
  shop-example-com    Ingress/test-solr

Best regards
Andreas

Does spec.json include diffStrategy: "subset"?

Nope, it looks like:
{
  "apiVersion": "tanka.dev/v1alpha1",
  "kind": "Environment",
  "metadata": {
    "name": "test"
  },
  "spec": {
    "apiServer": "https://xxx
    "injectLabels": true,
    "namespace": "shop-example-com"
  }
}

Should I add diffStrategy?

No! Your cluster is newer than 1.13.0, which means kubectl diff is supported. See https://tanka.dev/diff-strategy for details.
I have no idea why, but Tanka thinks it needs to use subsetdiff for yours, even though it is more recent and the semver check (v1.16.6-beta.0 > 1.13.0) also seems to pass in go playground.
The other oddity is that subset diff now reports a field as removed, which should be straight impossible given the implementation, meaning we have a bug here

No! Your cluster is newer than 1.13.0

No, the cluster is on v1.12.5!

My bad, didn't read this close enough. This explains Tanka's choice for subsetdiff.
Generally spoken, upgrading your cluster would be a good idea, because it would give you much more reliable and complete diff. See the docs link above for the why.
Apart from that, I'll need to dig why this annotation issue occurs.


use null aware operators for function invocations

Following up on #79003 to replace:
if (callback != null)
  callback!();

To
callback?.call();

Google testing Pending — Google testing has started...

Could someone have a look please?


Bump deps

Coverage decreased (-0.6%) to 89.322% when pulling 200c0cbfbd517cd1ad24ffaea6f67e7ce333f80a on bump-deps into 80ed7276c4796c726edd6f093af201bcdf73ff94 on main.


Fixed typo

Thank you. Can you please submit the same change against the live branch?

Sure...https://github.com/rabbitmq/rabbitmq-website/pull/391


chore: rules_go is a non-dev dep at HEAD

This ensures if a bzlmod user were to fetch bazel-lib with a SHA or a git_repository, they don't need to patch our repo (similar to how CI was doing it) in order to build the tools/ from head

Would be nice if we could generate the patch and use a write_source_files to keep it updated. Otherwise we'll only know it failed when the BCR release fails. If that proves difficult to do, perhaps it's a good motivation for publish-to-bcr to support a regex replace like you originally suggested :thinking:

I'll just add a CI step that runs patch -p1 < .bcr/patches/* to catch that on CI without adding complexity


Fixed issue-16

Fixes #16 to prevent infinite recursion when a triangle was previously deleted from hull_next.
Port of fix in original JavaScript https://github.com/mapbox/delaunator/issues/44

Fixes #16 to prevent infinite recursion when a triangle was previously deleted from hull_next.
Port of fix in original JavaScript mapbox/delaunator#44

@esilvia Why do you konw occur infinite recursion when a triangle was previously deleted from hull_next.


Write manual test cases for "ScotlandPage"

Please write a manual test case for the following pages manual test which involves breaking down the functionality of the webpage into specific steps that can be tested.
ScotlandPage: https://prayersconnect.com/mosques/search/Livingston%252C%2520Scotland%252C%2520United%2520Kingdom/55.90079%2C-3.50038/55.90079%2C-3.50038
Please use this Google doc for your test cases.
https://docs.google.com/spreadsheets/d/1O1NJRmobfNfk6cGgc5BWHCMhRSjF6vJK3C-AljYxgHo/edit?usp=sharing

https://docs.google.com/spreadsheets/d/1O1NJRmobfNfk6cGgc5BWHCMhRSjF6vJK3C-AljYxgHo/edit#gid=216035700

Thank you


Deleting pv stuck in deleting status in GUI - Instance manager cannot be found.

After a sudden power outage, nodes were restarted and everything was back to "normal" except for one pv/pvc.
Tried to delete it and restore it from backup and got stuck in a deleting loop(GUI and logs):
Kubectl version:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.2", GitCommit:"52c56ce7a8272c798dbc29846288d7cd9fbae032", GitTreeState:"clean", BuildDate:"2020-04-16T11:48:36Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Error log:
E0921 06:24:21.561604       1 replica_controller.go:177] fail to sync replica for longhorn-system/pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769: failed to cleanup the related replica process before deleting replica pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769: instancemanager.longhorn.io "instance-manager-r-d85137a6" not found
time="2020-09-21T06:24:21Z" level=warning msg="Dropping Longhorn replica longhorn-system/pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769 out of the queue: fail to sync replica for longhorn-system/pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769: failed to cleanup the related replica process before deleting replica pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769: instancemanager.longhorn.io "instance-manager-r-d85137a6" not found"
kubectl -n longhorn-system patch lhv pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769 --type="merge" -p '{"status":{"robustness":"faulted"}}'
Error from server (NotFound): volumes.longhorn.io "pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769" not found
kubectl -n longhorn-system patch lhv pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769 --type="merge"^Cp '{"status":{"robustness":"faulted"}}'
kubectl -n longhorn-system get lhim
NAME                          AGE
instance-manager-e-4330a55e   18d
instance-manager-e-5e003a1e   18d
instance-manager-e-700cce1e   18d
instance-manager-e-e2d48396   18d
instance-manager-e-ec447759   18d
instance-manager-r-09b193fe   18d
instance-manager-r-3a70d4fd   18d
instance-manager-r-4d4eef5d   18d
instance-manager-r-8ecaa27c   6d15h
instance-manager-r-fdbbe640   18d
As noticed in the logs above, I have tried to patch with no success.
Neither the pvc or the instance manager can be found.
Any advice is much appreciated.
Version: v1.0.2

Managed to solve this by following:
kubectl -n longhorn-system get lhr pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769 -o yaml
kubectl -n longhorn-system patch replicas pvc-a69aa7fa-2349-4d1a-b4bf-f050b160be44-r-a595c769 -p '{"metadata":{"finalizers": []}}' --type=merge
Now the volume is deleted.


landscape ui issue

Problem / Issue No #176 .

Can't interact with the UI in landscape orientation.
Some elements were overflowed when the keyboard is active.

Describe Problem / Root Cause

This is because of  the UI was designed for portrait orientation.
And some fixed constrains used in it.

Solution proposed

Changing the UI layout for landscape orintation.
Exapnded widget can solve a lot of stuff.
Creating a local variable/method for widgets, to reuse them.

Additional Information

Now the UI is more easy to and responsive.

Screenshots

Original Screenshot (Problem/Issue)

Updated Screenshot (Fixes/Solution)

[x] Issue solved.

@saisurendra6  You have only fixed the UI for the GSSoC program in this pull request. If you want, you can open more issues for other programs as well. For now, I am merging this pull request.


Newest version of conda breaks recipes

The new 4.3.4 version of conda breaks the old 2.0.1 version of conda-build that we are using. We also use some non-public APIs from conda-build, which means that conda-build-all breaks if we update conda-build.
I'm working to sort this out...

Also, the || true on this line makes the build appear to pass, even when conda-build-all fails.

Thanks for digging into this!

cc: #672

What do we have here that requires conda-build 2.0.1?

This was fixed by #671


FOGI Labels Exponential Blowup

When running GST with a FOGI model, the output model's labels get messed up. It seems like every iteration, the model gets rebuilt and during the label construction it includes a combination of the previous labels. Creating a nested pattern of labels which grows at an exponential rate, and causing huge memory consumption. Pointed out by @jordanh6
Steps to reproduce the behavior:
#Create a FOGI model
import pygsti
from pygsti.modelpacks import smq1Q_XY as std
import numpy as np
from FOGI.fogi import create_fogiASMP_smq1Q_XY_model
fogi_model = create_fogiASMP_smq1Q_XY_model(pygsti_model=True)
#Generate data to run GST
datagen_model = std.target_model("GLND")
errgen_vector = np.zeros(datagen_model.num_params)
errgen_vector[4] = .1
datagen_model.from_vector(errgen_vector)
design = std.create_gst_experiment_design(32)
dataset = pygsti.data.simulate_data(datagen_model,
design.all_circuits_needing_data,
num_samples=100000, seed=20230217, sample_error='none')
data = pygsti.protocols.ProtocolData(design, dataset)
#Run GST
protoOpt = pygsti.protocols.GateSetTomography(fogi_model, verbosity=0, gaugeopt_suite=None)
Expected behavior
The labels of the result model should be unchanged
Environment:

pyGSTi version <IP_ADDRESS>
python version 3.10.14
macOS 14.6.1

Completed with #488


fix grammar, typo for responsive text on web page

Updated the text here to read slightly better, and for grammar consistency.

Happy to make changes. Specifically, I thought the "...sometimes it requires to also control the behavior..." was the biggest thing I thought might merit changing.

Hey there! Thanks so much for your contribution and taking the time to spin up this pull request!


Issue with Expanded Menus.

HI.
I tried version 2.21. If I do not want the panel/menu to be controlled by the extension, I add the following content in CSS. Here is an example:
:root[lwtheme] panel {
	color-scheme: light dark !important;
}

The browser's toolbar pop-up menu only follows light/dark, and at this point, the background color of the extension's control menu will not change, but the text color will follow light/dark.
This issue does not occur under the default theme.
BTW: I do not want the extension to control the background color of the panel/menu because in some high-contrast colors, such as red or green, it can be very glaring.

It seems that when I set a background color for a certain element, it cannot be rendered by the extension. For example:
.tab-background {
	background-color: transparent;
	&[selected] {
		background-color: color-mix(in srgb, currentColor 10%, transparent);
	}
}

Thank you!

Hi, @yiiyahui! Thanks for trying out the new version.

the background color of the extension’s control menu will not change, but the text color will follow light/dark.

This happens because the text colour of the extension’s menu is decided by pop-up’s colour scheme (@media (prefers-color-scheme: dark), in this case it’s changed to light), whilst its background colour is set to the pop-up colour (equals to --panel-background in CSS if it’s not overwritten) of the Firefox theme via JavaScript.

But also, I’m quite surprised that color-scheme: light dark !important; can revert the pop-ups to their default colours. I’ll do some testing on that.

Starting with version v2.2+, you can adjust the minimum contrast between the tab bar colour and its text. I checked the contrast ratio in your screenshot, which came out as $6.15$. Since the minimum contrast ratio for light mode is $16.5$, I’m assuming your browser was in dark mode. You might want to increase the minimum contrast ratio for dark mode to make it less jarring.
Also, I am planning to add the possibility to set certain colours to UI elements in the future, as tracked in #38 and #88. That may help your CSS theme work better.

I think it’s probably because currentColor is the text colour of the element. Maybe you can try to use this:
.tab-background {
	background-color: transparent;
	&[selected] {
		background-color: color-mix(in srgb, var(--tab-selected-bgcolor) 10%, transparent);
	}
}

P.S. The “Theme builder” won’t have the horizontal scrollbar in the next update, thanks for the screenshot!

Thank you for your reply. I'm glad to hear that this extension has been updated and that the color issues present in some older versions have been fixed.
Regarding the panel colors, if the CSS is as follows:
/*userchrome.css*/
:root {
	/*panel background*/
	--arrowpanel-background: light-dark(#f2f2f2, #333) !important;
	/*text color*/
	--panel-color: MenuText !important;
}

:root[lwtheme] panel {
	color-scheme: light dark !important;
}

Yes, the issue is that the extension menu color is not being overridden by the CSS. I believe there are many examples of changing the background color of --arrowpanel-background in CSS, but if ATBC is used without setting the color-scheme, the result is that even if the text color is configured, it won't be perfect, Just like this. Of course, in most cases, it doesn't affect usage.

The second question is a doubt; I didn't fully understand the update notes before, but now I think I do.

Another new issue is that the color of the toolbar on the "about:" page does not follow the color settings of the home page.


stat/distuv: Improve performance of Gamma.Rand in Alpha > 1 case

In the current Gamma.Rand code, when Alpha > 1, it uses the following loop:
u := -exprnd()
x := normrnd()
v := 1 + x*c
v = v * v * v
if u < 0.5*x*x+d*(1-v+math.Log(v)) {
	return d * v / b
}

Replacing the above with code based on numpy's logic:
x := normrnd()
v := 1 + x*c
if v <= 0.0 {
	continue
}
v = v * v * v
u := unifrnd()
if u < 1.0-0.0331*(x*x)*(x*x) {
	return d * v / b
}
if math.Log(u) < 0.5*x*x+d*(1-v+math.Log(v)) {
	return d * v / b
}

Runs much faster - as the new initial check (if u < ...) catches most (specifically, ~92% of) cases and avoids an expensive call to math.Log. For a simple benchmark:
package main

import (
	"testing"

	"gonum.org/v1/gonum/stat/distuv"
)

func BenchmarkGamma(b *testing.B) {
	dist := distuv.Gamma{Alpha: 2.0, Beta: 1.0}
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		dist.Rand()
	}
}

go test -bench=. -benchtime=10s -cpu=1
Old code: BenchmarkGamma  207709526               57.0 ns/op
New code: BenchmarkGamma  345146806               34.6 ns/op
Gives a 40% performance boost (windows/amd64). This should also improve performance for some other distributions (Beta/Dirichlet, StudentsT, etc).
A few existing statistical tests (specifically, InverseGamma - ExKurtosis, Beta - Entroy, and StudentsT - Variance) fail with the new code until you sufficiently increase the n sample sizes, indicating it's just sampling error.

@romanwerpachowski Do you want to take/shepherd this?

Yup.

The condition u < 1.0-0.0331*(x*x)*(x*x) doesn't depend on d. Is that correct?

Yes, that's correct. Since d > 2/3, and x > -1/c (as v > 0), it can be shown that 0.0331 holds.
Setting the condition 1-a*x^4 > exp(x^2/2+d*(1-v+log(v))) at d=2/3 and solving for a yields:
https://www.wolframalpha.com/input/?i=maximize+(1-exp(0.5*x*x%2B2%2F3*(1-(1%2Bx%2F(3*sqrt(2%2F3)))^3%2Blog((1%2Bx%2F(3*sqrt(2%2F3)))^3))))%2Fx^4+for+x+>+-sqrt(6)
Finds a > ~0.033073 (round up to 0.0331) at x~=-2.15621
Larger d results in smaller a, but there's no easy way to compute it, so we can just use 0.0331 for all d.

Thanks. Is there a derivation of this approximation which could be referenced in a comment?
Would you like to submit a PR with this change, also showing how much the sample sizes need to be increased to make other tests pass?

There's no simpler derivation that I'm aware of, but reading the paper that is already cited in a comment: https://dl.acm.org/doi/pdf/10.1145/358407.358414, they propose this approach as a squeeze function and provide a 3-step proof for it.
I'm sending out a PR with the change.

Thanks a lot, I'll have a look at it.


Split modules

Closes #96

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@dfb1cdf). Click here to learn what that means.
The diff coverage is 75.88%.

@@            Coverage Diff            @@
##             master      #97   +/-   ##
=========================================
  Coverage          ?   75.60%
=========================================
  Files             ?        4
  Lines             ?     1082
  Branches          ?      265
=========================================
  Hits              ?      818
  Misses            ?      181
  Partials          ?       83

Impacted Files
Coverage Δ

setup.py
0.00% <ø> (ø)

htcompact/logvalidator.py
67.77% <67.77%> (ø)

htcompact/htcanalyser.py
75.56% <75.56%> (ø)

htcompact/main.py
78.76% <78.76%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dfb1cdf...0fc0f42. Read the comment docs.


HG util: cpu_spinwait in atomic_queue has bad interaction w cpu binding

Original message from Chuck:

I have found a bad feature interaction between mercury's atomic queue data structure, NA_NO_BLOCK, and thread CPU binding.
The impact of this issue varies depending on the configuration.
The following config does a good job triggering it:

mercury-runner on LANL Grizzly cluster

transport: bmi+tcp,
RPC size=64 or 1024 bytes (other sizes are OK),
max # concurrent RPCs: 8 or 16 (smaller values are OK)

thread config: NA_NO_BLOCK (polling) enabled,
each MPI proc bound to a CPU (i.e.
slurm srun "--cpu-bind=threads")

requested number of RPCs: 100000

The issue manifests itself as a massive mercury-runner slowdown
that eventually triggers the mercury-runner watchdog timer signal.
But the actual slowdown varies...  sometimes the entire run completes
before the watchdog timer fires.  Other times it times out in the
middle of a run.  For example I ran 5 instances of the test and
1 completed successfully and the other 4 got watchdog timeouts after
completing a fraction of the requested 100000 RPCs (the 4 failed
runs completed 79672, 24410, 44892, and 80014 RPCs before dying).
I added a flag to mercury-runner that causes the mercury-runner
client code to print out status updates as it completes RPCs
(in this case every 1000 RPCs).  Here is some example output:
main: starting 1 instance ...
0: instance running
0: init local endpoint: bmi+tcp://<IP_ADDRESS>:19901
0: init done.  sleeping 10
0: network thread running
0: remote address lookup bmi+tcp://<IP_ADDRESS>:19900
0: done remote address lookup
0: address lookup done.  sleeping 10 again
0: sending...
0: RPC 1000 @ 0 secs
0: RPC 2000 @ 0 secs
....
0: RPC 98000 @ 356 secs
0: RPC 99000 @ 362 secs
0: network thread complete (nprogress=347982029, ntrigger=348182029)
0: RPC 100000 @ 364 secs
0: net: times: wall=384.162721, usr=185.089817, sys=198.231946 (secs)
0: net: minflt=4693, majflt=0, inb=0, oub=0, vcw=0, ivcw=168250
0: net: maxrss=112 (KiB)
0: all sends complete
...
0: client-1-100000-c-8-1: 100000 rpcs in 364.164417 sec (0.003642 sec per op)

So you can see the behavior is bursty.   It runs fast, and then
slows to a crawl.   BUT... this only happens if I have CPU binding
on (the default mode with aprun on theta, you request it with
"--cpu-bind=threads" with slurm).
If I repeat the above run on Grizzly without CPU binding, then the
entire set of 100000 RPCs completes in about 2 seconds (vs the 364
seconds shown above).
Further debugging shows that the behavior I'm seeing is due to
some code in mercury_atomic_queue.h.   This file contains code
for a lockless circular ring buffer (the ring is fixed sized
and must have a power of two number of entries).   The particular
ring I'm concerned with is the "na_private_context->completion_queue"
one used by na_cb_completion_add() in mercury's na.c.
In a mercury-runner run, this ring is concurrently accessed
by two threads:

the sending thread via:
HG_Forward->HG_Core_forward->hg_core_forward_na->NA_Msg_send_unexpected->
na_bmi_msgsend_unexpected->na_bmi_complete->na_cb_completion_add->
hg_atomic_queue_push

the network progress thread via:
HG_Progress->HG_Core_progress->hg_core_progress_poll->hg_poll_wait->
hg_core_progress_na_cb->NA_Progress->na_bmi_progress->
na_bmi_progress_expected->na_bmi_complete->na_cb_completion_add->
hg_atomic_queue_push

The key function is hg_atomic_queue_push() from mercury_atomic_queue.h.
The ring itself is a fixed size array and the code uses indexes into
the array as pointers.   if you think of the ring as a producer/consumer,
then a "push" is the producer (the corresponding consumer op is "pop",
but we are not worried about that here).
there are two producer-related pointers into the array:
prod_head = index of slot last successfully allocated
prod_tail = index of next slot ready for consumer
so prod_head != prod_tail when we've allocated a slot but have
not yet filled in the data in the ring (so it is allocated but
not ready to be consumed yet).
the general plan behind a "push" operation is that we:

allocate a new slot by advancing prod_head
save data being pushed into the allocated slot in the ring
advance prod_tail to make the slot available to consumer

The somewhat tricky step here is step 3.   If you are multithreaded
then you can have concurrent allocations.  For example, if you've
got 2 threads running concurrently:
say prod_head == 4, prod_tail == 4

thread1             thread2
---------------     ---------------
allocate slot 5
                    allocate slot 6
                    fill slot 6
                    << MUST WAIT FOR thread1 to set prod_tail to 5
                       before setting prod_tail to 6 >>
fill slot 5
prod_tail = 5

                    prod_tail = 6    /* now it is safe */

The somewhat tricky bit is that thread2 has to wait for thread1 to
update prod_tail to 5 before it can update it to 6 (otherwise things
will get out of sync).
so now here is a simplified version of the queue push code:
#define cpu_spinwait() asm volatile("pause\n": : :"memory");

int hg_atomic_queue_push(struct hg_atomic_queue *hg_atomic_queue, void *entry) {
    hg_util_int32_t prod_head, prod_next, cons_tail;
    int ret = HG_UTIL_SUCCESS;

    do {
        prod_head = hg_atomic_get32(&hg_atomic_queue->prod_head);
        prod_next = (prod_head + 1) & (int) hg_atomic_queue->prod_mask;
        cons_tail = hg_atomic_get32(&hg_atomic_queue->cons_tail);

        if (prod_next == cons_tail) {  /*XXXCDC: NOT TRUE FOR US */
                /* XXXCDC: CAN IGNORE THIS "ring full" CASE */
        }

    } while (!hg_atomic_cas32(&hg_atomic_queue->prod_head, prod_head,
        prod_next));   /* CAS32 updates prod_head to prod_next */

    hg_atomic_set64((hg_atomic_int64_t *) &hg_atomic_queue->ring[prod_head],
        (hg_util_int64_t) entry);   /* puts new data in ring */

    /*
     * If there are other enqueues in progress
     * that preceded us, we need to wait for them
     * to complete
     */
    while (hg_atomic_get32(&hg_atomic_queue->prod_tail) != prod_head)
        cpu_spinwait();   /* XXXCDC: THIS LOOP HERE */

    hg_atomic_set32(&hg_atomic_queue->prod_tail, prod_next);

done:
    return ret;
}

OK, in mercury-runner we've got two threads (sending thread
and network progress thread) both pushing stuff on a hg_atomic_queue.
suppose we get into that "THIS LOOP HERE" loop above waiting
for the other thread to update prod_tail.   Since we have CPU
binding on, both processes must share the same CPU core.
Since we have NA_NO_BLOCK enabled, the network progress thread
is not going to block.   The "THIS LOOP HERE" loop is pure
compute (no system calls that could block the caller or trigger
a context switch).
So if you are in this loop, when will you exit?  The answer
is that you'll exit when the other thread updates the pointer.
And when will the other thread next get a chance to run?
The current thread in the loop will not give up the CPU until
its scheduling quantum is used up and it is involuntary context
switched out!   The thread that needs to update the pointer
cannot use any other CPUs due to CPU binding so it is only
going to run when the thread in the loop is kicked off by
the scheduler!
In the example mercury-runner output above, the performance
varies (it is bursty).   This is due to the synchronization
between the two processes changing.   If we are lucky then
they do not conflict on the "prod_tail" pointer and don't
have to run the loop in hg_atomic_queue_push().  But if our
luck is bad, that loop runs and things slow down.
Just to make this really concrete, I wrote a standalone sample
program to show the bad behavior.   In the example program
(attached) you've got two processes incrementing an atomic int
from 0 to 100000.  One process increments the counter if it is ODD.
The other increments the counter if it is EVEN.  The main loop of
the processes never blocks (no system calls in the critical path,
so it is all compute like the loop in hg_atomic_queue_push()).
Here is a run of the program on Grizzly WITHOUT cpu binding:
[ccranor@gr0041 ~/tmp]$ srun --cpu-bind=none ./ppong
main: running...
main: holding
1: running
0: running
cnt=10000, time=0
cnt=20000, time=0
cnt=30000, time=0
cnt=40000, time=0
cnt=50000, time=0
cnt=60000, time=0
cnt=70000, time=0
cnt=80000, time=0
cnt=90000, time=0
0: done
1: done
main: clear and exit
main: times: wall=0.018724, usr=0.037321, sys=0.000000 (secs)
main: minflt=14, majflt=0, inb=0, oub=0, vcw=3, ivcw=0
main: maxrss=36 (KiB)
[ccranor@gr0041 ~/tmp]$

That ran very fast (less than a second)!   Now let's try running
the same program WITH cpu binding turned on:
[ccranor@gr0041 ~/tmp]$ srun --cpu-bind=threads ./ppong
main: running...
main: holding
1: running
0: running
cnt=10000, time=127
cnt=20000, time=255
cnt=30000, time=384
cnt=40000, time=510
cnt=50000, time=638
cnt=60000, time=766
cnt=70000, time=893
cnt=80000, time=1022
cnt=90000, time=1150
0: done
1: done
main: clear and exit
main: times: wall=1278.657324, usr=1278.612483, sys=0.014423 (secs)
main: minflt=129, majflt=0, inb=0, oub=0, vcw=2, ivcw=106655
main: maxrss=36 (KiB)
[ccranor@gr0041 ~/tmp]$ cat /proc/sys/kernel/sched_rr_timeslice_ms
100
[ccranor@gr0041 ~/tmp]$

Whoops!   That took 1278 seconds to run!!   And notice the value
of "ivcw" at the end.  This is the number of "involuntary context switches"
from getrusage(2) ("ru_nivcsw").      This matches what I described above.
The loop in hg_atomic_queue_push() is going to have to change if
we want to avoid this issue when running with NA_NO_BLOCK and CPU
binding.

@chuckcranor when you have a chance it would be good if we can spend some time and go back to that issue


Vendored files skipped during build because of incorrect matching expression

The regular expression here: https://github.com/camlistore/camlistore/blob/master/make.go#L83 ignores files with multiple "dots" in the name (i.e. a.b.c.go).
I am trying to see if I can change the "s3" implementation to use the official AWS Go SDK and one of the files is https://github.com/aws/aws-sdk-go/blob/master/service/s3/platform_handlers_go1.6.go (but this could potentially happen with any other vendored package).
I have change the pattern from:

  rxMirrored = regexp.MustCompile(`^([a-zA-Z0-9\-\_]+\.(?:blobs|camli|css|eot|err|gif|go|s|pb\.go|gpg|html|ico|jpg|js|json|xml|min\.css|min\.js|mp3|otf|png|svg|pdf|psd|tiff|ttf|woff|xcf|tar\.gz|gz|tar\.xz|tbz2|zip|sh))$`)

to:

  rxMirrored = regexp.MustCompile(`^([a-zA-Z0-9\-\_\.]+\.(?:blobs|camli|css|eot|err|gif|go|s|pb\.go|gpg|html|ico|jpg|js|json|xml|min\.css|min\.js|mp3|otf|png|svg|pdf|psd|tiff|ttf|woff|xcf|tar\.gz|gz|tar\.xz|tbz2|zip|sh))$`)

(adding the "." as a valid character in a filename) and that seems to fix the problem. Wondering if there other characters that should be added to the pattern, or if instead it wouldn't be better to just check the file extension instead of trying a full match)

Thanks!

@raff I think that'll do for now, thanks. Besides, there would be "tricky" cases for just checking the extension, (e.g. .tar.gz), wouldn't there?
PTAL: https://camlistore-review.googlesource.com/9066


Feature/#153 sample agent

Fix #153

Move sample agents
Make some methods from Participant and Agent abstract
Update example usage in README
Add test for ParrotAgent

In the pre-commit change:
https://gitlab.com/pycqa/flake8 -> https://github.com/pycqa/flake8
This should fix the CI issue.


Purchase dialog not working in size-less products

When viewing a product, a user should click the "purchase" button to buy this product. If the product is not in sizes, the purchase dialog does not pop up and prints an error to the console

Fixed in #127


fix(recipe): fix issues due to job to recipe change

This commit has changes that fixes the manifests & code that were
still referring to old job custom resource.
In addition, this commit provides a way to trigger E to E testing
as a make target. This has also been added to github actions to
proactively verify any errors injected by changes during the review
phase itself.
E to E testing make use of local docker registry and K3s to test
D-operators' controllers.
README has been updated to highlight that fact that D-operators uses
itself to perform end to end tests on its controllers. In other words
Recipe custom resource is used to test Recipe & other resources.
Signed-off-by: AmitKumarDas<EMAIL_ADDRESS>

:tada: This PR is included in version 1.5.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


mixed precision with TPU

Hello,
On colab, I don't have the GPU with minimum required compute capability for mixed precision. So I decided to use TPU and set the policy as 'mixed_bfloat16'. However, while fitting the feature extraction model, I get the following error. I am not able to find solutions online as well. I am also not sure if this is because I am using TPU or if there is something I am missing. Any help would be great.This is the error:
/usr/local/lib/python3.7/dist-packages/keras/utils/generic_utils.py:497: CustomMaskWarning: Custom mask layers require a config and must override get_config. When loading, the custom mask layer must be passed to the custom_objects argument.
category=CustomMaskWarning)
Epoch 1/2
InvalidArgumentError                      Traceback (most recent call last)
 in ()
----> 1 hist1 = model.fit(train_data,steps_per_epoch=len(train_data),epochs=2, validation_data=test_data,validation_steps=int(0.15*len(test_data)),callbacks = [callback1,callback2])
6 frames
/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name)
58     ctx.ensure_initialized()
59     tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
---> 60                                         inputs, attrs, num_outputs)
61   except core._NotOkStatusException as e:
62     if name is not None:
InvalidArgumentError: No OpKernel was registered to support Op 'DepthwiseConv2dNativeBackpropInput' used by {{node gradient_tape/model_7/efficientnetb0/block7a_dwconv/depthwise/DepthwiseConv2dNativeBackpropInput}} with these attrs: [dilations=[1, 1, 1, 1], T=DT_BFLOAT16, data_format="NHWC", strides=[1, 1, 1, 1], explicit_paddings=[], padding="SAME"]
Registered devices: [CPU]
Registered kernels:
device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_BFLOAT16, DT_HALF]
device='XLA_GPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_BFLOAT16, DT_HALF]
device='GPU'; T in [DT_DOUBLE]
device='GPU'; T in [DT_FLOAT]
device='GPU'; T in [DT_HALF]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_HALF]
device='GPU'; label='cudnn_grouped_convolution'; T in [DT_DOUBLE]
device='GPU'; label='cudnn_grouped_convolution'; T in [DT_FLOAT]
device='GPU'; label='cudnn_grouped_convolution'; T in [DT_HALF]
 [[gradient_tape/model_7/efficientnetb0/block7a_dwconv/depthwise/DepthwiseConv2dNativeBackpropInput]] [Op:__inference_train_function_197064]

I get the same error with different versions of EfficientNet.

Hey @mrdbourke, thank you for the suggestion. I will check the tensorflow forum and ask there


Mails not appearing in the inbox

This is kind of hard to trigger. But it can be triggered at least on a Wiko Bloom and a Samsung Galaxy Note I:

Read something in full-screen mode using the kindle app
As soon as you get a notification for a mail that is part of a thread you have other mails of in your inbox tap the middle of the screen (which causes the notification bar to display) and while the notification bar animation showing the mail title mail by mail is still shown open the notification bar and tap on the notification from k9.
As soon as the mail appears: Press the home button.

After that the mail is still in the inbox (Thunderbird will see it, the webmailer, too). But K9 Mail cannot see it anymore: It has disappeared from the inbox and the search function won't be able to find it, neither.

Can you please record a debug log when this happens again.


Empty package

Package installed from https://www.npmjs.com/package/rtcmulticonnection-v3 contains only README.md and package.json files.

If you open that link, it says it is moved here:

https://www.npmjs.com/package/rtcmulticonnection

npm install rtcmulticonnection

Reason: previously I was supporting v2.2.2 as well. Which is now deprecated and doesn't works on Firefox/Edge or Safari11. That's why v3 codes are moved to main NPM package.

So sorry! I am blind...(((


Restore Subscriptions Functionality and Front-End and Backend

This is a complete list of current subscription extension issues sorted by blocking issues (does not allow the effective usage of the extension) and non blocking.
Solidus Version:
Current
To Reproduce
Install solidus with starter front-end.
Blockers

[x] #304 Breadcrumbs broken on starter front-end after installing extension
[x] #303 #243 Subscriptions are loaded for not subscribable products
[x] #302 Can't add subscriptions to cart: Validation failed, Subscibrable can't be blank
[ ] PR #300 #294 Depreciation Warnings
[ ] #269 #243 Add default quantity 1 to starter front-end subscription implementation
[ ] #253 Subscriptions do not work with variants

API Completition

[ ] #224 Index and Show on Subscription API
[ ] #297 Add API Description

Non Blocking Issues

[ ] #297 Add API Description
[ ] #278 Subscriptions in cart should increase in quantity if two identical subscriptions are added
[ ] #270 Skip subscriptions intervall
[ ] #267 Cannot update payment methods/sources attached to a subscription
[ ] #232 Configure Reminders
[ ] #128 Subscriptions should work without addresses

To be discussed

[ ] #209 Remove Churnbuster: Should be tested

@jarednorman what's your oppinion on churnbuster?

I agree that the ChurnBuster integration should probably be removed.

I agree that the ChurnBuster integration should probably be removed.

Ok, we have a minor bumb to release now (and could put some notes about deprecated stuff in there and remove in the next round) and after we fixed the other stuff we can go for a major and remove / fix the remaining things.


Parse Type1 font files to determine the various Length{n} properties, instead of trusting the PDF file (issue 5686, issue 3928)

Make Type1Font more class-like, by adding closure

Note: Ignoring whitespace should simplify reviewing a great deal.
https://github.com/mozilla/pdf.js/commit/d8d69ce4fecc919f6a669e739862e2945008d30d?w=1

Parse Type1 font files to determine the various Length{n} properties, instead of trusting the PDF file (issue 5686, issue 3928)

Please note: In order to save time, I've not yet included any reduced test-cases in this patch. I'm happy to include tests, but I'd like the patch to be reviewed first, so that I don't waste time creating reduced test-cases for a patch before knowing if it's acceptable.

Fixes #5686.
Fixes #3928.

/botio-linux preview

/botio-linux preview

/botio test

/botio-windows preview

@brendandahl Can you please provide feedback on the general direction of this patch (so that I know if it's worthwhile to continue working on it)?
/botio-windows preview

@brendandahl Can you please provide feedback on the general direction of this patch (so that I know if it's worthwhile to continue working on it)?

General direction looks good. It may be worth looking at freetype within pdfium to see how they handle this case as well.

It may be worth looking at freetype within pdfium to see how they handle this case as well.

Disclamer: My knowledge of C isn't what it should be, so I might be misunderstanding the code, but from a cursory look through the t1parse.c source code it appears that FreeType:

Parses the font file to locate the "eexec" string, to determine the length of the header block.
Parses the rest of the font file, i.e. the eexec block, not caring about a potential fixed-content block.

Again, I might not understant the FreeType code correctly!
But if the above is approximately correct, it looks to me that PR is doing something that is at least similar.

/botio test

/botio-linux test

/botio-linux preview

/botio test

/botio-linux test

/botio test

/botio makeref


Use the stress program to bench our gateapp service, and the server hangs on about the third day.
Before this, I compiled with go version 1.22.7, and the server hungs after about 6 days of stress testing. After that, I upgraded go to 1.22.9 for stress testing, and the server hungs after 3 days of continuous running.
Server: Ubuntu 22.04.4 LTS x86_64
            .-/+oossssoo+/-.
        `:+ssssssssssssssssss+:`           ----------------
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04.4 LTS x86_64
    .ossssssssssssssssssdMMMNysssso.       Host: Precision Tower 7810
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 6.8.0-48-generic
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 16 days, 19 hours, 40 mins
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 1859 (dpkg), 12 (snap)
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.1.16
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   Terminal: /dev/pts/3
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   CPU: Intel Xeon E5-2690 v3 (48) @ 3.500GHz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   GPU: AMD ATI Radeon HD 4550
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
The server is hangs forever, http pprof cannot respond, and the tcp connection status of the server is CLOSE_WAIT after the stress program is closed.
# after 10 minues, <IP_ADDRESS> is stress client ip address
$ netstat -tan | grep "<IP_ADDRESS>" | grep "CLOSE_WAIT" | wc -l
4097

What did you expect to see?
Server is running normally

Related Issues

runtime,misc/cgo/test: timeout in TestSetgidStress on linux-amd64 #54787 (closed)
cmd/go: test gets hung #27720 (closed)
expvar: BenchmarkRealworldExpvarUsage times out on specific arm64 server #47511 (closed)
maybe a deadlock in golang : runtime.selectgo while runtime.stopTheWorldWithSema  #44047 (closed)
runtime: all thread is block in runtime.futex，service is hanging，may be deadlock #22398 (closed)
runtime: deadlock in runtime.findrunnable #35532 (closed)
go1.22.8 runtime error:  SIGSEGV: segmentation violation #70194 (closed)
runtime: hang in all.bash runtime test #14809 (closed)
runtime: all.bash intermittent hang running test for issue 19182 #23560 (closed)
cmd/go: tests timing out on linux-amd64 #21850 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Can you reproduce the issue?

Yes, I can reproduce this, but it will take a few days (maybe 3-6 days)

Do you have any diagnostic data you're able to share so we can poke around? A full stack dump would be helpful to try and identify what goroutine is failing to yield to the GC.

Delve dump core file and gateapp in here: https://drive.google.com/file/d/1WvN1aPAruGL180yjRL-6nDmZ3N-qWpKy/view?usp=sharing

What version of Linux are you using?

OS: Ubuntu 22.04.4 LTS x86_64
Kernel: 6.8.0-48-generic
Also, I found that there are some data-race issues reported by go build -race, and I try to reproduce them here after fixing them
@mknyszek

I think this issue can be closed, after I fixed multiple data-race issues, the stress test has been running properly for more than 6 days, and everything seems to be fine

Thanks everyone, please close this issue.


⚠ Samsung has degraded performance

In 0444ac7, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 1878 ms

Resolved: Samsung performance has improved in 5541e88.