Importing codon code from python

Is it possible to build a codon script to a .dylib or .so file to be imported into python for execution? I didn't see it in the documentation. I did see how to build object files but you cannot import those into python.

We are working on exactly this and plan to release it in the next version!

Awesome, thank you!

FYI we just released in v0.16 a "Python extension" build mode that lets you import/use Codon code from Python -- https://docs.exaloop.io/codon/interoperability/pyext has more info. We plan to add a more detailed guide/tutorial soon as well!

Can you please share some more details around this? I can not get it to work.
I have two files in the same folder:
fibc.py
def fib(n: int):
    return n if n < 2 else fib(n - 1) + fib(n - 2)

test.py
from time import time
import fibc
import sys

fibNum = 40
if len(sys.argv) > 1:
    fibNum = int(sys.argv[1])
t0 = time()
ans = fibc.fib(fibNum)
t1 = time()
print(f'Computed fib({fibNum}) = {ans} in {t1 - t0} seconds.')

I run the command: codon build -pyext fibc.py and it outputs fibc.o
If I run python3 test.py, it seems to just use fib.py because it had no performance improvement.
Can you let me know what I'm doing wrong?

@GenericUser127 - There is an example how to bundle so from the object file.
Check test/python/setup.py (i.e. set CODON_DIR and run python3 setup.py build_ext).

Thank you @mirzaCet , I was able to get it working with your push in the right direction.
I'm not sure if it was just something I misunderstood or if its not clear, but I thought I had the option to use just the command line (codon build -pyext fibc.py) and the setup tools was an alternative method, but looking now the setup tools also generates the shared object which the command line doesn't.


Controller panics on cluster create

The nil pointer dereference occurs on cluster create: https://github.com/rancher/k3k/blob/dd618e580ae635c75be8f5bee7923b4f436747e4/pkg/controller/cluster/cluster.go#L144
Earlier in the method, the controller checks if spec.persistence is nil and sets it to a non-nil value if yes. However, the call to update the object somehow resets the value back to nil: https://github.com/rancher/k3k/blob/dd618e580ae635c75be8f5bee7923b4f436747e4/pkg/controller/cluster/cluster.go#L114

Fixed in v0.1.1-rc1


Small correction on ScalaDoc for MockWeb

As discussed on this thread:
http://groups.google.com/group/liftweb/browse_thread/thread/d4faf79900df122d
Here is the fix and pull request (I hope I did it right).
Thanks
Diego

Good, catch! +1
@fmpwizard do you have commit right or want me to merge this?


fix yoruba qrel

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

Coverage data is based on head (c788265) compared to base (90963f3).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #2043   +/-   ##
=========================================
  Coverage     58.90%   58.90%
  Complexity     1135     1135
=========================================
  Files           187      187
  Lines         10952    10952
  Branches       1487     1487
=========================================
  Hits           6451     6451
  Misses         4011     4011
  Partials        490      490

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.


NSIndexSet select/reject/map return nil instead of empty set

Unlike most of the other BlocksKit extensions, NSIndexSet intentionally returns nil when the set is empty.  I found this behavior unexpected.  Is there a good reason for this inconsistency?

There isn't.


only clean the test results of the current project

Addresses #737.
@esteve @tfoote @wjwwood Please review.

+1

+1

I always thought that wiping the whole directory might be dangerous. Therefore I updated the clean commands to only remove files ending with .xml. So if someone passes in a "bad" test results dir it only wipes xml files and not everything.

+1 that's safer

+1

+1 again


[Feature Request]: Add osu! lifts option as a normal gameplay mod

Is there an existing issue for the feature?

[X] I have searched the existing feature requests

Describe the Feature
Currently osu! lifts exist as an option for only .osu files to automatically add lifts to the end of LNs. However, I feel this option would be better off under the mod settings as an invalidating mod, as there are some packs that have files that were explicitly designed with LN lifts and also some files that would play better with LN lifts for training purposes. Adding this as an invalidating option means it won't affect the leaderboards at all so it should be a non-issue in that regard.
How Does The Feature Add To The Game?
Makes it easier to train LN files for games like osu!mania without the need to switch engines (a useful feature for some Etterna players that also compete in o!m tournaments)
Might help improve control when used in training using LN files for Etterna players, especially beginner-intermediate players
Additional Context
No response

would prefer to remove the option completely


Make it so I can visually see examples. Not just ComboBox - but all of them.

See title...

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

ID: 528ddf4c-b257-050c-396b-074e2ff30954
Version Independent ID: 264783aa-9520-4271-7d00-d85c6914680a
Content: ComboBox Control (Windows Forms)
Content Source: docs/framework/winforms/controls/combobox-control-windows-forms.md
Product: dotnet-framework
Technology: dotnet-winforms
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thank you for the suggestion; we're not currently updating this documentation with screenshots of types.


Add update methods to API

add an update api, specifically

update_individual
update_evidence
update_fact

rather than manipulating class expression directly
Ideally any add_? api should have an accompanying update and remove.

pinging @kltm @cmungall @thomaspd @balhoff

There will be a little more that needs to be added/thought through as there can be (for example) multiple class expressions--updates would need to reference the parts that are to be held (e.g. there can be multiple class expressions per individual) vs the parts to be eliminated.

Shouldn't this issue be listed on the minerva repository? https://github.com/geneontology/minerva/issues I believe that is what @balhoff was asking for, no?
There is some confusing use of terminology here.  minerva-requests and bbop-manager-minerva aren't the home of an "API" as I would use that word.  They are client libraries that should be simplifying the task of creating requests for the actual API.
It would be useful to pause momentarily, back up a step, and actually document the Minerva API itself.  This should make things more clear all around.

