RP2040: embassy-usb-logger does not work outside of embassy

If you copy/paste the code from the RP2040 USB logger example into a new project, it will not compile.
Here is the cargo manifest I used:
[package]
edition = "2021"
name = "usb-logger"
version = "0.1.0"
resolver = "2"

[dependencies]
defmt = "0.3"
defmt-rtt = "0.4"
panic-probe = { version = "0.3", features = ["print-defmt"] }

embedded-hal = "1.0.0"
embedded-hal-async = "1.0.0"
embedded-io = "0.6.1"
embedded-io-async = "0.6.1"
embedded-storage = "0.3.1"

cortex-m = { version = "0.7.6" }
cortex-m-rt = "0.7.3"

embassy-executor = { version = "0.5.0", features = ["task-arena-size-1024", "arch-cortex-m", "executor-thread", "defmt", "integrated-timers", "executor-interrupt"] }
embassy-futures = "0.1.1"
embassy-rp = { version = "0.1.0", features = ["defmt", "unstable-pac", "time-driver", "critical-section-impl"] }
embassy-sync = { version = "0.6.0" }
embassy-time = { version = "0.3.0", features = ["defmt", "defmt-timestamp-uptime"] }
embassy-usb = "0.3.0"

# usbd-hid = "0.8.2"
# usbd-hid-macros = "0.8.2"
embassy-usb-logger = "0.2.0"
# embassy-usb-logger = { git = "https://github.com/embassy-rs/embassy.git" }
log = "0.4.22"

and the compile error:
error: failed to select a version for `byteorder`.
    ... required by package `usbd-hid-macros v0.6.0`
    ... which satisfies dependency `usbd-hid-macros = "^0.6.0"` of package `usbd-hid v0.7.0`
    ... which satisfies dependency `usbd-hid = "^0.7.0"` of package `embassy-usb v0.2.0`
    ... which satisfies dependency `embassy-usb = "^0.2.0"` of package `embassy-usb-logger v0.2.0`
    ... which satisfies dependency `embassy-usb-logger = "^0.2.0"` of package `usb-logger v0.1.0 (/Users/jake/projects/tests/usb-logger)`
versions that meet the requirements `~1.4` are: 1.4.3, 1.4.2, 1.4.1, 1.4.0

all possible versions conflict with previously selected packages.

  previously selected package `byteorder v1.5.0`
    ... which satisfies dependency `byteorder = "^1.5"` of package `usbd-hid-macros v0.8.1`
    ... which satisfies dependency `usbd-hid-macros = "^0.8.1"` of package `usbd-hid v0.8.1`
    ... which satisfies dependency `usbd-hid = "^0.8.1"` of package `embassy-usb v0.3.0`
    ... which satisfies dependency `embassy-usb = "^0.3.0"` of package `usb-logger v0.1.0 (/Users/jake/projects/tests/usb-logger)`

failed to select a version for `byteorder` which could resolve this conflict

I suspect that this is due to some build error in the tagged version. I tried pointing just the embassy-usb-logger crate to the upstream but got a compile error about two different versions of a trait (understandable).
error[E0277]: the trait bound `Driver<'_, USB>: embassy_usb_driver::Driver<'_>` is not satisfied
   --> src/main.rs:21:5
    |
21  |     embassy_usb_logger::run!(1024, log::LevelFilter::Info, driver);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |     |
    |     the trait `embassy_usb_driver::Driver<'_>` is not implemented for `Driver<'_, USB>`
    |     required by a bound introduced by this call
    |
help: trait impl with same name found
   --> /Users/jake/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embassy-rp-0.1.0/src/usb.rs:294:1
    |
294 | impl<'d, T: Instance> driver::Driver<'d> for Driver<'d, T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `embassy_usb_driver` are being used?
note: required by a bound in `UsbLogger::<N>::run`
   --> /Users/jake/.cargo/git/checkouts/embassy-9312dcb0ed774b29/b31648f/embassy-usb-logger/src/lib.rs:67:12
    |
65  |     pub async fn run<'d, D>(&'d self, state: &'d mut LoggerState<'d>, driver: D) -> !
    |                  --- required by a bound in this associated function
66  |     where
67  |         D: Driver<'d>,
    |            ^^^^^^^^^^ required by this bound in `UsbLogger::<N>::run`
    = note: this error originates in the macro `embassy_usb_logger::run` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `Driver<'_, USB>: embassy_usb_driver::Driver<'_>` is not satisfied
   --> src/main.rs:21:5
    |
21  |     embassy_usb_logger::run!(1024, log::LevelFilter::Info, driver);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `embassy_usb_driver::Driver<'_>` is not implemented for `Driver<'_, USB>`
    |
help: trait impl with same name found
   --> /Users/jake/.cargo/registry/src/index.crates.io-6f17d22bba15001f/embassy-rp-0.1.0/src/usb.rs:294:1
    |
294 | impl<'d, T: Instance> driver::Driver<'d> for Driver<'d, T> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `embassy_usb_driver` are being used?
note: required by a bound in `UsbLogger::<N>::run`
   --> /Users/jake/.cargo/git/checkouts/embassy-9312dcb0ed774b29/b31648f/embassy-usb-logger/src/lib.rs:67:12
    |
65  |     pub async fn run<'d, D>(&'d self, state: &'d mut LoggerState<'d>, driver: D) -> !
    |                  --- required by a bound in this associated function
