python311Packages.pysqueezebox: 0.6.1 -> 0.7.0

Diff: https://github.com/rajlaud/pysqueezebox/compare/refs/tags/v0.6.1...v0.7.0
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.squeezebox
python310Packages.pysqueezebox
python311Packages.pysqueezebox


Creating uniq ID fields with sequence.next()

I encountered a problem when export-import DB the RIDs changes on the records. So after some googling I found that RID may be recycled after removing the record. And really after the import of the DB RIDs can change.
There are some ways to create really uniq id.
One of the ways is to create sequence. And I think because of all records are V type there should be only one sequence for all nodes. So, it would be cool to create vertices with sequence.next() like in java api example.
OSequence seq = graph.getRawGraph().getMetadata().getSequenceLibrary().getSequence("idseq");
graph.addVertex("class:Account", "id", seq.next());

@aligin What's your goal, I'm not really sure what you are trying to solve here in your own code.

I must have a unique Id of my record, that I can refer in the other services. I thought that RID is that unique immutable identifier, but it's not. When you export DB (backup) and then reimport the RIDS of your records can change. So I've created the field Id. I've created the sequence. But to properly add new record I must do
var id = database.Query<Sequence>("select sequence('idseq').next()").FirstOrDefault();
var vertex = database
                .Create.Vertex(obj)
                .Set("Id", id.sequence)
                .Run<T>();

There are I guess two database calls although you can make one.


No previous mention of three demonstration archetypes

We mention archetypes in two places: Tables 1 and 3. Then the simulations example cites cycamore::Reactor, cycamore::Fab, and cycamore::Separations. First, none of these are in cycamore proper. Second, they have not been mentioned until this section. I think the easiest course of action is to add descriptions in Table 3 and remove the cycamore namespace in the text. I know we discussed this before as a group, but I don't think any resolution was found.

The thing we discussed as a group was that these items were going to end up in Cycamore before the upcoming release... which solves at least that part of it. Was that what you recall, @rwcarlsen ?


How to create an ARM64 Docker image, or where can I find a pre-built one?

you don't need clickhouse-expoter
use modern clickhouse-server version and embeeded prometheus endpoint
https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings#prometheus


Update UX5_Inferential.ipynb

I fixed in the code where it calculates area in normal distribution for heights above 181 (it was 180)
Also, in 5.1 there is an unfinished sentence: The binomial distribution shows the number of a specific outcome in relation to successful outcomes in
Overall it was really nice.. but I predict that they will have a hard time with 6

Hi Kristinn, it should be up to180 because we subtract probability for 180 and below. If until 181, p will only include taller than 181.

Hi Kristinn, it should be up to180 because we subtract probability for 180 and below. If until 181, p will only include taller than 181.

Hi Sofia. Since we are dealing with continuous data u think it should actually be 181, because if we make it 180 we are also including men with heights 180.1, 180.2, 180.3,.. etc. The difference in p was so much.
Maybe it also depends on how you measure, let's say that the values are not floating point in the data. Then I would say it should be 180.5 because we wouul round to the nearest integer.


can't find http-passwd in advance option

when added download and click advance download option, i can't find http-passwd option
please help

Sorry for the late reply :/
I have pushed the support for http-passwd in the latest version, do you wanna download it again and check if it now works with http password protected downloads?

thank you for the reply
http-passw is there but how do i input my user credential
maybe http-user is missing too
sorry im really new about linux, and pardon my english


comparison to bob

https://github.com/react-native-community/bob - just found it from https://github.com/react-native-community/discussions-and-proposals/pull/204#issuecomment-586792718
react-native-community/bob does seem to be more polished, claims to be "opinionated" which may mean less flexible

I just published brodybits/react-native-module-init which provides a more user-friendly CLI.


Always apply orientation for files that come to post processing

Description
While trying out a solution to use imagemagick for applying orientation, I came across these fixes required to use imagemagick (postprocessing) for applying orientation for non-pipeline cases.

if a file comes to post processing because it needs orientation applied, make sure to send it through post processing

there was an edge case where a file would come to post processing and be the same source format, width and height and get rejected by post processing even though it needed orientation applied
the needsOrientationApplied function fixes this edge case by checking if the orientation value is >1 (1 or nothing means normal, no orientation needed to be applied)

get rid of removing orientation metadata after applying -auto-orient (originally added here: https://github.com/adobe/asset-compute-sdk/pull/22/commits/9044bac0b142b7314585640fff894bf8072953cf)

old behavior:

we run the auto-orient cmd which applies orientation and sets the orientation exif value to 1 (Horizontal (Normal))
then we remove the exif orientation data so it gets set to 0 (Unknown).

new behaior:

we run the auto-orient cmd which applies orientation and sets the orientation exif value to 1 (Horizontal (Normal))

add test cases with a png source file that has orientation applied. these are more visual examples since you can visually see the orientation being applied

pre-req of this ticket: https://jira.corp.adobe.com/browse/NUI-1556
Types of changes

[x] 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)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

fyi, dep mod tests are failing because diff fails for some post-processing tests since the orientation metadata changed on the rendition file: Unknown (0) -> Horizontal (Normal)
--------------------------------------------------------------------------------
Running validation: diff '/home/circleci/appLatest/worker-flite/action/tests/jpeg-with-embedded-icc-to-webp/rendition.webp' '/home/circleci/appLatest/worker-flite/action/.nui/2021_09_14T17_04_25_663Z/out/rendition0.webp'
Binary files /home/circleci/appLatest/worker-flite/action/tests/jpeg-with-embedded-icc-to-webp/rendition.webp and /home/circleci/appLatest/worker-flite/action/.nui/2021_09_14T17_04_25_663Z/out/rendition0.webp differ

!!! Validation failed: Rendition 'rendition0.webp' not as expected. Validate exit code was: 2
================================================================================

https://circle.ci.adobeitc.com/gh/nui/ci-opensource/20355/artifacts/0/test_logs/worker-flite/build/test.log
given that, is this considered a breaking change?


build documentation for the land site platform

We can use MkDocs. Quote Lasse from the Teams chat: " a solution that should be good for our purposes: MkDocs, which takes care of building a Read the Docs style github page with only a few lines of cli commands. The easiest way to maintain it is to include some necessary files in the main branch, specifically a "mkdocs.yml" file with simple instructions and then a "docs" directory containing the actual content of the page. Then, after executing a command, a new branch called "gh-pages" is automatically created with the necessary files for GitHub to build, render, and host the page. The site content can be managed via simple yet powerful Markdown files. IMO, it's a good compromise between easy to implement and maintainability."

Our documentation page is now up here
When updating the documentation, only these three files should be touched:

docs/index.md (the technical documentation itself)
docs/contributing.md (how to contribute to platform development and documentation)
README.md (the repository's readme file is linked to become the About section on the page)


App Introkurs modul 5 - Validation of submitter.

Description
The task "Validation of submitter" is difficult to solve only using Altinn docs.
Related Issue(s)

#{issue number}

Verification

[ ] Your code builds clean without any errors or warnings
[ ] Manual testing done (required)
[ ] Relevant automated test added (if you find this hard, leave it and we'll help out)
[ ] All tests run green

Documentation

[ ] User documentation is updated with a separate linked PR in altinn-studio-docs. (if applicable)

Do we have some place in the documentation where this can be documented instead of giving the user the solution directly?

Was wondering the same as  @tjololo.
Is the pointer to "løsningsforslag" in the end of the module not enough for those who struggle?
Maybe we need a section in docs for tips and tricks for app development or an overview of available services and what they can be used for that we can link to in the useful docs section?


New annotation type guide

Hi,
When can we expect the guide how to extend annotations types in your app?
I need to annotate the part of pictures, in general:
image; many polygons; each polygon should have label like text/logo.
I also need an annotation like image to text (for OCR fine-tuning).
I am able to try writing the code myself, although I need your guidance. Could you tell me what files should I modify to add more annotation types?

Hey @VictorAtPL
Yep, we're working on updating the documentation as well as releasing a "Getting Started" guide. It will be covering both embedding and extending the functionality with additional data types.
There is an initial implementation of the polygons, try out this config:
<View>
  <PolygonLabels name="poly" toName="img">

  </PolygonLabels>
  <Image name="img" value="$image_url"></Image>
</View>

For an image to text, you can use a config like this:
<View>
  <Image name="img" value="$image_url"></Image>

  <TextArea name="txt" toName="img"></TextArea>
</View>

To add more annotation types, I'd first check how other types are implemented here for example the one for Text
Let me know right away if you get stuck somewhere. We're glad to help!

@deppp,
Thank you for your response. I will test it till Wednesday and get back here to presumably ask more questions.
If it's ok for you, please do not close this issue for now.

@deppp @shevchenkonik
Sorry guys, I didn't have time to look at it, but will in next week for sure.

I made some little tests and it looks like the polygons are now not usable. I will make a list of changes I need to introduce to make it usable in my use case and I will try to address them.
Could you tell me what was the purpose of Normalization in Label? Except making Polygon labels I need also to write some comment what is inside that (it varies every label, because it's text). Should I use Normalization or develop another type in. e. TextPolygonaLabels?

@deppp @shevchenkonik
My question above is still up to date (about the Normalization).
I am now struggling with another problem. I try to run "frontend" (written in React) live, so not the compiled version run by backend. I try to do it by running the backend, and then executing npm run start with NODE_ENV=production. The frontend starts, but it looks like it's not in the production, because I can not see "go to task list" link.
If you have some time, please answer me to these two questions.

There is also a special built-in environment variable called NODE_ENV. You can read it from process.env.NODE_ENV. When you run npm start, it is always equal to 'development', when you run npm test it is always equal to 'test', and when you run npm run build to make a production bundle, it is always equal to 'production'. You cannot override NODE_ENV manually. This prevents developers from accidentally deploying a slow development build to production. source

Well, so how can I debug the frontend? If I need to compile it every time and run it via backend to see the effect, it would take ages to progress with the code.

I do not understand the way, how files with task and completions for it are created.
When I place one task in tasks.json file and make a submit for it in frontend, it creates a file with completions, but without data, id and task_path keys. File such as this cannot be loaded later via frontend for in. e. update annotations.
What's wrong with it? The task file should be created even before making completion, or the first completion should be saved with the fields containing information about task?
It seems like there is some bug, or I use the app not how I should be.

I hope #48 fixes the problem described above.
Unfortunately I will have to look at the PolygonLabels, because it looks like they are not loaded in the task view mode. It has the highest priority on my TODO list.

Could you tell me what was the purpose of Normalization in Label? Except making Polygon labels I need also to write some comment what is inside that (it varies every label, because it's text). Should I use Normalization or develop another type in. e. TextPolygonaLabels?

Yep, normalization is a bit misleading name right now, as it's just a way to add a piece of extra information to the labeled part of data (entity). Alternatively, based on your use case, you can create a new tag that subclasses PolygonLabels and adds an input for that additional info you need.
When you're saying that it's not usable, can you describe what's going wrong when you're using it?

@deppp
https://youtu.be/on70S27QFhM
As you can see the main problem is that the annotations doesn't load after save.
Here are more code which could help in debugging the problem:
https://gist.github.com/VictorAtPL/2349f2f4e75a0d9237d0ea39c6190169

@VictorAtPL we've recently released an updated version for the Polygons, as well as the website, here some links you may find useful:

Polygons documentation https://labelstud.io/tags/rectanglelabels.html
For large enough number of labels, it makes sense to make it into a two-column layout, look at the example configuration here: https://labelstud.io/templates/image_polygons.html

Please let me know if the updated version works well for you.

@deppp
I've pulled your code and tested it deeply.
I think a couple of things doesn't work at all, a couple of them are not intuitive and a couple of things are lack.
Here is detailed list:

[BUG] The reset button does not work properly. The image is not visible after pushing this button.
[BUG] After adding polygon (annotation ended by clicking in the first point), deleting it with Bksp and selecting next polygon's label with keyboard shortcut, there is no possibility to add the polygon.

"Failed to resolve reference 'bUaZuGflcd' to type 'PolygonRegionModel'"

[BUG] After adding one polygon, submitting task, adding the second one and updating the task, the second polygon is not being saved (not loaded after refreshing page via F5).
[BUG] Does undo do anything in polygon labels?
[BUG] If you add polygon, zoom in the image and click on the polygon, it is moved somewhere where it is not visible.
[IMPROVEMENT] When you drag the edge (a dot is shown) it should create new point of polygon between the two nearest points and place it in the place you are moving the mouse. Right now it starts to move whole of the polygon, which is not intuitive.
[IMPROVEMENT] The way of ending annotation of polygon - by clicking the first point of annotation (by the way we can forget which one was it and just search thru all points to look for the one which point will get bigger) - is not intuitive. The annotation of polygon should finish in following scenarios:

pushing ESC/Enter button,
Clicking any of the polygon's points or clicking inside the area of polygon.

[IMPROVEMENT] If one would like to annotate second polygon, which should be as near as possible with the first one, s/he has to zoom the image, because clicking the first polygon makes it selected instead of adding a point to the second polygon. I think it should be possible for annotation to overlap others. A researcher is the person responsible for managing the fact that 2+ polygons overlaps. S/he can do it at least two ways: The Pascal VOC dataset way (void label) or classify a pixel as label which polygon is earlier/later in JSON file.
[NEW FEATURE] When annotating, pushing Delete should cancel whole process and delete current polygon.
[NEW FEATURE] If you have selected polygon, clicking outside it should deselect it.
[NEW FEATURE] There is no way to change the label of currently existing polygons. Pushing CMD/CTRL + label shortcut could change the polygon's label.

Overall, your app is the best open-source annotation tool in the market, but for my case I have to work a little bit on details of polygon labels.
The bugs are presented in following video:
https://www.youtube.com/watch?v=15ssMjgaXQY&feature=youtu.be
I will take care of the improvements & new features in the end of this month, or next month. But for the sake of your users use-experience, it would be nice if you fixed the bugs.

@VictorAtPL Thanks for such a thorough testing and bug reporting! That's really helpful!
We'll be looking into the bugs you've listed this week. Can I please ask you to add them as separate issues so that we have a more natural way to track what gets fixed and when. Thanks!

@deppp
Sure, but next week. I am quite busy nowadays. I hope you can wait.

@VictorAtPL
Thank you, your bug report is very helpful. Every item of your report will be a new issue. But I will write on this issue if the bug or feature will be ready.
[BUG] The reset button does not work properly. The image is not visible after pushing this button.
Fixed in patch release 0.2.1-4: https://github.com/heartexlabs/label-studio/pull/98

@shevchenkonik
I've added three bugs listed above as new issues. The rest (2 bugs) have already corresponding issues and as you stated, one of them is already fixed.
I won't create issues for improvements & new features, because I suppose you've got a plenty of work even without it. I will try to do it on my own at the end of the month or next month.
I consider this issue as resolved, so I am closing this issue. Thank you.


Can't create experiment with v0.5.1

Hi,
The example simple-with-mlflow.jl do not work anymore with v0.5.1 :
ERROR: LoadError: HTTP.ConnectError for url = `http://localhost:5000/2.0/mlflow/experiments/create`: IOError: connect: connection refused (ECONNREFUSED)

But it's fine with v0.4.7.
Don't understand why, for now, I downgrade to v0.4.7.
Looking forward to hearing back from you, I wish you good luck.

@cyril-data Thanks for reporting!
I think something like mlf = MLFlow("http://localhost:5000") should now be mlf = MLFlow("http://localhost:5000/api"). Does that help?
@pebeto Looks like the example needs updating. Perhaps adding an explicit example call in the Release Notes would also be helpful.


[Plot] DockWidgets should be just containers

This is just a heads up.
The PR #771 illustrates a situation that can be common to other docked widgets.
It seems reasonable to have all the functionality available in the contained widget independently of being inside a dock widget or not. In other words, the dock container should not add other functionality than the docking capabilities.
This seems to have been discussed but I did not find an associated issue.

+1
Yes we started discussing it, to me the DockWidget should only manage layout stuff, not functionalities, and ideally be created by who is using the widget (e.g., PlotWindow in our case). This is clearly not the case as it is now.


Strings remove first person

Making this early should allow for clarification and suggestions.

Okay, I found and reworded what I could.

I don't think I have any issues with this, it all looks good and improves the wording of the strings chapter. I think this is ready to merge.


fix(repeat): support remapped l key

I use a non-qwerty layout and so hjkl keys are not close to home row,
but instead scattered around the keyboard. Consequently, I remap l to
something more convenient.
Recently (it turns out, after commit
9787c94178b4062f30d2f06b6d52984217196647), commands like Gitsigns stage_hunk stopped working, i.e. calling them would not stage the given
hook.
The problem is that mk_repeatable assumes a default mapping on l
when it calls normal g@l. Calling normal! fixes this, because then
custom mappings are disregarded and normal g@l calls the stage_hunk
or whatever was made repeatable.
I believe this should fix #651, although I did not test that.

[X] Have you read CONTRIBUTING.md? Yes

Awesome. Thanks!

Thanks for the quick turn-around and for making this awesome plugin!

@lewis6991 Would you mind adding the hacktoberfest-accepted label please? 😇
This way it would count in my hacktoberfest PRs.


Why the miner is stopped automatically after around 1148 or 1150 blocks mining in privnet.

When i am starting the miner and node both on local with this qng binary then after 1140  blocks miner stopped automatically in privnet. I tried so many times sometimes it's going to 1150-1160 and stops why?

Could you please provide the version of the QNG you are using?
You can use this line of command to display
./bin/qng -V

Please use latest miner and node
Miner can set 2 parameters in config

task_interval=3000
timeout=30

Please refer to the changes here #721 , which may help your problem.

@dindinw this is my qng version qng version 1.2.0+dev-4d595ec-dirty

We believe that this problem is caused by too frequent miner client submitting, which causes the difficulty to increase too quickly to produce blocks. It can be solved by modifying the default configuration by referring to the method mentioned above #721 . You can use the latest code, or manually modify your local configuration files. The issue has been closed. If you have further questions please open it again.

i changed these configs task_interval=3000 timeout=30 but still it's not working

First of all, please distinguish between "stop of block producing" and "difficulty of block producing". The two are different. Please also provide more details for us to help analyze, such as the node version and node log output.

<img width="1792" alt="Screenshot 2024-06-13 at 9 42 54 AM" src="https://github.com/Qitmeer/qng/a

ssets/171344914/2025fed0-ebc6-4611-a5c5-f506da3859fb">

I don't see a problem here, the difficulty adjustment algorithm is working exactly as expected. The default time target of the private network is 30 seconds. If you think it is too long, you can manually adjust this parameter.
https://github.com/Qitmeer/qng/blob/main/params/params_privnet.go#L24


Fix detect logic

The buildpack should tell you if no framework is detected. As currently working, it fails silently.

this seems like a good change to me


[SMALLFIX]Use static imports for standard test utilities

Change
import org.junit.Assert;
to
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
AND
Update all
Assert.{{ method }}*
to
{{ method }}*

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3150/
Test PASSed.

alluxio-bot, merge this please


Create Dockerfile-arm

I don't think this is needed to get this running on ARM only a multiarch build would be nice.


Added new handwriting fonts for simple use.

i added 30+ new handwriting fonts, people can choose from different fonts, now they dont have to search on web for handwriting fonts, searching perfect handwriting fonts on web is hactic task for some people,
they can simply select from the "handwriting fonts section itself",

These all look amazing @arshsisodiya. But May I know where did you get these fonts from? There may be licenses to these fonts which I would have to read before adding them to website.

These all look amazing @arshsisodiya. But May I know where did you get these fonts from? There may be licenses to these fonts which I would have to read before adding them to website.

first of all sorry to reply too late i download all these fonts from
https://www.quantumenterprises.co.uk/handwriting-fonts/fontvault.htm

I just checked their license and they have mentioned-

In the context of using our handwriting fonts, commercial use is the 'use of a font by an individual or business directly or indirectly for financial gain'.

Though text-to-handwriting is not a direct commercial software, It still can be counted as indirect financial gain due to the donations and sponsors so I don't think so it is ethical to go with the fonts.

I just checked their license and they have mentioned-

In the context of using our handwriting fonts, commercial use is the 'use of a font by an individual or business directly or indirectly for financial gain'.

Though text-to-handwriting is not a direct commercial software, It still can be counted as indirect financial gain due to the donations and sponsors so I don't think so it is ethical to go with the fonts.


Support for Mariner (Azure Linux)

I'm trying to create an official Microsoft Azure HPC/AI  VM image based on Azure Linux (CBL-Mariner 2.0) to run on Azure virtual machines (Azure VMSS) and I can't find a version of DCGM that will install on it.

I have tried the latest Fedora DCGM installation (since many people have suggested Mariner is similar to Fedora) at https://developer.download.nvidia.com/compute/cuda/repos/fedora37/x86_64/cuda-fedora37.repo , and get back "No valid Platform ID detected". I also tried the RHEL8 repo since they seem to have some similarity as well.
I tried cloning the GitHub repo to the VM and running /dcgmbuilds/build.sh, but the version of docker that's available for Mariner (20.10.25) errors out on many of the options for docker build, starting with "--compress", btu continuing from there if I try deleting that one.

Are there any plans for supporting Mariner and/or are there any workarounds to enable using it?

@LiquidPT,
Are you able to install the https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/datacenter-gpu-manager-3.2.6-1-x86_64.rpm directly?
Please reach out to Kalpesh Patel at Microsoft to avoid duplicating efforts. There's already a communication channel regarding Mariner.

That appears to have worked. I'll reach out to Kalpesh though.


Type validation is janky with partially-typed object

Bicep version
0.3.1
Describe the bug
A clear and concise description of what the bug is vs what you expected to happen
To Reproduce

Start with the following file - warnings are displayedresource test 'Microsoft.KeyVault/vaults@2019-09-01' = {
  name: 'ello'
  location: 'West US'
  properties: {
    accessPolicies: [
      {
        permissions: ''
      }
    ]
  }
}

Delete the : '' after permissions - a syntax error is now displayed, but the warnings disappear
Type : '' and the warnings reappear.

GIF

I saw similar one when doing KV getSecret(). It was when I had syntax error in interpolated string. I thought this was by design :)
What I noticed, is that in TypeAssignmentVisitor one time we return ErrorType - when there's syntax problem - and this leads to disappearing the warnings).
The warnings are emitted using AssignTypeWithDiagnostics and errors are written directly to the diagnosticwriter.
Didn't pursue that issue but probably at some point we do not read collected diagnostics if we get a ErrorType returned.

Also pretty vague intellisense when attempting to template out a Portal Dashboard.  I ended up working mostly blind with mandatory parameters not being listed.

Also pretty vague intellisense when attempting to template out a Portal Dashboard. I ended up working mostly blind with mandatory parameters not being listed.

@marcJenningsUk - it sounds like this might be a case of an incomplete swagger (type) definition. Do you mind adding this case to #784?

Also pretty vague intellisense when attempting to template out a Portal Dashboard. I ended up working mostly blind with mandatory parameters not being listed.

@MarcJenningsUK - it sounds like this might be a case of an incomplete swagger (type) definition. Do you mind adding this case to #784?

Added

Adding a note that this has a dependency on Type System v2


[BUG] Recent change broke FanControl behavior on air-purifier app

Reproduction steps
I noticed the behavior of the FanControl has changed and it seems to be "broken" in the air-purifier app. Most likely it's broken on the CHEF app as well.
I didn't dig too deep yet but It seems like the cluster was updated and changes to the attibutes PercentCurrent and PercentSetting are no longer executed when the FanMode changes.
Bisected to this commit: https://github.com/project-chip/connectedhomeip/commit/078bc30d3f9f5d46c989272b2a50b3f5e8eb2f55#diff-3c590a8ad6daf90620feae66812d93a775cfb7cab0a562489b76f869de996342
New behavior after that commit landed:
You can see that PercentSetting and PercentCurrent are no longer updated.
[MatterTest] 11-11 21:25:13.932 INFO @@@ WRITE FanMode to 0
[MatterTest] 11-11 21:25:18.936 INFO @@@ WRITE FanMode to 1
[MatterTest] 11-11 21:25:19.030 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 1
[MatterTest] 11-11 21:25:19.031 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:25:19.031 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 1
# expected percent change here!
[MatterTest] 11-11 21:25:23.953 INFO @@@ WRITE FanMode to 2
[MatterTest] 11-11 21:25:23.975 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 4
[MatterTest] 11-11 21:25:23.976 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 2
[MatterTest] 11-11 21:25:23.976 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 4
# expected percent change here!
[MatterTest] 11-11 21:25:28.973 INFO @@@ WRITE FanMode to 3
[MatterTest] 11-11 21:25:28.992 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 8
[MatterTest] 11-11 21:25:28.992 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 3
[MatterTest] 11-11 21:25:28.992 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 8
# expected percent change here!
[MatterTest] 11-11 21:25:33.989 INFO @@@ WRITE PercentSetting to 80
[MatterTest] 11-11 21:25:34.001 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 80
[MatterTest] 11-11 21:25:34.001 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 80
[MatterTest] 11-11 21:25:38.998 INFO @@@ WRITE PercentSetting to 60
[MatterTest] 11-11 21:25:39.024 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 2
[MatterTest] 11-11 21:25:39.024 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 60
[MatterTest] 11-11 21:25:39.025 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 6
[MatterTest] 11-11 21:25:39.025 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 60
[MatterTest] 11-11 21:25:39.025 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 6
[MatterTest] 11-11 21:25:44.020 INFO @@@ WRITE PercentSetting to 40
[MatterTest] 11-11 21:25:44.039 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 4
[MatterTest] 11-11 21:25:44.039 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 4
[MatterTest] 11-11 21:25:44.039 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 40
[MatterTest] 11-11 21:25:44.039 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 40
[MatterTest] 11-11 21:25:49.035 INFO @@@ WRITE PercentSetting to 20
[MatterTest] 11-11 21:25:49.058 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:25:49.058 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 20
[MatterTest] 11-11 21:25:49.058 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 2
[MatterTest] 11-11 21:25:49.058 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 20
[MatterTest] 11-11 21:25:49.059 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 2
[MatterTest] 11-11 21:25:54.054 INFO @@@ WRITE PercentSetting to 0
[MatterTest] 11-11 21:25:54.076 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 0
[MatterTest] 11-11 21:25:54.076 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 0
[MatterTest] 11-11 21:25:54.076 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 0
[MatterTest] 11-11 21:25:54.077 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 0
[MatterTest] 11-11 21:25:54.077 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 0
[MatterTest] 11-11 21:25:59.072 INFO @@@ WRITE PercentSetting to 100
[MatterTest] 11-11 21:25:59.093 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 3
[MatterTest] 11-11 21:25:59.094 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 100
[MatterTest] 11-11 21:25:59.094 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 10
[MatterTest] 11-11 21:25:59.094 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 100
[MatterTest] 11-11 21:25:59.094 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 10
[MatterTest] 11-11 21:26:04.090 INFO @@@ WRITE FanMode to 0
[MatterTest] 11-11 21:26:04.112 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 0
[MatterTest] 11-11 21:26:04.112 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 0
[MatterTest] 11-11 21:26:04.112 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 0
[MatterTest] 11-11 21:26:04.113 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 0
[MatterTest] 11-11 21:26:04.113 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 0
[MatterTest] 11-11 21:26:09.108 INFO @@@ WRITE FanMode to 1
[MatterTest] 11-11 21:26:09.129 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 1
[MatterTest] 11-11 21:26:09.129 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:26:09.129 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 1
[MatterTest] 11-11 21:26:14.125 INFO @@@ Sending ON command

vs
Original behavior:
[MatterTest] 11-11 21:32:24.019 INFO @@@ WRITE FanMode to 0
[MatterTest] 11-11 21:32:29.023 INFO @@@ WRITE FanMode to 1
[MatterTest] 11-11 21:32:29.205 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:32:29.206 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 10
[MatterTest] 11-11 21:32:29.206 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 1
[MatterTest] 11-11 21:32:29.206 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 10
[MatterTest] 11-11 21:32:29.207 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 1
[MatterTest] 11-11 21:32:34.028 INFO @@@ WRITE FanMode to 2
[MatterTest] 11-11 21:32:34.038 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 2
[MatterTest] 11-11 21:32:34.039 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 40
[MatterTest] 11-11 21:32:34.039 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 4
[MatterTest] 11-11 21:32:34.039 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 40
[MatterTest] 11-11 21:32:34.039 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 4
[MatterTest] 11-11 21:32:39.034 INFO @@@ WRITE FanMode to 3
[MatterTest] 11-11 21:32:39.044 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 3
[MatterTest] 11-11 21:32:39.044 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 80
[MatterTest] 11-11 21:32:39.044 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 8
[MatterTest] 11-11 21:32:39.045 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 80
[MatterTest] 11-11 21:32:39.045 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 8
[MatterTest] 11-11 21:32:44.039 INFO @@@ WRITE PercentSetting to 80
[MatterTest] 11-11 21:32:49.044 INFO @@@ WRITE PercentSetting to 60
[MatterTest] 11-11 21:32:49.055 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 2
[MatterTest] 11-11 21:32:49.056 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 60
[MatterTest] 11-11 21:32:49.056 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 6
[MatterTest] 11-11 21:32:49.056 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 60
[MatterTest] 11-11 21:32:49.056 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 6
[MatterTest] 11-11 21:32:54.050 INFO @@@ WRITE PercentSetting to 40
[MatterTest] 11-11 21:32:54.059 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 4
[MatterTest] 11-11 21:32:54.060 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 4
[MatterTest] 11-11 21:32:54.060 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 40
[MatterTest] 11-11 21:32:54.060 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 40
[MatterTest] 11-11 21:32:59.056 INFO @@@ WRITE PercentSetting to 20
[MatterTest] 11-11 21:32:59.066 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:32:59.067 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 20
[MatterTest] 11-11 21:32:59.067 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 2
[MatterTest] 11-11 21:32:59.067 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 20
[MatterTest] 11-11 21:32:59.067 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 2
[MatterTest] 11-11 21:33:04.062 INFO @@@ WRITE PercentSetting to 0
[MatterTest] 11-11 21:33:04.072 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 0
[MatterTest] 11-11 21:33:04.072 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 0
[MatterTest] 11-11 21:33:04.073 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 0
[MatterTest] 11-11 21:33:04.073 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 0
[MatterTest] 11-11 21:33:04.073 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 0
[MatterTest] 11-11 21:33:09.067 INFO @@@ WRITE PercentSetting to 100
[MatterTest] 11-11 21:33:09.077 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 3
[MatterTest] 11-11 21:33:09.077 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 100
[MatterTest] 11-11 21:33:09.078 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 10
[MatterTest] 11-11 21:33:09.078 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 100
[MatterTest] 11-11 21:33:09.078 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 10
[MatterTest] 11-11 21:33:14.072 INFO @@@ WRITE FanMode to 0
[MatterTest] 11-11 21:33:14.083 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 0
[MatterTest] 11-11 21:33:14.083 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 0
[MatterTest] 11-11 21:33:14.083 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 0
[MatterTest] 11-11 21:33:14.083 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 0
[MatterTest] 11-11 21:33:14.084 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 0
[MatterTest] 11-11 21:33:19.078 INFO @@@ WRITE FanMode to 1
[MatterTest] 11-11 21:33:19.088 INFO @@@ ATTRIB: EP1/FanControl/FanMode: 1
[MatterTest] 11-11 21:33:19.089 INFO @@@ ATTRIB: EP1/FanControl/PercentCurrent: 10
[MatterTest] 11-11 21:33:19.089 INFO @@@ ATTRIB: EP1/FanControl/SpeedCurrent: 1
[MatterTest] 11-11 21:33:19.089 INFO @@@ ATTRIB: EP1/FanControl/PercentSetting: 10
[MatterTest] 11-11 21:33:19.089 INFO @@@ ATTRIB: EP1/FanControl/SpeedSetting: 1
[MatterTest] 11-11 21:33:24.083 INFO @@@ Sending ON command

Bug prevalence
always
GitHub hash of the SDK that was being used
latest
Platform
other
Platform Version(s)
No response
Anything else?
No response

Revert landed, closing this issue. https://github.com/project-chip/connectedhomeip/pull/36475


(PUP-5871) Add Timespan and Timestamp Puppet Types and implementations

This commit adds two new types. A Timespan that represents a moment
in time and a Timespan that represents a duration. Both types uses
nano-second precision and can participate in arithmetic operations.
The types have new functions that allow creation from a string a hash.
A strftime function is also included to provide a flexible way of
representing the instances in string form. The name was chosen since
it's well known in languages such as Ruby, C++, and Python. It's also
less likely to collide with other global functions declared in modules
than, say 'format'.
An approach of extending the String constructor and give it special
logic for Timespan and Timestamp was rejected since it would introduce
ambiguities with different formatting characters. String(x, '%p')
(expected to produce a programmatic representation) would print 'AM' or
'PM' in case x is a Timestamp.
The Timespan and Timestamp implementation share an abstract class
TimeData which in turn inherits from Numeric. This approach was selected
since it required a minimum of adjustments to make the classes work
with arithmetic and comparison operators in PL.

CLA signed by all contributors.

PR updated. I chose to squash some of the changes since I rewrote parts of the code dealing with the common type. A new (maint) commit takes care of unifying the fail message when 3x functions are overridden but called anyway. All above comments should be addressed.

I replaced the maint commit with a new solution, implemented according to your proposal.


revert communication/pom.xml change when update version during release postgresql

To communication team, please fix your pom or your version_client.txt

/azp run java - communication


feat: Add destructive styling to MenuItems

SC-18697

@khalidwilliams fyi since you only have 1 commit, GitHub won't make a combined "squash commit", so the semantic release logic will use your commit's commit message as-is, so feat will need to be "git amended" into the commit and git push -fd.


Typos in the Expect the best, prepare for the worst section:

[Enter feedback here]
Typos in the Expect the best, prepare for the worst section:
missing spaces-
We have been using scheduled backups to ensure that we always have backups in place in case something goes wrong.
Because we are moving to new hardware anyways, we will not bother setting up a separate pre-production environmentto do our dry run. Instead, we will use that new hardware to do a dry run first, and thenwe will wipe everything clean and use it again for the

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

ID: d859aed2-d181-a41d-3c58-9b86174c5b55
Version Independent ID: 55853747-f11a-bd25-afb7-c3d9e8e374ba
Content: Upgrade TFS - TFS
Content Source: https://mseng.visualstudio.com/DefaultCollection/TechnicalContent/_git/tfs-docs-pr?path=%2fdocs%2fupgrade%2fwalkthrough.md&version=GBlive&_a=contents
Product: devops-server
Technology: tfs-admin
Git Login: aaronhallberg
Microsoft Alias: aaronha

Fixing and closing this issue


Unable to record from MIB

Hi Ilya,
Thomas again... lol
Been trying to create .snmprec files from MIB files using snmpsim-record-mibs but I'm getting the following error:
len(args.string_pool)
*** TypeError: object of type 'NoneType' has no len()

Tried with several MIBs including SNMPv2-MIB which is provided by default in /site-packages/snmpsim etc as well as a correctly formatted one from a DAHUA camera.
Set a breakpoint with PDB and couldn't fathom why args.string_pool was NoneType, this is what I get when I call args.string_pool:
`(Pdb) args.string_pool
syntax = <DisplayString schema object, tagSet <TagSet object, tags 0:0:4>, subtypeSpec <ConstraintsIntersection object, consts <ValueSizeConstraint object, consts 0, 65535>, <ValueSizeConstraint object, consts 0, 255>, <ValueSizeConstraint object, consts 0, 255>>, encoding iso-8859-1>
hint = '# Scalar SNMPv2-MIB::sysDescr (type DisplayString)\r\n'
automatic_values = 5000

argsseems like a very weird object, I can call non-existing methods on it, even on args.string_pool:
args.string_pool.asdadasda yields the same result as above...
This is the stacktrace:
Traceback (most recent call last):   File "/home/thomas/snmp-project/venv/bin/snmpsim-record-mibs", line 8, in <module>     sys.exit(main())   File "/home/thomas/snmp-project/venv/lib/python3.8/site-packages/snmpsim/commands/mib2rec.py", line 472, in main     val = get_value(node.syntax, hint)   File "/home/thomas/snmp-project/venv/lib/python3.8/site-packages/snmpsim/commands/mib2rec.py", line 240, in get_value     val = ' '.join([args.string_pool[random.randrange(0, len(args.string_pool))]   File "/home/thomas/snmp-project/venv/lib/python3.8/site-packages/snmpsim/commands/mib2rec.py", line 240, in <listcomp>     val = ' '.join([args.string_pool[random.randrange(0, len(args.string_pool))] TypeError: object of type 'NoneType' has no len()

I have this error pls help

@wanglong001 and @thomasbromehead object of type 'NoneType' has no len() is caused by a bug in the code. Only fixed in snmpsim-lextudio version 1.0.2.
@BURNI80 You didn't compile AGENTX-MIB properly and mibdump --destination-directory=pysnmp_mibs ./AGENTX-MIB.txt is necessary to ensure you use the proper MIB document and compile it to .py. Then your snmpsim-record-mibs command might start to work.
You are welcome to read etingof/pysnmp/issues/429 to learn more.

Thank you!
Why when I execute: snmpsim-record-mibs --mib-module=BRIDGE-MIB it ask me for values?

What do I have to write?

@BURNI80 if you read the actual MIB documents, you will see that dot1dBaseBridgeAddress is of the type MacAddress, which in turn is OCTET STRING (SIZE (6))
https://github.com/lextudio/sharpsnmppro-mib/blob/master/SNMPv2-TC.txt#L92
So when prompted to input value, you might use something like AAAAAA to meet the constraint.
Similarly you need the following (and more),

A value like 600 for dot1dStpBridgeMaxAge.
A value like 100 for dot1dStpBridgeHelloTime.
A value like 400 for dot1dStpBridgeForwardDelay.
A value like aa for dot1dStpPortDesignatedPort.

Thanks!!! Anyway to do it full automatic?


MGMT: Issue with regex pattern that calculates domains for service ids

It appears that the pattern used to determine domains has changed to ^\^?https?://([^:/]+).
This creates the following problem (and breaks tests):

I'll register a service as such https://example\\.com/high/.*.
Tracking domain is calculated as example\.com
A service request comes in, identified as https://example.com/high/.
CAS tried to calculate domain, comes up with default.
CAS reports back that service is unauthorized and service is not found.

perhaps something like to calculate domains:
String domain = match.lookingAt() && !match.group(1).contains("*") ? match.group(1) : "default";
domain = StringUtils.remove(domain, "\\");

I think that would work just fine.  Other possibility is do a replace before matching, but doing it after seems more efficient.  A real solution may be to create a "Domain" object, like we discussed in the meeting this morning.  Then the domain can be added just as a string.  Also defaults for all services in that domain could be set that are copied to any service created.  Could solve some issues, but also cause other issues.

Turns out that the fix is simply impractical, because there is a wide [infinite?] range of special characters that we may need to strip out. Consider service patterns that would be like test?.*[a-z].org and such where the domain will be calculated as one with special regex characters, yet it could allow many matching "regular" service urls that whose domain would be "test.org" somehow.
While we likely can make it work by enumerating every possible permutation that would be removed, I find your suggestion much more practical that Domain should simply be an arbitrary string, defaulted to "default" and rather than calculating it automatically, we let adopters "group" urls together somehow. In fact, domain probably would a bad choice; "group" or "category" like would be better.
I'll experiment with this option a bit more; but for the time being in leu of release coming up, I'll reset back to the previous pattern to bypass this issue for now.

Initial prototype to keep things simple for the time being:
private String getDomain(final String service) {
        try {
            if (urlValidator.isValid(service)) {
                final URL url = new URL(service);
                if (domainValidator.isValid(url.getHost())) {
                    return url.getHost();
                }
            }
        } catch (final Exception e) {
            LOGGER.trace(e.getMessage(), e);
        }
       // initial value is "default"
        return RegisteredService.INITIAL_DOMAIN_VALUE;
    }

    // Note the new r.getDomain()
    private void addToDomain(final RegisteredService r, final Map<String, TreeSet<RegisteredService>> map) {
        final String domain = StringUtils.defaultIfBlank(r.getDomain(), RegisteredService.INITIAL_DOMAIN_VALUE);
        ....
    }

Back to your point and possibly as the next step, it sounds like we are approaching something like "template services or policies", and when I think about it, it also sounds like it's a concept useful in the management app only. For example, an adopter could set up a number of template policies for various services that describe attribute release, theme, etc. Then, when a new service is about to be created, the adopter is given a chance to inherit from a pre-existing policy and leave everything alone, or continue to override settings at the service level. The backend in the end creates the same exact service definition and body; it's just a matter of how it gets populated.
The advantage of keeping as a management app feature is that it keeps the core model clean with less fangs; because in the end the full body of a service object is populated and saved just as it happens today, regardless of how that object was populated. If one changes anything in the service directly, changes are reflected. If one changes anything in the policy that parents a service, then the values are populated all the same and saved for that service.
The disadvantage might be the duplication of data both in templates in one place, and when each service is populated and saved.  I am ok with that drawback for the consequences are far too severe. The alternative would be too complicated where the core model "everywhere" needs to consult to see if there is a policy and use that or fall back onto its own settings. Assuming the service object already has everything populated via whatever means I think is most practical.

Also note that in the above snippet the management app would be responsible for presenting a "domain" field to the user, auto-populating it appropriately perhaps when a serviceId is provided, which means that it can allow for a little bit of intelligence guessing the domain from the pattern while also allowing the user to correct the entry. Which means no more guess work for the core model and the services manager with tiny improvements for performance.

In your prototype above, are urlValidator and domainValidator utils that
already exist?  Since domains can only contain letters, numbers and
hyphens, I think we only need to check that these rules are met to know if
it is a single domain or expression representing multiple domains.  The
only issue still is escaping the "\.".
On Wed, Sep 13, 2017 at 4:15 AM Misagh Moayyed<EMAIL_ADDRESS>wrote:

Also note that in the above snippet the management app would be
responsible for presenting a "domain" field to the user, auto-populating it
appropriately perhaps when a serviceId is provided, which means that it can
allow for a little bit of intelligence guessing the domain from the pattern
while also allowing the user to correct the entry. Which means no more
guess work for the core model and the services manager with tiny
improvements for performance.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Unicon/cas/issues/31#issuecomment-329136516, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AS0kvTStdU3qWDWmfGKhUnCML25wL1GLks5sh7logaJpZM4PVNXD
.

For the "template definition" vs "real service definition", sounds like Prototype design pattern.

@tsschmidt Yes those utilities already exist. Are you saying that if the domain contains any of those special parameters, we would auto-fallback to the default? and only if single domain, we register the definition under the domain?
In other words, if "domainValidator.isValid==false then default otherwise use domain"?
That might work with a few special checks and conditions, but I think it will still be problematic. I'll run some experiments with tests and see if I can get this to fail.

So here is my proposed solution.
private final Pattern domainExtractor = RegexUtils.createPattern("^\\^?https?://([^:/]+)");
private final Pattern domainPattern = RegexUtils.createPattern("^[a-z0-9-.]*$");

    private String getDomain(final String service) {
        final Matcher extractor = domainExtractor.matcher(service.toLowerCase());
        final String domain;
        if (extractor.lookingAt()) {
           final String group1 = StringUtils.remove(extractor.group(1),"\\");
           final Matcher match = domainPattern.matcher(group1);
           domain = match.matches() ? group1 : "default";
        } else {
           domain = "default";
        }
        LOGGER.warn("Domain [{}] found for service [{}] ", domain, service);
        return domain;
    }

How about something like http://www.jasig.org.+? Do we want to handle and calculate the domain there as well? How about http://www.jasig.org?param=test?

Also the above solution also presents many test failures, specially with Cas20ResponseViewTests.

So basically we are missing the cases where the expression does not include the slash denoting the start of the path.  In this case it all works well if this is the only service defined  or all services are defined the same way as in your example.  They would be put in the default list and found correctly.
If a service with id http://www.jasig.org/somepath/.* is added, then this entry would cause a www.jasig.org entry to be created in the hashmap and only this list would be traversed and the previous two service ids would not be able to be matched.
It looks like in order to use the DomainServicesManager correctly, service ids will need to be constructed a certain way.  This constraint was assumed on our part for our use, but may not be reasonable to apply to everyone, especially those with existing registries.
I see two choices:

Restore DefaultServicesManager and those wanting to use DomainServicesManager need to configure it to override.
Keep DomainServicesManager as the default.  Add a cas.mgmt.useDomainManager property to the configuration.  If true the then all services are added to the "default" domain and the Domains landing page is not displayed in the webapp.

I am also open to any other suggestions.

It looks like in order to use the DomainServicesManager correctly, service ids will need to be constructed a certain way.

Yes exactly. This is the same conclusion I arrived at.

Keep DomainServicesManager as the default. Add a cas.mgmt.useDomainManager property to the configuration. If true the then all services are added to the "default" domain and the Domains landing page is not displayed in the webapp.

I like this option, except that I think we need to do this for the core webapp, because right now tests are failing with "Unauthorized service: not found" errors. So to reformulate your idea:

Use DefaultServicesManager as the default
Expose an option where when set to true, creates a DomainServicesManager. This restores default behavior, and allows you to easily switch for your own purposes.

    @ConditionalOnMissingBean(name = "servicesManager")
    @Bean
    @RefreshScope
    public ServicesManager servicesManager(@Qualifier("serviceRegistryDao") final ServiceRegistryDao serviceRegistryDao) {
        if (blah) then Domain else Default
    }

The management app could use the same setting, but more practically and easier, perhaps it can do an instanceof check on the servicesManager object it receives and if that is one handling domains, the UI can react appropriately.

Quick followup: instanceof may not work due to proxies and  one would add the same setting to the management.properties file anyway to activate it. So nevermind #3.

General outline:
    /**
     * Determine how services are internally managed, queried, cached and reloaded by CAS.
     * Accepted values are the following:
     *
     *

     *
DEFAULT: Keep all services inside a concurrent map.

     *
DOMAIN: Group registered services by their domain having been explicitly defined.

     *

     */
    private ServiceManagementTypes managementType = ServiceManagementTypes.DEFAULT;

Figured ENUM works better to accommodate other implementations of the manager.

Via https://github.com/apereo/cas/commit/b74f5fe9402cf209767d54f2dd4ed80bc5e480d8

Come on man! You gotta tell me if you are gonna code it.

ah, sorry! my bad. I'll definitely be more explicit.

No worries.  I will get the mgmt app changes done this afternoon.

From: Misagh Moayyed<EMAIL_ADDRESS>Sent: Wednesday, September 13, 2017 11:20:26 AM
To: Unicon/cas
Cc: Travis S Schmidt; Mention
Subject: Re: [Unicon/cas] MGMT: Issue with regex pattern that calculates domains for service ids (#31)
ah, sorry! my bad. I'll definitely be more explicit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Unicon/cas/issues/31#issuecomment-329253806, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AS0kvaTMOfQzqPDc9nQxNzXneNAMrpvvks5siBzqgaJpZM4PVNXD.

I have pushed "mgmt-domain-regex" that ensures domains only contain valid domain characters.  This branch also has front-end changes that will removes Domains page when the service registry management type is set to DEFAULT

Merged.
Quick note: if you would be good to run checkstyle locally once; Things like this will and must be caught:
private String validateDomain(String domain) {
        domain = StringUtils.remove(domain, "\\");
        ...
}


Regular Entity and UI

How to register as an regular entity to appear in the reporting list? Created a regular entity and migration but does not appear in the UI entities.
Thanks.

Hello @kzweb,
The entity management page as well as other pages like email templates, reports, workflows show only configurable entities. To make entity configurable you can use @Config annotation. Simple example you can see in https://github.com/orocrm/crm/blob/master/src/OroCRM/Bundle/TaskBundle/Entity/TaskPriority.php#L13, or in https://github.com/orocrm/crm/blob/master/src/OroCRM/Bundle/TaskBundle/Entity/Task.php#L32-L71 for more advanced configuration

It's not a bug. Added the annotation and run update: php app/console oro:entity-config:update
Please, close this issue.

It's not a bug. Added the annotation and run update: php app/console oro:entity-config:update
Please, close this issue.


Manual <link rel=modulepreload> causes duplication

Describe the bug
It seems like trying to help vite make sense of a module structure is causing duplication. This is relevant for module workers (see the related https://github.com/vitejs/vite/issues/13355), but also in general even for the main script. See the reproduction case and compare the output for rel=preload vs. rel=modulepreload.
Reproduction
https://stackblitz.com/edit/vitejs-vite-ohybcx
Steps to reproduce
Run npm run build.
System Info
System:
    OS: macOS 14.4
    CPU: (8) arm64 Apple M1
    Memory: 73.41 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 21.7.1 - /opt/homebrew/bin/node
    npm: 10.5.0 - /opt/homebrew/bin/npm
    bun: 0.6.6 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 123.0.6312.59
    Chrome Canary: 125.0.6378.0
    Firefox Nightly: 111.0a1
    Safari: 17.4
    Safari Technology Preview: 17.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I think it's not just duplication, but <link rel="modulepreload" href="/main.js" /> is simply considered as an static asset and the script is not processed. It would be clearer when using typescript like href="/main.ts" https://stackblitz.com/edit/vitejs-vite-u9ok5x?file=dist%2Fassets%2Fmain-zn5ORrD-.ts
I think this is essentially a same issue as https://github.com/vitejs/vite/issues/13355 and it's not supported as a current index.html feature. For now, injecting to <head> manually via plugin as suggested in https://github.com/vitejs/vite/issues/13355#issuecomment-1568170874 looks like a legitimate solution to me.

Thanks, closing in favor of #13555 then. It's still somewhat surprising to me that vite sees independent resources, even if the files have the exact same URL and are being referenced in the same index.html entry point, but I'm absolutely not an expert there, just a naive (and very thankful and content) user.


Error when importing into Aure DevOps.

Error when importing into Aure DevOps.
If changes were made to the custom field, then there are multiple revisions of the field value.
[I][15:38:28] Import started. Importing 1 items with 7 revisions.
[I][15:38:28] Processing 1/7 - wi '1711', jira 'ITXTP-653, rev 0'.
[I][15:38:29] Processing 2/7 - wi '1711', jira 'ITXTP-653, rev 1'.
[I][15:38:29] Processing 3/7 - wi '1711', jira 'ITXTP-653, rev 2'.
[E][15:38:29]VS403691: Update to work item 1711 had two or more updates for field with reference name 'Custom.Ort'. A field cannot be updated more than once in the same update.
And only the value of the field for the first revision is imported, and the other values are ignored. How can I make it so that the values of the last (maximum) revision are imported?
Thank you.
Here is part of config file
"field-map": {
"field": [
{
"source": "Ort",
"source-type": "name",
"target": "Ort",
},
Here is example of importing file
OriginId": "ITXTP-653",
"WiId": -1,
"Revisions": [
{
"Author"<EMAIL_ADDRESS>"Time": "2023-04-20T13:40:04.346+02:00",
"Index": 0,
"Fields": [
{
"ReferenceName": "Ort",
"Value": "TesOrt1"
},
{
"Author"<EMAIL_ADDRESS>"Time": "2023-04-20T13:40:52.351+02:00",
"Index": 2,
"Fields": [
{
"ReferenceName": "Ort",
"Value": "TesOrt2"
}

Update to work item 1711 had two or more updates for field with reference name 'Custom.Ort'.

This message typically means that a single revision has multiple patches of the same field, which is not allowed in ADO.
Check if this could be the case?

Hi. Thanks for the quick response.
As I understand it, in this sample piece of the imported file, the Orth field has two values. The first is for revision with index 0, and the second is for revision with index 2. This field is not repeated in each individual revision.
As a result, an error occurs when importing the second revision.
OriginId": "ITXTP-653",
"WiId": -1,
"Revisions": [
{
"Author"<EMAIL_ADDRESS>"Time": "2023-04-20T13:40:04.346+02:00",
"Index": 0,
"Fields": [
{
"ReferenceName": "Ort",
"Value": "TesOrt1"
},
{
"Author"<EMAIL_ADDRESS>"Time": "2023-04-20T13:40:52.351+02:00",
"Index": 2,
"Fields": [
{
"ReferenceName": "Ort",
"Value": "TesOrt2"
}

Ok! Will have to look into that as soon as time permits.
Marking as bug

I founded out, that It's only happens when no mapping, or (default) mapping. But I cannot find relevant mapping for my custom field (it's one row string).

See the FAQ for mapping custom string fields: https://github.com/solidify/jira-azuredevops-migrator/blob/master/docs/faq.md#3-how-to-map-custom-field-by-name

With this mapper I have described above problem
Example:
{
"source": "CustomFieldName",
"source-type": "name",
"target": "Microsoft.VSTS.TCM.ReproSteps"
}
And with this mapper runs better (no duplicates), but it needs multi row string field type
{
"source": "description",
"target": "Microsoft.VSTS.TCM.ReproSteps",
"mapper":"MapRendered"
}

MapRendered is meant for fields with html contents, like Description and ReproSteps :)

Issue reported separately through support mailbox. See email from Miroslav Koutny (CZ), Thu 5/25/2023 7:12 PM

[Miroslav Koutny]
Well I did a deep research to find the root cause and it's interesting that it's always related to the same pattern.

In one revision you either set up new values, or update the values to multiple fields
These values are from pickup list JIRA source
These pickuplists are migrated to CUSTOM pickup list to ADO and those pickup lists in ADO are Mandatory

If I work only with the text fields on the ADO side the problem is not happening.
So my conclusion is , that it might be a side effect of custom pickup lists, or something like that may be improper configuration of that fields in ADO.

@DanteOnePlusOne , @JocaJovan , I noticed that your field reference names actually look very strange. ("Ort" and "GDPR relevant"). For ADO Services, the built-in field reference names usually start with "System." or "Microsoft.". Custom fields usually start with "Custom", and they cannot contain spaces if I'm not mistaken. Can you try and ensure that your have specified the field reference name and not the field name?
Here is an index of all the built-in fields: https://learn.microsoft.com/en-us/azure/devops/boards/work-items/guidance/work-item-field?view=azure-devops

Issue has been resolved by Miroslav Koutnry. The root cause turned out to be incorrect configuration on the user's side.
I have documented the solution as part our our troubleshooting guidelines in the FAQ: https://github.com/solidify/jira-azuredevops-migrator/blob/master/docs/faq.md#troubleshooting-i-receive-errors-like-vs403691-update-to-work-item-165-had-two-or-more-updates-for-field-with-reference-name-customxxx-a-field-cannot-be-updated-more-than-once-in-the-same-update
Closing the issue. Please reopen the issue and tag me if the problem persists.


Sorts forms by updated on Forms page

Summary | Résumé
This updates the templates lib call to have an optional sort by updated_at time vs. previous created_at time. This helps a user more easily see the template(s) s/he recently updated by being first in the forms cards "list".
The lib templates call was moved out of the component and into its Page file. This was done to avoid the component being cached when a user navigates back to the page. Otherwise, after a user updates a form template and navigates back to the Forms page, s/he would see no order change in the form cards 'list" (component not re-rendered).

@thiessenp-cds
FYI - paired with Dave and did some additional work to speed up the loading etc...


AWX backup cleanup

Hello kurokobo !
First I want to thank you so much for this awesome repo that you have created!
I use your backup solution for AWX (in AWX) with some minor modifications. It works really well for what it does. I have one question regarding the cleanup of old backups, this part:
https://github.com/kurokobo/awx-on-k3s/blob/5bed268e03c45029766df4f49d969f8ba40c36e9/backup/ansible/project/backup.yml#L89
It seems that only the AWXBackup objects gets removed and not the actual data inside the PVC. Is this the intended behavior? If so, do you have a suggestion on how the tower-openshift-backup-YYYY-MM-DD-HHMMSS directories can also be removed? I will also look into this as well and if I come up with anything I will share it in this issue.
Cheers!

@rexberg
Hi, thanks for using my repo!

It seems that only the AWXBackup objects gets removed and not the actual data inside the PVC. Is this the intended behavior?

My playbook passes clean_backup_on_delete: true to AWXBackup resource which allows it to deletes actual backup files in the PVC when AWXBackup resource is removed.
There is a description about this parameter in my README.md, please search clean_backup_on_delete in the page in:

My README.md : https://github.com/kurokobo/awx-on-k3s/tree/main/backup/ansible
Official docs: https://github.com/ansible/awx-operator/tree/devel/roles/backup

I somehow missed the clean_backup_on_delete: true setting. That solves it.
Thanks @kurokobo


Noop's.. CPU usage, option..

Hi,
Been replacing my use of Phantom that uses spawning for every request,.
And instead using your package, works well..
But there is one gotcha, your NOOP's are triggering every 100ms,.. On windows from task manager I can see this having a noticeable effect on CPU usage.  I've manually changed the NOOP to 10 seconds, and that works a lot better.  Could you maybe make the NOOP timeout an option..
Regards
Keith..

OS: Windows
Node version: 7
package version: 3.0.2

Without the NOOP, phantomjs can be in a locked state. PhantomJS is a single thread process so it can only do one thing at a time. If the NOOP wasn't there, it wouldn't get the events.
However, making it optional still makes sense. I can accept a PR you have one to make it so.

I would have though the NOOP was there to detect a failing PhantomJs.exe..   IOW: If the phantomJs.exe failed, then using a longer NOOP it would just take longer to detect this.  Increasing to 10 seconds I've had 0 issues, works like a charm, and CPU usage drops a lot.  So far, I've even increased to 30 seconds still no issues.  Response times still instant etc.
The problem I'm trying to avoid is this, say I have 20+ websites on my Server, and say I restrict to using 5 concurrent phantomjs processes per website.  In theory that could end up been 20*5, 100 Phantom JS processes running, now these 100 processes keep on running, and at 0.5% per process I'm using 50% CPU usage when phantomjs is idle.  I could of course prune them down to be 1 phantomJS per website, but even then is's 20 * 0.5,  10% CPU usage doing nothing while in waiting mode.  This could just be just a windows issues, maybe StdIn/Out pipe can get CPU hungry.

I can accept a PR if you have one.

I'm not 100% sure how to produce a PR, but the mod's I've done are very simple.
In phantom.js unit I've just done this on the constructor..
var _ref$logLevel = _ref.logLevel;
let logLevel = _ref$logLevel === undefined ? defaultLogLevel : _ref$logLevel;

let noopTimeout = _ref.noopTimeout ? _ref.noopTimeout : 100; //add this line.
.
.
.
this.heartBeatId = setInterval(this._heartBeat.bind(this), noopTimeout); //change this.

The NOOP is definitely needed if there are events that later need to emit data back to node. This code is blocking which deadlock without the NOOP.
After thinking about this problem, it sounds like this is mostly unique to you. So you can provide a PR or you can just do
clearInterval(phantomInstance.heartBeatId)

phantom.heartBeatId is public and should work.

Ah!, right..  Yeah, I think everything I'm doing is Request / Response based.
I'm basically rendering a url and generating a PDF, I'm not attaching any events to the Phantom JS's DOM, so the clearInterval might even be a better approach..  Seems odd that PhantomJS didn't make a version of stdio that was async..
But it is worth pointing out, idle Phantom JS's using this stdio for IPC, might not just be just unique to me due to the CPU usage issue.   The CPU usage does seem strange though, but looking at your code your doing a JSON parse, and transform for the NOOP, that might be overkill for the simple NOOP command.   So I wonder if doing and early check for the NOOP command and exit early might help, I'll give it a go tomorrow and see if putting the interval back to 100 and doing this stops the CPU spike.
eg. From NODE the NOOP could just be this.process.stdin.write('NOOP' + os.EOL, 'utf8');  Basically 5 bytes been sent down stdin,.  And then the early check  if (line==='NOOP') return should do it, and keep you message loop pumping.

But it is worth pointing out, idle Phantom JS's using this stdio for IPC, might not just be just unique to me due to the CPU usage issue. The CPU usage does seem strange though, but looking at your code your doing a JSON parse, and transform for the NOOP, that might be overkill for the simple NOOP command. So I wonder if doing and early check for the NOOP command and exit early might help, I'll give it a go tomorrow and see if putting the interval back to 100 and doing this stops the CPU spike.

That is an interesting perspective I had not thought about. I wish I had more time to play with it. Let me know what your findings are. I'd be happy to work with you to get it merged.

Ok, been doing some experiments..   And it seems to work like a charm.
In fact it seems to have made it faster, I believe this is because this solution also give the phantom process a bit of a breather, so that the GC can collect during NOOP time.
CPU usage on mine is now 0%, during idle.  And I'm also getting sub 1 second PDF renders.  Were before I was getting over 1 second.  I assume this is the GC bit.
Here is my mods ->
inside read() in shim/index.js
function read() {
    var line = _system2.default.stdin.readLine();
    if (line) {
        if (line === 'NOOP') {
          //if sender has done a noop,
          //it means sender is not busy
          //so lets give phantom more time
          setTimeout(function () {
            //this will reset doing_NOOP at sender,
            //so if it wants to NOOP again it can..
            _system2.default.stdout.writeLine('>NOOP');
            read();
          }, 100);
          return;
        }
        var command..............

And inside phantom.js constructor
      .............................
      this.process.stdout.pipe(new _linerstream2.default()).on('data', data => {
            const message = data.toString('utf8');
            if (message[0] === '>') {
                //Server end has finished NOOP,
                //lets allow NOOP again..
                if (message === '>NOOP') {
                  this.doing_NOOP = false;
                  return;
                }
                ................................

And phantom.js _heartBeat()
    _heartBeat() {
        if (this.commands.size === 0 && !this.doing_NOOP) {
            this.doing_NOOP = true;
            this.process.stdin.write('NOOP' + _os2.default.EOL, 'utf8');
            //this.execute('phantom', 'noop');
        }
    }

It's hard for me to understand the code because I think you are modifying the compiled JavaScript.
Any chance you can send a pull request with the js files in src?
Sent from my iPad

On Nov 15, 2016, at 5:15 AM, KpjComp<EMAIL_ADDRESS>wrote:
Ok, been doing some experiments.. And it seems to work like a charm.
In fact it seems to have made it faster, I believe this is because this solution also give the phantom process a bit of a breather, so that the GC can collect during NOOP time.
CPU usage on mine is now 0%, during idle. And I'm also getting sub 1 second PDF renders. Were before I was getting over 1 second. I assume this is the GC bit.
Here is my mods ->
inside read() in shim/index.js
function read() {
var line = _system2.default.stdin.readLine();
if (line) {
if (line === 'NOOP') {
//if sender has done a noop,
//it means sender is not busy
//so lets give phantom more time
setTimeout(function () {
//this will reset doing_NOOP at sender,
//so if it wants to NOOP again it can..
_system2.default.stdout.writeLine('>NOOP');
read();
}, 100);
return;
}
var command..............
And inside phantom.js constructor
  .............................
  this.process.stdout.pipe(new _linerstream2.default()).on('data', data => {
        const message = data.toString('utf8');
        if (message[0] === '>') {
            //Server end has finished NOOP,
            //lets allow NOOP again..
            if (message === '>NOOP') {
              this.doing_NOOP = false;
              return;
            }
            ................................

And phantom.js _heartBeat()
_heartBeat() {
    if (this.commands.size === 0 && !this.doing_NOOP) {
        this.doing_NOOP = true;
        this.process.stdin.write('NOOP' + _os2.default.EOL, 'utf8');
        //this.execute('phantom', 'noop');
    }
}

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I modified the NPM source, it didn't look compiled.
I've just Git cloned the repository, I've never used Git for doing update,.. So I'll see if I can do a new branch and do a pull request.  Really need to learn to do this anyway.. :)

Ok, tried to push a new branch -> noop_cpu_update
But get error -> remote: Permission to amir20/phantomjs-node.git denied to KpjComp.

Ok, I've found a way to do a diff, if that helps..
commit e47f38b8228e4472e28ea32be292927263c4fa6b
Author: keith <keith@saxon>
Date:   Tue Nov 15 15:07:38 2016 +0000

    Update NOOP to be more CPU friendly.

diff --git a/src/phantom.js b/src/phantom.js
index 1fd3b68..f5718ea 100644
--- a/src/phantom.js
+++ b/src/phantom.js
@@ -94,6 +94,12 @@ export default class Phantom {
         this.process.stdout.pipe(new Linerstream()).on('data', data => {
             const message = data.toString('utf8');
             if (message[0] === '>') {
+                //Server end has finished NOOP,
+                //lets allow NOOP again..
+                if (message === '>NOOP') {
+                  this.doing_NOOP = false;
+                  return;
+                }
                 const json = message.substr(1);
                 this.logger.debug('Parsing: %s', json);

@@ -315,9 +321,11 @@ export default class Phantom {
     }

     _heartBeat(): void {
-        if (this.commands.size === 0) {
-            this.execute('phantom', 'noop');
-        }
+      if (this.commands.size === 0 && !this.doing_NOOP) {
+        this.doing_NOOP = true;
+        this.process.stdin.write('NOOP' + _os2.default.EOL, 'utf8');
+        //this.execute('phantom', 'noop');
+      }
     }

     /**
diff --git a/src/shim/index.js b/src/shim/index.js
index 709c865..6d9986f 100644
--- a/src/shim/index.js
+++ b/src/shim/index.js
@@ -122,6 +122,18 @@ const commands = {
 function read() {
     let line = system.stdin.readLine();
     if (line) {
+        if (line === 'NOOP') {
+            //if sender has done a noop,
+            //it means sender is not busy
+            //so lets give phantom more time
+            setTimeout(function () {
+                //this will reset doing_NOOP at sender,
+                //so if it wants to NOOP again it can..
+                _system2.default.stdout.writeLine('>NOOP');
+                read();
+            }, 100);
+            return;
+        }
         let command = JSON.parse(line, function(key, value) {
             if (value
                 && typeof value === 'string'

You have to fork the project first. Then push your branch. And then create a pull request.
Sent from my iPad

On Nov 15, 2016, at 6:54 AM, KpjComp<EMAIL_ADDRESS>wrote:
Ok, tried to push a new branch -> noop_cpu_update
But get error -> remote: Permission to amir20/phantomjs-node.git denied to KpjComp.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Oh, I think I've done it..  But the Pull Requests is saying something about Travis -> All checks have failed.
So I might still have done something wrong :(
Only ever used GIT to grab stuff, not update.. So this is all new to me..


increase missing annotation

increase missing annotation

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 42.91%. Comparing base (a32eca0) to head (759117a).

Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #7940      +/-   ##
=============================================
- Coverage      42.94%   42.91%   -0.04%
+ Complexity      9913     9911       -2
=============================================
  Files           1190     1190
  Lines          86042    86042
  Branches       11081    11081
=============================================
- Hits           36950    36923      -27
- Misses         44514    44551      +37
+ Partials        4578     4568      -10

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


debugger focus

VS Code Version:版本: 1.69.2 (user setup)
OS: Windows11
when i use debugger for python project . Can't automatically jump to vscode
if i keep the focus on vscode, it work. but When I go to the browser to request api.Now, mouse focus will be lost. then
the breakpoints will not location automatically .
so,need auto change to vscode view,and located.

@MrYZhou Would it be possible for you to capture a video of the issue and share it with us? From the description it is difficult to understand how to reproduce this.


Feature: Add the Main-Loop

Goals

Add an API which the engine uses to interact with the game.
Implement a bare-bones main-loop, which can respond to events, and pass them to the game State.

Non-Goals

Timing / frame limits.

Context
At the moment, there is no main-loop for the engine.  There is also no defined API for what even is a "game."  In order for the framework to be useful, both of these things will need to be addressed.
To solve this problem, we'll be implementing a bare-bones main-loop, or run() function, along with some form of "Game" API the user will use to build their game.
Overview
TODO.

I'm planning on approaching this issue differently, so it has been closed.


Replace --tls with --alpn.

The tls flag was removed from acme.sh https://github.com/acmesh-official/acme.sh/issues/1322

Thanks!


Update note section

Update the note section to include this clarification
Premium Storage currently does not support Azure Block Blobs, Azure Append Blobs, Azure Files, Azure Tables, or Azure Queues.

Hi @yuemlu, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (yuemlu). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@yuemlu : Thanks for your contribution to the Azure documentation! The author, @aungoo-msft, has been notified to review your proposed change.

@yuemlu Thanks very much for contributing to the Azure documentation. Can you please share with me why you think this note needs to be added when it is pointed out in the second paragraph of the preceding section, the one titled "Premium Page Blob"?

@robinsh Yes, the added note is included in the second paragraph. Given that this is a long page, customers might not be reading line by line. We would like to add this in the Note as highlights. We did get a few customer escalations around this area.

@yuemlu How about if we change the paragraph "Premium Page Blob" above that, and insert the note at the end of the paragraph? Then it's called out where we're talking about the types of storage.

@yuemlu Can we make the change I've suggested above?


Add changePassword with Ticket for not logged in user

I want to add the password with ticket option https://docs.nhost.io/reference/javascript/auth/change-password as a forget password feature for our users. The current changePassword method is only available for logged-in users.
The issue relates to the flow and PRs described here https://github.com/nhost/nhost/issues/594.

The ticket param was added to the changePassword method. However, it's available in our newest DEV version for Dart SDK.
You can check https://pub.dev/packages/nhost_sdk/versions/4.0.0-dev.8
The new SDK requires you to pass subdomain and region instead of the backendUrl.

I am unsure I need to investigate a bit, because as far as the SDK implementation, we just call an endpoint in the backend of nhost, let me ask around and give you an answer.

Hello @mhadaily I am any updates on this? thanks

Unfortunately, I was pulled out of it for an unforeseeable future.
I still have access, but I need to confirm everything with @nunopato

Do you have any docs on how to implement forget the password feature? As it's not really clear how to utilize the refreshToken that is delivered to the user's mail.


Packaging Request: Black Box

Project description
A GTK4 terminal application
Metadata

homepage URL: https://gitlab.gnome.org/raggesilver/blackbox
source URL: https://gitlab.gnome.org/raggesilver/blackbox
license: GPL3
platforms: linux

Closing as completed. Please feel free to reopen if I am misunderstanding.


Clean response from google translate

Dear Sir or Madame,
I just started develop with the google client api. I try to translate text with the google translation api.
But the response of the service is always empty. After a little debugging I've found out that the response from google has an array with the following structure: data => [translations => [...]]. The standard expects an array with the following structure translations => [...].
So I've extended the response class and remove the data level.
Best regards
Markus

The code in this repository is autogenerated, so we cannot merge this change. However please see the following repository for a much better client library for using Google Translate:

Code: https://github.com/googlecloudplatform/google-cloud-php-translate
Docs: http://googlecloudplatform.github.io/google-cloud-php/#/docs/cloud-translate/v1.1.0/translate/translateclient
Samples: https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/translate