I agree, it would be good to move to minerva. I think @kltm can use the GitHub issue mover (I don't have permission on berkeleybop). And yes, the Minerva API needs documentation!

I would actually disagree. As designed, I believe that the correct course would be to keep minerva with the simpler primitives API and have the client APIs, which already intentionally diverge from what the primitives API offers, supply desired patterns. At the end, all that is desired here is to bundle remove and add operations together, and the client API can and (I believe should) allow for getting closer to the GO-specific use cases as they come up.

The desired goal as I see it is a little higher level.  We want to be able to, as a team, be more agile in the process of improving Noctua and related applications moving forward.  As @cmungall observes here https://github.com/geneontology/minerva/issues/173 the documentation of the different pieces that must be combined to create the minerva experience is very difficult to follow.  As one example, there is actually not a single mention of the minerva-requests api anywhere with the minerva repository.  If it is, in fact the one and only "minerva api", that is not a very good start.
I humbly suggest that it would be a good idea to begin to improve this by documenting the low-level server api itself first - as nothing actually exists that does so at all.  Working outward from that to the layers on top if it, like the request builder, would be a useful way to organize documentation work.  This in turn ought to help lead to a more productive and enjoyable team development experience as everyone involved could have a better chance of seeing why the system is put together the way that it is.  This is particularly important here because the patterns employed here are a little unusual.  With that clearly in place, the team should be in position to make more rapid progress on improvements to the API(s) involved here and ultimately to the user experience.

Absolutely no argument from me that there should not be improved documentation in minerva for the API--we want to make it as easy as possible for people to create non-JS client libraries for minerva. A good starting point would be to move https://github.com/berkeleybop/bbop-manager-minerva/wiki/MinervaRequestAPI to a new home.
A note to this is that the API that minerva implements and the API presented to the public are a little different as commands are necessarily transformed by barista as a general federation layer. This quirk has led to some confusion about where the public API docs should live. That said, minerva may be the best place to do this, with the proper notation of where the public and implemented APIs differ.

commands are necessarily transformed by barista as a general federation layer

@kltm is this explained in a doc already somewhere? My knowledge of how Minerva and Barista interact is fairly fuzzy.

Not to drag this conversation too far out of scope of this ticket, but I think the short answer is: "unfortunately, not really; we'll need to work on that as above". The longer answer is that we switched over to the "information injection" by barista about a year in and treated the JS client libraries as the point of documentation; as the client does not see the world this way--just give it the token and the commands requests you want to run--the underlying system ended up having a bit of a dearth of documentation (see problem above). (This also gave us the difference in the naming of the client and response libraries.)


Question: How to trigger an automation when someone speaks to Alexa?

Hello,
I have several Echo devices in my home. I'd like to create a poor man's presence detection by triggering an automation when someone talks to any Alexa. Is that possible? How would I do that efficiently?

That is currently not supported.

Yes, I'm aware that just by talking in a room there are no events created with Alexa. I meant detection when someone speaks the wake word. And I'd like to trigger some automation when that happens, on any or on some specified Echos.
If that is technically possible, I'd like to ask you to consider a feature request for this. Maybe a binary sensor "interaction_detected" for every Echo?

The last called attribute could be used in a template for this I think. Essentially if the last called turns true in the last few seconds then there's an interaction.

I investigated last_called as a possible trigger. Thanks for the hint. Alas, it's only half of the solution.
Yes, a change of last_called attribute to "true" indicates an interaction and could be used as a trigger for presence detection.
But there is no change of last_called when a user interacts with the same echo sometimes later again. How would I detect that?

That's true, it looks like we'll have to do a specific event.

I just realized there is already an HA event triggered that may work.
Look for the alexa_media event type. The data will include the serial number.
{
"event_type": "alexa_media_email@g*******m",
"data": {
"last_called_change": {
"serialNumber": "G090XXXXX9FJ",
"timestamp":<PHONE_NUMBER>523
}
},
"origin": "LOCAL",
"time_fired": "2020-01-02T19:08:04.821440+00:00",
"context": {
"id": "e79baf39f940418b9e0e6d69b7ce551f",
"parent_id": null,
"user_id": null
}
}

Brilliant! I guess that will do the trick. I'll have a look into it asap.

Just to confirm: With above alexa_media event type it is possible to implement a presence detecting automation that is triggered when someone says the wake word to alexa. Nice!
Thanks a lot for your ongoing work on this superbe HA component! Very appreciated.

Awesome! Glad you got it to work. To the extent you're able to share your discovery/sensors in the Wiki, I think others may appreciate it.


Add specs for microsoft.monitor RP

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[x] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month. - Currently deployed in Public regions
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month. - August
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

Please respond to the comments and remove the "ARMChangesRequested" label when this PR is ready for review again .

@ArcturusZhang can you help merge this PR into master?

/azp run

THis PR only adds new contents, the breaking changes must be false alarms

/azp run


MS Teams Access for whole team

Describe the task
MS Teams Access for whole team
Acceptance Criteria

[ ] Everyone on agile team is in MS Teams
[ ] Can access Wiki for note taking

Additional context

Add any other context about the task here.
Or here

Currently have guest access, may need full access for Calendar / scheduling.

Marking as closed, wiki is not working but team will be using Confluence or GitHub wiki instead.


Examine whether rendered markdown files can reduce escaping of square brackets

Issue description / feature objectives
Because of the use of mdformat by compliance-trestle there were issues around escaping of square brackets that was propagated to the rendered output markdown files.
It appears this has changed: https://github.com/executablebooks/mdformat/pull/464
If this change is meaningful for our markdown files we may be able to simplify the output moving forward
Caveats / Assumptions
Completion Criteria

Starting point: Do a manual test and see what happens. Then assess impact to code.


Fix broken link for Flipstarter EC plugin

Fixed broken link:
https://gitlab.com/flipstarter/flipstarter-electron-cash/uploads/ec6b5a7518801c4a278128ac4f296607/flipstarter-1.4.zip
To this:
https://gitlab.com/flipstarter/flipstarter-electron-cash/uploads/b5300ea76722e60d6943521d3183b046/flipstarter-1.4.zip
According to:
https://gitlab.com/flipstarter/flipstarter-electron-cash/-/releases/v1.4.0

Confirming that is the correct address :+1:


ENH: linalg: Allow supplying a sequence of matrices to linalg.expm

Reference issue
Fixes #12838.
What does this implement/fix?
This PR allows users to supply a sequence of square matrices to linalg.expm which before only accepted a single square matrix as an argument. The implementation simply checks if the input is 3-dimensional and if so, iterates over the topmost indexing and recursively calls the function on each of the arguments.
Right now this extension only works on sequences of matrices that are all the same size, but if the project maintainers prefer to support sequences of matrices with different sizes I can change the code to do so 😄

@pvanmulbregt friendly ping. Also pinging @tylerjereddy since he reviewed my last PR.

@rgommers friendly ping, is this PR something you guys are interested in accepting? If not I can close it.

Thanks for the ping @DCtheTall. I replied on gh-12838, let's discuss there if we want this feature.

Closing due to the fact that since expm is already a pure function, this cannot be implemented for a sequence of matrices any faster than a native for loop. Refactoring expm to be in place is quite an effort, something this feature probably doesn't merit.

Closing due to the fact that since expm is already a pure function, this cannot be implemented for a sequence of matrices any faster than a native for loop. Refactoring expm to be in place is quite an effort, something this feature probably doesn't merit.


Feature Request: Specify an encoding with command line arguments

Often times I find myself converting epubs with text that uses a lot of unicode characters (for instance books in Spanish) but that don't actually specify the encoding in the xhtml documents within the epub. This results in a kepub file where any text that uses accents gets turned into illegible characters. Currently the way I have to fix this is unzipping the epub, adding in the encoding to the xhtml documents, and then re-zipping. It would be nice to be able to just invoke kepubify with something like
kepubify --encoding utf-8 MyEpub.epub

to force kepubify into a particular encoding.

Yeah, I made a post about it, some hours ago https://www.reddit.com/r/kobo/comments/soloqp/kepubify_punctuation_problem/
Probably an easy fix.

I'm seeing this same issue when converting a retail copy of All Systems Red. The first chapter is fine, but the second has corrupted characters instead of quotation markets / apostrophes. Both first and second chapters have <meta content="application/xhtml+xml; charset=utf-8" http-equiv="default-style"/>, but I haven't investigated more than that.


add logger, log-levels etc

how would folks feel about adding a logger package in and integrating it into the current command set?

What do you mean by this

lerna some-action --low-level=verbose/warn/error  .  I wanted verbose output to see what's going on behind the scenes

we could use https://www.npmjs.com/package/debug - that way you can control what is logged with a glob and also redirect it if need be.

Added in #367 waiting on publish, but gonna close this


Support None as alias for NoneType in type conversion consistently

The typing module considers None an alias for NoneType so it's possible to write arg: None and arg: Union[int, None] when None is valid argument value. This works also with our type conversion because we get these types via typing.get_type_hints that does None to NoneType conversion.
When using the @keyword decorator to specify types, @keyword(types={'arg': None}) doesn't currently work and you need to spell it out like @keyword(types={'arg': type(None)}). This is not a big limitation, but because we have just added support for specifying multiple types and with @keyword that works nicely with a tuple (#3738), being able to use
@keyword(types={'arg': (int, None)})
def example(arg):
    ...

instead of
@keyword(types={'arg': (int, type(None))})
def example(arg):
    ...

would be convenient and also consistent with how type annotations work.
A small problem with adding special meaning for None with @keyword is that can nowadays be used to indicate that an argument doesn't have a type when types are given using position like
@keyword(types=[None, int])
def example(no_type_info, int_type):
    ...

We cannot really change the meaning of the above, but not being able to specify that an argument has exactly NoneType as its type using this approach shouldn't be a big issue as that is generally very rare need. Having NoneType as one of the options will be anyway possible and that's a much more important use case:
@keyword(types=[(int, None), int])
def example(int_or_none_type, int_type):
    ...

This is now done otherwise but, like other type enhancements issues targeted for 4.0a1, waits for User Guide updates.


⚠ ClamAV has degraded performance

In 0915554, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 226 ms

Resolved: ClamAV performance has improved in 76471c6.


KOGITO-6883: [SWF Editor] Create a Language Service for Serverless Workflow

Jira: https://issues.redhat.com/browse/KOGITO-6883

On this PR:

Change syncpack to allow for a different version of Monaco to be used on SWF Editor
Created the new serverless-workflow-language-service package.
Added a new flag to allow for changing the content of an editor without showing the Loading overlay
Some renames to better represent Diagram VS. Text editors, instead of SVG/Mermaid VS. Monaco.
Moved all augmentation logic from the SWF Text Editor to the new Language Service package.
In VS Code, now the default is to open the SWF Editor file using VS Code's built-in text editor. The SWF Diagram Editor is shown side-by-side with the built-in text editor (There's a new configuration option to change that). This behavior was based on the Markdown support for VS Code.
Changed the @kie-tools-core/vscode-extension package to allow for using the CustomTextEditor API as well, where the Multiplying Architecture Editor is synced with the TextDocument on VS Code's backend. This makes multi-tab editing very pleasant and allows for better native support of text editing tools provided by the VS Code platform.
Added keyboard shortcuts to switch between the built-in text editor in VS Code and our SWF Diagram Editor.

@tomasdavidorg Can you please test this?

Hi @tiagobento,
I build the SWF VsCode extension and after I tried to open the diagram panel I got:
command 'extension.kogito.swf.openAsDiagram' not found

@tomasdavidorg Thanks for the review!!
I just added the Jiras to the TODOs/FIXMEs and fixed the issue you found.
Now you should be able to use the extension normally even without the Red Hat Authentication extension installed.


Git dependency with sepcified branch gets overriden by dependency of other package.

This issue is simillar to #1779, but the solution stated there is not working for me.
I need to install specific version of a PyInstaller package, but PyInstaller is also a dependency of PyUpdater which is also required in my project and overrides other my specific PyInstaller version.
`$ python -m pipenv.help` output:
python -m pipenv.help
C:\Program Files (x86)\Python36-32\python.exe: No module named pipenv.help
I am aware this is not how this output should look like, but I can not make it work. Any help here? I'm on pipenv version 11.0.2.

Expected result
I need latest develop branch of PyInstaller installed and I don't want PyUpdater to override this with the PyInstaller-3.3.1 version. As suggested in #1779 I placed PyUpdater above the PyInstaller in [packages] in Pipfile.
Actual result
Regardless whether the important part of Pipfile looks like this:
PyUpdater = "*"
PyInstaller = {git = "https://github.com/pyinstaller/pyinstaller", ref = "develop"}

or like this:
PyInstaller = {git = "https://github.com/pyinstaller/pyinstaller", ref = "develop"}
PyUpdater = "*"