66  |     where
67  |         D: Driver<'d>,
    |            ^^^^^^^^^^ required by this bound in `UsbLogger::<N>::run`
    = note: this error originates in the macro `embassy_usb_logger::run` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0277`.
error: could not compile `usb-logger` (bin "usb-logger") due to 3 previous errors

So I updated all of the embassy crates to point at the upstream and that seemed to work. It's a good enough work around for me to continue but figured you would like to know!

I'd like to also confirm I'm seeing this and that it seems like the last published version of embassy-usb-logger does not contain support for the ReceiverHandler trait, even though the documentation and examples refer to it. A new release of this crate would be highly appreciated.


avoid race condition during chunk write

When the chunk file is first removed before the new version
is moved into place, racing reads may encounter a missing chunk.
Using rename() or replace() without remove() avoids the issue
on Posix-Systems as the methods are atomic. The fallback of
remove() -> rename() is included for Windows pre Python 3.3.
Fixes #263
TODO:

[ ] Add unit tests and/or doctests in docstrings
[ ] Add docstrings and API docs for any new/modified user-facing classes and functions
[ ] New/modified features documented in docs/tutorial.rst
[ ] Changes documented in docs/release.rst
[ ] Docs build locally (e.g., run tox -e docs)
[ ] AppVeyor and Travis CI passes
[ ] Test coverage is 100% (Coveralls passes)

Just to mention that there are some potential consequences from implementing this PR that we should be aware of, described in #328. I don't think that should stop us from moving ahead with this PR, using os.replace() is clearly a better thing to do under any circumstances, but just something to be aware of.

@jakirkham I've made a guess at the setup.py changes needed for pyosreplace. I couldn't get environmental markers to wrok. See previous commit. Could you please have a look at it? And is something else needed?

Think you had it basically right. Unfortunately there is some lack of clarity about when a colon or semicolon should be used. IIUC it should be a semicolon.

Thanks @sbalmer. Could you add pyosreplace to requirements.txt and requirements_dev.txt, pinned to the latest version in the latter. I guess environment markers are needed in both.

@alimanfoo pyosreplace is now in the requirement files too. I've made a guess at how the env markers should look. If I invert the predicates then pip install -r requirements.txt tries to install the package. Which means I have some confidence it should work.

I've resolved conflicts after merging #352 and added a release note. Will merge if CI passes.

@sbalmer apologies I didn't know your full name to include in the release note, you're credited currently just as "sbalmer", happy to leave it that way or add your full name, whichever you prefer.

Thanks @sbalmer 😄

Thanks @alimanfoo, @jakirkham!
Now we can use mainline again :-)


Open via exec until we have an async way to open urls

Using open instead of shell.openExternal until we can get an asynchronous open URL style method in Electron (https://github.com/electron/electron/issues/6889)

@keybase/react-hackers

👍


[errors] UMBRELLA_ASSERTS breaking skypack CDN imports

The new UMBRELLA_ASSERTS environment variable seems not recognized by skypack's build system, thus breaking its imports. Here is a demo, using <script type="module"<EMAIL_ADDRESS>results in
TypeError: undefined is not an object (evaluating 'process.env.UMBRELLA_ASSERTS')

looks like process is defined but not process.env, maybe adding another check for that or there is some way to work around?

Ohh.. thank you @stwind! This env var is actually not new and the issue is a regression of a recent update from a month ago when I got rid of the obsolete snowpack (not skypack!) env var logic: 781470d92b0a9aa6fe4a93935bd346a7fd4fc4fc
I've been testing this new logic with Vite, however should also have checked skypack, which seems to transpile this module to a different result & injects stuff not present in the original code... I will push an update in a minute, but we can only check if that works after the next release. Btw. the same issue also applies to @thi.ng/expose: 9a98c3e3b4ce93b765d1ca18bc16b70bc53eaa20

So I just pushed v2.2.3 (changelog) and it seems to have fixed the issue. Once I hear back from you with confirmation I will apply same fix for the thi.ng/expose package... 👍

Thanks @toxi, it works fine now, also check some other dependents like @thi.ng/vectors and they are working. Yeah I think you can push the same to @thi.ng/expose

Amazing & will do! Thank you again, as always!

Okay, fixed & released the expose pkg too now!


About page CSS

When entering the About page content, you'll notice the following gap for some of the fields:

It only occurs with field hints when there is a field of "editor" type. I tried to figure out the css hack to get rid of this gap, but I couldn't quite get it. Any chance you could take a look? I can implement the CSS on my end, I just need to know what to implement.

@superjai  fixed, maybe you can try it out as well?

disable the clear: both field

@superjai fixed, maybe you can try it out as well?
 disable the clear: both field

this is what that looks like

#wp-about_contact_info-editor-container
^ selector
document.querySelector("#wp-about_contact_info-editor-container") ---> js path


Add release note for clusterviz

The clusterviz got merged without updating the release note on the commit.  Please add the following note for cockroachdb/cockroach#22763:
Release note (admin ui change, enterprise change): Adds a geographical map to the homepage of the enterprise version, showing the location of nodes and localities in the cluster.  The map is annotated with several top-level metrics: storage capacity used, queries per second, and current CPU usage, as well as the liveness status of nodes in the cluster.

cc: @jseldess

Closed through https://github.com/cockroachdb/docs/pull/2588


Keep LGHub App-Specific Color

I stumbled across this Tool and quite like it, tho I'd love to keep the colors for specific Apps I set in LGHub, is there any way this would work?

Unfortunately I don't think so: The Logitech LED API is pretty simple, and assumes an app wants to take over full control of the lighting for all Logitech LED devices while it's running.
I think the real answer is to have a more generic cross-vendor LED control utility that combines the features of all of them, plus UniLight. That's way beyond the scope of this modest proof-of-concept project though.

Thanks for the insight!


+ not recognized

The \+ builtin is not recognized as valid. For example:
foo :- \+ false.

Instead, it's shown as an error:

 expected, got ''

thanks!


Disseminate to Zenodo

Zenodo have a rest API which should facilitate a Thoth Dissemination Service workflow, i.e. submission of files and metadata based on Thoth records (comparable to #361).
Of interest both to WP7 (as an archiving platform) and to Thoth Plus (as a hosting platform option).

thanks, @rhigman and yup, that was from me 😄
Commnunity created here: https://zenodo.org/communities/thoth/ - this now allows for users with admin rights to be added, who then can upload to & curate that community.

Ah, perfect, thanks @tosteiner! :smiley:

We may also consider publishing dumps of Thoth data further down the line, and Zenodo would be one option for this. So it would be good if the logic implemented here was reusable for this purpose (granular methods, separate client published to pip [if not using an existing third-party client], etc).

Re: data dumps, that's a great idea. There are a number of (semi-)automated workflows to facilitate archiving of full GitHub Repos in Zenodo, maybe these can be of use here? See e.g.  https://www.lib.uiowa.edu/data/files/2022/10/Share_and_Preserve_Your_Code_20220728.pdf

hmm, yeah, you might be right - had assumed this would just take a full repo and upload it to Zenodo, so if we added a data dump to repo X, this would also include that data dump?

Note https://github.com/zenodo/zenodo/issues/2532. Thoth uses the ISO 639-2 "bibliographic" language codes where applicable, rather than the "terminological" ones (both as an underlying representation, and in all relevant outputs). There's a broader question of whether we might need to support the "terminological" versions (where distinct) in any other contexts.


Define new properties for responsible party roles?

ℹ Following discussion in https://github.com/SEMICeu/GeoDCAT-AP/issues/30 . See also https://github.com/SEMICeu/GeoDCAT-AP/issues/16 and §7 (Agent roles) for background information.

The purpose of this proposal is to provide a simple way to specify all the ISO 19115 responsible party roles used in INSPIRE, as an alternative to the use of the approach based on the W3C PROV Ontology (prov:qualifiedAttribution).
The properties to be defined should be limited to those not supported in Dublin Core and DCAT, as shown in the relevant mapping table of the GeoDCAT-AP specification - namely:

Custodian
Distributor
Originator
Principal investigator
Processor
Resource provider
User

Tentative RDF definition:
<http://data.europa.eu/930/custodian>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Custodian"@en ;
  rdfs:comment "Party that accepts accountability and responsibility for the data and ensures appropriate care and maintenance of the resource."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/custodian> .

<http://data.europa.eu/930/distributor>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Distributor"@en ;
  rdfs:comment "Party who distributes the resource."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/distributor> ;
  skos:exactMatch <http://www.w3.org/ns/duv#hasDistributor> .

<http://data.europa.eu/930/originator>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Originator"@en ;
  rdfs:comment "Party who created the resource."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/originator> .

<http://data.europa.eu/930/principalInvestigator>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Principal investigator"@en ;
  rdfs:comment "Key party responsible for gathering information and conducting research."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/principalInvestigator> .

<http://data.europa.eu/930/processor>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Processor"@en ;
  rdfs:comment "Party who has processed the data in a manner such that the resource has been modified."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/processor> .

<http://data.europa.eu/930/resourceProvider>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "Resource provider"@en ;
  rdfs:comment "Party that supplies the resource."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/resourceProvider> .

<http://data.europa.eu/930/user>
  a rdf:Property, owl:ObjectProperty ;
  rdfs:label "User"@en ;
  rdfs:comment "Party who uses the resource."@en ;
  rdfs:isDefinedBy <http://data.europa.eu/eli/reg/2008/1205/2008-12-24>, <https://www.iso.org/standard/26020.html>, <https://www.iso.org/standard/53798.html> ;
  rdfs:seeAlso <http://inspire.ec.europa.eu/metadata-codelist/ResponsiblePartyRole/user> ;
  skos:relatedMatch dct:audience .

Thanks, @AntoRot .
@matthiaspalmer , may I ask if you have any comments on this proposal?

I think it is fine, but I think it would makes sense to also state:

principalInvestigator, and processor as subproeprties of dcterms:contributor
originator as subproperty of dcterms:creator.
custodian, distributor and resourceProvider as subproperty of dcterms:publisher

At least, that is the semantics I read into these properties, do you agree?
I think it would be helpful with these statement to see when to use these properties as refinements of the more granular properties from dcterms.

Semantics and relationships between DC terms are traditionally rather informally defined. The canonical definitions of Dublin Core are not even RDF. So don't put too much weight on relationships to DC terms, and also don't interpolate to much back in DC.

I think we should indeed be cautious in defining sub-property relationships with DCTERMS, unless there's a use case bringing forward this feature as a requirement.
Besides @dr-shorthair 's points, the issue is also that the generic definitions used for roles in ISO 19115:2003 do not help have a better understanding of their semantics.
I would propose that we first add these properties in the GeoDCAT-AP namespace, and we then consider refining their definitions, if need be.
@matthiaspalmer , would this be an acceptable solution for you?

Of course @andrea-perego, my intention was to make implicit semantics explicit if it exists. Apparently it is not so.
Just to confirm, you are saying that there is a lack of explicit semantics in ISO 19115:2003 for these roles and that introducing the relations to DCTerms would introduce semantics that does not exist currently? That is, you are not saying that the suggested relations would go against some explicit semantics in ISO 19115:2003?
It would be interesting to know if the people involved here agree with my suggested subproperty statements and who would have the mandate to provide such an interpretation more formally.
I would also want to point out that every time this kind of non-decision is taken due to lack of semantics in clarifying what something really means, has the potential to create more confusion down the line. This confusion causes people who in many cases have less direct knowledge of how these standards came to be and what the intentions was to have long discussions and in the end make decisions. These decisions will be different in in different contexts and lead to interoperability problems. My personal experience with mapping various INSPIRE data to DCAT-AP is limited, but from what I have seen in only a few cases indicates that there is indeed a lot of confusion and the use of these roles are certainly one of these headaches.

In response to @dr-shorthair, I you are referring to the original 15 elements. The DCMI Metadata Terms on the other hand are defined formally in RDF Schema with proper subproperty relations, e.g. dcterms:creator being a rdfs:subPropertyOf dcterms:contributor. I think these are the canonical definitions since some time. Here is the RDF Schema www.dublincore.org/schemas/rdfs/.
That the properties and classes of DCTerms have rather broad definitions, which is useful as it helps to maximize their reuse. I would not agree that they are informally defined though as they are defined in RDFS.
DCAT and many other metadata specification / profiles reuse and refine DCTerms properties (and classes) as much as possible. Hence, in my opinion, the DCTerms properties are very suitable and should be the basis introducing new properties if at all possible.

@matthiaspalmer said:

Of course @andrea-perego, my intention was to make implicit semantics explicit if it exists. Apparently it is not so.
Just to confirm, you are saying that there is a lack of explicit semantics in ISO 19115:2003 for these roles and that introducing the relations to DCTerms would introduce semantics that does not exist currently? That is, you are not saying that the suggested relations would go against some explicit semantics in ISO 19115:2003?

The problem is that the definitions of roles are quite vague in ISO 19115:2003 - they correspond to the ones in the mapping table in the GeoDCAT-AP spec:
https://semiceu.github.io/GeoDCAT-AP/drafts/2.0.0-draft-0.1/#table-responsible-party-roles
With such definitions, it is difficult to have a clear understanding of their semantic relationships with DCTERMS.

It would be interesting to know if the people involved here agree with my suggested subproperty statements and who would have the mandate to provide such an interpretation more formally.

If you think it would be useful, we can also create a specific issue on this.
My point was that the priority is to decide whether to define or not these properties. If we all agree to create them, we can further refine their definition in this version of GeoDCAT-AP, or in a later one.

I would also want to point out that every time this kind of non-decision is taken due to lack of semantics in clarifying what something really means, has the potential to create more confusion down the line. This confusion causes people who in many cases have less direct knowledge of how these standards came to be and what the intentions was to have long discussions and in the end make decisions. These decisions will be different in in different contexts and lead to interoperability problems. My personal experience with mapping various INSPIRE data to DCAT-AP is limited, but from what I have seen in only a few cases indicates that there is indeed a lot of confusion and the use of these roles are certainly one of these headaches.

It would important to collect all these issues and see whether and how we can address them. Besides those about the semantics of roles, do you have any other to report, @matthiaspalmer ?

A full definition for these properties is in PR https://github.com/SEMICeu/GeoDCAT-AP/pull/33
Could you please check if you are happy with it?

Thanks, @AntoRot .
RDF vocabulary and specification updated via PR https://github.com/SEMICeu/GeoDCAT-AP/pull/33
PROPOSED RESOLUTION: Implement changes in the current draft with the purpose of including these properties in version 2 of GeoDCAT-AP

No negative vote - resolution approved.
I'm going to merge PR https://github.com/SEMICeu/GeoDCAT-AP/pull/33 and close this issue.
I will create a new issue for the discussion about making the newly defined agent roles subproperties of the DCTERMS ones.
@AntoRot , @riccardoAlbertoni , @dr-shorthair , thanks for your contributions.


Build Target out of date

Warning when building for the latest version of Swift and Xcode 12.
Showing Recent Messages
The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99.

same here, and I have this error compiling my project with XCode12 beta:
*** Building scheme "AEXML iOS" in AEXML.xcodeproj
Build Failed
Task failed with exit code 1:
/usr/bin/xcrun lipo -create ../Caches/org.carthage.CarthageKit/DerivedData/12.0_12A8169g/AEXML/4.5.0/Build/Intermediates.noindex/ArchiveIntermediates/AEXML\ iOS/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/AEXML.framework/AEXML ../Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A8169g/AEXML/4.5.0/Build/Products/Release-iphonesimulator/AEXML.framework/AEXML -output ../proj/Apps-08.04/Lib/Carthage/Build/iOS/AEXML.framework/AEXML
This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/1c/sdgfpmvs1k94y46pnhw0ykm40000gp/T/carthage-xcodebuild.ZLQalf.log

Hi, this should be fixed in the latest release (4.6.0).


Private functions on annotations.

Putting an @OnEntityEntered or @OnEntityLeft annotation on a private function should do some non-zero number of these things:

raise a warning that a private function is annotated
throw a compilation error
still invoke the private function (ignore the private field)

variant 3 chosen: "still invoke the private function (ignore the private field)"


Feature: Delete items from table view

Looks like you can't select multiple items to mass delete from the table view, this would be a great feature!

Do you mean like selecting/checking off multiple documents that you would like to delete all at once?


Migration to v4: AMP error - style tag not authorised by Google

Issue Summary
I migrated my ghost blog to the latest version yesterday, received this morning an alert from the Google Search Console regarding the AMP pages:
Only "amp-boilerplate" and "amp-custom" style tags are allowed, and only in the document header.
This is linked to this part of the code is the AMP page:
<style>:root {--ghost-accent-color: #E65C5C;}</style>
To Reproduce

Open any ghost post AMP page (for example: https://beyondmatching.com/lets-build-the-new-roast-together/amp/)

Inspect the page

Line 84 is causing the issue:

Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead?
The AMP tag is missing, the AMP page will not be indexed on Google due to this
Technical details:

Ghost Version: 4.0.1
Node Version: 12.21.0
Browser/OS:
Database:

Closing as duplicate of https://github.com/TryGhost/Ghost/issues/12770


There is a delay in the video and audio in crop files?

I notice that video and audio are synchronized in original videos, but there is a delay in the video and audio in crop files.

me too, and I always got error like this "WARNING: Audio (3.6480s) and video (3.6400s) lengths are different." Do someone konw how to solve it?


[stable/rabbitmq] Recover from "Waiting for Mnesia tables" after all nodes forced shutdown

Is your feature request related to a problem? Please describe.
Yes, in our dev/staging environment in AWS we turn-off at night time (set scaling group to 0) the nodes of EKS cluster to save costs and we enabled persistence for rabbitmq, so it was like unexpected shutdown for all rabbitmq nodes and it can't recover with "Waiting for Mnesia tables", i tried setting podManagementPolicy and service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" but it had no effect, still keeps looping with "Waiting for Mnesia tables"
Describe the solution you'd like
Can this solution be applied https://github.com/helm/charts/pull/9645#issuecomment-478638566 as an option? We'd really prefer availability over integrity.
Describe alternatives you've considered
Don't use persistence.

Hi @denis111 ,
Are you able to know the order in which the nodes were shut down? I am not a RabbitMQ expert but in the documentation you can see this:

Normally when you shut down a RabbitMQ cluster altogether, the first node you restart should be the last one to go down, since it may have seen things happen that other nodes did not. But sometimes that's not possible: for instance if the entire cluster loses power then all nodes may think they were not the last to shut down.

Link to documentation: https://www.rabbitmq.com/rabbitmqctl.8.html#force_boot
Could you try if the force_boot works in case you not know the order?

@miguelaeh Thank you for answering. No, we can't know the order, this is just autoscaling group with schedule to scale to 0 instances at night time when nobody's working. So it's unacceptable for us if anything is not able to recover from such "disaster" as sort of "unexpected" shut down of all nodes so in that case we prefer not using persistence because we prefer availability over integrity.
I hope I'll try to play with force_boot this friday and I will let you know if it worked.

Thank you @denis111 ,
let me know what happen when you try with this option.

Well, first, I can't execute rabbitmqctl force_boot because it says "Error: this command requires the 'rabbit' app to be stopped on the target node. Stop it with 'rabbitmqctl stop_app'.". But if we stop it the pod will just restart without giving a possibility to execute "abbitmqctl force_boot"...
So i created force_load file in<EMAIL_ADDRESS>in my case, and it worked!

I'm glad it worked.
That is a cool solution.

Yes but how to autmate it? I mean the creation of force_load file in some init container maybe...

You could try mounting the file in the init container via a Configmap, but if you don't need to execute any command before the main container start, I guess you could just mount the file in the main container (also with a Configmap).

I can't find the "helm way" to do it, existing configmap template in rabbitmq chart doesn't allow to add extra files as well as statefuset template doesn't allow to add some extra init container or extra volume mount...

The Chart does not support that at this moment. You have to add it manually (you can clone the repository and modify the Chart with your needs),

Well, we'd like to use mainstream chart, I'll see if I can make pull request then.

I've detected if we enable forceBoot option on a new install without existing PVC (with clean new volume) then RabbitMQ is unable to start with Error: enoent. I'm creating a PR to address this issue.

I think the the easiest solution is to have an init container which deletes the mnesia folder during startup.

if the rabbit node is waiting for the other nodes to come up, and it's not coming up because the statefulset is booting them sequentially, how about podManagementPolicy: Parallel
Parallel: "will create pods in parallel to match the desired scale without waiting, and on scale down will delete all pods at once" - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#statefulsetspec-v1-apps

some basic testing with: podManagementPolicy: Parallel
As expected all nodes start simultaneously and it seems to recover correctly. Further, with missing volumes, the node-discovery/cluster-init seems work as expected, however the cluster name was randomized if that matters to you.

@andylippitt smart idea to use podManagementPolicy: Parallel
However was thinking what would happen if you upgrade your RMQ cluster eg. new rmq image...in that case will it not take down all the pods at once and recreate all of them in parallel with new image?

ignore my comment above, the updateStrategy: RollingUpdate will take care of that situation.
Do you think in any edge case scenario having podManagementPolicy: Parallel will create an outage since it takes down all 3 pods?

I have found a problem with podManagementPolicy: Parallel. There's a race condition on initialization if you don't specify rabbitmqErlangCookie. I now have a condition where a single pod is running with a RABBITMQ_ERLANG_COOKIE which is different from the current value of the secret. I suspect this was a result of concurrent initialization and will try to reinstall with an explicit value.

Yes I did test with podManagementPolicy: Parallel but faced issues. sometimes pods did not comeback healthy. Instead  setting force_boot flag to true which was suggested in the previous thread worked for me. I tested multiple times bringing the pods all together at once, bringing pods one at a time within like 2-5 mins creating some sort of a mess and with that flag on all the pods came back healthy.
Additional setting:
We are also setting the lifecycle for a pod so the pods have graceful termination when it is taken down.
lifecycle:
preStop:
exec:
command: ["rabbitmqctl","shutdown"]

@vkasgit were you specifying an explicit value for rabbitmqErlangCookie in your failed testing?

in our installation that was failing i had the secret pre-created with erlang cookie

Actually, removing the pvcs before redeploying my rabbit resolved the problem for me.

is it safe to renove the pvc?

Actually, removing the pvcs before redeploying my rabbit resolved the problem for me.

is it safe to remove the pvc?

no it's not safe. this mounts keeps important files (db files etc)
volumeMounts:
- mountPath: /var/lib/rabbitmq
name: data
- mountPath: /etc/rabbitmq
name: config
- mountPath: /etc/definitions
name: definitions
readOnly: true
dnsPolicy: ClusterFirst
my problem solved with below method. (change clustername). run exec command when pod state is Running
kubectl exec -ti clustername-rbmq-rabbitmq-ha-0 /bin/sh
cd<EMAIL_ADDRESS>touch force_load
watch for pod statuses

@hakanozanlagan first of all thanks for posting your solution. I tried the same step and unfortunately, I am using the user rabbitmq which don't have the permission in the folder and I don't have any sudo access. Is there any alternative solution?

@rakeshnambiar In your helm chart values.yml Did you explicitly try setting the force_boot flag to true? Try that option. Also check your user permissions as well. Those can also be set throught he values.yml

Hi @vkasgit thanks the force_boot  solved the issue and I can also see the runAsUser etc on the values yaml. Btw - by default, it's created 3 PODs and I can see 3 PVCs as well. Is this expected?

@vkasgit We are occasionally running into this mnesia table issue ourselves (which we have been fixing by deleting the pvc). I  was curious if by setting updateStrategy to RollingUpdate (instead of the default onDelete) eliminates the need for force_boot? Our podManagementPolicy is the default of OrderedReady. In fact, other than basic password and policies, our values are otherwise default.

@ytjohn Do you have the forceBoot: true flag on and still occasionally run into mnesia table?
The following are some settings I have and haven't run into mnesia issue so far(knock on the wood). Try adding lifecycle and see if that helps. What that does is when RMQ node is forcefully taken down the prestop command kicks in and makes a graceful termination.
podManagementPolicy: OrderedReady
updateStrategy: RollingUpdate
forceBoot: true
lifecycle:
preStop:
exec:
command: [rabbitmqctl, shutdown]

I haven't tried forceBoot: true yet , but it seemed a rolling update would pretty much take care of the need for for forceBoot.   That said, I don't think it will hurt either, so we will go ahead and set them both and if that keeps the mnesia table issue from popping up, we'll call it good.  Thank you.

@akrepon deleting mnesia database would cause crashed pod as standalone or blank node

Actually, removing the pvcs before redeploying my rabbit resolved the problem for me.

is it safe to remove the pvc?

no it's not safe. this mounts keeps important files (db files etc)
volumeMounts:

mountPath: /var/lib/rabbitmq
name: data
mountPath: /etc/rabbitmq
name: config
mountPath: /etc/definitions
name: definitions
readOnly: true
dnsPolicy: ClusterFirst

my problem solved with below method. (change clustername). run exec command when pod state is Running
kubectl exec -ti clustername-rbmq-rabbitmq-ha-0 /bin/sh
cd<EMAIL_ADDRESS>touch force_load
watch for pod statuses

i do not fully understand your solution about cluster_name change, just only touching force_load file in mnesia data dir?

Well, first, I can't execute rabbitmqctl force_boot because it says "Error: this command requires the 'rabbit' app to be stopped on the target node. Stop it with 'rabbitmqctl stop_app'.". But if we stop it the pod will just restart without giving a possibility to execute "abbitmqctl force_boot"...
So i created force_load file in<EMAIL_ADDRESS>in my case, and it worked!

for rabbitmq install from helm chart it is<EMAIL_ADDRESS>


added my name to contributors list

Pull Request Template

Please provide all of the details below. Pull requests missing any of the information below will be closed!

Sumarise what this PR fixes:
I entered my name in the contributor's list.
Fixes #: < Enter Issue ID/URL >
Checklist:
(Add an x between the brackets to check the items)

[ x] I have sumarised what this PR fixes above
[ ] I have provided the issue ID/URL above
[ ] This PR fixes only the issue mentioned above (create seperate PRs for seperate issues)
[ ] I was the first one to claim the issue or I created the issue

@MattCSmith and @brittneypostma please review the PR.

Hey,
Thanks for creating the PR, its important that you are accredited for your work, however in accordance with Hacktoberfest's rule I must mark this with the invalid tag otherwise Hacktoberfest can blacklist the repo:

Thanks for your understanding and please do not let this discourage you.

@MattCSmith ok, thank you I understand. happy coding...


deploy.ps1 throws an error when enabling guest service interface on a non English Hyper-V Host

When deploy.ps1 is running on a non English Hyper-V host and tries to enable the guest service interface of a vm (EnableGuestServiceInterface=$true in LabConfig.ps1) an error is thrown that the requested component does not exist.
Reason: deploy.ps1 tries to enable the guest service interface by name:
Enable-VMIntegrationService -Name "Guest Service Interface"
However the name depends on the language of the Hyper-V Host - in German for example it is named "Gastdienstschnittstelle".
Suggestion: What do you think of an implementation similar to the one in the xVMHyper-V DSC resource where the guest service interface is referenced by its ID and not by name. In my experience this works for all languages of Hyper-V hosts (Windows 10, Server 2016, Server 2019 and also in the latest Server 2022 Insider Preview).
    #Enable Guest services on all VMs if integration component if configured
    if ($labconfig.EnableGuestServiceInterface){
        WriteInfo "`t Enabling Guest Service Interface"
        # Get-VM -VMName "$($labconfig.Prefix)*" | Where-Object {$_.state -eq "Running" -or $_.state -eq "Off"} | Enable-VMIntegrationService -Name "Guest Service Interface"
        $vms = Get-VM -VMName "$($labconfig.Prefix)*" | Where-Object {$_.state -eq "Running" -or $_.state -eq "Off"}
        foreach ($vm in $vms) {
            $guestServiceId = 'Microsoft:{0}\6C09BB55-D683-4DA0-8931-C9BF705F6480' -f $vm.Id
            $guestService = $vm | Get-VMIntegrationService | Where-Object -FilterScript {$_.Id -eq $guestServiceId}
            $guestService | Enable-VMIntegrationService
        }
        $TempVMs=Get-VM -VMName "$($labconfig.Prefix)*" | Where-Object {$_.state -ne "Running" -and $_.state -ne "Off"}
        if ($TempVMs){
            WriteInfoHighlighted "`t`t Following VMs cannot be configured, as the state is not running or off"
            $TempVMs.Name
        }
    }

Like this? https://github.com/microsoft/WSLab/commit/9f472e097856880dea18ef51e2ee4f2949961e80#diff-e43be9f19cc769590511f212adc19adfc22a535057134221adc821e2363fedad

Hi Jaromir
that's exactly the location in deploy.ps1. It would be great if you would commit this in one of tje next upcoming releases.
Thank you
Gerhard

Cool! I merged it to master. New version will be built right away...


Added Doc for happy Number

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
yes
Description
Added Doc for happy Number
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Fixed #40
(Write your answer here.)

@HarshCasper, can you check and guide me if any changes required.

@HarshCasper, I just changed these can you ask a peer to review it if it's ok. Thank you!


[Flow Declare]: declare class with Polymorphic is not highlighted properly

When the class is polymorphic the class name is not being highlighted as a class.

declare class Array<T> extends $ReadOnlyArray<T> {
    copyWithin(target: number, start: number, end?: number): T[];
    every(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): boolean;
    fill(value: T, begin?: number, end?: number): Array<T>;
    filter(callbackfn: typeof Boolean): Array<$NonMaybeType<T>>;
    filter(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): Array<T>;
    find(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): T | void;
    findIndex(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): number;
    forEach(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): void;
    map<U>(callbackfn: (value: T, index: number, array: Array<T>) => U, thisArg?: any): Array<U>;
    pop(): T;
    push(...items: Array<T>): number;
    reduce(
      callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: Array<T>) => T,
      initialValue: void
    ): T;
    reduce<U>(
      callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: Array<T>) => U,
      initialValue: U
    ): U;
    reduceRight(
      callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: Array<T>) => T,
      initialValue: void
    ): T;
    reduceRight<U>(
      callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: Array<T>) => U,
      initialValue: U
    ): U;
    reverse(): Array<T>;
    shift(): T;
    some(callbackfn: (value: T, index: number, array: Array<T>) => any, thisArg?: any): boolean;
    sort(compareFn?: (a: T, b: T) => number): Array<T>;
    splice(start: number, deleteCount?: number, ...items: Array<T>): Array<T>;
    unshift(...items: Array<T>): number;

    [key: number]: T;
    length: number;
    static (...values:Array<any>): Array<any>;
    static isArray(obj: any): bool;
    static from<A, B>(iter: Iterable<A>, mapFn: (elem: A, index: number) => B, thisArg?: any): Array<B>;
    static from<A>(iter: Iterable<A>, mapFn: void): Array<A>;
    static from<A, B>(iter: Iterator<A>, mapFn: (elem: A, index: number) => B, thisArg?: any): Array<B>;
    static from<A>(iter: Iterator<A>, mapFn: void): Array<A>;
    static from<A>(arrayLike: {length: number}, mapFn: (elem: void, index: number) => A, thisArg?: any): Array<A>;
    static from(arrayLike: {length: number}, mapFn: void): Array<void>;
    static of(...values: any[]): any[];
}