the PyInstaller version in Pipfile.lock will be 3.3.1 and I end up with this version installed.
What is interesting is that if I uninstall PyInstaller with pipenv uninstall pyinstaller and then install it again with pipenv install https://github.com/pyinstaller/pyinstaller/archive/develop.zip I get the Successfully installed PyInstaller-3.4.dev0+b31794cf1 but in fact the 3.3.1 version in installed instead.
Steps to replicate
# Pipfile
[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
PyUpdater = "*"
PyInstaller = {git = "https://github.com/pyinstaller/pyinstaller", ref = "develop"}

pipenv install
Check version: pipenv run pyinstaller --version
or
Create new clean environment
pipenv install pyupdater
pipenv uninstall pyinstaller
pipenv install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
Check version: pipenv run pyinstaller --version

Confirmed, the resolution is wrong here.

Ok so: order only matters when locking or using --sequential, and zipfiles will never be resolved properly I think... you can try using -e but I’m not sure this works. Installation is concurrent so pipfile order won’t do much.

Top-level dependency should always win, however, IMO. PyInstaller is specified in the Pipfile (i.e. top-level), so it’s version information shouldn’t be overridden by PyUpdater’s dependency specification. It could be sensible to raise an exception if it cannot reasonably resolve, but not silently override.

What does it do on master

It resolves PyInstaller to the version on PyPI, as required by PyUpdater. Here’s what I got on Windows:
{
    "_meta": {
        "hash": {
            "sha256": "c0d9cbadaa9e85bb1b87408b1e0b428414754623d472d64deb2a5bd69ff9bf2c"
        },
        "pipfile-spec": 6,
        "requires": {},
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "altgraph": {
            "hashes": [
                "sha256:49dc134049903cc73fb76ca3cc9bef5b2b8c01c28732dd29594f99af2b449fc5",
                "sha256:fc28b986a68fde8d3ff0e6d6ba3fbdd2cd562d11d45ef7c7735fbd826c9eec2e"
            ],
            "version": "==0.15"
        },
        "appdirs": {
            "hashes": [
                "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92",
                "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
            ],
            "version": "==1.4.3"
        },
        "bsdiff4": {
            "hashes": [
                "sha256:5a022ff4c1d1de87232b1c70bde50afbb98212fd246be4a867d8737173cf1f8f"
            ],
            "version": "==1.1.4"
        },
        "certifi": {
            "hashes": [
                "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
                "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
            ],
            "version": "==2018.4.16"
        },
        "chardet": {
            "hashes": [
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
            ],
            "version": "==3.0.4"
        },
        "dsdev-utils": {
            "hashes": [
                "sha256:cbe18eb0104b56e19087d60b765d7875b114acce01b1aceca9120f0556ab109d"
            ],
            "version": "==0.9.6"
        },
        "ed25519": {
            "hashes": [
                "sha256:2991b94e1883d1313c956a1e3ced27b8a2fdae23ac40c0d9d0b103d5a70d1d2a"
            ],
            "version": "==1.4"
        },
        "future": {
            "hashes": [
                "sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
            ],
            "version": "==0.16.0"
        },
        "macholib": {
            "hashes": [
                "sha256:7f76a7ef4f58f85889dec25fb532bad5acfd461c444738dfeb2e7bf855d5906b",
                "sha256:9aeec52d7da59912b15445d08b08d95cee48414f01dd035be06f04a825973c08"
            ],
            "version": "==1.9"
        },
        "pbr": {
            "hashes": [
                "sha256:3747c6f017f2dc099986c325239661948f9f5176f6880d9fdef164cb664cd665",
                "sha256:a9c27eb8f0e24e786e544b2dbaedb729c9d8546342b5a6818d8eda098ad4340d"
            ],
            "version": "==4.0.4"
        },
        "pefile": {
            "hashes": [
                "sha256:675c35ee0e1677db9e80d2f48d8a7ff2cf38e6207e8cd5e2a2c6d126db025854"
            ],
            "version": "==2017.11.5"
        },
        "pyinstaller": {
            "hashes": [
                "sha256:715f81f24b1ef0e5fe3b3c71e7540551838e46e9de30882aa7c0a521147fd1ce"
            ],
            "version": "==3.3.1"
        },
        "pypiwin32": {
            "hashes": [
                "sha256:67adf399debc1d5d14dffc1ab5acacb800da569754fafdc576b2a039485aa775",
                "sha256:71be40c1fbd28594214ecaecb58e7aa8b708eabfa0125c8a109ebd51edbd776a"
            ],
            "version": "==223"
        },
        "pyupdater": {
            "hashes": [
                "sha256:61e796063131bcde4e2467580c0add3a2e77cd0b0533a1b559f066e4c127570e"
            ],
            "index": "pypi",
            "version": "==2.5.3"
        },
        "pywin32": {
            "hashes": [
                "sha256:0df9b008caef10af0d674c483316c28dcf78391332d9d5d380fab667ebf2d7d1",
                "sha256:249391eb924b8376826e6f84d143d1dcc0e400b238b511d5fbd3811f6ed9ad50",
                "sha256:42f48567e36b787901ff3da20de5a134cd9880cc90832e2aad60951f058699f0",
                "sha256:9eff897796c9d76a213134257a01b6f8a122c55e0772847fba313a8091f3ec44",
                "sha256:c7ea0deabcc324e5b74084b5452003109c592d1aedbe9e9289ed55b26d9b0c7f",
                "sha256:da422d4067d98b49fbb19d851900a5fc38c61eab0ee803574c27c42309173ebe",
                "sha256:f0f0e7c82ee334dd6e888b9b5beb05fd8947355fa7a15644c810bb4ea0079ca6",
                "sha256:fb3c85907918fd01a72ee146d323d220771dee151c0cfa5630c2f35797ffb116"
            ],
            "version": "==223"
        },
        "six": {
            "hashes": [
                "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
                "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
            ],
            "version": "==1.11.0"
        },
        "stevedore": {
            "hashes": [
                "sha256:e3d96b2c4e882ec0c1ff95eaebf7b575a779fd0ccb4c741b9832bed410d58b3d",
                "sha256:f1c7518e7b160336040fee272174f1f7b29a46febb3632502a8f2055f973d60b"
            ],
            "version": "==1.28.0"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        }
    },
    "develop": {}
}

The same with bugfix/2260 :/ (pipenv lock --clear)

I'm only just noticing this is not being installed in editable mode -- we don't support dependency resolution for things that aren't in editable mode because we don't have visibility into the dependency graph

Ah, I think I know why this is happening!

Hello. I mentioned this on slack yesterday. I believe that's the bug I encountered.
The Pipfile packages look like this:
[packages]
foo = "*"
bar = {git = "https://github.com/bar/bar", ref = "bar"}

At first everything was locking as expected with the bar packages coming from github. After running a pipenv update bar got updated and added foo as a dependency. Afterwards when locking, foo was resolve to the PyPI version.
Adding editable= True seems to have resolve the issue


feat: new operation: join

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join

Codecov Report

Merging #106 (c8fc707) into main (ccebb8e) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #106   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        41    +1
  Lines         1239      1279   +40
  Branches       260       266    +6
=========================================
+ Hits          1239      1279   +40

Impacted Files
Coverage Δ

src/index.ts
100.00% <100.00%> (ø)

src/ops/join.ts
100.00% <100.00%> (ø)

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 ccebb8e...c8fc707. Read the comment docs.

This library doesn't feature any data-type-specific operator, I wasn't planning on adding one...
This operator, if it has any value, is only with the strings. It has no semantic value for objects, or even simple numbers.
In fact, if one wants to join strings, a simple aggregate(a => a.join()) can do that.
I really wish you were to open a discussion on something like this first, because I see that you've already put in a lot of work on this, before it was even discussed.

P.S. This is probably the most I can respond to during new year holidays. Back some time next week.

That's all good. I'm just working on this as I don't really have anything else to do right now and I enjoy it.
My reasoning for adding join was simply just because it exists on Array. When an array of non-strings is joint, each value is simple converted to a sting (e.g. via .toString for objects) so that's what I made this do.

@RebeccaStevens I am voting to close this, because the end result is easily achievable via operator aggregate:
aggregate(a => a.join(separator))

And if you want a dedicated operator to do the same, just declare one:
function join(separator?: string) {
    return aggregate(a => a.join(separator));
}

@RebeccaStevens
I am re-opening it now that I have a little time to look closer into it...
I understand your reasoning for opening this PR in the first place, and I can add one more - to be able to generate the final string as we iterate through is better because we can interrupt the iterable at any point.
At first glance, I notice the issue with the defaults. The default is ',' and not '', which is incorrect in your code + inline code example ;)
In case you want to revive this :wink:

Ok, after more looking into it, I retract my sentiment about iteration:

to be able to generate the final string as we iterate through is better because we can interrupt the iterable at any point.

Since it is required to output just one value, we no longer have any value added from the iteration itself. That probably was my argument back then for not having this this.

Ok, after much consideration, I decided to get away with an addition of join paragraph within Recipes, and close this PR once again.
@RebeccaStevens  Sorry for the turbulence.


Updated gems