Actually I think my intent was to mark it like this because it is a builtin type but then it fails that requirement by defining a normal type such as declare class Object as a class. Agh!  which way to do it?

Yeah it should probably show up as a class with the annotations showing as support type or w/e you set for it there.
It is definitely normal convention to add a "$" before exported types so I personally would also like to see those different color than the rest to show as a kind of "namespace separator"  -- if not something you want to implement directly -- perhaps you could scope "$" separately so that it can at least be styled via scss? :-D
Appreciate it!


BACKLOG-17188: display time in Last Modified Date column

JIRA

https://jira.jahia.org/browse/BACKLOG-17188
Changed format for last modified date column from ll to lll rest of UI is using LLL
https://day.js.org/docs/en/display/format#localized-formats

I'm assuming column width doesn't need to be adjusted since it's longer texts now? (I believe those are fixed)

Tested with english and french seems to fit in same size

Wait until end of 8.1.2 code freeze before merging that


ERROR at //third_party/libjxl/src/lib/lib.gni:1:11: Expecting assignment or function call.

System Details

OS: Windows 10
Thorium Version -- whatever's current from git; git log shows a last commit from May 21.

Problem
I am trying to follow these instructions:
https://github.com/Alex313031/thorium/blob/main/docs/BUILDING_WIN.md
and after doing gn args out\thorium
I receive this error:
Generating files...
ERROR at //third_party/libjxl/src/lib/lib.gni:1:11: Expecting assignment or function call.
jxl_lists.bzl
          ^--
See //third_party/blink/renderer/platform/BUILD.gn:1847:15: which caused the file to be included.

Additional Notes
This is my first attempt at trying to do my own build, and this is above my head to know how to fix this.  I did manage to deal with some other errors, like "version.sh" not properly changing back to the CR_SRC_DIR before trying to retrieve ppo files.  What should I do to fix this one, please?

Please make sure that the Thorium code and libjxl submodule code you are using are up to date.
In addition, it is not recommended to build without special needs, which will limit your use of the computer and take up a lot of your time.

I'm not sure what would constitute special needs, but isn't wanting to learn and simply because I want to, a good enough reason to?
I've followed the instructions in the build document I linked in my post. Is there an additional command not included to make sure the "libjxl submodules code" I'm using is up to date?
I haven't made changes to files, beyond the few fixes in version.sh to get the python3 commands to properly execute.

I don't mean to stop you from doing what you want to do, just a reminder.
Run 'git submodule update' in Thorium's local checkout to ensure that the submodule code is updated to the latest state.

Thank you for the suggestion: I've run that command in the thorium directory. There is no output from the command (no error, etc).  I still receive the same error as above, though.
What can I do (information I can provide?), to find where this is breaking down?

After running the submodule update command, you need to re-execute setup.sh.  In addition, can you provide the execution results of the git status command in the chromium code directory?

Execution results of the git status command in chromium code directory is very long, so I put it in pastebin: https://pastebin.com/KYkSPM61
I'm trying to specifically do sse4, so I ran setup.sh with --sse4.  I also have the files on a drive that's not C, because I don't have room on my tiny OS drive... I did symlinking to the proper paths, so shouldn't be relevant(?)
My entire process is literally the windows build document, where I've been following each command in turn.
I did not re-execute setup.sh after running the submodule update command, so I will do that now. Thank you for giving me some suggestions! ;)

Thank you for your cooperation in providing additional information.  We have recently made changes to the compilation process. After executing setup.sh, you also need to execute patch_ac3.sh
At the same time, can you upload the contents of the files third_party/libjxl/src/lib/lib.gni and third_party/blink/renderer/platform/BUILD.gn?

Thank you for the next steps.  I ran patch_ac3.sh, and that had no effect on this error.
This is the content of third_party/libjxl/src/lib/lib.gni:
jxl_lists.bzl
^ That is it, in its entirety.
third_party/blink/renderer/platform/BUILD.gn (renamed to .txt to upload to github):
BUILD.gn.txt

Sorry for the delayed response, please follow the process below to compile the SSE4 version.

Make sure you pull the full Chromium source code. And make sure you pull the thorium source code with the thorium-libjxl submodule.

run git reset --hard in the thorium code checkout to hard reset the code checkout, and run git status to make sure the thorium code checkout is clean, and then run git pull && git submodule update to make sure the thorium code checkout is in the latest state.

add CR_DIR to your system's environment variables and set it to /path/to/chromium/src

In git bash, switch to the directory where the thorium code is being checked out, execute trunk.sh, then version.sh and setup.sh --sse4.

After making sure that all the sh files from step 4 have been executed successfully (you can ignore the error of using python to download the PGO file, since python is not available in the git bash and you can download the PGO file later in cmd), continue to execute patch_ac3.sh without changing the current path.

Open cmd, switch to /path/to/chromium/src and execute the following command to download the PGO file

python3 tools/update_pgo_profiles.py --target=win64 update --gs-url-base=chromium-optimization-profiles/pgo_profiles
python3 v8/tools/builtins-pgo/download_profiles.py --depot-tools=/path/to/depot_tools download

After the PGO files are downloaded, do not change the current path, execute gn args out\thorium in cmd, then fill in the following args parameter and make sure the command is executed successfully

https://github.com/Alex313031/thorium/blob/main/other/SSE4.1/win_SSE4_args.gn
Set google_api and google_key as needed, and change the pgo_data_path at the bottom to the actual path of the PGO file.

Without changing the current path, run autoninja -C out\thorium thorium chromedriver clear_key_cdm thorium_shell policy_templates pack_policy_templates setup in cmd mini_installer -jxx

xx is the number of CPU threads you have, e.g. 24.
If following the above steps still doesn't compile thorium properly, let me know and I'll try to investigate, in the meantime, thorium is now available for chromium version 124, and we shouldn't need to modify any files in the thorium code checkout (including submodules).
Finally, Alex313031 is the owner as well as the main developer of the thorium browser project, and I am his collaborator.
@aberfan

Hello and thank you for the response.  I think maybe I'm not communicating well, because there seems to be a bug in this process; I've followed the build instructions as written, and I've done these.  I'm doing them again now...

run git reset --hard in the thorium code checkout to hard reset the code checkout, and run git status to make sure the thorium code checkout is clean, and then run git pull && git submodule update to make sure the thorium code checkout is in the latest state.

MINGW64 /l/dev/thorium (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

MINGW64 /l/dev/thorium (main)
$ git reset --hard
HEAD is now at dbb97b38  update toolchain

MINGW64 /l/dev/thorium (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

MINGW64 /l/dev/thorium (main)
$ git pull && git submodule update
Already up to date.

add CR_DIR to your system's environment variables and set it to /path/to/chromium/src

MINGW64 /l/dev/thorium (main)
$ echo $CR_DIR
/l/dev/chromium/src/

In git bash, switch to the directory where the thorium code is being checked out, execute trunk.sh, then version.sh and setup.sh --sse4.

I'm working on going through this again now.
Having manually fixed the broken file noted above, here is how far I was able to get today:
../../chrome/common/net/net_resource_provider.cc(39,34): error: use of undeclared identifier 'IDS_DIRECTORY_LISTING_PARSING_ERROR_BOX_TEXT'
   39 |         l10n_util::GetStringUTF8(IDS_DIRECTORY_LISTING_PARSING_ERROR_BOX_TEXT));
      |                                  ^
1 error generated.
[50924/68226] CXX obj/chrome/common/profiler/profiler/main_thread_stack_sampling_profiler.obj
ninja: build stopped: subcommand failed.

I think you still have problems during the execution of the setup.sh script and your current chromium codebase may be in a state of disarray.

I think you still have problems during the execution of the setup.sh script and your current chromium codebase may be in a state of disarray.

Hopefully there's a way to figure that out, and if so, why, so to fix the instructions for other idiots like me. ;)
I'm currently on the trunk.sh stage, and here is that output:
https://pastebin.com/cg5ifzfe

Please don't forget to delete the out\thorium directory
@aberfan

Please don't forget to delete the out\thorium directory

I didn't know to, but will now.  When I get to that stage, will it harm anything to call it out/thorium_sse4 vs simply out/thorium ?

Please do not change the name of this directory. If you change it, the thorium code will not be fully applied.

Thanks; I thought that name was arbitrary, so wanted to note which setup I was using; I'm at that point; I'm pasting the outputs of the commands in the above post. (I'm really not sure what the best way with github is, and I appreciate your patience with me!)

You can try to follow the steps I gave earlier and you should not encounter any errors. If you have any other questions, please feel free to ask them here.

Thank you.
However, this results in the exact same error:
L:\dev\chromium\src>gn args out\thorium
Waiting for editor on "L:\dev\chromium\src\out\thorium\args.gn"...
Generating files...
ERROR at //third_party/libjxl/src/lib/lib.gni:1:11: Expecting assignment or function call.
jxl_lists.bzl
          ^--
See //third_party/blink/renderer/platform/BUILD.gn:1847:15: which caused the file to be included.
    deps += [ "//third_party/libjxl:libjxl" ]
              ^----------------------------
L:\dev\chromium\src>

And the reason is because lib.gni only has jxl_lists.bzl.  If I edit it to be include("jxl_lists.bzl"), it then works.
Where is the source of that file, and what is the contents supposed to be, from your system? (As you can see from the above output, I followed every command as directed; I'm not modifying anything I shouldn't, as far as I know!)

It may be that the sse4 parameter of the setup.sh script is not handling all files correctly, I think I need Alex to confirm the details.
@Alex313031

Hello I am in the same build process for windows using AVX2. and I get the same error! is there any way to fix it?

https://m.me/cm/AbahbdO9g8OC3d1V/?send_source=cm%3Acopy_invite_link
I would like to ask if you two still encounter those errors now. If you still encounter them, please join the above Messager Community and I will try to help you solve the problem in more depth.
@aberfan @SifcaeIT


make example seed names more human friendly, and change imports

okay, if we are going to require cramped style, can we do it all the way instead of leaving it halfway?
im gonna do it now

merged conflict in #1486
fixed use statements to consistently follow preferred style

Oh..  sorry, I kicked off a sanity test and forgot to check it pre-push..   then noticed it was done and pushed.   How's the current state?


Precision limits for gamm

This PR is targetted at #111, and should be rebased against master once thats merged in
This sets user-specified weights to have a maximum value of 2^20. It then internally scales weights added from AddPoolAssets up by 2^30. It is expected that our message for setting an LBP will also scale its initial and target weights accordingly, and this doesn't get exposed to CLI users.
The main question I have is how should we be handling the JSON/YML marshal. I am currently of the understanding that this YML/JSON is only for us for debugging, and genesis / state exports. If this is true, I think printing out the exact internal weights as is currently done is the right design.
I think that we should have a different, simpler YML/JSON format for users to specify their new pool creations. Thus we don't need to worry about simplifying this.

The main question I have is how should we be handling the JSON/YML marshal. I am currently of the understanding that this YML/JSON is only for us for debugging, and genesis / state exports. If this is true, I think printing out the exact internal weights as is currently done is the right design.
I think that we should have a different, simpler YML/JSON format for users to specify their new pool creations. Thus we don't need to worry about simplifying this.

Yaml is used for CLI output I believe.  For now, let's keep as is, and then figure out if we need to fix the poolAccountPretty struct later.


log2 & log10 description incorrect in Class cool.

Problem or new feature
says raised to 2 (10) should be other way around
Suggestions
Fix it.

Please submit a PR. Then we know exactly what the problem is.

I'm checking this page and it does seem to be correct, at least in the page you mention. Maybe you found that somewhere else?

For example, log10 says "a number that approximately produces the original number when raised to the power of 10".  Should it not say "when 10 is raised to the number" or something like that.  Likewise for.log2.
Mark Biggar
@.***
@.***

On 08/23/2021 1:27 AM Juan Julián Merelo Guervós<EMAIL_ADDRESS>wrote:

I'm checking this page https://docs.raku.org/routine/log2 and it does seem to be correct, at least in the page you mention. Maybe you found that somewhere else?

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Raku/doc/issues/3929#issuecomment-903553296 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AVBREA5DSWHANXVSPVSDW6TT6IBAVANCNFSM5BLHNNWA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

Ah, right. Sorry.
El lun., 23 ago. 2021 14:34, mabiggar @.***> escribió:

For example, log10 says "a number that approximately produces the original
number when raised to the power of 10". Should it not say "when 10 is
raised to the number" or something like that. Likewise for.log2.
Mark Biggar
@.***
@.***

On 08/23/2021 1:27 AM Juan Julián Merelo Guervós @.***> wrote:
I'm checking this page https://docs.raku.org/routine/log2 and it does
seem to be correct, at least in the page you mention. Maybe you found that
somewhere else?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc/issues/3929#issuecomment-903553296 , or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AVBREA5DSWHANXVSPVSDW6TT6IBAVANCNFSM5BLHNNWA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc/issues/3929#issuecomment-903723297, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAAD5EEXZASXLBUSUZZEC3T6I54ZANCNFSM5BLHNNWA
.


Garbage collection seems to force tkinker meltdown

On linux, it is quite easy to generate the following scary messages in the console:
Exception ignored in: <bound method Variable.__del__ of <tkinter.IntVar object at 0x7f70ec5f59e8>>
Traceback (most recent call last):
  File "/nfs/see-fs-02_users/matmdpd/anaconda3/lib/python3.6/tkinter/__init__.py", line 329, in __del__
    if self._tk.getboolean(self._tk.call("info", "exists", self._name)):
_tkinter.TclError: out of stack space (infinite loop?)

To recreate this: do anything which displays a lot of graphs (e.g. run an analysis, then view it and click to view a lot of different days).  I explored this and came up with a minimal example:
https://stackoverflow.com/questions/44781806/tkinter-objects-being-garbage-collected-from-the-wrong-thread
My belief is that it's caused by the garbage collector running on a thread different to the main GUI thread, and calling the __del__ finaliser method on certain tk objects which then causes the error, as Tk on linux seems strict about which thread it runs on.  (On Windows, by adding logging to the tkinter library code, I can verify that the same thing is happening; just there is not an ultimate error message, presumably because Tk on Windows is more tolerant of being called on the wrong thread).
This seemed to be benign, but I have now observed it killing sub-processes: the symptom is that an analysis run will take forever to run, and before this, you'll notice that Python is only using n-1 (or n-2 etc.) processes, instead of the usual n (= number of cores on your machine).
I have mitigated this by adding an explicit GC collection before critical points in the code.

If there are any Python / tkinter experts out there, I would of course prefer a better solution...

I've now verified that this seems to affect the latest Ubuntu release (so scorching hopes that it was due to me running an old linux install...)


Frontend Auditing

Setup sample application in JHipster
Compare C4SG code base with JHipster's sample app, to verify if we missed anything in architecture/design/configuration

This issue was moved to Code4SocialGood/c4sg-web#2


[FormRecognizer] Fix doc issue caused by generated client

having the same name 'FormRecognizerClient'.  It cause the docs of both to be merged as described in
#8531

/azp run js - formrecognizer - tests

/azp run js - formrecognizer - tests

/azp run js - mgmt - pr

/check-enforcer evaluate

/check-enforcer reevaluate

/azp run js - formrecognizer - ci (Build UnitTest macOS_Node12)

/azp run check-enforcer

/check-enforcer evaluate

/check-enforcer reset

/check-enforcer evaluate

/check-enforcer override

/check-enforcer evaluate


Orthographic Camera Support

I see that orthographic projection is currently not supported. Are there any plans to support it in the near future?

Hi, I would like to say that I would have a look at it in the near future, but I think that it is currently unlikely. However, it would certainly be 'the' thing I would like to add as some users already asked for it. Sorry !

I’m using it with an almost orthographic view and it looks great, but i guess you want it for 2d?

@OEN007 Actually I'm working on a 3D game. The problem I had was, that even though the effect looks really well, when viewed from certain camera angles, artifacts start appearing.

I see, what type of artifacts? Try bumping the resolution maybe. I think im running 2x the default

If I center an object emmitting light, it's volume looks alright. But when I rotate the camera bit, the volume texture of that object shifts a bit, creating an artifact.

Camera Centered
Camera Rotated a Bit

This package does not support orthographic projection. If you are using it, you will probably see the fog but it will not work as it should, and glitches are totally expected to happen.
If you are using perspective projection but with a narrower field of view (which I think it's what @OEN007 meant), to kind of get closer to an orthographic projection look, it should work fine. And finally, if you are seeing artifacts in perspective projection, this could be mainly to two reasons :

Distance volume parameter is too high, and/or Max Steps parameter too low.
Since blur is applied as a fullscreen effect when volumetric lighs are rendered to reduce noise, depth is considered to alter the blur weight. This means that depending on "what's behind" of the light volume, you may notice more artifacts. See the example below from Unity's URP Garden scene, where I tweaked the values to accentuate this inherent issue. There is nothing below the water, which does not write to the depth buffer, but nenuphars do, so more noise is expected to happen around that area.


Fix ghost errors resulting from out-of-order type checking

This PR introduces logic that suppresses ghost errors resulting from "inverted" type checking situations where, for example, an API client asks for the type of a symbol in the middle of a section of code, causing type resolution to occur in a different order than when the code is checked from top to bottom in a regular compilation.
Some context on the fix in this PR. In this example
function builder(def: IThing) {
  return def;
}

interface IThing {
  doThing: (args: { value: object }) => string
  args: { value: number }
}

builder({
  doThing(args: { value: object }) {
    const { value } = this.args;  // Ghost circularity error on "value"
    return `${value}`
  },
  args: { value: 42 }
});

a circularity error is reported in the VS Code IDE, but no error is reported with the command-line compiler. The issue is that the IDE language service requests type information on identifiers in the code (likely for semantic classification, but doesn't really matter) before it requests the full list of diagnostics for the code. Specifically, a request is initially made for getTypeOfSymbol for the symbol of the value identifier. This causes resolution of this.args, and to resolve the type of this, a request is made for the contextual type of the object literal passed as an argument in the builder({...}) call. That in turn means we need to resolve the signature for the call, which in turn means resolving the type of the arguments, which in turn means obtaining the type of the {...} object literal argument, which further requires resolving the return type of doThing, which gets us back to a second getTypeOfSymbol call for value. And we have a circularity.
However, in the regular top-to-bottom sweep to produce diagnostics, we request resolving the signature of the builder({...}) call first, which eventually gets us to a getTypeOfSymbol for value, which in turn requests the contextual type for the object literal. We then see that we're in the process of resolving the signature of the containing builder({...}) call, and therefore we simply report that there is no contextual type. And thus no circularity.
With the fix in this PR, we temporarily reset the resolution stack during getResolvedSignature calls. In the IDE scenario this means that the first call to getTypeOfSymbol is no longer reflected on the resolution stack, so resolution can proceed in the same manner as the regular case. Following that, the outer getTypeOfSymbol call notices that a resolved type has already been recorded, so it simply proceeds with that. No circularity, and all is well.
Fixes #57429.
Fixes #57585.

@typescript-bot test it

@typescript-bot pack this

You should be able to pull the tests from Andarist's comments, i.e. copy these ones: https://github.com/microsoft/TypeScript/pull/58323/files#diff-8814cff6472937bf39f151270b038e16552d0896cc67cb5c5382aa432c909acf
I tested locally by pulling this code into my branch and it seemed to work!

Those webpack breaks are kind of weird.
@typescript-bot test top800

@typescript-bot test it

Those webpack breaks are kind of weird

With the temporary resetting of the resolution stack, it is now possible for getReturnTypeOfSignature to resolve the same signature twice in a nested manner. When that happens we should always keep the result of the first resolution to complete, and that's now happening with the latest commit.

Could you also create a playground for this one?

@typescript-bot pack this

The new redux error is another example of a ghost error. Without this PR, the error doesn't show in command line builds, but comes and goes when viewing/editing the file in the IDE. With this PR, the error is consistently reported in command line builds and the IDE.

The new webpack [error[(https://github.com/microsoft/TypeScript/pull/58337#issuecomment-2080879375) looks legit, the internalApply function has no type annotation and is indirectly recursively called in a return statement.

I verified that this fixes the other repro that I posted in #57585 (see here). To be honest, it's kinda the same repro as the one that you already have here as tests/cases/fourslash/issue57585.ts  - it just excercices a different path leading to a problem.
I also checked effect's case reported in #57585 and this doesn't fix that problem as far as I was able to verify it manually (cc @mikearnaldi ). So after all... it was worth digging into it :D (cc @jakebailey ). I'll reduce this to a minimal repro case over the weekend and post here.

I verified that this fixes the other repro that I posted in #57585 (see here). To be honest, it's kinda the same repro as the one that you already have here as tests/cases/fourslash/issue57585.ts - it just excercices a different path leading to a problem.
I also checked effect's case reported in #57585 and this doesn't fix that problem as far as I was able to verify it manually (cc @mikearnaldi ). So after all... it was worth digging into it :D (cc @jakebailey ). I'll reduce this to a minimal repro case over the weekend and post here.

I don't seem to be able to reproduce the same issue anymore, but given it was sporadic I believe you :) hope you'll manage to get a repro which is minimal enough

I don't seem to be able to reproduce the same issue anymore

FWIW, I haven't been able to reproduce it either.

I could try to minimize this further if requested - I think it's pretty minimal already though (given the complexity of the original: Effect's codebase 😉 ):
/// <reference path="fourslash.ts" />

// @strict: true
// @target: esnext
// @lib: esnext

//// declare const EffectTypeId: unique symbol;
////
//// type Covariant<A> = (_: never) => A;
////
//// interface VarianceStruct<out A, out E, out R> {
////   readonly _V: string;
////   readonly _A: Covariant<A>;
////   readonly _E: Covariant<E>;
////   readonly _R: Covariant<R>;
//// }
////
//// interface Variance<out A, out E, out R> {
////   readonly [EffectTypeId]: VarianceStruct<A, E, R>;
//// }
////
//// type Success<T extends Effect<any, any, any>> = [T] extends [
////   Effect<infer _A, infer _E, infer _R>,
//// ]
////   ? _A
////   : never;
////
//// declare const YieldWrapTypeId: unique symbol;
////
//// class YieldWrap<T> {
////   readonly #value: T;
////   constructor(value: T) {
////     this.#value = value;
////   }
////   [YieldWrapTypeId](): T {
////     return this.#value;
////   }
//// }
////
//// interface EffectGenerator<T extends Effect<any, any, any>> {
////   next(...args: ReadonlyArray<any>): IteratorResult<YieldWrap<T>, Success<T>>;
//// }
////
//// interface Effect<out A, out E = never, out R = never>
////   extends Variance<A, E, R> {
////   [Symbol.iterator](): EffectGenerator<Effect<A, E, R>>;
//// }
////
//// declare const gen: {
////   <Eff extends YieldWrap<Effect<any, any, any>>, AEff>(
////     f: () => Generator<Eff, AEff, never>,
////   ): Effect<
////     AEff,
////     [Eff] extends [never]
////       ? never
////       : [Eff] extends [YieldWrap<Effect<infer _A, infer E, infer _R>>]
////       ? E
////       : never,
////     [Eff] extends [never]
////       ? never
////       : [Eff] extends [YieldWrap<Effect<infer _A, infer _E, infer R>>]
////       ? R
////       : never
////   >;
//// };
////
//// declare const succeed: <A>(value: A) => Effect<A>;
////
//// gen(function* () {
////   const a = yield* succeed(1);
////   const b/*1*/ = yield* succeed(2);
////   return a + b;
//// });

verify.quickInfoAt("1", "const b: number");
verify.getSemanticDiagnostics([]);

I can confirm that @Andarist's Effect repro here reproduces for me and is fixed by this PR.

I'm confused. I posted this repro after testing it on this very branch - it doesn't pass:
  1) fourslash tests
       tests/cases/fourslash/issue57585-2.ts
         fourslash test issue57585-2.ts runs correctly:

      AssertionError: At marker '1': quick info text: expected 'const b: any' to equal 'const b: number'
      + expected - actual

      -const b: any
      +const b: number

      at _TestState.verifyQuickInfoString (src/harness/fourslashImpl.ts:1863:16)
      at _TestState.verifyQuickInfoAt (src/harness/fourslashImpl.ts:1835:14)
      at Verify.quickInfoAt (src/harness/fourslashInterfaceImpl.ts:272:20)
      at eval (issue57585-2.js:72:8)
      at runCode (src/harness/fourslashImpl.ts:4613:9)
      at runFourSlashTestContent (src/harness/fourslashImpl.ts:4571:5)
      at runFourSlashTest (src/harness/fourslashImpl.ts:4554:5)
      at Context.<anonymous> (src/testRunner/fourslashRunner.ts:59:39)
      at processImmediate (node:internal/timers:478:21)

I confirmed now that I am at the correct commit and all, rerun it and it still doesn't pass 😅
> git rev-parse HEAD
abf40126d08dd8cdd1821273fdf0a258a2ec4cfe

After fiddling for a while I can confirm this still occurs, more reliably when you specify a return type

@ahejlsberg thanks ❤

Ok, now it fixes the Effect repro. Sorry for the confusion.

@typescript-bot pack this

@typescript-bot test it

Ok, now it fixes the Effect repro. Sorry for the confusion.

Thank you immensely!! This makes a lot of difference for Effect, I will test this tomorrow just to double check that in the large codebase nothing wierd happens.

Will this land in 5.4.x or do we need to wait for 5.5 to benefit from it? Thanks!

I doubt it. TS usually only backports fixes for recent regressions or other critical things.
You don’t have to wait till 5.5 though. Once this gets landed a nightly version will be released within 24h from the merge and you can start using it almost immediately

Looking at the breaks, the webpack one does look like a preexisting circularity, but the redux example doesn't look like one. Any clue what's going on there?

@jakebailey See my comment about the Redux change here.

Oops, missed both in the comment noise, though I can't say I see what the circularity is in that particular line...

Seems OK, but maybe we should abstract this concept into a helper like doOutsideOfCurrentResolutionContext...

Hmm, not so sure about that. We have just two places where we do it and all that needs to be saved/restored is the resolutionStart variable. Also, the saving/restoring is conditional, so doesn't lend itself all that well to a function with a callback.

Oops, missed both in the comment noise, though I can't say I see what the circularity is in that particular line...

I'm not sure, but it's really an orthogonal issue. It was an error before as well, just not consistently so. If there's something we can do to not make it an error, then that's probably a different feature request.

So with some help from @Andarist and @jakebailey, it seems like it was this change that was responsible for the performance hit in https://github.com/arktypeio/arktype?
{
    "checkTime": 9.68,
    "types": 483415,
    "instantiations": 2629152
}

devDependencies:
- typescript 5.5.0-dev.20240429
+ typescript 5.5.0-dev.20240430

{
    "checkTime": 12.2,
    "types": 514846,
    "instantiations": 2819487
}


why a new plugin?

This isn't really an issue, so hopefully it will be easy to resolve. :)
I'm curious why you created a new plugin rather than using one of the existing plugins with the same basic functionality? (I tried a few before settling on TabSearch.)

No one else's implementation really worked the way I wanted it to. Plus, I love building things, and building Snipe taught me a lot, having a lot of that knowledge transfer directly over to the work I do at Vimeo (specifically Music Store).


Added RecipeGenius App Idea In Intermediate Repo

Added RecipeGenius App Idea In Intermediate Repo

Added RecipeGenius App Idea In Intermediate Repo


MAPL develop is non-zero-diff to main - 2024-Sep-11

My nightly tests have informed me that some time late last week, MAPL develop became non-zero-diff to MAPL main (aka MAPL 2.47). I missed this because of other issues I was having with the tests. Fixed those and new issue exposed.
From my testing, the culprit seems to be #3007 . If I build GEOS from commit d888902b764e3c5d6cf7971eec2fe766ff3b1d2a from before that PR and compare to MAPL 2.47 it is zero-diff. If I move after that PR (say commit 677ee24867df8a8e83ce6fca94402bfcd9ac22a5), it is non-zero-diff.

This just getting bizarre. I've reproduced, from what I can tell, the same files are being read, seems be producing the same values. Even more bizarre, are say 4 time steps the model is still zero diff, but then after 30 minutes goes non-zero diff. If I /dev/null enough out in the sulfate component it goes zero-diff. But this doesn't make sense because most of the GOCART items have this only update once a day thing. So after the first step ExtData won't touch the pointers until and the next day, and I have confirmed with prints!

Update: I looked at the nightly tests and it looks like it is AMIP GOCART that has the issue and not Ops:
Full Log File: /discover/nobackup/mathomp4/SystemTests/logs/AGCM/2024-09-11/log.MAPL.00:20:05

Runtype         Clone Build Build Time Ctest/Run Run/Comp/ESMF  Regress/LT/SS  MAPL Comp Remap Run/Comp SCM Run/Comp NAS Xfer NAS Comp
-------         ----- ----- ---------- --------- -------------  -------------  --------- -------------- ------------ -------- --------
mapldev         pass  pass  26 min      -- / --  pass/FAIL/pass pass/pass/pass FAIL      pass/pass      pass/FAIL    pass      --
mapldevdebug     --   pass  17 min      -- / --  pass/FAIL/pass  -- / -- / --  FAIL       -- / --        -- / --     pass      --
mapldevrep       --    --    --         -- / --  pass/FAIL/pass pass/pass/pass FAIL       -- / --        -- / --     pass      --
mapldevrepnoinc  --    --    --         -- / --  pass/FAIL/pass pass/pass/pass FAIL       -- / --        -- / --     pass      --
mapldevops181    --    --    --         -- / --  pass/pass/pass pass/pass/pass pass       -- / --        -- / --     pass      --
mapldevmom6      --    --    --         -- / --  pass/FAIL/pass  -- / -- / --  FAIL       -- / --        -- / --     pass      --

The Ops emissions test worked.

I think I figured it out. I think I broke this "flipping" we do in certain cases. It was part of the vertical stuff I said, we don't need cause that's going to be completely redone, well, apparently that was used in some of our current files.

Good job!

So I guess what this means is that the ExtData flipping is something we only do in AMIP emissions? Or maybe we got lucky with how the ops is set up?
GOCART is still a bit of a black box to me :)


remove mandatory dependency on udp statsd

We shouldn't have 2 conduits sending similar information between envoy and the mixer pod(s), half through grpc report calls and half through udp statsd
or at least the udp statsd part needs to be easy to turn off
(eg istioctl kube-inject --statsdAddress=none ...)
We need also to offer the option to switch to tcp (but again, we should really not have 2 different conduits from envoy to mixer pod, mixer client should probably carry that information instead)
This came up in part in https://github.com/istio/issues/issues/84

@geeknoid  please assign this issue if it is still considered P0.

is this covered now in helm ? @linsun do you know ? (turning off udp statsd easily and/or switching to tcp)

There is another open issue that is related to configuring envoy metrics output: https://github.com/istio/issues/issues/295
until we have mixer direct api support, there is no path for eliminating the gathering of envoy metrics in a manner distinct from mixer-generated metrics.

@cmluciano i believe those logs are harmless (or, at least they were).

this came up again today in Perf WG: having a single channel of telemetry data flowing from envoy container instead of 2 would be good.

Yup. And work is still scheduled for that, it is just slightly lower priority than all the other P0s ;p.

I think this is still relevant cc @douglas-reid @mandarjog

@cmluciano a PR went in a few days ago that removes the dep on udp statsd. there is some more work to be done to refine the initial patch, but I'd say it is probably ok to close this issue for now.


Instructions to upgrade from v7.x => v10.x

Fantastic work on including webpacker, I've been following along on all your work on this project and on webpacker in discussions with the Rails team and it's admirable all the effort you folks have put in.
I'm now keen to upgrade!
In the blog post Introducing React on Rails v9 with Webpacker Support you announced "My next article will document migration details of moving from v7 or earlier to v9."
I think Im not alone in saying that migrating from the original react_on_rails to the new world that integrates with webpacker is daunting and would appreciate this step by step guide so I can get up-to-date with the project as I'm suddenly (for good reason) 3 versions behind.
Personally I've even (probably unnecessarily) held back to stay on Rails 5.0 so as not to have to worry about Webpacker in Rails 5.1 possibly interfering with React On Rails until I knew that the new React On Rails release was live.
Would love a step by step guide to migrating.
Thanks!

@evolve2k Let me know if is sufficient: https://github.com/shakacode/react_on_rails/blob/master/docs/basics/upgrading-react-on-rails.md
If not, I'll reopen this issue.


Thumbnails not created for Day Images

The Thumbnail creation does not exists for day images.
It may be also very unsave to create the Filename twice with the current date.
Here is my saveImageDay.sh:
#!/bin/bash
source $ALLSKY_HOME/config.sh
source $ALLSKY_HOME/scripts/filename.sh
source $ALLSKY_HOME/scripts/darkCapture.sh
source $ALLSKY_HOME/scripts/ftp-settings.sh

cd $ALLSKY_HOME

# If we are in darkframe mode, we only save to the dark file
DARK_MODE=$(jq -r '.darkframe' "$CAMERA_SETTINGS")

if [ $DARK_MODE = "1" ] ; then
        exit 0
fi

IMAGE_TO_USE="$FULL_FILENAME"

# Crop the image around the center if required
if [[ $CROP_IMAGE == "true" ]]; then
        convert "$IMAGE_TO_USE" -gravity Center -crop "$CROP_WIDTH"x"$CROP_HEIGHT"+"$CROP_OFFSET_X"+"$CROP_OFFSET_Y" +repage "$IMAGE_TO_USE";
fi

cp $IMAGE_TO_USE "liveview-$FILENAME.$EXTENSION"

# If 24 hour saving is desired, save the current image in today's directory
if [ "$CAPTURE_24HR" = true ] ; then
	CURRENT=$(date +'%Y%m%d')

    TFILENAME="$(date +'%Y%m%d%H%M%S').$EXTENSION"

	mkdir -p images/$CURRENT
	mkdir -p images/$CURRENT/thumbnails

	# Save image in images/current directory
	cp $IMAGE_TO_USE "images/$CURRENT/$TFILENAME"

    # Create a thumbnail of the image for faster load in web GUI
    if identify $IMAGE_TO_USE >/dev/null 2>&1; then
        convert "$IMAGE_TO_USE" -resize 100x75 "images/$CURRENT/thumbnails/$TFILENAME";
    fi
fi

# If upload is true, create a smaller version of the image and upload it
if [ "$UPLOAD_IMG" = true ] ; then
	echo -e "Resizing"
	echo -e "Resizing $FULL_FILENAME \n" >> log.txt

	# Create a thumbnail for live view
	convert "$IMAGE_TO_USE" -resize 962x720 -gravity East -chop 2x0 "$FILENAME-resize.$EXTENSION";

	echo -e "Uploading\n"
	echo -e "Uploading $FILENAME-resize.$EXTENSION \n" >> log.txt
	lftp "$PROTOCOL"://"$USER":"$PASSWORD"@"$HOST":"$IMGDIR" -e "set net:max-retries 1; set net:timeout 20; put $FILENAME-resize.$EXTENSION; bye" &
fi

CS

Thanks for catching that. I just pushed a fix for it. https://github.com/thomasjacquin/allsky/commit/857e15b2053bbe2fab0b73fb796d922d7a6d2620

Hi, i have just seen, that my changes did not add the image- to the filenames ...
you shoudl change
TFILENAME="$(date +'%Y%m%d%H%M%S').$EXTENSION"  to TFILENAME="image-$(date +'%Y%m%d%H%M%S').$EXTENSION"

Actually, image is a variable. it is coming from the camera settings and is used in the shell scripts under the name $FILENAME so I ended up adding the same logic as during night time.


[Feature Request] Built in port knocking

I was hoping you could put in a port knocking feature that supports parameters in the config file.
Use Case would be to have firewall block external requests unless the appropriate knock is used.
This would secure proxmox a little more.   at least to external port scans without the need to reverse proxy the server.
I'll see if I can do a pull request.  no promises as I'm not familiar with python.

Do you still need this feature?

It would be helpful to secure the setup. It allows to block the ports then
open them with the correct knock only to the appropriate IP addresses.
On Fri, Oct 13, 2023, 5:42 PM joshpatten @.***> wrote:

Do you still need this feature?
—
Reply to this email directly, view it on GitHub
https://github.com/joshpatten/PVE-VDIClient/issues/29#issuecomment-1762258245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUH3CIFZKODA2B7PLI5KKDX7GYUZAVCNFSM57IIWBQKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZWGIZDKOBSGQ2Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

So I don't want to get too complicated with this, would your requirements be as simple as hitting, say, 3 different IP/Port combinations with a single TCP connect attempt in a row?

TCP or udp yes

https://github.com/grongor/knock
This python script is already made I just don't know how to pull it into vdi client.

I see pieces of this in the code to perform knocking  is any of it ready for testing?  Lines 179 and 201 .


Yatin: Watch licensekey4u.co

Yatin requests the watch of the watch_keyword licensekey4u\.co. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

licensekey4u\.co has been seen in 1 true positive, 0 false positives, and 0 NAAs.

licensekey4u\.co has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ

Approved by cigien in Charcoal HQ


Fixing timestamp so writing to azure works

This has fixed the write errors to azure tables.
I'm now able to debug why tests aren't working while I sort out the most efficient way to flatten the body.

Published in 0.3.8 version of nitrogen-azure-providers module


⚠ Secret Website 3 has degraded performance

In 1a67883, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2617 ms

Resolved: Secret Website 3 performance has improved in f51d0e1.


Issue with macro and any AsyncSequence

Description
With eraseToStream() now being deprecated, I was switching my dependencies over to any AsyncSequence<Element, Failure and found that using .never no longer works (expected), and that switching to AsyncStream.never causes a compiler error.
It appears to be some interaction between the macro and unimplemented, as:
Without the macro
struct Example {
  var exampleSequence: () -> any AsyncSequence<Int, Never> = {
    unimplemented(
      "",
      placeholder: AsyncStream.never
    )
  }
}

and without unimplemented
@DependencyClient
struct Example {
  var exampleSequence: () -> any AsyncSequence<Int, Never> = {
    AsyncStream.never
  }
}

both work
but
@DependencyClient
struct Example {
  var exampleSequence: () -> any AsyncSequence<Int, Never> = {
    unimplemented(
      "",
      placeholder: AsyncStream.never
    )
  }
}

causes a compiler error.
Also worth noting that explicitly casting AsyncStream.never as any AsyncSequence<Int, Never> builds, but is obviously unergonomic to cast like that in every unimplemented method
Checklist

[X] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[X] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
Above example compiles
Dependencies version information
1.5.2
Destination operating system
macOS 15
Xcode version information
16.1
Swift Compiler version information
swift-driver version: 1.115 Apple Swift version 6.0.2 (swiftlang-<IP_ADDRESS>.2 clang-16<IP_ADDRESS>)
Target: arm64-apple-macosx15.0

@brzzdev Thanks for the report! I just looked into it, and it looks like it's a Swift bug.
You can repro using just the @DependencyEndpoint macro:
struct Example {
  @DependencyEndpoint
  var exampleSequence: () -> any AsyncSequence<Int, Never> = {
    unimplemented(
      "",
      placeholder: AsyncStream.never
    )
  }
}

Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.

I'd recommend filing a bug with Swift if you can!
While we're open to local workarounds to fix the issue, we probably won't have time to investigate ourselves. In the meantime I'd probably recommend not using unimplemented here and instead reproduce what it does, which is probably shorter and more understandable:
struct Example {
  @DependencyEndpoint
  var exampleSequence: () -> any AsyncSequence<Int, Never> = {
    reportIssue()
    return AsyncStream.never
  }
}


Update soroban-cli to v0.1.2

What
Update soroban-cli to v0.1.2.
Why
https://github.com/stellar/soroban-cli/releases/tag/v0.1.2

Something went wrong with PR preview build please check


Crash when decompiling (file attached)

Probable regression found during the tests with viper: https://travis-ci.org/viper-framework/viper/jobs/251812309#L1195 (I re-ran the tests after removing the cache and using the HEAD of androguard)
The related file is available here: https://github.com/viper-framework/viper-test-files/blob/master/test_files/hello-world.apk?raw=true

I tried to replicate the bug with this script:
from androguard.misc import AnalyzeAPK
a,d,dx = AnalyzeAPK(r"D:\Downloads\hello-world.apk")
print(a, d, dx)

for c in d.get_classes():
    print(c.get_source())

But it seems to work? Can you test with the latest master or create a short script how I can replicte the bug?

It is still failing, even after deleting the caches: https://travis-ci.org/viper-framework/viper/builds/270385120
I don't have much time today to investigate but I'll have a look later.

Nevermind, I looked at your code and found at least the issue:
from androguard.misc import AnalyzeAPK
from androguard.decompiler.dad.decompile import DvMethod
a,d,dx = AnalyzeAPK(r"D:\Downloads\hello-world.apk")
print(a, d, dx)
c = d.get_class("Landroid/support/annotation/RestrictTo$Scope;")

for m in c.get_methods():
    if m.get_name() == "valueOf":
        met = m
    if m.get_name() == "values":
        met2 = m

mx = dx.get_method(met2)
ms = DvMethod(mx)
ms.process()

mx = dx.get_method(met)
ms = DvMethod(mx)
ms.process()

In decompiler.dad.dataflow group_variables, the thing fails because the list contains int and str:
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.1.4\helpers\pydev\pydevd.py", line 1591, in <module>
    globals = debugger.run(setup['file'], None, None, is_module)
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.1.4\helpers\pydev\pydevd.py", line 1018, in run
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.1.4\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/Users/bachmann.s/PycharmProjects/androguard/buggyapks.py", line 27, in <module>
    ms.process()
  File "C:/Users/bachmann.s/PycharmProjects/androguard\androguard\decompiler\dad\decompile.py", line 147, in process
    split_variables(graph, self.var_to_name, def_uses, use_defs)
  File "C:/Users/bachmann.s/PycharmProjects/androguard\androguard\decompiler\dad\dataflow.py", line 359, in split_variables
    variables = group_variables(lvars, DU, UD)
  File "C:/Users/bachmann.s/PycharmProjects/androguard\androguard\decompiler\dad\dataflow.py", line 331, in group_variables
    for var, loc in sorted(DU):
TypeError: '<' not supported between instances of 'str' and 'int'

The list looks like this:
x = defaultdict(list, {(0, 0): [1], ('tmp1', 1): [2], (0, 2): [3], (0, 3): [4]})

and you can workaround by setting a custom sorter and cast everything to str:
sorted(x, key=lambda x: (str(x), str(x)))

When using c.get_source(), the exception is masked by the Exception handler in DvClass.process - see also #232
I need to investigate what is expected here and what the tmp1 variable does...
@Lircyn is it correct that the list should be sorted like this:
defaultdict(list, {(0, 0): [1], ('tmp1', 1): [2], (0, 2): [3], (0, 3): [4]}) --> [('tmp1', 1), (0, 0), (0, 2), (0, 3)]

Okay, there is more. When applying the sorting it fixes it for countless methods, but then a new error appears, which was probably masked by the sort error:
Traceback (most recent call last):
  File "C:/Users/bachmann.s/PycharmProjects/androguard/buggyapks.py", line 25, in <module>
    ms.process()
  File "C:\Users\bachmann.s\PycharmProjects\androguard\androguard\decompiler\dad\decompile.py", line 151, in process
    place_declarations(graph, self.var_to_name, def_uses, use_defs)
  File "C:\Users\bachmann.s\PycharmProjects\androguard\androguard\decompiler\dad\dataflow.py", line 466, in place_declarations
    if (not isinstance(dvars[var], Variable) or
KeyError: 'tmp2'

I guessed now a lot and this commit seems to fix it:
https://github.com/reox/androguard/commit/6a913f05833a49bf681b481cfab0d7ef388e5116
I can decompile the APK now without any problems.
I also removed the exception handler in DvClass.
@Lircyn do you have by chance some time to review it?

@Rafiot can you check against the latest master? I believe this one is fixed now.

Looks good: It works fine in python3.4 to 3.6.
But fails with python2.7: https://travis-ci.org/viper-framework/viper/jobs/270385121#L1277

thanks for testing! Seems like in python2.7 it is not a str... anyways - i fixed it now and also added this as a testcase. It looks good: https://travis-ci.org/androguard/androguard/builds/273253145
And we have now 2100 more testcases :D

I merged it into master btw. You might want to test it again on your side.

Nice! I love test cases :)
It works on my end, thank you very much for the fixes.


move initial account checking to Route component

Your PR Server URL is https://near-wallet-pr-120.onrender.com.
Follow its progress at https://dashboard.render.com/web/srv-bl0tr88rvnps3kfbl230.
Cheers,
The Render Team


Question about the minimum GPU required for this project

May I ask if anyone who has successfully trained this model can provide guidance on whether V100-32GB can successfully train this project? How long does it take for training?

No, the GPU memory needs to be at least 80G


Use more Lab core components

Is your feature request related to a problem? Please describe.
The monolithic react component makes it very difficult to unwrap when something goes wrong and is not easily extensible by third- or first-party code without a prescriptive API. Additionally, hand-coding things to look like core components loses out on some of the benefits provided by lab, e.g. accessibility and themability improvements.
As a case in point, develop has currently picked up the seemingly-endemic issue of input tags thrashing on focus when value change.
Even if it was extensible, and robust, it would demand whatever downstream provider was using would need to be written in react.
Describe the solution you'd like

Reorganize the top-level structure of the extension to use more core lab components

the top-level widget is a plain-old MainAreaWidget (with a regular toolbar, etc.)

this will improve "active" management, etc.

use the lab IFrame for the actual VideoChat

should further clean up the CSS and mouse behavior

update the  provider API (unreleased anyway) more like other lab patterns, with a createNew for room listing and creation
move the various room UIs into their plugins

many of the leaf components will still be react-based tsx, but use lab's VDomRenderer

Describe alternatives you've considered

somehow make react more composable
went down this route, and didn't find a lot of existing patterns that felt very good... this made the various Props objects even longer
drop react altogether

again, already stuck with it in lab, and straight lumino or vanilla dom is annoying

Additional context

branch: develop
this is similar to the effort on jupyterlab-pullrequests

This is mostly done now... to get all the way to e.g. a mimerenderer would take a bit more, but it's much better as of v0.6.0.


feat(test-tooling): add Containers#newUniqueNetwork(prefix)

Is your feature request related to a problem? Please describe.
Some tests require that containers depend on each other which can no longer be done with the docker link feature because it has been deprecated and it cannot be done by directly addressing the internal IPs of the containers because macOS has that feature of Docker broken for mac users, so what we are left with is the PublishAllPorts flag that binds to random host ports which would work great if it actually did what it's supposed to do even when network=host (which we need because we can only address localhost from within the containers due to the double-whammy explained above).
Not even sure if this will end up working on macOS or not, but let's see.
Describe the solution you'd like
A utility method in the Containers class that can create docker networks for test cases without too much hassle. E.g. I do not want to have to check the network name for uniqueness in my code, I just want a utility method that does all that so that I can focus on writing my tests knowing that there's a non-flaky way of creating new networks that will not have a naming conflict.
Describe alternatives you've considered
Considered dropping support for tests on macOS, which is still in the cards, but let's see.
Additional context
Encountered this while working on the rust keychain plugin for vault (which is at the same time a PoC for the language independence spike)
cc: @takeutak @sfuji822 @jonathan-m-hamilton @hartm

Never mind, it actually works for the particular test case I was working on without having to define a separate docker network because the containers that depend on each other can use their private IP addresses, it's only an issue when the host tries to address the docker containers on macOS, not when the containers are addressing each other (just tested this on a mac and it works).

Never mind, it actually works for the particular test case I was working on without having to define a separate docker network because the containers that depend on each other can use their private IP addresses, it's only an issue when the host tries to address the docker containers on macOS, not when the containers are addressing each other (just tested this on a mac and it works).


Why is the Makefile so complex?

Do you have a fetiche for complexity or is there a reason I am missing about why is the Makefile so complex? Why not using npm scripts, a simple .sh script or a Brocoli salad?
Cheers! :smile:

The Makefile is for make release. npm scripts are great, and both make and npm is a better and simpler approach than anything else.
This is a standard Makefile I use across many projects.