Some of these gems have been updated because they are fixing known security
vulnerabilities.
See: http://weblog.rubyonrails.org/2015/6/16/Rails-3-2-22-4-1-11-and-4-2-2-have-been-released-and-more/

well done! LGTM
I'll packge the rubygem rpm we need.


Add reverse thrust (brake) channel to quadplane mixer files

Describe your solution
Added reverse thrust (brake) channel to quadplane mixer files vtol_AAERT.aux.mix and vtol_AAVVT.aux.mix. Updated description of the corresponding airframes to include the reverse thrust channel.
I copy-pasted the corresponding lines from the deltaquad mixer file.
Describe possible alternatives
Test data / coverage
Still untested on the new mixer files. I currently don't have access to a quadplane on which I could test it. I might be able to test it on a Generic AAVVT v-tail plane airframe with Quad VTOL (SYS_AUTOSTART = 13007) in the next month.
Additional context
PR to tackle first point of https://discuss.px4.io/t/quadplane-back-transition-improvements/15054
@sfuhrer @RomanBapst

I just had an aha-moment concerning the names of the mixer files :sweat_smile: I now see that they need to be renamed. B for braking sounds good to me.
Also, I should tag the maintainers @SimonWilks  @AndreasAntener and @sanderux to make sure they're ok with the changes. Otherwise I could leave the existing mixers unchanged and create new mixers files with the braking, leaving the Fun Cub, the QuadRanger and the SparkleTech Ranger airframes untouched.

I just had an aha-moment concerning the names of the mixer files sweat_smile I now see that they need to be renamed. B for braking sounds good to me.
Also, I should tag the maintainers @SimonWilks @AndreasAntener and @sanderux to make sure they're ok with the changes. Otherwise I could leave the existing mixers unchanged and create new mixers files with the braking, leaving the Fun Cub, the QuadRanger and the SparkleTech Ranger airframes untouched.

I would prefer to not having new ones just for the reverted throttle, but let's see if anyone has a different opinion.

I see no issue as it is assigning an unused channel. Unfortunately, we have retired our quadranger.

@sfuhrer can you please check that I renamed all necessary files?

@ThomasRigi I've looked through your changes and took the liberty to push a commit fixing some minor naming/commenting directly to your branch. Please have a look if you agree with what I did, otherwise this is good to be merged from my side.

@sfuhrer Good changes, thanks! Please go ahead and merge it :+1:

This should be good to merge once the conflicts are resolved.

This should be good to merge once the conflicts are resolved.

That would be the case now.

@ThomasRigi we have discussed this PR in last week's devcall, and came to the conclusion that it is would be a bit dangerous to bring this in, as it would mess up people's setup if they were using some of the AUX channels for camera/gimbal or other payload controls. And at the same time we are not aware of many people using the pusher as a breaker as well. So we concluded that we rather do not want to bring this in atm.
Are you yourself blocked anyhow in not having it upstreamed? Or do you know if people wanted to use the reverse before, but in the end didn't because it was not supported for their airframe?

@sfuhrer Thanks for letting me know. I initially thought that all these AUX channel assignments would need to be done in the mixer files, so that the people who have a more advanced setup would automatically have their own mixer file. Through experience I have learned that you can overwrite some AUX channels directly via parameters, for example the camera trigger signal which defaults to channels 5&6 (which is a great way to accidentally check if your pusher motor spins without any preflight checks directly after reboot :grimacing: ). So yeah, I can see your concern.
With https://github.com/PX4/Firmware/pull/14405 I hope that our need for using the pusher to brake will be greatly reduced. By next week we should have finished the build of the next iteration of our testing platform and be ready to get some testing done. In the ideal case reversing the pusher thrust will have become obsolete.

In case we'd still like / want / need the reverse thrust in upstream, would it be possible to create a new airframe that contains this mixer so that the others are unaffected?
In general, what are the conditions that need to be met for a new airframe to be integrated in upstream PX4?

@ThomasRigi Learning by doing at its finest :grin:
Yes absolutely! There are no strict criteria for upstreaming an airframe, but in general I would say it should be either something that can be purchased (at least in a similar configuration), or something that's held general (like adding the reverse to one of the existing general VTOLs). We just don't want to create airframes that we don't know if ever somebody uses them.
That's how I see it, so please feel free to create a new airframe if you have something flying.
In the meantime lets close this PR, okay?


Kumar Avijeet | Ternary Serach | Added Ternary search in searching

Added Ternary Search, please add with Hacktoberfest tag.

@all-contributors please add @avijeet108 for his code


Is it possible to create a multi LoRA vs X?

I want to achieve the example below but I'm unable to load multiple LoRAs one by one

seed: 1
seed: 2
seed: 3

lora_2000

lora_2200

lora_2400

Here is an example workflow showing how you can do it

It's only generating 1 lora image, I tried it with Flux

Check out this https://github.com/kenjiqq/qq-nodes-comfyui?tab=readme-ov-file#usage-instructions, probably just didn't queue up multiple images

That makes sense , totally did not read that. I just assume it batches all the needed images just like other XY plots. Thank you!


charm: 0.9.2 -> 0.10.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/charmbracelet/charm/releases.
meta.description for charm is: "Manage your charm account on the CLI"
meta.homepage for charm is: "https://github.com/charmbracelet/charm"
meta.changelog for charm is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/fv1q9f7y0afa7iaw0grsb9bhb8xlvpsm-charm-0.10.1/bin/charm had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.10.1 with grep in /nix/store/fv1q9f7y0afa7iaw0grsb9bhb8xlvpsm-charm-0.10.1
found 0.10.1 in filename of file in /nix/store/fv1q9f7y0afa7iaw0grsb9bhb8xlvpsm-charm-0.10.1

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

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
charm

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

charm

Maintainer pings
cc @penguwin @kalbasit for testing.

Closing so the bot can resubmit with an updated vendorSha256 for version 0.10.2


hello it is impossible for me to add a file as you can see in the screenshot...

Windows UAC allows drag&drop only between admin-admin or non admin-non admin applications

Windows UAC allows drag&drop only between admin-admin or non admin-non admin applications

Thanks.


Code Cleanup

[ ] Remove any unnecessary commented-out code
[ ] Standardize variable names
[ ] Collect related variables into collections (dictionaries) eg. collect file paths into a paths dict.
[ ] Document functions
[ ] Improve documentation in README.md
[ ] Review consistency of USAGE messages in all job scripts.

Let's check that variables listed in USAGE statement match those actually parsed in job scripts.

Good idea. I've added it to the list above.

USAGE statement variables in bwa_mem.sh script don't match those referenced later in script.
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/bwa_mem.sh#L11
 case $key in
    -1|--R1)
    # input_R1.fastq.gz file
    input_r1_fastq="$2"
    shift # past argument
    shift # past value
    ;;
    -2|--R2)
    # input_R2.fastq.gz file
    input_r2_fastq="$2"
    shift # past argument
    shift # past value
    ;;
    -r|--reference)
    # reference fasta file
    reference="$2"
    shift # past argument
    shift # past value
    ;;
    -o|--output)
    # output sam file
    output="$2"
    shift # past argument
    shift # past value
    ;;
  esac
done

I can change the USAGE string variables.

In this case, the USAGE statement contains the correct variables used in the script but these variables don't get initialized to "" (whereas an unused variable does).
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/fastqc.sh#L22
input_fastq="" This variable not used in script.
These variables  are used but aren't initialized:
input_r1_fastq="$2"
input_r2_fastq="$2"
I can fix this.

USAGE statement includes all variables used in script. However, the alignment variable is initialized to "", while the model variable isn't.
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/iqtree.sh#L20
Do you want me to add model="" to line 21?

USAGE stmt has all the variables used within the script and 3 of 4 variables used in the script are initialized. I suspect treefile="" at line 21 should be replaced with output_file=""... do you agree?
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/maskrc-svg.sh#L20

2 of 3 variables initialized to "" except for label --> would you like me to change this? https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/mlst.sh#L22
Comment should read # input contigs.fasta file https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/mlst.sh#L31

I noticed 2 issues with samtools_filter_fixmate_sort.sh:

Confusing comment. I don't understand the use of the term integer here. https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_filter_fixmate_sort.sh#L36
Shouldn't this comment read # output sam (or bam) file ? https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_filter_fixmate_sort.sh#L42

Inconsistency in variables initialized and those used:https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_fixmate.sh#L23
And the output variable not initialized:https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_fixmate.sh#L38
I suggest changing initial variable declarations to:
input=""
output=""

Two issues with this script:

Need to add -n|--name-order to USAGE stmt.https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_sort.sh#L11
Should this comment read # output sam (or bam) file ? https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/samtools_sort.sh#L43

queries is initialized and declared but not reference otherwise in script:https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/seqtk_totalbp.sh#L24
I can delete it.

I noticed 4 issues with shovill.sh:

-q|--queries declared in USAGE stmt but not used in script --> suggest removing it https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/shovill.sh#L11
-o|--output_file in in USAGE stmt doesn't match below, where -o|--output_dir is parsed https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/shovill.sh#L55
-c|--mincov used in script but not declared or initialized and not mentioned in USAGE stmt. --> Should this be initialized to "" or some default value? https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/shovill.sh#L45
-l|--minlen used in script but not declared or initialized and not mentioned in USAGE stmt. --> Should this be initialized to "" or some default value? https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/shovill.sh#L49

2 issues with snippy_ctgs.sh:

2 unused variables --> suggest eliminating them https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/snippy_ctgs.sh#L21
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/snippy_ctgs.sh#L22
Suggest adding ctgs="" declaration to line 21 as this variable assigned later https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/snippy_ctgs.sh#L38

Only thing I noticed for snp-dists.sh is that comment states that the alignment file is a reference fasta
https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/snp-dists.sh#L29
I suggest changing this to read # alignment fasta

Suggestion for snp-sites.sh to change comment from https://github.com/Public-Health-Bioinformatics/cpo-pipeline/blob/62778005710b97c98d413331fa425f74bdc9e390/data/job_scripts/snp-sites.sh#L29
to read # alignment fasta


Ingame Block Coding Editor with custom blocks

What Happened
This is not an issue but a question. Is it possible to embed the code editor in a game? Sorry if this is a very obvious question, I'm very new to godot and want to know if:

The editor can be rendered insied a godot game
We can create custom Blocks with specific functions, like move forward 5 times, turn left, move forward 5 times, and so on
Can the generated code be executed while the game is running? (Don't know if gdscript is compiled at some point and cannot be executed dynamically while the game runs)

I know it sounds very meta, but basically the idea is to build something like blockly-games

@sgaseretto this would be interesting to investigate. The way it works today: the BlockCode node replaces the script of the parent node with the code generated by its blocks. So it wouldn't be too hard.

Hope this happens!
This is just about 'killer feature' territory for me --
And can actually imagine way more usecases (personally),
in-instance / in-game than using in-built in the existing editor.
Would be cool if there was like a custom.gd or something
that we could just have a bunch of dict definitions for
basic structure of block, category, etc (no idea how it works now lol)

After looking at the code, seems like a big refactor to me. The whole code generation should be replaced by a interpreter, that runs one block each time.

@goatchurchprime awesome, this is what @dylanmccall was trying to do in this draft PR https://github.com/endlessm/godot-block-coding/pull/223 . Feel free to open a PR based on it.

Okay, I've done what I can to make it do the right thing, more or less
https://github.com/endlessm/godot-block-coding/pull/280


Show "units" and "description" sourced from device database

Oops. That previous post didn't reveal the real problem.
The real problem is the gRPC protocol to DPM doesn't have any device info -- just reading info. When I faked the data, the app had something to display.
I'm working on getting device data into the resolver. But for now it returns nothing, so we won't see the description or units.

#51 partially fulfilled this issue. There's still a few details to go:

Devices don't necessarily have both reading an setting properties, so the columns need to be conditionally filled in.
There are some error conditions that aren't being handled gracefully.

I'm noticing that descriptions and units are not being returned by the API at the moment.  So I assume this issue is still active?  I dove into the code a bit and it appears that _convertToDevInfo will return a default DeviceInfo object with a blank description and null reading/setting properties if the type of data returned is not recognized.  I think that's the root of the problem.

The devdb service was moved to the K8s cluster. I need to update the proxy to point to it instead of CLX76.

I noticed that after a long wait (maybe 60-120 seconds?) the request eventually timesout and returns an ErrorReply.  I'm going to catch this and have the widget display an error to the user.  But we should probably reduce that timeout to something more responsive, 5-10 seconds perhaps.

Just merged this in - an error will show after the request times out.

@rneswold fixed the service end, then I noticed that we were loading the setting attribute from the reading attribute data.  My latest PR fixes that.  We appear to be getting device info properly now!


fix: Print options correctly when their lists or sets need to be YAML lists.

Right now, options that need their lists or sets to be YAML lists aren't printing a roundtrippable string.

But what we're serializing is currently always a []string, which probably can't fail to marshal? Maybe some weird encoding edge case or something? If it's even possible, it's probably a minor enough edge case to be irrelevant.

Yeah, that's more or less what I was thinking. Seems like marshalling []string should be very safe


Red Hat plan not working in price calculator

Hi,
selecting a red hat plan in the price calculator (https://azure.microsoft.com/en-us/pricing/calculator/)
results in error messages like "1 year reserved option is not available for your instance selection." or no error message and an unclickable-object for 1 year reservation. I've tried multiple instances, including ones that should work (B2s, D2_v3, ...).
Greetings
Klaas

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

ID: a0ed5d03-9f9e-1c7f-c450-a2f0f5bebd87
Version Independent ID: bde6e4cf-9245-25b5-82df-db7b30ecda99
Content: Red Hat reservation plan discounts - Azure
Content Source: articles/cost-management-billing/reservations/understand-rhel-reservation-charges.md
Service: cost-management-billing
GitHub Login: @yashesvi
Microsoft Alias: banders

@Klaas- - Thanks for brining this to our attention. We will investigate it further and update you shortly.

@Klaas- Hi. The Billing enginnering team is investigating the issue. When we have information to share with you, we'll repond here.

#reassign:yashesvi

@Klaas Can you list the steps you performed in the Azure pricing calculator that resulted in the error? Everything I've tried in the calculator works as expected. Thanks.

Hi,
I can no longer produce this error, but there is no option to select a red hat plan as saving option in the pricing calculator. However the savings was working for SUSE plans before, this is also no longer select able :)
I am guessing there is some work being done on this issue.
Greetings
Klaas

@klaas Is your issue addressed? If so, I'd like to close this issue.

I would say that depends on your perspective but yeah, the error is gone. Now red hat plans are simply not supported by the calculator :)


Example for using setSVGAttributes

Thanks for the project!
For the life of me, I cannot figure out how to use setSVGAttributes... all I get is:
Can't bind to 'setSVGAttributes' since it isn't a known property of 'div'
Could you give any kind of example?
Thanks.

It hasn't been released yet. :)

Ah... Well that's kinda mean! I didn't think to compare the package code with the code in the repository.
As I understand it,this would be the way to set the viewbox on the svg tag?

Ok, I got the latest by installing straight from GitHub, and it works perfectly.
Just for others, syntax used:
<div [inlineSVG]="...url" [setSVGAttributes]="{viewBox: '0 0 100 100' }">


fix tolerance expected valueType

the tolerance contained "true" as string, which will fail on execution since the function returns a boolean

Codecov Report

Merging #49 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   75.23%   75.23%
=======================================
  Files           4        4
  Lines         323      323
=======================================
  Hits          243      243
  Misses         80       80

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 e42c4d3...a2e03e5. Read the comment docs.

Hi @Zelldon
Thanks for the PR. Could you please sign your commit and force push before I review?.
Thanks

Done :)


Hide Rubocop parser warnings with warning gem

Provide a detailed description of the proposed feature
Use https://github.com/jeremyevans/ruby-warning to hide these warnings from rubocop (and whenever we use parser):
warning: parser/current is loading parser/ruby26, which recognizes
warning: 2.6.6-compliant syntax, but you are running 2.6.3.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

What is the motivation for the feature?
These warnings are annoying and we pin specific Ruby versions for a reason.
How will the feature be relevant to at least 90% of Homebrew users?
It will not be.
What alternatives to the feature have been considered?
Putting up with them.

I will open PR to solve this issue this week !!

@MikeMcQuaid
it is difficult to hide warnings with additional configuration because these warnings are generated when  require 'rubocop' was executed".

I'm totaling wading into waters I'm not familiar with here so I may be totally off base.
It looks to me like the warnings are triggered (at least for brew style) when using a system call. So if my understanding is correct, we can't actually ignore those warning within the brew code. We could pass -W0 to the call, though. Maybe something like this in style.rb (the difference is adding the verbose ? nil : "-W0" line):
      ruby_args = [
        verbose ? nil : "-W0",
        "-S",
        "rubocop",
      ].compact.freeze

Of course, this ignored all warnings so it's not ideal. I don't know of a way to disable a specific warning although it's totally possible that there is a way.

Some other discussion here - https://github.com/rubocop-hq/rubocop/issues/1819

It looks like this is the same with brew tests.
https://github.com/Homebrew/brew/blob/0d1aa33f81b7a5274cb33326cbd8c0bc78cd7623/Library/Homebrew/dev-cmd/tests.rb#L146-L150
The following looks like it will work:
      verbosity = args.verbose? ? {} : { "RUBYOPT" => "-W0" }

      if parallel
        system verbosity, "bundle", "exec", "parallel_rspec", *parallel_args, "--", *bundle_args, "--", *files
      else
        system verbosity, "bundle", "exec", "rspec", *bundle_args, "--", *files
      end

Some other discussion here - rubocop-hq/rubocop#1819

Thanks, didn't see that.
Two things to note, I think:
https://github.com/rubocop-hq/rubocop/issues/1819#issuecomment-95377009:

Run Rubocop as, for example, ruby -W0 -S rubocop args....

https://github.com/rubocop-hq/rubocop/issues/1819#issuecomment-769278581

For anyone else coming here looking for an easy solution without updating their Ruby version. Just use the warning gem to suppress the output.
# config/initializers/warning_ignores.rb

### https://github.com/jeremyevans/ruby-warning

Warning.ignore(/warning: parser/)

I'd certainly prefer the second one but I don't think it has any effect because we are shelling-out to ruby -S rubocop or bundle exec rspec anyway. The warning ignores we use won't apply there.

It looks to me like the warnings are triggered (at least for brew style) when using a system call. So if my understanding is correct, we can't actually ignore those warning within the brew code. We could pass -W0 to the call, though.

We just removed this because it will hide actual failures causing it to look like RuboCop is successful when it's actually failed.

I don't know of a way to disable a specific warning although it's totally possible that there is a way.

This gem, pretty much.

It looks to me like the warnings are triggered (at least for brew style) when using a system call. So if my understanding is correct, we can't actually ignore those warning within the brew code.

It should be possible if we can either inject code into the RuboCop process somehow or write our own wrapper and call RuboCop from Ruby (still in a new process) after we've run the code we want.

Done in #10598


Add WALLET to imToken Wallet.

Please handle.
Thanks.

Please provide more info about the token, and attach the token logo image


Upg: increase chunks count batch per embedding request (8->128)

Description
Increase size of batch per embedding request to make the process much faster for large documents.
Risk
More timeout on ~10% of our embedding requests, will monitor.
Deploy Plan
Deploy core

Let's double or quadruple first. This is a bit aggressive no?

Did you look at the distribution I shared on slack ?
If you don't mind, I'd rather be aggressive to see a real effect. I'll totally extreme own this and monitor for failures.

Ok


Make the footer on home page responsive

The footer should stick to bottom of screen for all screen sizes

Hey ! Can I pick this up?

Sure. Please go thru contributing file and feel free to add yourself in contributors file if you want to actively keep contributing.

Please check https://github.com/imabhinavagarwal/ComponentLibrary/pull/20 have posted a question as well.


GH-39752: [Java] Remove Static imports for Utf8 Usage

What changes are included in this PR?
Removing static imports of UTF_8. This has been identified as a minor enhancement as documented here: https://github.com/apache/arrow/issues/39752 and discussed in a review here.
Are these changes tested?
Tested by existing test cases.
Are there any user-facing changes?
No

GitHub Issue: #39752

@github-actions crossbow submit -g java


Can't bootstrap with Node >=10 on Windows

Preflight Checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

Electron Forge Version:

6.0.0-beta.50

Node Version:

10.16.3

Yarn Version:

1.22.0

Operating System:

Windows 10 (1909)

Expected Behavior
A new project is getting created.
Actual Behavior
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=4 <=9". Got "10.16.3"
error Found incompatible module.

To Reproduce
Run yarn create electron-app my-app --template=typescript-webpack on Windows.

Additional Information
The issue also happens when using yarn global add @electron-forge/cli
<!--
Add any other context about the problem here.

For example:
* Console output when you run your `electron-forge` command with the environment variable
  `DEBUG=electron-forge:*`. (Instructions on how to do so
  [here](https://www.npmjs.com/package/debug#usage)). Please include the stack trace if
  one exists.
* Command line arguments you are passing to `electron-forge` (e.g.,
  `electron-forge make --not-a-real-flag`)
* The `config.forge` data in `package.json` or `forge.config.js` in use
* A failing minimal testcase (with a link to the code) or detailed steps to reproduce the problem.
  Using `electron-forge init` is a good starting point, if that is not the source of your problem.

I was able to bootstrap a new project by running the command in WSL and then switching over to Windows again.

I can't reproduce this on Windows 10.0.18363 + yarn 1.22.4 (via Powershell). Try removing create-electron-app via yarn global remove create-electron-app and try rerunning the yarn create command again.


tests: test Formula#recursive_requirements

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

I was hacking on Requirement.expand recently for an improvement I've since decided to handle a different way, but as part of that abandoned patch I wrote some tests for Requirement.expand (via Formula#recursive_requirements) because I wanted to make sure I didn't break anything and I noticed there currently weren't any.
So, here are some free tests. :D

What should I do about the brew style violation here? Switching to the 1.9 hash syntax would mean not mirroring what real formulae do.
Should I change it to the 1.9 syntax or add a # rubocop:disable?

Should I change it to the 1.9 syntax

Yeh, just do that. Doesn't matter if the style matches formulae or not as long as the code is equivalent.

So, here are some free tests. :D

🎉

Thanks @alyssais!


What is this code licensed under?

There is no LICENSE file, so I would like to confirm the licensing of this code?

The MIT license is referenced in the composer.json file. A confirming LICENSE file would be greate.


Not sure how feasible this is, but it would be great if PHP Hammer could detect this and not suggest calling the parent method in this case.

Hey! Could you provide a simplified example case? This may have already been fixed, but some new features have not yet been uploaded to the Marketplace.

Sure, this would show the warning if I hadn't suppressed it.
class Enum extends Facade
{
    /**
     * @return string
     * @noinspection MissingParentCallInspection
     */
    #[Override]
    protected static function getFacadeAccessor(): string
    {
        return EnumService::class;
    }

}

Here is more clear example:
/**
 * @method void beforeSave(EventInterface $event, Entity $entity, ArrayObject $options)
 * @method void afterSave(EventInterface $event, Entity $entity, ArrayObject $options)
 * @method void afterSaveCommit(EventInterface $event, Entity $entity, ArrayObject $options)
 * @method void beforeDelete(EventInterface $event, Entity $entity, ArrayObject $options)
 * @method void afterDelete(EventInterface $event, Entity $entity, ArrayObject $options)
 * @method void afterDeleteCommit(EventInterface $event, Entity $entity, ArrayObject $options)
 */
class A {
   public function save(Entity $entity, $options)
   {
   //implementation calls beforeSave, afterSave and afterSaveCommit methods if they exist
   }
   public function delete(Entity $entity, $options)
   {
   //implementation calls beforeDelete, afterDelete and afterDeleteCommit methods if they exist
   }
}

class B extends A
{
   public beforeSave(EventInterface $event, Entity $entity, ArrayObject $options): void
   {
   //parent call is invalid because there is no parent to call
   //#[Override] is also invalid because there is no parent to call
   }
}

That's a different, maybe/probably related, thing I think. In my case the parent function is implemented like this:
class Facade {
    protected static function getFacadeAccessor()
    {
        throw new RuntimeException('Facade does not implement getFacadeAccessor method.');
    }
}

I'm sorry, my issue is separate problem then

@rentalhost as i noticed in post above this are 2 separate issues
your fix adressed issue that i reported but not @tminich issue
As i understand now issue reported by @tminich is that MissingParentCallInspection suggest calling parent that does only throw exception
It is logical that methods that only throw exception should not be suggested for parent call in that inspection

I fixed both issues. Now, methods that only throw exceptions will no longer require parent::call().


Vanilla crafting recipes break using VMP in All The Mods 10.

Describe the bug
When this mod is installed, a number of crafting recipes are removed from the game including the vanilla torch. Granted I am running a NeoForge Server and using the plugin via the Fabric API. However I am certain this is not expected behavior of the mod.
To Reproduce
Steps to reproduce the behavior:

Install All The Mods 10 version 1.24 (or any version)
Add the latest version of VMP 0.2.0+beta.7.169 devbuild for 1.21.1
Ensure server is set up with https://modrinth.com/mod/forgified-fabric-api and the paired Connector mod.

Expected behavior
All recipes should be craftable.
Screenshots

Runtime info (please complete the following information):

OS: Ubuntu 24.04.1 LTS
Minecraft version: 1.21.1
Mod version: 0.2.0+beta.7.169 devbuild for 1.21.1
Mod branch: (fill this if you are not using the default ver branches)

Crash reports / logs
No crash
Other mods

Checklist

[x] I am using the official version of the mod.
[x] I tried the latest development version but the issue persists.
[x] I searched for similar open issues and could not find an existing bug report on this.

Additional context

Can confirm. Even happens with just Connector, FFAPI and VMP.

Connector isn't a supported platform for now.
I'll look into this issue when I get time.


block fieldsets can be objects not just strings

https://getkirby.com/docs/reference/plugins/extensions/blocks
label: "Blöcke"
type: blocks
fieldsets:
  - text
  - gallery
  - video
  pages: # <-----
      name: Sub-Seiten
      fields:
        pages:
          type: pages
          query: page.children

shouldn't that be ? 🤔
 - video
 - pages: # <-----

kirby is mixing assoc and numeric arrays. its valid yaml but the schema cant do that.


🤗 [Question]: How to log a custom header

Question Description
I want to log a custom header x-request-id in fiber access log using fiberzerolog. but the value is empty when shown in the console.
curl -X GET http://localhost:3000 -H "X-Request-Id: abc123"

Code Snippet (optional)
package main

import (
	"os"
	"time"

	"github.com/gofiber/fiber/v2"
	"github.com/rs/zerolog"
)

func main() {
	// Initialize the logger
	loggger := zerolog.New(os.Stderr).
		With().
		Timestamp().
		Logger().
		Output(zerolog.ConsoleWriter{
			Out: os.Stderr,
			TimeLocation: time.UTC,
			TimeFormat: "02-Jan-2006 15:04:05",
			}).
		Level(zerolog.DebugLevel)

	// Create a new Fiber app
	app := fiber.New()

	app.Use(fiberzerolog.New(fiberzerolog.Config{
	Logger:   &loggger,
	Fields:   []string{"referer", "ip", "ips", "method", "url", "ua", "latency", "status", "bytesSent", "bytesReceived", "route", "error", "reqHeader:X-Request-Id"},
	SkipURIs: []string{"/internal/metrics", "/internal/health/live", "/internal/health/ready", "/internal/health/startup"},
	}))

	// Define a route
	app.Get("/", func(c *fiber.Ctx) error {
		// Use Fiber's Locals to set custom context values
		c.Locals("test", "test")

		// create logger with subsystem for each modules and utilize it in the functons
		// https://gitlab.grootan.com/qlikverify/development/ezto-gateway/-/blob/master/lib/middleware/logger.go?ref_type=heads
		// Retrieve and log the value from the context
		value := c.Locals("test")
		loggger.Info().Msgf("Retrieved value from context: %s", value)

		// Respond to the client
		return c.SendString("Hello, World!")
	})

	// Start the server
	if err := app.Listen(":3000"); err != nil {
		loggger.Fatal().Err(err).Msg("Fiber app error")
	}
}

Checklist:

[X] I agree to follow Fiber's Code of Conduct.
[X] I have checked for existing issues that describe my questions prior to opening this one.
[X] I understand that improperly formatted questions may be closed without explanation.

the functionality to log individual headers does not yet exist in our zerolog middleware
this would have to be added first
https://github.com/gofiber/contrib/blob/main/fiberzerolog/config.go#L12-L34

@ReneWerner87  thanks. the middlware already support request id but it need the requestid middleware to work. passing just the request id header is not working
the above code works.
app.Use(requestid.New())
	app.Use(fiberzerolog.New(fiberzerolog.Config{
		Logger:          &logger.Logger,
		FieldsSnakeCase: true,
		Fields:          []string{"referer", "ip", "ips", "method", "url", "ua", "latency", "status", "bytesSent", "bytesReceived", "route", "error", "requestId"},
		SkipURIs:        []string{"/internal/metrics", "/internal/health/live", "/internal/health/ready", "/internal/health/startup"},
	}))


pinpoint-web no data

Current Behavior
no data in pinpoint-web
Failure Information (for bugs)

I configured the environment using vagrant
disable the firewall (sudo ufw disable)
allow 9994,9995,9996 ports.

Operating System: MAC( vagrant1(php-agent,ubuntu 18.04), vagrant2(pinpoint-docker, ubuntu 18.04))

PHP Version: 7.1

sh networktest.sh

CLASSPATH=./tools/pinpoint-tools-1.8.5.jar:
2019-10-02 04:45:38 [INFO ](com.navercorp.pinpoint.bootstrap.config.DefaultProfilerConfig) configuration loaded successfully.
UDP-STAT:// pinpoint.test.io
    => <IP_ADDRESS>:9995 [SUCCESS]

UDP-SPAN:// pinpoint.test.io
    => <IP_ADDRESS>:9996 [SUCCESS]

TCP:// pinpoint.test.io
    => <IP_ADDRESS>:9994 [SUCCESS]

php.ini:

extension=pinpoint_php.so
# must be unix:(unix sock address)
pinpoint_php.CollectorHost=unix:/tmp/collector-agent.sock
pinpoint_php.SendSpanTimeOutMs=0 # 0 is recommanded
# request should be captured duing 1 second. <=0 means no limited
pinpoint_php.TraceLimit=-1

php-fpm or apache: php-fpm

pinpoint_agent.conf:

Failure Logs
Please include any relevant log snippets or files here.

pinpoint_log.txt  php.log  php-fpm.log etc (Anything could help us )

collector.conf

[Collector]
AgentID=ip-test
ApplicationName=test-dev
CollectorSpanIp=<IP_ADDRESS> #--> vagrant2_server_ip
CollectorSpanPort=9996
CollectorStatIp=<IP_ADDRESS>
CollectorStatPort=9995
CollectorTcpIp=<IP_ADDRESS>
CollectorTcpPort=9994
[Common]
# your web server (nginx&apache) port
Web_Port=80
# debug in dev
Log_Level=DEBUG
LOG_DIR=/home/vagrant/
[Agent]
# the same as below "pinpoint_php.CollectorHost"
Address=/tmp/collector-agent.sock

collector.agent.log

[2019-10-02 01:10:54,904] [DEBUG] [TCollectorAgent.py:49] CollectorTcp ('<IP_ADDRESS>', 9994) CollectorStat ('<IP_ADDRESS>', 9995) CollectorSpan ('<IP_ADDRESS>', 9996)
[2019-10-02 01:10:54,919] [DEBUG] [AgentStateManager.py:43] register state timer
[2019-10-02 01:10:54,919] [DEBUG] [AgentStateManager.py:56] send state:TAgentStatBatch(agentId='ip-test', startTimestamp=1569978654904, agentStats=[TAgentStat(agentId='ip-test', startTimestamp=1569978654904, timestamp=None, collectInterval=None, gc=None, cpuLoad=TCpuLoad(jvmCpuLoad=None, systemCpuLoad=0.0), transaction=None, activeTrace=None, metadata=None)])
[2019-10-02 01:10:54,920] [INFO] [StreamClientLayer.py:124] try to connect:('<IP_ADDRESS>', 9994) with timeout:5
[2019-10-02 01:10:54,920] [INFO] [StreamClientLayer.py:71] connect peer: [<IP_ADDRESS>:9994] success
[2019-10-02 01:10:54,920] [DEBUG] [TCollectorAgent.py:267] send hand shake len:213
[2019-10-02 01:10:54,920] [DEBUG] [StreamClientLayer.py:171] send 213
[2019-10-02 01:10:54,926] [DEBUG] [TCollectorAgent.py:188] code 0 subcode 2
[2019-10-02 01:10:54,927] [DEBUG] [TCollectorAgent.py:166] register send ping
[2019-10-02 01:10:54,927] [DEBUG] [TCollectorAgent.py:170]  send agentInfo
[2019-10-02 01:10:54,930] [DEBUG] [TCollectorAgent.py:298] agent:TAgentInfo(hostname='server-test', ip='<IP_ADDRESS>', ports='80', agentId='ip-test', applicationName='test-dev', serviceType=1500, pid=14464, agentVersion='1.8.0-RC1', vmVersion=None, startTimestamp=1569978654904, endTimestamp=None, endStatus=None, serverMetaData=None, jvmInfo=None)
[2019-10-02 01:10:54,930] [DEBUG] [TCollectorAgent.py:257] send agentInfo len:101
[2019-10-02 01:10:54,930] [DEBUG] [StreamClientLayer.py:171] send 109
[2019-10-02 01:10:54,931] [DEBUG] [TCollectorAgent.py:224] recv pong
[2019-10-02 01:10:54,941] [DEBUG] [TCollectorAgent.py:204] response: TResult(success=True, message=None)
[2019-10-02 01:11:04,936] [DEBUG] [StreamClientLayer.py:171] send 8
[2019-10-02 01:11:04,937] [DEBUG] [TCollectorAgent.py:224] recv pong
[2019-10-02 01:11:14,927] [DEBUG] [AgentStateManager.py:56] send state:TAgentStatBatch(agentId='ip-test', startTimestamp=1569978654904, agentStats=[TAgentStat(agentId='ip-test', startTimestamp=1569978654904, timestamp=None, collectInterval=None, gc=None, cpuLoad=TCpuLoad(jvmCpuLoad=None, systemCpuLoad=0.0), transaction=None, activeTrace=None, metadata=None)])

php7.1-fpm.log

[02-Oct-2019 01:23:52] NOTICE: Terminating ...
[02-Oct-2019 01:23:52] NOTICE: exiting, bye-bye!
[02-Oct-2019 01:23:52.509323] DEBUG: pid 14756, fpm_scoreboard_init_main(), line 40: got clock tick '100'
[02-Oct-2019 01:23:52.509488] DEBUG: pid 14756, fpm_event_init_main(), line 342: event module is epoll and 1 fds have been reserved
[02-Oct-2019 01:23:52.509517] NOTICE: pid 14756, fpm_init(), line 85: fpm is running, pid 14756
[02-Oct-2019 01:23:52.510584] DEBUG: pid 14756, fpm_children_make(), line 422: [pool www] child 14784 started
[02-Oct-2019 01:23:52.511017] DEBUG: pid 14756, fpm_children_make(), line 422: [pool www] child 14788 started
[02-Oct-2019 01:23:52.511084] DEBUG: pid 14756, fpm_event_loop(), line 371: 6000 bytes have been reserved in SHM
[02-Oct-2019 01:23:52.511090] NOTICE: pid 14756, fpm_event_loop(), line 372: ready to handle connections
[02-Oct-2019 01:23:52.511161] DEBUG: pid 14756, fpm_systemd_heartbeat(), line 68: have notify start to systemd
[02-Oct-2019 01:23:52.511168] NOTICE: pid 14756, fpm_systemd_heartbeat(), line 75: systemd monitor interval set to 10000ms
[02-Oct-2019 01:23:53.511951] DEBUG: pid 14756, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 0 active children, 2 spare children, 2 running children. Spawning rate 1

@seonghyun-kang
From your logger file, everything is fine.
Add  below into your php.ini and attach your php_error.log
"pinpoint_php.DebugReport=true"
log_errors = On
error_log = "/opt/logs/php7.1/php.error.log"

@eeliu
configure php.ini
log_errors = On
error_log = "/opt/logs/php7.1/php.error.log"

but not created php.error.log

"pinpoint_php.DebugReport=true"
Did you miss this line?
Did you have permission of the error log path?
error_log = "/opt/logs/php7.1/php.error.log"

@eeliu
php.ini
extension=pinpoint_php.so
# must be unix:(unix sock address)
pinpoint_php.CollectorHost=unix:/tmp/collector-agent.sock
pinpoint_php.SendSpanTimeOutMs=0 # 0 is recommanded
# request should be captured duing 1 second. <=0 means no limited
pinpoint_php.TraceLimit=-1
pinpoint_php.DebugReport=true
log_errors = On
error_log = "/home/vagrant/tete/"

/home/vagrant/tete permission
drwxrwxrwx  3 vagrant vagrant   4096 Oct  5 01:25 ./
drwxr-xr-x 23 vagrant vagrant   4096 Oct  4 10:11 ../
-rw-rw-r--  1 vagrant vagrant 313329 Oct  5 01:25 collector.agent.log
srwxrwxr-x  1 vagrant vagrant      0 Oct  5 01:25 collector-agent.sock=
-rw-rw-r--  1 vagrant vagrant      0 Oct  4 07:34 php.agent.log
drwxrwxr-x  7 vagrant vagrant   4096 Oct  2 04:06 pinpoint-c-agent/

Can't I change the error_log path?

Can't I change the error_log path?

yes, you can !

@eeliu
but php.error.log not created

@seonghyun-kang
srwxrwxr-x  1 vagrant vagrant      0 Oct  5 01:25 collector-agent.sock=

what's this ?
It's name should be collector-agent.sock

(env) vagrant@server-test:~/tete$ ls
collector.agent.log  collector-agent.sock  php.agent.log  pinpoint-c-agent
ls commend show right name
and

[08-Oct-2019 07:27:59 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'pinpoint_php.so' (tried: /usr/lib/php/20170718/pinpoint_php.so (/usr/lib/php/20170718/pinpoint_php.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pinpoint_php.so.so (/usr/lib/php/20170718/pinpoint_php.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
i got error message
my php version 7.2.11-4+ubuntu18.04.1+deb.sury.org+1

[08-Oct-2019 07:27:59 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'pinpoint_php.so' (tried: /usr/lib/php/20170718/pinpoint_php.so (/usr/lib/php/20170718/pinpoint_php.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/pinpoint_php.so.so (/usr/lib/php/20170718/pinpoint_php.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
i got error message
my php version 7.2.11-4+ubuntu18.04.1+deb.sury.org+1

The pinpoint_php.so is wrong.
What's the output when Step 2 is done?

phpize
Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes...  BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... (cached) gawk
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... no
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing libtool commands

make
Build complete.
Don't forget to run 'make test'.

make test
Build complete.
Don't forget to run 'make test'.

=====================================================================
PHP         : /usr/bin/php7.2
PHP_SAPI    : cli
PHP_VERSION : 7.2.11-4+ubuntu18.04.1+deb.sury.org+1
ZEND_VERSION: 3.2.0
PHP_OS      : Linux - Linux kickgoing-server-test 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018 x86_64
INI actual  : /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/tmp-php.ini
More .INIs  :
CWD         : /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext
Extra dirs  :
VALGRIND    : Not used
=====================================================================
TIME START 2019-10-08 08:00:51
=====================================================================
PASS app info [tests/app_info_test.phpt]
PASS drop this trace [tests/drop_trace_test.phpt]
SKIP pinpioint_php internal test case [pinpoint_test_main] [tests/inner_api_test.phpt]
PASS pinpioint_php internal test case [pinpoint_test_main] [tests/stack_fetal_error.phpt]
PASS Check  call statck [tests/trace_api_test.phpt]
PASS Check tracelimit [tests/trace_limit_test.phpt]
PASS Test pinpoint_unique_id [tests/unique_api_test.phpt]
=====================================================================
TIME END 2019-10-08 08:00:51

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   15
---------------------------------------------------------------------

Number of tests :    7                 6
Tests skipped   :    1 ( 14.3%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :    0 (  0.0%) (  0.0%)
Expected fail   :    0 (  0.0%) (  0.0%)
Tests passed    :    6 ( 85.7%) (100.0%)
---------------------------------------------------------------------
Time taken      :    0 seconds
=====================================================================

make install
/bin/bash /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/libtool --mode=install cp ./pinpoint_php.la /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules
libtool: install: cp ./.libs/pinpoint_php.so /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules/pinpoint_php.so
libtool: install: cp ./.libs/pinpoint_php.lai /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules/pinpoint_php.la
libtool: finish: PATH="/home/vagrant/pinpoint-c-agent/collector-agent/env/bin:/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vagrant/.dotnet/tools:/sbin" ldconfig -n /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/lib/php/20170718/

@seonghyun-kang
It seems unreasonable,
The last line !
.......
Installing shared extensions:     /usr/lib/php/20170718/

Try sudo make install

sudo make install
/bin/bash /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/libtool --mode=install cp ./pinpoint_php.la /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules
libtool: install: cp ./.libs/pinpoint_php.so /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules/pinpoint_php.so
libtool: install: cp ./.libs/pinpoint_php.lai /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules/pinpoint_php.la
libtool: finish: PATH="/home/vagrant/pinpoint-c-agent/collector-agent/env/bin:/home/vagrant/.composer/vendor/bin:/usr/local/go/bin:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/vagrant/.dotnet/tools:/sbin" ldconfig -n /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /home/vagrant/pinpoint-c-agent/PHP/pinpoint_php_ext/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/lib/php/20170718/

@seonghyun-kang
How about now ?

@eeliu

but PHP Startup: Unable to load dynamic library 'pinpoint_php.so' not geerated

please join
https://gitter.im/naver/pinpoint-c-agent?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge

@seonghyun-kang  You can try adding the Boost lib directory to /etc/ld.so.conf and execute sudo ldconfig


Add MSSQL to issues template

Simple update for the issues template used by the source Gitea repo here on Github to add MSSQL to the list of databases since it is now supported in 1.1.0

LGTM

LGTM

This should not be v1.1.1. If it's a critical problem, it could be back ported to 1.1.1


ol.source.ImageWMS.getGetFeatureInfoUrl just return one feature fid

http://openlayers.org/en/latest/examples/getfeatureinfo-image.html
At the above site, the getGetFeatureInfoUrl API return many features.But mine just return one fid.Is there anything need to fix?Should I focus on geoserver (.shp) or ArcGIS which is the software to create .shp?

Normally only with overlapping features GetFeatureInfo can return multiple features. GeoServer has a vendor option called buffer to increase the search area for features though, but this is vendor-specific. I advise you to read the WMS specification, this is not really an OpenLayers question / issue.

 Then this is more likely an issue with your WMS server instead.

Yep, that's not really an OpenLayers question.
I'll read the WMS specification later.
Thanks!


Markdown editor inconsistent with osm.org (underscore handling)

If the user has _ in their name, this fomats the whole message in italics in the editor. The parser at osm.org is somewhat smarter and ignores such occurrences.

This is indeed an issue when there is an underscore (_) in the username.
I'm relying on highlight.js for this.
I'll see if there is a workaround possible.


feat: upgrade to OpenAPI 3.1.0

This will have to wait for https://github.com/swagger-api/swagger-ui/issues/5891

Changing the default docs UI to something like Stoplight Elements, which has supported OpenAPI 3.1 for some time now, could also be an option.

Hmm yeah interesting idea, I had never heard of them, I'll take a look. We could also support ReDoc (for unrelated reasons).
My hope is that in the next ~6 months the whole ecosystem (not just Swagger UI, also Pydantic and such) will move to OpenAPI 3.1 & JSON Schema 2020-12. According to this article, these versions will be sort of "long term support" versions. Since it is kinda hard to support multiple versions of these things, I think it makes sense to wait until those versions are stable and then lock into those in Xpresso.
Once we have that, we should be able to easily support multiple UIs, or rather have one out of the box and make it easy to plug in more.


AST: Make the versioned variants of #if canImport() more reliable and consistent

Previously, when evaluating a #if canImport(Module, _version: 42) directive the compiler could diagnose and ignore the directive under the following conditions:

The associated binary module is corrupt/bogus.
The .tbd for an underlying Clang module is missing a current-version field.

This behavior is surprising when there is a valid .swiftinterface available and it only becomes apparent when building against an SDK with an old enough version of the module that the version in the .swiftinterface is too low, making this failure easy to miss. Some modules have different versioning systems for their Swift and Clang modules and it can also be intentional for a distributed binary .swiftmodule to contain bogus data (to force the compiler to recompile the .swiftinterface) so we need to handle both of these cases gracefully and predictably.
Now the compiler will enumerate all module loaders, ask each of them to attempt to parse the module version and then consistently use the parsed version from a single source. The .swiftinterface is preferred if present, then the binary module if present, and then finally the .tbd. The .tbd is still always used exclusively for the _underlyingVersion variant of canImport().
Resolves rdar://88723492

@swift-ci please test

@swift-ci please smoke test and merge