Suggestions for removing confusion around the configuration settings using Docker Compse

I find sorting out where to set configurations (mostly environment variables) very confusing and I don't really trust where to put the changes.  There are multiple places env. variables are listed, and it's confusing where to put things -- and what has to happen (build? restart?) to make the changes take effect.
I'd like to suggest the following changes:

remove from the ./manage script the prompting and on the fly creation and (especially) the removal of the .env file.
replace with have a env-example (no leading ".") file with comments about how to adjust it for common use cases -- e.g. the same info as on the command line prompt. Document that the file should be copied to .env and edited before running.
In the docker-compose.yaml file --- set the env variables to match their names (e.g., OIDC_CONTROLLER_DB_USER=${OIDC_CONTROLLER_DB_USER}).  Avoid using different env var names (e.g. avoid this DB_HOST=${MONGODB_HOST})
In the .manage file, set all of the variables with default settings.
In the env-example (the starting .env) include the commonly overridden variables, commented out and more comments on how to use the setting.

Include in the documentation (comments) where a variable changed in the env file needs to be changed elsewhere to match -- e.g. database passwords that are defaulted, but that are in multiple files.

Right at the end of the ./manage section that sets all the variables, load the .env file to override anything.

Nice to have would be to not repeat all the variables in the docker compose and ./manage file, but I doubt there is much can be done about that.

Thanks for the input @swcurran, will review and see what we can do.
A couple of notes:

Helm will need to be 1-to-1 with docker-compose: their task is the same, but with different scopes in mind (Helm is for k8s/production, docker-compose for local experimenting and development inmost cases)
We will still need to have a manage script that sets variables to be able to use ngrok, since that needs to happen on the fly every time the project is started

Agreed.  Not eliminating the manage script — just formalizing its role to set all of the defaults before all the overrides are applied.  Agreed the ngrok processing should still be in the manage script.

@gurjmatharu FYI while you comb through the project and docs, this might provide some extra context/inspiration.

@gurjmatharu was this addressed (in full or partially) in the review you did a few weeks back, or do we still need it open?

This still needs to be addressed I believe.  When I went through the repos getting started was difficult so these changes could help.


Disable field manage metadata

Morning David,
how disable a field manage metadata?

Should work the same way as other fields, are you experiencing an issue?

This is my field:

Not sure... can you post a screenshot of the field configuration (Edit the field) and what it looks like BEFORE running this code? This'll help me level set what's going on.

That all looks good. What's happening exactly? Is it erroring? Have you tried using it like Lozzi.Fields.disable("TestSharePointMEtaDados")?


Duplicate Achievement Name Grabs Incorrect Image

I have Destiny 2 and Assassin's Creed Revelations in my Library and they both have an achievement titled "Seal the Deal".
Destiny 2 is using the image from Assassin's Creed Revelations seen here:

This is similar to #122.

Yeah, I'm getting the same issue with the Jack of all trades achievement from Mass Effect Andromeda and Battlefield 5, both are using the Battlefield 5 images.


Pass the original error as the second argument of fail() handler. (fixes #373)

@gajus this is great \o/ two small requests:

one could you submit the pull against the v4 branch? we're very close to releasing the next major version of yargs.
could you add a test in test/usage.js for this new behavior?

one could you submit the pull against the v4 branch? we're very close to releasing the next major version of yargs.

@bcoe I think this requires closing this PR and opening a new one. Right?

@bcoe Done, https://github.com/bcoe/yargs/pull/382.


[dataSource] doesn't detect changes automatically

When I change the data sources array, the dropdown doen't change its old values.
Here's an example:
let dS = ["a", "b"];
setTimeout(()=>{
       dS = ["c"];
}, 5000);

<ng2-completer [disableInput]="isDisabled" [ngModel]="value" [datasource]="dS" [minSearchLength]="0" [openOnClick]="true" (selected)="onSe    lectedItem($event)" (opened)="onBlur($event)"></ng2-completer>

After 5 secons, the dropdown options still being ["a", "b"].
Is there another way of achieving this?

Hi,
can you provide a plunker that reproduces it?

I'm not sure if the topic starter still has this issue, but I am able to reproduce this issue. Updating the source data when using LocalData doesn't update the dropdown. See this plunk and the comments on lines 40 and 43.
So the question remains: how to update local data such that the dropdown reflects this?
(My particular scenario is a pair of dropdowns, where the selection of the first dropdown determines the data set of the second dropdown).

Having the same problem, I've got a dropdown with some items. If I click on item 1, I'm passing values to searchData array.
When I click on item 2, I'm also passing values to searchData.
Problem is here, that if I pass first set of data, click on input and then pass the second set of data, my input doesn't detect changes in ng2-completer dropdown. I have to push a keyboard key and then my ng2-completer dropdown shows new values.
@daanstolp , @oferh  any solutions for this?

same problem here

Same issue here @daanstolp @Bloodcast69 @poolpo @Zakaria59
I'm using a local dataService. Depending on what type of profile the user has selected on my app, my completer loads different sets of data. But it won't actually update the dropdown items until the dropdown is focused and I start typing.
Any solutions? Or are there any other recommended plugins that have this functionality?

You can use  Subject items
Example:
`protected cities: Subject<City[]> = new Subject();
constructor(  private completerService: CompleterService  ) {
this.dataService = this.completerService.local(this.cities, 'name', 'name');
}
`

glad i searched just after wasting 20 minutes


About multi-scale testing

Hello, thank you very much for your great work. Can you provide your multi-scale test code?

Thanks! Due to the policy in the company, I can't share the code with you right now. After a code review in my company, I will release it asap.  Specifically, we follow the multi-scale evaluation method as CFBI and directly average the probability map of several scales and use an argmax function for the final ensemble.
By the way, you can find that the multi-scale testing only brings a minor gain for our model. I think simply conducting an averaging operation is not an optimal way for the ensemble.

Ok, thanks! Looking forward to your code!


Fail to generate conformers for a molecule with fused rings

Describe the bug
Fail to generate conformers for a given molecules with fused rings
To Reproduce
from rdkit.Chem import AllChem as Chem

smiles = "C[N@@H+]1[C@H]2C[C@@H](C[C@@H]1[C@@H]1O[C@@H]12)OC(=O)[C@H](CO)C1C=CC=CC=1"
m = Chem.MolFromSmiles(smiles)
Chem.EmbedMolecule(m)
print(m.GetConformers())

Expected behavior
a conformer is generated
Screenshots
If applicable, add screenshots to help explain your problem.
Configuration (please complete the following information):

RDKit version: 2019.09.3
OS: Amazon Linux 2
Python version (if relevant): 3.7.10
Are you using conda? yes
If you are using conda, which channel did you install the rdkit from?
If you are not using conda: how did you install the RDKit? conda install

Additional context
Add any other context about the problem here.

This is quite an old version of RDKit.  However, you should always add hydrogens.  The following works in rdkit 2022.03.4
>>> import rdkit
>>> rdkit.__version__
'2022.03.4'
>>> from rdkit import Chem
>>> from rdkit.Chem import AllChem
>>> m = Chem.MolFromSmiles("C[N@@H+]1[C@H]2C[C@@H](C[C@@H]1[C@@H]1O[C@@H]12)OC(=O)[C@H](CO)C1C=CC=CC=1")
>>> m = Chem.AddHs(m)
>>> AllChem.EmbedMolecule(m)
0
>>> m.GetNumConformers()
1
>>>


API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503)

Example URL(s)
API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503)
Actual Behavior
API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503)
Expected Behavior
API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503)
Additional information
API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503)

Hi @candicenuco,
Due to an ongoing incident, the Stream API is currently unavailable.
You can check for updates on this situation at https://www.cloudflarestatus.com/.

Hi Pedro
Thanks for the quick response. What is the lead time for this fix please and how often does this happen please ?
https://nucoauctioneers.com/
Candice van Staden

IT & Marketing Manager | NUco Auctioneers
https://www.mailer.nucoauctioneers.com/email-signature/phone.png
tel:0112068963 +27 11 206 8963/4/5
https://www.mailer.nucoauctioneers.com/email-signature/email.png
@.> @.
https://www.mailer.nucoauctioneers.com/email-signature/link.png
https://www.nucoauctioneers.com www.nucoauctioneers.com
https://www.mailer.nucoauctioneers.com/email-signature/pin.png
https://g.page/Nucoauctioneers?share 127 Sterkfontein Avenue, Centurion, 1665, South Africa
https://auction.nucoauctioneers.com/
https://www.facebook.com/nucoauctioneer
 <https://twitter.com/NucoAuctions>

 <https://za.linkedin.com/company/nuco-auctioneers>

 <https://www.instagram.com/nuco_auctioneers>

 <https://www.youtube.com/channel/UC_pZrFYdg3Oak9pBQ7P2N9Q>

TRANSMITTED ELECTRONICALLY WITH NO SIGNATURE. The information in this email is confidential and may be legally privileged. It is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking action in reliance on the contents of this information is strictly prohibited and may be unlawful. NUco Auctioneers is neither liable for the proper, complete transmission of the information contained in this communication nor any delay in its receipt. This notice is deemed to form part of this communication in terms of Section 11 of the Electronic Communications Act 25 of 2002 of South Africa.
From: Pedro Sousa @.>
Sent: Friday, November 3, 2023 1:08 PM
To: cloudflare/cloudflare-docs @.>
Cc: candicenuco @.>; Mention @.>
Subject: Re: [cloudflare/cloudflare-docs] API Request Failed: GET /api/v4/accounts/a1997e54a29d52f355262fd649879200/stream (503) (Issue #11634)
Hi @candicenuco https://github.com/candicenuco ,
Due to an ongoing incident, the Stream API is currently unavailable.
You can check for updates on this situation at https://www.cloudflarestatus.com/.
—
Reply to this email directly, view it on GitHub https://github.com/cloudflare/cloudflare-docs/issues/11634#issuecomment-1792249580 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AYL5IU3FBU2UMQ6EIADJAPLYCTF7TAVCNFSM6AAAAAA64H7QG2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJSGI2DSNJYGA .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AYL5IU43DKMBKIFUD64MAM3YCTF7TA5CNFSM6AAAAAA64H7QG2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTK2OHOY.gif Message ID: @.*** @.***> >

I'm afraid we can't provide status updates in this repository, since we only address documentation updates.
You can check the following page for any news regarding this incident:
https://www.cloudflarestatus.com/incidents/hm7491k53ppg


maxBufferLength not correct on play m3u8 index file

Browser: chrome 51.0.2704.103 m
OS: win10
Clappr Version: 0.2.25
Steps to reproduce:
use m3u8 index file, and setting maxBufferLength = 5s
EXTM3U
EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1024000
sample.m3u8
EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=512000
sample.low.m3u8
but all .ts files downloaded.

if i use sampe.m3u8 , maxBufferLength is correct.

@jindongyi011039 are you able to repeat the same problem at http://dailymotion.github.io/hls.js/demo/ ?

Had the same issue but the latest 0.2.64 solved it for me with an updated calculation for maxBufLen. In older versions maxBufLen seemed to screw up with size in bytes or seconds and came up with the minimum of 600 seconds and 60MByte, which was defacto ALL for short clips...
However, to adust the buffer length, it is necessary to set the option inside hlsjsConfig instead of the global maxBufferLength-Option (which gets not transferred)
	source: 'yourHLSSource' ,
	hlsjsConfig: {
			maxBufferLength: 20
	 }

See https://github.com/clappr/clappr/issues/689 for details

Please try
source: 'yourHLSSource' ,
hlsjsConfig: {
    maxMaxBufferLength: 20 // set 20 sec
}

Default maxMaxBufferLength is 600 seconds.
it works on 0.2.64

+maxMaxBufferLength
-maxMaxBufferLength

Any updates?

Closing due to inactivity. If the problem persists, we reopen.


Keep getting "Try again..." in logs after token expires

I'm using firebase which uses tokens that expire after 1 hour.
In my code when going to make a call to hasura before making the call I check the expiry time of the token and will refresh it if it's about to expire.
That's all working fine.
My issue is that if I've got some subscriptions going and leave the app for an hour, I start getting "Try again..." repeated in the logs every 2 seconds.
Is this because the websockets fail once the token expires even though I've not made any direct calls to any new queries/mutations etc?
Can you think of a way to stop this happening?

for reference, I've ended up adding a WidgetsBindingObserver to stop listening to all streams when the app goes into the background and then set them up again when it resumes.
I've also put in a periodic timer while in the app that fires once every 55 minutes to obtain a new token and change the token in hasuraConnect

Thanks I have the same issue, guess I'll have to do something similar. I wonder if there is a better solution

Hi would you be able to elaborate how you solved it for the subscriptions, I am facing the same issue


[search=documents] Publish samples for beta release

Packages impacted by this PR
Issues associated with this PR
search-documents
Describe the problem that is addressed by this PR
Publish samples for v12-beta
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Added unavailable for new class function

Incorporated the following lines to all functions that does not allow init function.
+ (instancetype)new NS_UNAVAILABLE;

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@aranjan any update on the CLA?

@NickEntin I'm still having trouble with CLA. Its not been approved yet. Not sure if there is any way to get this manually reviewed by someone?


A child's Opacity parent shouldn't be hit if the child hasn't been hit.

One example of this is wrapping a Circle with an Opacity.  The Circle has a circular hit region while the Opacity has a square hit region that currently could be hit in the corners around the Circle.
Instead of the Opacity being hit in those cases, whatever is behind the Circle should be hit.

Where are you attaching the listener in this example?

LIstener wrapping Opacity wrapping Circle.

This currently isn't blocking for Pink Sky.


[rv_dm,dv] Weaken IDCODE check

I think this is a (very minor) bug in the riscv-dbg RTL. Reported upstream at https://github.com/pulp-platform/riscv-dbg/issues/170.

I agree. I'll follow up on that on the PULP side ("I'm not sure this is a bug, because..."). But the DV change here is definitely needed.


Fix xref links internal to document

Example cowboy_stream manual has links like https://ninenines.eu/docs/en/cowboy/2.0/manual/headers_command
We got [[headers_command]] linked to by an xref in the document, but the Makefile that builds the docs for ninenines.eu replaces xref with a link. Bummer.
There is an alternative syntax for xrefs that I could use, but it's not supported when generating manuals (yet) so I'm opening this ticket instead. Whenever they're supported, replacing the faulty xrefs with <<headers_command>> and that should make it work everywhere.

Done.


chore(Algebra): use newly introduced finset notation

For s : Finset α, replace s.card with #s, s.filter p with {x ∈ s | p x}, ∑ x ∈ s.filter p, f x with ∑ x ∈ s with p x, f x. Rewrap lines around and open the Finset locale where necessary.

maintainer merge


Change rectangle body to circle

HI,
I am having a chain with rectangle bodies. i am having 90 bodies in that chain. I have to change a single body of that chain to circle. Is there any way to do this? Thanks in advance.

Remove the constraints from the old body and attach them to the new body should work.

I am having a chain as follows.
chain = Composites.stack(xPosition, yPosition, 90, Rows, columnGap, rowGap, function (x, y, column, row) {
return Bodies.rectangle(x, y, 1, 1, {
groupId: groupId,
restitution: restitution,
frictionAir: airfriction,
friction: friction,
frictionStatic : frictionStatic,
density: density,
render: {
lineWidth: 0,
sprite: {
texture: chainImg,
xScale: 0.3,
yScale: 0.3
}
}
});
});
Composites.chain(chain, xOffsetA, yOffsetA, xOffsetB, yOffsetB, {
length: 0.1,
render: {
lineWidth: 0,
visible: false,
},
});
I have to change the chain's 30th body to circle from rectangle.

Do var chain = Composites.chain(...). Then you can get the 30th body like so var body = chain.bodies[29], then get the 29th constraint in the chain like this var constraint = composite.constraints[28] and then do Composite.remove(chain, body), then add the rectangle body and then set constraint.bodyB = rectangle.


Restart necessary when install

You have to restart anki when install otherwise the config won't launch

Same when updating addons
You have to restart for the new version


[AVCe, HEVCe] Fix for Default BufferSizeInKB calculation

Issue: 49068
Test:  manually (beh test is needed)
If BufferSizeInKB==0 && InitialDelayInKB!=0
then BufferSizeInKB should be set >= InitialDelayInKB

@ogolikov : can you, please, rebase and push again? CI build fail because your code base miss one of the patches....


Twig framework for templates

Is anyone try to use framework with twig templating framework?

Not that I am aware of, but it should be trivial to wrap a wrapper and use it instead of the build in view handler.

@clphillips
Yes I think so I'm currently playing in that direction :)


Class MagneticBearingElement was created

This class creates a magnetic bearing element.
The element can be created by:

defining directly the stifness and damping coefficients with the method init;
defining the magnetic parameters g0, i0, ag, nw, alpha and the porportional and derivative gains of a PID controller  kp_pid, kd_pid with the method param_to_coef.

The reference for the equations is:
Book: Magnetic Bearings. Theory, Design, and Application to Rotating Machinery
Authors: Gerhard Schweitzer and Eric H. Maslen
Page: 84-95 (magnetic parameters) and 354 (PID gains)

@davidjgm you need to run black and isort with your code.


JWT testing

Added malformed input test
Fixed a bug that made all the tests pass without properly checking

Codecov Report

Merging #76 into master will decrease coverage by 0.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #76      +/-   ##
==========================================
- Coverage   61.14%   60.78%   -0.37%
==========================================
  Files          34       35       +1
  Lines        1256     1275      +19
  Branches      332      335       +3
==========================================
+ Hits          768      775       +7
- Misses        487      499      +12
  Partials        1        1

Impacted Files
Coverage Δ

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

packages/app/src/response.ts
100.00% <0.00%> (ø)

packages/send/src/sendFile.ts
25.00% <0.00%> (ø)

packages/app/src/extend.ts
94.44% <0.00%> (+0.32%)
:arrow_up:

Continue to review full report at Codecov.

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


Updates to headings styles

Description
Made some minor edits to the headings in order to more clearly distinguish H4 from regular text, which has proven somewhat problematic, especially because H4s do not appear in the floating TOC.
Also added a "special" H6 that could potentially be used in CLI reference docs for the "Description" "Values" "Examples" sections. This change is mostly a placeholder, is still up for discussion, and is not being implemented in practice yet.
Motivation and Context

Types of changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[ ] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Thanks @spider-sauce. I actually snuck these changes in with the big giant "waa" branch updates because I needed them for the CLI doc changes, so I will just close this PR as a duplicate.


Simple block_on that doesn't just spin

Would esp-hal be interested in having a simple block_on that uses waiti/wfi to waits for futures?
I've been using embassy-futures::block_on for simple projects and tests, but I think I shouldn't have to pull in another dependency (which spins, 100% CPU, as it's hardware agnostic) to just do run some async code. I also don't want to opt in to the "whole" embassy framework just to wait on a single future (#1035). The HAL should have a simple way to efficiently wait on a single future on its hardware.
I want to contribute this but want to make sure it would be welcome, or if there are different plans, or if embassy is simply the way to do async with esp-hal.
Side note: I was wondering if it'd make sense for the blocking drivers to use some version of this. They shouldn't be spinning when waiti/wfi exists. Now that interrupt handlers can be registered at runtime, perhaps the blocking drivers can register one temporarily to just block efficiently, just an idea.
Another side note: With the right reactors set up, it may be possible to have a Rust program automatically go into proper light sleep if the set of all waiting wakers are waiting for light sleep compatible timers and/or gpio pins. (Though this is mostly out of scope of this issue)

Xtensa implementation.
pub fn block_on<F: Future>(mut fut: F) -> F::Output {
    let state = TaskState::new();

    let raw_waker = state.raw_waker();
    let waker = unsafe { Waker::from_raw(raw_waker) };

    let res = {
        let mut cx = Context::from_waker(&waker);
        let mut fut = pin!(fut);
        loop {
            if let Poll::Ready(res) = fut.as_mut().poll(&mut cx) {
                break res;
            } else {
                state.wait_until_woken();
            }
        }
    };

    let clone_count = state.clone_count.load(Ordering::SeqCst);
    // This method cannot return if there are clones since TaskState is created on the stack.
    assert_eq!(
        clone_count, 0,
        "Waker was leaked in {} places!",
        clone_count
    );

    res
}

struct TaskState {
    work_available: AtomicBool,
    clone_count: AtomicUsize,
    core: Cpu,
}

impl TaskState {
    fn new() -> Self {
        Self {
            work_available: AtomicBool::new(false),
            clone_count: AtomicUsize::new(0),
            core: get_core(),
        }
    }

    fn clone(&self) {
        self.clone_count.fetch_add(1, Ordering::SeqCst);
    }

    fn wake(&self) {
        self.work_available.store(true, Ordering::SeqCst);
        if self.core != get_core() {
            // This could be implemented with software interrupts.
            // SoftwareInterrupt<..> methods would need to take & instead of &mut.
            unimplemented!()
        }
    }

    fn drop(&self) {
        self.clone_count.fetch_sub(1, Ordering::SeqCst);
    }

    fn wait_until_woken(&self) {
        wait_for_interrupts_until(|| self.work_available.swap(false, Ordering::SeqCst));
    }

    const VTABLE: RawWakerVTable = RawWakerVTable::new(
        Self::raw_clone,
        Self::raw_wake,
        Self::raw_wake_by_ref,
        Self::raw_drop,
    );

    fn raw_waker(&self) -> RawWaker {
        RawWaker::new(self as *const Self as _, &Self::VTABLE)
    }

    fn raw_clone(src: *const ()) -> RawWaker {
        (unsafe { &*(src as *const Self) }).clone();
        RawWaker::new(src, &Self::VTABLE)
    }

    fn raw_wake(src: *const ()) {
        let state = unsafe { &*(src as *const Self) };
        state.wake();
        state.drop();
    }

    fn raw_wake_by_ref(src: *const ()) {
        unsafe { &*(src as *const Self) }.wake();
    }

    fn raw_drop(src: *const ()) {
        unsafe { &*(src as *const Self) }.drop();
    }
}

fn wait_for_interrupts_until(mut condition: impl FnMut() -> bool) {
    use core::arch::asm;

    if condition() {
        // In case of spin, skip any PS.INTLEVEL tinkering code.
        return;
    }

    loop {
        // Previous PS (Processor Status) Register.
        let prev_ps: u32;

        // RSIL - Read and Set Interrupt Level
        //
        // Read the current value of the PS register and set PS.INTLEVEL to 5 to prevent
        // interrupts (that we're about to wait for) from firing.
        // The highest level on the ESP32 is 5. Xtensa ISA supports up to 15.
        unsafe { asm!("rsil {0}, 5", out(reg) prev_ps) };

        if condition() {
            // WSR - Write Special Register
            //
            // Set PS.INTLEVEL back to what it was before.
            unsafe {
                asm!(
                    "wsr.ps {0}",
                    "rsync",
                    in(reg) prev_ps
                );
            }

            // We can stop waiting, there is work available.
            break;
        } else {
            // WAITI - Wait for Interrupt
            //
            // Set PS.INTLEVEL back to what it previously was and suspend this core until an
            // interrupt above the existing PS.INTLEVEL occurs.

            let int_level = prev_ps & 0x00000F;
            match int_level {
                0 => unsafe { asm!("waiti 0") },
                1 => unsafe { asm!("waiti 1") },
                2 => unsafe { asm!("waiti 2") },
                3 => unsafe { asm!("waiti 3") },
                4 => unsafe { asm!("waiti 4") },
                5 => unsafe { asm!("waiti 5") },
                _ => unreachable!(),
            }
        }
    }
}

When I come back to wanting this I'll just make a PR for it.

But nothing requires them to do so, as Future isn't unsafe and implementations can do whatever they want.

Sure, that's why the panic is there.
No reason esp_hal can't play nice and release the waker.

What about embassy-sync, and all the others not under our control? I create a signal before block_on, wait for it and a timeout, and I'll get a panic.

Those can get PRed to change them.
Still doesn't stop esp_hal from playing nice, and not making the problem worse.

Those can get PRed to change them.

All right, that means we can come back to this once everything has been fixed.
Alternatively, you can use a &mut &'static mut instead of creating your task on the stack, and side-step the whole problem without burning cpu cycles resetting state that doesn't need resetting IMO.

How would this work if the block_on were inside of a critical section (with interrupts disabled)?

I think there are certain assumptions these executors have to make, one of them being "is not ran inside a critical section". After all, they are scheduled by interrupts. That reminds me, we're still missing the check in esp-hal-embassy. The best thing these can do is detect and panic. While the waiti instruction can break out of a critical section, that's most likely not what the user would want.

If one is using sequential_storage it has an async interface and I think one needs to do flash operations in a critical section (at least on multicore).  So how would one block on the future from that?

I would not recommend running flash operations asynchronously in the first place, the CPU can't read code while the operations are in progress. It works only as long as code that is running is in cache or RAM.

This has been around for a while: https://crates.io/crates/sequential-storage

actually never mind - the esp-storage crate has a critical-section feature I failed to enable!


🐛 yo version check fails while behind proxy

Type of issue
🐛 bug

My environment

OS version/details: Windows 10 64-bit
Node version: 10.5.0
npm version: 6.1.0
Version of yo : 2.0.3

Expected behavior
I expect the version check to use the same proxy settings as npm does.
Current behavior
At work I'm sitting behind a company proxy and for some reason the version check fails while the install succeeds.
Command line output
PS C:\Users\xxqqvc\Projects\test> npm init -y
PS C:\Users\xxqqvc\Projects\test> ls

    Directory: C:\Users\xxqqvc\Projects\test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2018-07-04     11:48            200 package.json

PS C:\Users\xxqqvc\Projects\test> npm i --save yo

><EMAIL_ADDRESS>postinstall C:\Users\xxqqvc\Projects\test\node_modules\spawn-sync
> node postinstall

><EMAIL_ADDRESS>postinstall C:\Users\xxqqvc\Projects\test\node_modules\yo
> yodoctor

Yeoman Doctor
Running sanity checks on your system

√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ Node.js version
√ No .bowerrc file in home directory
√ No .yo-rc.json file in home directory
{ RequestError: connect ETIMEDOUT <IP_ADDRESS>:443
    at ClientRequest.req.once.err (C:\Users\xxqqvc\Projects\test\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:182:13)
    at TLSSocket.socketErrorListener (_http_client.js:382:9)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  code: 'ETIMEDOUT',
  message: 'connect ETIMEDOUT <IP_ADDRESS>:443',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
× yo version
{ RequestError: connect ETIMEDOUT <IP_ADDRESS>:443
    at ClientRequest.req.once.err (C:\Users\xxqqvc\Projects\test\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:182:13)
    at TLSSocket.socketErrorListener (_http_client.js:382:9)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  code: 'ETIMEDOUT',
  message: 'connect ETIMEDOUT <IP_ADDRESS>:443',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
× yo version

Your yo version is outdated.

Upgrade to the latest version by running:
npm install -g yo@latest

(node:6016) UnhandledPromiseRejectionWarning: Error: callback() can only be called once.
    at onetime (C:\Users\xxqqvc\Projects\test\node_modules\each-async\node_modules\onetime\index.js:15:11)
    at rule.verify.err (C:\Users\xxqqvc\Projects\test\node_modules\yeoman-doctor\lib\index.js:23:7)
    at binVersionCheck.then (C:\Users\xxqqvc\Projects\test\node_modules\yeoman-doctor\lib\rules\yo-version.js:21:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:6016) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:6016) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
√ npm version

Found potential issues on your machine :(
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.

+<EMAIL_ADDRESS>added 535 packages from 262 contributors and audited 1892 packages in 281.485s
found 0 vulnerabilities

@SBoudrias I tried cloning that pr and got the same error.
Yeoman Doctor
Running sanity checks on your system

√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ Node.js version
√ No .bowerrc file in home directory
√ No .yo-rc.json file in home directory
{ RequestError: connect ETIMEDOUT <IP_ADDRESS>:443
    at ClientRequest.req.once.err (C:\Users\xxqqvc\Projects\test\yo\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:182:13)
    at TLSSocket.socketErrorListener (_http_client.js:382:9)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  code: 'ETIMEDOUT',
  message: 'connect ETIMEDOUT <IP_ADDRESS>:443',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
× yo version
{ RequestError: connect ETIMEDOUT <IP_ADDRESS>:443
    at ClientRequest.req.once.err (C:\Users\xxqqvc\Projects\test\yo\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:273:13)
    at ClientRequest.emit (events.js:182:13)
    at TLSSocket.socketErrorListener (_http_client.js:382:9)
    at TLSSocket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  code: 'ETIMEDOUT',
  message: 'connect ETIMEDOUT <IP_ADDRESS>:443',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
× yo version

Your yo version is outdated.

Upgrade to the latest version by running:
npm install -g yo@latest

(node:15956) UnhandledPromiseRejectionWarning: Error: callback() can only be called once.
    at onetime (C:\Users\xxqqvc\Projects\test\yo\node_modules\each-async\node_modules\onetime\index.js:15:11)
    at rule.verify.err (C:\Users\xxqqvc\Projects\test\yo\node_modules\yeoman-doctor\lib\index.js:23:7)
    at binVersionCheck.then (C:\Users\xxqqvc\Projects\test\yo\node_modules\yeoman-doctor\lib\rules\yo-version.js:21:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:15956) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:15956) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
√ npm version

Found potential issues on your machine :(
added 960 packages from 1424 contributors and audited 5180 packages in 263.605s
found 12 vulnerabilities (2 low, 5 moderate, 4 high, 1 critical)
  run `npm audit fix` to fix them, or `npm audit` for details

I managed to get it to pass by running yo doctor using npx.
PS C:\Users\xxqqvc\Projects\test> npx yo doctor

Yeoman Doctor
Running sanity checks on your system

√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ Node.js version
√ No .bowerrc file in home directory
√ No .yo-rc.json file in home directory
√ yo version
√ npm version

Everything looks all right!

@Olian04 can you confirm the http_proxy environment variable is properly set in your shell session?

@MarcoScabbiolo Yea, I've got the proxy set both in npm, powershell and on a system wide level.
Ave already tried #588, but with no luck.

@Olian04 could you also check if there's any chance this is related to the slow performance you're seeing from yo? The proxy support has been added recently, so maybe it had a side effect on the performance of some users.
@MarcoScabbiolo any chance you could have a quick look at the latests comments on #176, it seems correlated to adding the http proxy tunnel library.

I am having exact same issue.
I have authenticating proxy setup for NPM. It does not seem to be picked up by Yoman. What needs to be done?

@xbotuk are you running the latest version of Yeoman (2.0.4)? On what npm config setting are you configuring the proxy and what is the proxy protocol (http/https)?

@MarcoScabbiolo I just tried with<EMAIL_ADDRESS>but its still failing on yo version.

Couldn't reproduce the issue so far, I debugged the request and it is being tunneled through my proxy. I'm on Win 10, using PowerShell.

PS D:\Tmp\yo\node> npx yo --version
npx: installed 1 in 1.292s
Path must be a string. Received undefined
D:\Tmp\yo\node\node_modules\yo\lib\cli.js
2.0.4
PS D:\Tmp\yo\node> npx yo doctor
npx: installed 1 in 1.172s
Path must be a string. Received undefined
D:\Tmp\yo\node\node_modules\yo\lib\cli.js

Yeoman Doctor
Running sanity checks on your system

√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ Node.js version
√ No .bowerrc file in home directory
√ No .yo-rc.json file in home directory
√ npm version
√ yo version

Everything looks all right!
PS D:\Tmp\yo\node>

¿Can you share some details on the type of proxy you're using (or are being forced to use)?

Please try #597 setting the DEBUG environment variable to global-tunnel and share the output.

Had the same problem, I think it is a dodgy proxy, the following worked for me...
npm config set registry=http://registry.npmjs.org/
npm config set strict-ssl false
https://stackoverflow.com/questions/33162560/error-tunneling-socket-could-not-be-established-cause-connect-econnrefused-10

I had this issue on WIn10 and needed to update my HTTP_PROXY env variable to get around it.
Previously, I had https://user:pass@proxy:port
I had to HTML-encode (percent-encode) the value of that variable to get the new yo (2.0.5) to work properly. I assume this is because whatever library does the HTTP_PROXY env variable parsing now needs a string with special characters encoded. Works like a charm now (and everything else that uses HTTP_PROXY seems fine with the change).

@MarcoScabbiolo About the last comment from @aaronhawryluk, do you think we can fix that in the tunnel library directly?

@SBoudrias Added the issue, I should have some time in the weekend to get it done. Thanks @aaronhawryluk

Having the same problem, did u solve it ?

+1, same issue. any fix yet?

I also ran into this issue... It may be something wrong with your npm proxy setting. You may try to clear .npmrc file (Or just comment the content)
get the upstream-proxy:
$ npm i upstream-proxy
Then it should work properly:
$ npm install -g yo
This works for me.

I have the exact same problem, npx yo doctor works.
pc> npm i -g yo
C:\Users\mplwork\AppData\Roaming\npm\yo -> C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\lib\cli.js
C:\Users\mplwork\AppData\Roaming\npm\yo-complete -> C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\lib\completion\index.js

><EMAIL_ADDRESS>postinstall C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo
> yodoctor

Yeoman Doctor
Running sanity checks on your system

? Global configuration file is valid
? NODE_PATH matches the npm root
? Node.js version
? No .bowerrc file in home directory
? No .yo-rc.json file in home directory
{ RequestError: connect ECONNREFUSED <IP_ADDRESS>:80
    at ClientRequest.req.once.err (C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  code: 'ECONNREFUSED',
  message: 'connect ECONNREFUSED <IP_ADDRESS>:80',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
? yo version
{ RequestError: connect ECONNREFUSED <IP_ADDRESS>:80
    at ClientRequest.req.once.err (C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\node_modules\latest-version\node_modules\got\index.js:73:21)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  code: 'ECONNREFUSED',
  message: 'connect ECONNREFUSED <IP_ADDRESS>:80',
  host: 'registry.npmjs.org',
  hostname: 'registry.npmjs.org',
  method: 'GET',
  path: '/yo' }
? yo version

Your yo version is outdated.

Upgrade to the latest version by running:
npm install -g yo@latest

(node:4500) UnhandledPromiseRejectionWarning: Error: callback() can only be called once.
    at onetime (C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\node_modules\each-async\node_modules\onetime\index.js:15:11)
    at rule.verify.err (C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\node_modules\yeoman-doctor\lib\index.js:23:7)
    at binVersionCheck.then (C:\Users\mplwork\AppData\Roaming\npm\node_modules\yo\node_modules\yeoman-doctor\lib\rules\yo-version.js:21:23)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:4500) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:4500) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
? npm version

Found potential issues on your machine :(
+<EMAIL_ADDRESS>updated 1 package in 85.266s

I encountered the same problem here. With @MarcoScabbiolo post (enable some debugging information for global-tunnel library) I saw that problem:
DEBUG global-tunnel: Found proxy in environment variable https_proxy
DEBUG global-tunnel: Found proxy in environment variable http_proxy
DEBUG global-tunnel: Proxy configuration to be used is {
  "protocol": "localhost:",
  "host": "3128",
  "port": null,
  "proxyAuth": null
}

It's because for some reason I forgot to specify protocol for my proxy environment variables. Here what it's look like:
https_proxy=localhost:3128
http_proxy=localhost:3128

after I fixed that problem (added http protocol), it works perfectly!
Now my environment variables for proxy are:
https_proxy=http://localhost:3128
http_proxy=http://localhost:3128

I don't know if it's a correct behavior from that library (global-tunnel) for not assuming any protocol...
In the end, I think we can close that bug if other people can confirm that their proxy environment variables wasn't set properly like me...

I encountered the same problem here. With @MarcoScabbiolo post (enable some debugging information for global-tunnel library) I saw that problem:
DEBUG global-tunnel: Found proxy in environment variable https_proxy
DEBUG global-tunnel: Found proxy in environment variable http_proxy
DEBUG global-tunnel: Proxy configuration to be used is {
  "protocol": "localhost:",
  "host": "3128",
  "port": null,
  "proxyAuth": null
}

Can you help me with this? setenv DEBUG global-tunnel doesn't have any effect for me. What are the instructions exactly?

It's because for some reason I forgot to specify protocol for my proxy environment variables. Here what it's look like:
https_proxy=localhost:3128
http_proxy=localhost:3128

after I fixed that problem (added http protocol), it works perfectly!
Now my environment variables for proxy are:
https_proxy=http://localhost:3128
http_proxy=http://localhost:3128

I don't know if it's a correct behavior from that library (global-tunnel) for not assuming any protocol...
In the end, I think we can close that bug if other people can confirm that their proxy environment variables wasn't set properly like me...

I cannot confirm  this. I believe my variables are set correctly:
 pc# printenv | grep -i http
HTTP_PROXY=http://localhost:8888
HTTPS_PROXY=http://localhost:8888

 pc# npm config ls -l|grep -i prox
https-proxy = "http://localhost:8888/"
proxy = "http://localhost:8888/"
; https-proxy = null (overridden)
noproxy = null
; proxy = null (overridden)

@tremblaysimon
Could you elaborate what your settings are?

I was testing only the command yo doctor, that works fine after I fixed my proxy environment variables. Installation with npm fails when using the yodoctor script (I suspect that script doesn't use global-tunnel).
If you run yo doctor you should see the debug information about global-tunnel. I don't see that information when running npm install -g yo.
I set DEBUG env var with that command: export DEBUG=global-tunnel.

I was testing only the command yo doctor, that works fine after I fixed my proxy environment variables. Installation with npm fails when using the yodoctor script (I suspect that script doesn't use global-tunnel).
If you run yo doctor you should see the debug information about global-tunnel. I don't see that information when running npm install -g yo.
I set DEBUG env var with that command: export DEBUG=global-tunnel.

Thank you. With yo doctor and setenv DEBUG global-tunnel (which is the equivalent of yours for my shell) I get the same results as you. But the issue was npm i yo and that is still broken.

@SBoudrias I think we can close that issue with the new doctor release!

@tremblaysimon thanks a lot for your help!

Here's this FIX for the proxy issue:
as per the global-agent README.md, you must set env var:
export GLOBAL_AGENT_HTTP_PROXY=http://proxy_server:proxy_port
Issue resolved! Why was this buried in that README file!?!

Here's this FIX for the proxy issue:
as per the global-agent README.md, you must set env var:
export GLOBAL_AGENT_HTTP_PROXY=http://proxy_server:proxy_port
Issue resolved! Why was this buried in that README file!?!

Interesting. So yeoman uses global-agent, good to know. If you manage to set env var GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE to an empty value, which is impossible from cmd but easy from node (process.env.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE="";), your standard HTTP_PROXY settings will be used.

Hi, I am still having issues with this. I have set http_proxy, proxy and https_proxy environment variables + the npm http-proxy, proxy and https-proxy conf settings globally + the GLOBAL_AGENT_HTTP_PROXY env var (tried with HTML URL encoding and without).
yo doctor works fine but npm i yo spends way too much time waiting for the yo version.
Normally this wouldn't be too much of an issue but this is impacting my Gitlab CI builds a lot as I use frontend-maven-plugin to do a npm install before every script. My build lasts for 20mn instead of maybe 3.
Could you please make the postinstall script use global-tunnel as well please ? @SBoudrias

I use yeoman over a private network without I internet access.
I point to a private repository (not nom) that contains all the needed modules.
Is there's a way to disable the Postinstall process of yo to avoid these useless checks over yo last version ?
Or do these checked through nom info command instead of any custom http request ?
For now all my Jenkins builds are long to build because of it.
Thanks

Perhaps you might remove this Postinstall step and let people decide to run it or not through the Postinstall of theirs module. When we work over a controlled environment, we don't care all of these checks

Perhaps you might remove this Postinstall step and let people decide to run it or not through the Postinstall of theirs module. When we work over a controlled environment, we don't care all of these checks

Have you tried disabling post-install scripts when installing deps? Might be enough for your use case.
$ npm install --ignore-scripts

Other modules have Postinstall scripts that are importants.
I want only to disable this Postinstall one. I've look in the code source and there's no way to disable it.
An env var check might be added for example to do this
YO_DOCTOR_DISABLE for example

Other modules have Postinstall scripts that are importants. I want only to disable this Postinstall one. I've look in the code source and there's no way to disable it. An env var check might be added for example to do this YO_DOCTOR_DISABLE for example

You should probably open a feature request issue for that.

Sure.
Done in this one #714

Here's this FIX for the proxy issue:
as per the global-agent README.md, you must set env var:
export GLOBAL_AGENT_HTTP_PROXY=http://proxy_server:proxy_port
Issue resolved! Why was this buried in that README file!?!

Interesting. So yeoman uses global-agent, good to know. If you manage to set env var GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE to an empty value, which is impossible from cmd but easy from node (process.env.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE="";), your standard HTTP_PROXY settings will be used. Note, I didn't try any of this with yeoman.

I would recommend, that this issue be fixed at global-agent's side by avoiding differentiating the behavior based on whether GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE is undefined or set to empty, thus respecting Windows restrictions.
The current workaround though is setting the env variable as mentioned from inside javascript:
for example: change node_modules\yeoman-doctor\lib\rules\yo-version.js to include
...
exports.verify = async () => {
  try {
    process.env.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE="";
...


Fix getRecordOrigin & getRecordURL in the readme

Tiny fix: getRecordOrigin & getRecordURL are incorrectly called getOrigin and getURL in the "Record methods" section.

👍 thanks!


Allow typed collection mapping

Feature Request

Q
A

New Feature
yes

RFC
no

BC Break
no

Summary
Do you have plans on allowing typed collections mapping?
I would like to have something like
/**
 * @MongoDB\Field(type="collection", itemType="MyCustomType")
 */
private $myCollection;

What's the use case? The collection field can already hold scalars and for objects there's an @EmbedMany?

@malarzm for example I have my custom mapping type, let's say it's Username class, which is an object in my PHP code, and should be represented as a string in MongoDB.
And for example I want to have a field usernames, which should be an array of Username instances on PHP level, and should be stored as a list of strings in a MongoDB.
How do I implement that, without implementing some mapping type like UsernamesCollection?

Indeed it might make sense 👍 IIRC we wanted to keep collection and hash a simple arrays but maybe we should allow setting an inner type. Would you like to take a shot at implementing this?

This behavior can however be easily achieved by using PostLoad event for loading and filling up the collection/array with object instances, and PreFlush for saving them back to database. I'm not sure such a use case warrants creating a special case for it in Doctrine ODM, unless it doesn't affect complexity too much.

I'm not sure such a use case warrants creating a special case for it in Doctrine ODM

@Steveb-p actually Domain-Driven Design methodology, which is widely used today, suggests to use ValueObjects for any scalar value you have in your app. Username example above is just one simple example of a value object class.
So I think my use case is not something very special, since there are many people who used DDD methodology, thus I believe that enabling ODM to be used with DDD is something good.

@malarzm yeah, I can do that.
Just wanna ensure that we are on the same page:
I think it's a bad idea to add itemType property to the Field annotation class, since this property will be shown by the IDEs for every field. Instead, I think it's better to create new annotation Collection, which will have itemType property.
Having that said, how do you think, is it a good idea to implement new type TypedCollectionType, or should I just add this behavior to the good old CollectionType ?

@Steveb-p but if you change the values on PreFlush to strings then you'll need to change it back again on PostFlush - that seems like a lot of hassle and is error prone as there might be an exception during flush and you'll end up with strings instead of objects. Also I believe adding Type conversion will not add a lot of complexity to the ODM.

Having that said, how do you think, is it a good idea to implement new type TypedCollectionType (or some better name), or should I just add this behavior to the good old CollectionType ?

Ah that's reminding me why we haven't done this - currently there's no way to pass field's mapping configuration to the underlying Type. With this I must take back that adding this feature won't bring complexity. But anyway this was on our list of things todo so it's not a no-go.
@petr-buchin on first thought I was against @ODM\Collection but actually it will make sense, it could just extend normal Field and add itemType or innerType or whatever. @alcaeus WDYT?

I've put this on the roadmap and we'll be discussing this in our hangout tonight - I'll post an update afterwards.
I remember us wanting to make some changes to collections and hashes in general (e.g. allowing to use Collection instances for them instead of only plain arrays), so this might could be a good step towards a better implementation for that.


(maint) Revendor DSC resources to 9e8fb80

(maint) Revendor DSC resources to 9e8fb80
Long commit: 9e8fb80252483a13992e1d71b65ded99266a4f9b

Rerun DSC_REF=9e8fb80 bundle exec rake dsc:build to produce
Puppet wrappers / re-vendor newer DSC resources.

Adds types:
xActiveDirectory
dsc_xaddomaindefaultpasswordpolicy
xCertificate
dsc_xcertificateimport
xComputerManagement
dsc_xofflinedomainjoin
xDnsServer
dsc_xdnsserverforwarder
xFailOverCluster
dsc_xclusterdisk
dsc_xclusternetwork
xNetworking
dsc_xhostsfile
Removes types:
xCertificateServices
dsc_xadcscertificationauthority
dsc_xadcsonlineresponder
dsc_xadcswebenrollment

@puppetlabs/windows this has to be merged prior to #202

Now that this is done - next @Iristyle


Evm enabled

Closes #???
Description

[ ] Targeted PR against main branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

keep it for previewnet deployment in vercel for now


set tile to offline / online

I've been working on rebuilding @sumnerboy12 led controller sub flow to allow more control from multiple interfaces. something that both HA and NR have is the ability to set an element to an offline state so you can't click or activate it. think this may be potentially useful on the screen.
my other thought i just to use teh sub label to display offline state, and ignore the messages but wonder if something better would feel nicer overall.

I suggest we "grey out" the tile and disable touch sensitivity so no clicks are generated. The tile would still be able to show all state information.

proposal with tile 3(on state)  and tile 4 (off state) disabled

That looks good to me Moin. Pretty clear and obvious.

looks / sounds good to me


Grunt not using bundler's gems

Compiling on my machine with grunt build produces the following:
You have already activated sass 3.4.19, but your Gemfile requires sass 3.4.18. Prepending bundle exec to your command may solve this. (Gem::LoadError)
I believe this has something to do with me having a newer system version of sass, but that should be irrelevant since the project should be using the bundler version of gems. I'm able to build with bundler exec grunt build, but we should probably update the Gruntfile to use bundle exec jekyll build.

let me know if the issue still persists.


Jasonjung/scan upload

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.005%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
2564

Relevant Lines:
3611

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.005%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
2564

Relevant Lines:
3611

💛  - Coveralls


Invalid memory access

➜  peridot (master) ✗ shards update --ignore-crystal-version
Resolving dependencies
Fetching https://github.com/travonted/libmpdclient-crystal.git
Fetching https://github.com/andrewsuzuki/termbox-crystal.git
Using libmpdclient (0.1.0 at eaa7f2b)
Using termbox (0.1.0 at 9471d1f)
Writing shard.lock
➜  peridot (master) ✗ crystal src/peridot.cr
Invalid memory access (signal 11) at address 0x0
[0x560b6fe68dc6] *Exception::CallStack::print_backtrace:Int32 +118
[0x560b6fe56015] __crystal_sigfault_handler +341
[0x7f75b3a103c0] ???
[0x7f75b391b5d5] ???
[0x560b6fe7101a] *String::new<Pointer(UInt8)>:String +10
[0x560b6ff4c5a2] *Peridot::MPD::Library#get_song<Pointer(LibMpdClient::MpdSong)>:Peridot::MPD::Library::Song +82
[0x560b6ff4c375] *Peridot::MPD::Library#import_metadata<Pointer(LibMpdClient::MpdSong)>:Array(Peridot::MPD::Library::Song) +37
[0x560b6ff4c014] *Peridot::MPD::Library#init:Nil +916
[0x560b6ff4aefa] *Peridot::MPD#initialize<String, Int32>:Nil +202
[0x560b6ff4adc9] *Peridot::MPD::new<String, Int32>:Peridot::MPD +153
[0x560b6fe572da] *main:Nil +74
[0x560b6fe442e0] __crystal_main +1792
[0x560b6ff73f16] *Crystal::main_user_code<Int32, Pointer(Pointer(UInt8))>:Nil +6
[0x560b6ff73d85] *Crystal::main<Int32, Pointer(Pointer(UInt8))>:Int32 +53
[0x560b6fe4f3b6] main +6
[0x7f75b37b70b3] __libc_start_main +243
[0x560b6fe43b1e] _start +46
[0x0] ???

Additional information:

Ubuntu 20.10
libmpdclient-dev:amd64 2.19-1

I believe that I've since fixed this issue. Will you build the latest version and let me know if you still get the crash?

Hi @TravonteD .
I've made some research. It looks like issue in LibMpdClient#mpd_song_get_tag for songs without tag.

Ah okay - I fixed that bug today in this commit https://github.com/TravonteD/peridot/commit/3631ab6eda27cd1721232f81ed01a68cab5827d2

Cool thanks. I create PR which fix this issue https://github.com/TravonteD/peridot/pull/2


Remove v6 and backwards compatibility with GOV.UK Elements

Remove v6 backwards compatibility with GOV.UK Elements. GOV.UK Elements is deprecated and has not been released since July 2018. New prototypes should be using the GOV.UK Design System.

Thanks for this. Unfortunately this is not a priority for us at the moment. We do want to look into tidying up the kit and removing things people don't need as a body of work, but it's not our focus at the moment.


ref: require name by default on 'helm install'

This is described in the official Helm 3 proposal: https://github.com/helm/community/blob/master/helm-v3/000-helm-v3.md
The new version of helm install is now:
$ helm install NAME CHART

Moniker (a.k.a. "the cute namer") is gone 😢 🐼 , and the default naming scheme for --generate-name is now basename(CHART)-unix_timestamp()

Should there be a new glide lock file?

Updated Gopkg.lock

Moniker (a.k.a. "the cute namer") is gone 😿 😢 😭

It's like discovering that there is no Santa and no Easter Bunny on the same day. 🎅 🐰 🐼


Deprecate CLI factory in azure-common

See https://github.com/Azure/azure-sdk-for-python/pull/20657 and https://github.com/Azure/azure-sdk-for-python/issues/21313

API changes have been detected in azure-eventhub-checkpointstoreblob-aio. You can review API changes here
API changes
-             api_version: str,
+             api_version: str = ...,
-             secondary_hostname: str,
+             secondary_hostname: str = ...,
-             api_version: str,
+             api_version: str = ...,
-             secondary_hostname: str,
+             secondary_hostname: str = ...,

API changes have been detected in azure-eventhub-checkpointstoreblob. You can review API changes here
API changes
-             api_version: str,
-             secondary_hostname: str,
+             api_version: str = ...,
+             secondary_hostname: str = ...,
-             api_version: str,
-             secondary_hostname: str,
+             api_version: str = ...,
+             secondary_hostname: str = ...,

/azp run python - tables - ci

/azp run python - core - ci

/azp run python - communication - ci

API changes have been detected in azure-cosmos. You can review API changes here

None of the failures is related to the change.

/check-enforcer override


chore(deps): fix broken dep types

A new patch release of sinon types came out yesterday and it looks like maybe the Stub type is borked. Pinning to previous patch release as a temporary solution.

Looks like p-limit types have also been changed. In addition to that I noticed it was listed as a dependency, but looks like it was meant to be a dev dep?


[bazel] Highs 1.7.0 math_opt tests failed

This is a following of HiGhs integration

#3116

What version of OR-Tools and what language are you using?
Version: main (and v99bugfix aka incoming v9.10)
Language: C++
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
HiGHs test from math_opt/solvers
What operating system (Linux, Windows, ...) and version?
Linux/MacOS
What did you do?
git checkout main
bazel test -c opt ortools/math_opt/solvers:highs_solver_test

note: same with v99bugfix branch
What did you expect to see
all tests pass
What did you see instead?
bazel test -c opt ortools/math_opt/solvers:highs_solver_test
...
ortools/math_opt/solver_tests/status_tests.cc:112: Failure
Value of: _status_or_value2.ok()
  Actual: false
Expected: true
INTERNAL: primal feasibility status is not FEASIBILITY_STATUS_FEASIBLE, but primal feasible solution is returned.

[  FAILED  ] HighsStatusTest/StatusTest.PrimalAndDualInfeasible/1, where GetParam() = { solver_type: highs, parameters: lp_algorithm: LP_ALGORITHM_BARRIER presolve: EMPHASIS_OFF gscip { } gurobi { } glop { } cp_sat { } pdlp { } glpk { } highs { }, disallow_primal_or_dual_infeasible: false, supports_iteration_limit: true, use_integer_variables: false, supports_node_limit: false, support_interrupter: false, supports_one_thread: false } (0 ms)
...
INFO: Found 1 test target...
Target //ortools/math_opt/solvers:highs_solver_test up-to-date:
  bazel-bin/ortools/math_opt/solvers/highs_solver_test
INFO: Elapsed time: 52.607s, Critical Path: 41.15s
INFO: 181 processes: 185 linux-sandbox.
INFO: Build completed, 1 test FAILED, 181 total actions
//ortools/math_opt/solvers:highs_solver_test                             **FAILED in 12 out of 18 in 10.4s**
  Stats over 18 runs: max = 10.4s, min = 0.2s, avg = 2.9s, dev = 2.7s

DevNote:
HiGHs 1.4.1 seems to pass...
aka this patch
diff --git a/WORKSPACE b/WORKSPACE
index 0fd7395d25..6b53b2f24b 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -156,7 +156,7 @@ cc_library(

 git_repository(
     name = "highs",
-    branch = "v1.7.0",
+    branch = "v1.4.1",
     remote = "https://github.com/ERGO-Code/HiGHS.git",
 )

bazel test -c opt ortools/math_opt/solvers:highs_solver_test`
...
INFO: Build completed successfully, 181 total actions
//ortools/math_opt/solvers:highs_solver_test                             PASSED in 10.7s
 Stats over 10 runs: max = 10.7s, min = 0.2s, avg = 2.9s, dev = 3.2s

Few more tests:

HiGHs version
//ortools/math_opt/solvers:highs_solver_test

1.4.1
PASSED

1.4.2
PASSED

1.5.1

1.5.3
FAILED

1.7.0
FAILED

#commit = "387fcf926f459ea480053f5b0f4f2aef59a9586c", # 2023-01-03 FAILED
#commit = "488059f92f0df752f8a411be6bd30b2141d0552b", # 2022-12-24 FAILED
#commit = "4a22da667e90a38373baf04bb259f8a2332a9d3f", # 2022-12-22 FAILED
#commit = "6f28a305366f5f53438f9a9e72c025fdf2c550f3", # 2022-12-21 FAILED
#commit = "e0ed5b019109dc76fc6ffaf7962843cbf6de0961", # 2022-12-21 FAILED
#commit = "61b7dccf1ae8b9f46edf54ad1ca2cb416a273e9c", # 2022-12-17 OK
#commit = "fd49112140bf8c2ff79312e91423b798be6d6276", # 2022-12-17 OK
#commit = "4ebb25d4b1e21addaf48fb0e4c8dd0bca04efff6", # 2022-12-15 OK

so the commit seems to be
https://github.com/ERGO-Code/HiGHS/commit/e0ed5b019109dc76fc6ffaf7962843cbf6de0961

Digging the gitk of HiGHs repo
flowchart TD;
H[1.5.1] -.-> A[e0ed5 FAILED];
A --> B[33cc544 FAILED];
B --> C[cae9617 FAILED];
C --> D[05dfb85 PASSED];
C --> E[7a94304 FAILED];

note: we can already see that the github history and gitk graph didn't display the same story...

git diff HEAD~1
diff --git a/WORKSPACE b/WORKSPACE
index 0fd7395d25..ee02668f49 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -156,7 +156,43 @@ cc_library(

 git_repository(
     name = "highs",
-    branch = "v1.7.0",
+    #branch = "master",
+    #tag = "v1.7.0", # FAILED
+    #tag = "v1.5.3", # FAILED
+    #tag = "v1.5.1", # FAILED
+    #commit = "387fcf926f459ea480053f5b0f4f2aef59a9586c", # 2023-01-03 FAILED
+    #commit = "488059f92f0df752f8a411be6bd30b2141d0552b", # 2022-12-24 FAILED
+    #commit = "4a22da667e90a38373baf04bb259f8a2332a9d3f", # 2022-12-22 FAILED
+    #commit = "6f28a305366f5f53438f9a9e72c025fdf2c550f3", # 2022-12-21 FAILED
+    #commit = "e0ed5b019109dc76fc6ffaf7962843cbf6de0961", # 2022-12-21 FAILED
+    #commit = "61b7dccf1ae8b9f46edf54ad1ca2cb416a273e9c", # 2022-12-17 OK
+    #commit = "fd49112140bf8c2ff79312e91423b798be6d6276", # 2022-12-17 OK
+    #commit = "4ebb25d4b1e21addaf48fb0e4c8dd0bca04efff6", # 2022-12-15 OK
+    #tag = "v1.4.2", # PASSED
+    #tag = "v1.4.1", # PASSED
+
+    # try to follow parent historic from "e0ed5b019109dc76fc6ffaf7962843cbf6de0961"
+    #commit = "cae9617de4635aeb3546bc9791831c5e6103132e", # FAILED
+    #commit = "7a943048b9d0e65cad80de5159eb43b6ff446b1e", # FAILED prt cae
+    #commit = "05dfb8553d2a98a6db04f6686e56c8958185989b", # PASSED prt cae
+
+    #commit = "316c825f9433de9bf8c73e1baa2a7734d77bd4af", # FAILED prt 7a94
+    #commit = "262990724218f025edd5b106db78276e8bef90aa", # PASSED prt 7a94
+
+    #commit = "daed8b7ac47364f74c17cdd8eb11bfa94b4575ac", # FAILED prt 316
+    #commit = "5acb9c64e79d4c7c14c9db008bc1dc923d537ee5", # FAILED prt 316
+
+    #commit = "62763d711e98c6f065d79e22885ef9c9da475a78", # PASSED
+
+    #commit = "bc7f2a2ce8089153f0daddb5559eb1e19fbf73d9", # PASSED
+    commit = "e9f424f640de18fba71931a009a8423a0d9b9b54", # FAILED
+
+    #commit = "e5ea838483861867905fc8964442fe1fd176e85d", # PASSED
+    #commit = "abff61b5a33746c4c9b6b59b08bb1a0455b8b23c", # PASSED
+    #commit = "3549dda16a38dd0570e40c3872607c9cd733383c", # PASSED
+
+    #patches = ["highs.patch"],
+    #patch_args = ["-p1"],
     remote = "https://github.com/ERGO-Code/HiGHS.git",
 )

I am not optimistic that we will get HiGHs 1.7 working well if we are stuck on HiGHs 1.4 internally (we cannot move until SciPy moves)
The failing test is here:
https://github.com/google/or-tools/blob/main/ortools/math_opt/solver_tests/status_tests.cc#L112
In this test, we solve an LP that is both primal or dual infeasible. The SolveResultProto returned fails at validation time because we correctly claim the primal problem is not feasible, but then incorrectly return a primal solution that we claim is feasible (the problem has no primal feasible solutions).
I would guess that the issue is probably here:
https://github.com/google/or-tools/blob/main/ortools/math_opt/solvers/highs_solver.cc#L725
in that the value of highs_solution.is_valid has changed between 1.4 and 1.7 for this test, but I would need to debug/run the code to really see what is going on.
There is no documentation on this type:
https://github.com/ERGO-Code/HiGHS/blob/master/src/lp_data/HStruct.h#L30
so it is not easy to predict how it will work beyond running the code. Even if the primal problem is infeasible, you can still return a feasible solution and have it be valid.
Big picture, I would recommend using the same version of HiGHs we use internally. MathOpt has contracts that are programatically enforced, but the underlying solvers generally do not (have contracts or enforce them). When you upgrade the solvers, some of the tests break always end up breaking and it is very time consuming to deal with this issues.
If you want to discuss further, we should move this to an internal list a very few people will see this discussion out here.


Simplified Docker support.

Removed the scripts that generated and ran the images, instead this
information is in the README.md
Docker can be used for the wic-wic or the repo-repo generation scripts.

@ygoyal18  @x85446  - please check, assign reviewers.

@ygoyal18  @x85446  - please check, assign reviewers.


plugin_debugger and view record type

Good afternoon, Sir.
I am using your plugin_debugger (https://github.com/ng-galien/pldebugger) library built according to your instructions. I noticed that if in the declared variables there is a variable with the RECORD type, the debugging process ends with an error.
[55000] ERROR: record "v_record" is not assigned yet
The tuple structure of a not-yet-assigned record is indeterminate.
It's easy to check.
In your function, which goes for an example, added in the declaration
v_record RECORD;
and before RETURN
pasted the code
FOR v_record IN SELECT * FROM public.debug
LOOP
RAISE NOTICE '%', v_record.id;
END LOOP;
CREATE FUNCTION test_debug(p_text text, p_int integer DEFAULT 0) RETURNS text
LANGUAGE plpgsql
AS
$$
DECLARE
v_int_array   INT[]              = ARRAY [6, 7, 8];
v_custom      public.custom_type = (434, 'Custom')::public.custom_type;
v_debug_array debug[];
v_debug       debug;
v_text        TEXT               = '';
v_int         INT                = 0;
v_date        DATE               = NULL;
v_record      RECORD;
BEGIN
v_text = p_text;
v_int_array = ARRAY_APPEND(v_int_array, p_int);
SELECT * FROM public.debug LIMIT 1 INTO v_debug;
v_int_array = ARRAY_APPEND(v_int_array, 3);
SELECT ARRAY_AGG(d) FROM public.debug d INTO v_debug_array;
v_int_array = ARRAY_APPEND(v_int_array, 5);
v_int_array = ARRAY_APPEND(v_int_array, 7);
v_text = 'TEST';
v_int = v_int + 1;
v_date = CURRENT_DATE;
SELECT ARRAY_AGG(id) FROM public.debug INTO v_int_array;
FOR v_record IN SELECT *
FROM public.debug
LOOP
RAISE NOTICE '%', v_record.id;
END LOOP;
RETURN 'DEBUG END';

END
$$;

I made some changes to plpgsql_debugger.c in extension pldbgapi,
PIExecute.kt in plugin. Now, when debugging, you can see variable values with the RECORD type.

Hello @cvas71,
The best to integrate your modification is you make a pull request for both projects.
Thank you for these modifications!

I couldn't make a pull request.
I forked two projects and made changes there.

Yes that's the flow for project contribution

Fork the project
Create a branch with your fix, for example "record support"
Commit your changes here
Create a pull request to the upstream project

@cvas71 Your changes are committed and I've created a branch print-vars-dev to integrate it. I make few changes for supporting every versions in one branch.
Remaining

[X] Test pg14
[ ] Test pg13
[ ] Test pg12
[X] Test pg11 (not supported)
[ ] Update docker file
[ ] Deploy on DockerHub
[ ] Update & deploy plugin

Yes, I did not take into account that it is necessary to make sure that the changes will also be compatible with other versions of PostgreSQL.


Read file once instead of once per worker

Related issue
#1
Problem
As mentioned in the issue, each worker is opening the panorama file independently, this greatly increases the memory and cpu usage without benefits.
Fix

Implemented @uglyer 's solution to the code, extracting the file reading to the main file, and passing the pixel matrix data to each worker.

Testing
Locally

Builds successfully
Tested with sample file panorama.jpg and worked without problems.

Other changes

Added missing go.mod file, to solve dependencies on modern Go servers
Automatic formatting done by Gofmt

Hello! @flash286, this Pull request is ready based on what you suggested on #1

LGTM


Update package.json

Merged.
I assume this is the preparation to move it under the ioBroker project, right?

Nor exactly. Do you want to move to iobroker?

You request was to set https://github.com/ioBroker/ioBroker.chromecast as homepage. This does not exists until the adapter sources are moved under the iobroker project, right?
I am using it myself at home without incidences for the last two weeks so I think it could be made part of iobroker and being offered in the list of adapters available in iobroker.admin.
What would be the next steps to do so?

May be I am lost in communication :) to much conversation last time.
Do you want to have the adapter under github/iobroker or do you want to
have it under your account?
If yes (iobroker ), so I will fork this project and change the links.
If not, so leave everything as is.
I inserted yesterday chromecast into repository and the links were wrong.
22 Янв 2016 г. 16:35 пользователь "Vegetto"<EMAIL_ADDRESS>написал:

You request was to set https://github.com/ioBroker/ioBroker.chromecast as
homepage. This does not exists until the adapter sources are moved under
the iobroker project, right?
I am using it myself at home without incidences for the last two weeks so
I think it could be made part of iobroker and being offered in the list of
adapters available in iobroker.admin.
What would be the next steps to do so?
—
Reply to this email directly or view it on GitHub
https://github.com/angelnu/ioBroker.chromecast/pull/3#issuecomment-173953062
.

Yes, willing to integrate into iobroker and be the maintainer of the adapter there.
I already merged your pull request so the links should be fine now. I should publish a new version to npm to reflect the new git repository. I added you as contributor there.
Btw: I tested the chromecast adapter with the latest releases of vis and the controller adapters and the chromecast widget now works without the need for any pfixes :-)


Add MANIFEST.in to include additional files in releases

Includes the tests for packagers. Also include LICENSE and CHANGELOG for
library users.
Fixes #463

Looks great! Thanks!


sink emitting more rows than expected

Describe the bug
Hello, me again :)
I have this mat view that "explodes" a jsonb column into a row for each leaf.
The jsonb source looks like this:
{
  "ean": {
    "<all_channels>": {
      "<all_locales>": "1234567890183"
    }
  },
  "sku": {
    "<all_channels>": {
      "<all_locales>": "0154"
    }
  },
  "name": {
    "<all_channels>": {
      "<all_locales>": 0.4976257891372086
    }
  },
  "image": {
    "<all_channels>": {
      "<all_locales>": "0/3/3/b/033ba53887ed8aea54a107f688f2de4f18fb4339_bag.jpg"
    }
  },
  "price": {
    "<all_channels>": {
      "<all_locales>": [
        {
          "amount": "1.00",
          "currency": "USD"
        }
      ]
    }
  },
  "weight": {
    "<all_channels>": {
      "<all_locales>": {
        "unit": "KILOGRAM",
        "amount": "11.0000",
        "family": "Weight",
        "base_data": "11.000000000000",
        "base_unit": "KILOGRAM"
      }
    }
  },
  "collection": {
    "<all_channels>": {
      "<all_locales>": [
        "autumn_2016"
      ]
    }
  },
  "ref_single": {
    "<all_channels>": {
      "<all_locales>": "7012"
    }
  },
  "tshirt_style": {
    "<all_channels>": {
      "<all_locales>": [
        "turtleneck"
      ]
    }
  },
  "test_locale_case": {
    "<all_channels>": {
      "<all_locales>": [
        "en_GB",
        "en_US",
        "fr_FR",
        "it_IT",
        "ko_KR"
      ]
    }
  }
}

When I update the source (mysql) using:
update pim_catalog_product
   set raw_values = json_set(raw_values, '$.name."<all_channels>"."<all_locales>"', rand())
   where id = 1;

the sink emits all the leaves of the jsonb document, not only the one that changed.
Is that an expected behavior? What can I do to only have 1 row emitted? (in this example only $.name should be emitted, not its siblings like ean or weight).
Error message/log
No response
To Reproduce
No response
Expected behavior
No response
How did you deploy RisingWave?
No response
The version of RisingWave
No response
Additional context
No response

Hi @docteurklein , thanks for your interests in using Risingwave,
The behavior here is expected as Risingwave considers all the stuff in raw_values jsonb as part of the row.
As long as anything in a row is changed, Risingwave will output all the parts that belong to this row.
RW's row definition diverges from your definition.
May I ask what this behavior has prevented you from accomplishing from your application's perspective?
We are happy to discuss the use case further and find a solution together.

Thanks for the quick answer!
What I meant by row is a row of the materialized view, not the source.
my understanding was that 1 row in the source corresponds to many rows in the mat view.
I expected RW to behave like materialize.io does. I ported this use case from materialize to RW, and materialize only yields the row(s) that changed in the mat view, whatever .
This behavior forces my app to over-work, as I'm getting events for things that didn't change.
PS: thanks for the slack link, it'll be easier indeed!

create table t(a jsonb);

insert into t values `{
  "ean": {
    "<all_channels>": {
      "<all_locales>": "1234567890183"
    }
  },
  "sku": {
    "<all_channels>": {
      "<all_locales>": "0154"
    }
  },
  "name": {
    "<all_channels>": {
      "<all_locales>": 0.4976257891372086
    }
  },
  "image": {
    "<all_channels>": {
      "<all_locales>": "0/3/3/b/033ba53887ed8aea54a107f688f2de4f18fb4339_bag.jpg"
    }
  },
  "price": {
    "<all_channels>": {
      "<all_locales>": [
        {
          "amount": "1.00",
          "currency": "USD"
        }
      ]
    }
  },
  "weight": {
    "<all_channels>": {
      "<all_locales>": {
        "unit": "KILOGRAM",
        "amount": "11.0000",
        "family": "Weight",
        "base_data": "11.000000000000",
        "base_unit": "KILOGRAM"
      }
    }
  },
  "collection": {
    "<all_channels>": {
      "<all_locales>": [
        "autumn_2016"
      ]
    }
  },
  "ref_single": {
    "<all_channels>": {
      "<all_locales>": "7012"
    }
  },
  "tshirt_style": {
    "<all_channels>": {
      "<all_locales>": [
        "turtleneck"
      ]
    }
  },
  "test_locale_case": {
    "<all_channels>": {
      "<all_locales>": [
        "en_GB",
        "en_US",
        "fr_FR",
        "it_IT",
        "ko_KR"
      ]
    }
  }
}`

create materialized view mv1 as
  with by_raw_value (rest) as (
    select jsonb_each(a) from t
  ),
  by_value (rest) as (
    select jsonb_each((rest).value) from by_raw_value
  ),
  by_channel (channel, rest) as (
    select nullif((rest).key, '<all_channels>'), jsonb_each((rest).value)
    from by_value
  ),
  by_locale (channel, locale, value) as (
    select channel, nullif((rest).key, '<all_locales>'), (rest).value
    from by_channel
  )
  select * from by_locale
;

dev=> select * from mv1;
 channel | locale |                                                         value
---------+--------+------------------------------------------------------------------------------------------------------------------------
         |        | ["autumn_2016"]
         |        | "1234567890183"
         |        | "0/3/3/b/033ba53887ed8aea54a107f688f2de4f18fb4339_bag.jpg"
         |        | 0.4976257891372086
         |        | [{"amount": "1.00", "currency": "USD"}]
         |        | "7012"
         |        | "0154"
         |        | ["en_GB", "en_US", "fr_FR", "it_IT", "ko_KR"]
         |        | ["turtleneck"]
         |        | {"amount": "11.0000", "base_data": "11.000000000000", "base_unit": "KILOGRAM", "family": "Weight", "unit": "KILOGRAM"}
(10 rows)

The output of sink should only contain changes in channel, or locale or value column

looks like I'm still getting extraneous sink outputs when changing only 1 element of a json structure containing siblings.
version:  PostgreSQL 9.5-RisingWave-1.3.0-alpha (bb2319e460cac272803837f39ac70b1c40268b9b)
on mysql source
update pim_catalog_product set raw_values =
  JSON_MERGE_PATCH(raw_values, '{"desc3": {"<all_channels>": {"<all_locales": 4}}}')
where id = 1;

expected output:
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"desc3\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "value": "{\"attribute\":\"desc3\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1,\"value\":\"4\"}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 45
}

actual output

  "topic": "product_value_edited",
  "key": "{\"attribute\":\"desc2\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "timestamp":<PHONE_NUMBER>140,
  "partition": 0,
  "offset": 41
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"desc2\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "value": "{\"attribute\":\"desc2\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1,\"value\":\"4\"}",
  "timestamp":<PHONE_NUMBER>140,
  "partition": 0,
  "offset": 42
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"name\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 43
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"name\",\"channel\":null,\"locale\":null,\"product_id\":1}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 44
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"desc3\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "value": "{\"attribute\":\"desc3\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1,\"value\":\"4\"}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 45
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"name\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1}",
  "value": "{\"attribute\":\"name\",\"channel\":null,\"locale\":\"\u003call_locales\",\"product_id\":1,\"value\":\"{}\"}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 46
}
{
  "topic": "product_value_edited",
  "key": "{\"attribute\":\"name\",\"channel\":null,\"locale\":null,\"product_id\":1}",
  "value": "{\"attribute\":\"name\",\"channel\":null,\"locale\":null,\"product_id\":1,\"value\":\"0.4290362600507552\"}",
  "timestamp":<PHONE_NUMBER>141,
  "partition": 0,
  "offset": 47
}

PS: I opened another issue for this #13025, it might be better than polluting this one.


[Feature Request] "MSRP" Field

So buyers can have a general idea of the prices of the gift ideas, it would be nice to have an optional "MSRP" field that the user could fill in while creating the idea

Hello, I've been considering this feature for a time. The problem is that it is a bit taboo to talk about money when it come to gift. So if you're ok with it I will add it but will be a bit more hidden in a collapsing menu. Is this ok for you? Do you have another ideas?

Considering the person in question is about to spend money on you anyway, I don't see the issue with listing prices. If anything, it makes easier for the buyer to "avoid" presents that could be outside of their price range

Now added the feature, hope it work for you.


@Option with name that cannot work should throw an error, or should be supported

With Gradle 5.6.3 I tried to make a task with a version @Option which did not work.
If you do not specify the option, Gradle complains that no value is set (it is not @Optional).
If you do specify the option, Gradle just outputs version information and quits.
So either the task option should take precedence if valid, or the building of the task should fail if an option name is used that cannot work.

Still the same with 6.7.1


Using deprecated flowcontrol api

Describe the bug
After applying the extra role as described in #21 I still get errors because now it can search for the resources but they are not actually present in the cluster.
go@v0.20.0/tools/cache/reflector.go:167: Failed to watch *v1beta1.PriorityLevelConfiguration: failed to list *v1beta1.PriorityLevelConfiguration: the server could not find the requested resource
E0502 21:36:13.356046       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.20.0/tools/cache/reflector.go:167: Failed to watch *v1beta1.FlowSchema: failed to list *v1beta1.FlowSchema: the server could not find the requested resource

To Reproduce
Install with the extra role as described in #21
Expected behavior
No errors
Details (please complete the following information):

Scaleway Cert Manager Webhook version: latest
Platform: ?
Kubernetes version: 1.29.1

Additional context
v1beta1 of flowcontrol has been removed since 1.26, v1 is released since 1.29 or alternatively v1beta3 can be used from 1.26 - 1.29
Since the error occurs in client-go perhaps an update of the go dependency is enough to fix this?

Can you try using the v0.1.0 ? (just released it)

I just tried v0.1.0 and can confirm that all the error messages are gone.


Rebase Documentation Source code to use less Scenes?

Is your feature request related to a problem? Please describe.
Sincerest apologies for spamming but the Documentation's source file is convoluted with lots of scenes, singletons and scripts. A complete rebasing of the source code to use less Scenes would help others contribute to the code base more easily. In the mean time, a map of the source code can be useful so new devs aren't intimidated by how interconnected the entire project's source code is
Describe the solution you'd like
A clear and concise description of what you want to happen.
(1) A map of the source code
(2) A rebase of the documentation to use less Scenes
(3) In code Documentation of each parts of the source code

Hey. I was the one mainly making the documentation. But we have removed it from Dialogic 2.0 and will likely move either to the wiki here or an external online documentation because it was hard to keep up-to-date and most people missed it anyways.
If you are interested in using the scripts and scenes for something else you can of course do that.
But it's very unlikely we will be improving the 1.x version.

Do you have a fresh template for it?

Again, my sincerest apologies for spamming. The code itself is genius.

Hey. I was the one mainly making the documentation. But we have removed it from Dialogic 2.0 and will likely move either to the wiki here or an external online documentation because it was hard to keep up-to-date and most people missed it anyways.
If you are interested in using the scripts and scenes for something else you can of course do that. But it's very unlikely we will be improving the 1.x version.

I didn't mean that the code is bad! Don't just remove a feature cuz of me! 😰 A built-in Documentation + wiki+ website is the best combination, it's how Good Documentation should be. I just wanted less Scenes and Singletons so there's less chances of broken dependencies and broken scenes. Not because the idea of a built-in Documentation is bad. Don't go to either extremes, a middle ground solution is best here !


Added 1x1 pixel for ga-beacon analytics

Since the pre-check seems to have failed, I am indeed a googler<EMAIL_ADDRESS>maybe it hasn't trickled through the system yet. Added changes based on guidance from bburns

Thanks @mansoorj! One comment is that you probably don't want to do this for the .md files in Godeps. Those are third_party ones we don't need to track.

Yes don't change the ones in third party files.

agree, let's not track mds in Godeps.  Sorry, I should have mentioned that!
--brendan

Ok, how should I proceed? Will you reject the entire PR for me to
re-submit, or are you able to specifically reject the godeps folder?
Thanks,
Mansoor
On Fri, Apr 10, 2015 at 8:03 PM Brendan Burns<EMAIL_ADDRESS>wrote:

agree, let's not track mds in Godeps. Sorry, I should have mentioned that!
--brendan
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/6715#issuecomment-91748700
.

You can re-push to your fork and it'll reflect the change here.

Now that I'm back, Let me know if you want git-fu help getting this done.
--brendan

Close this one in favor of #6826?

Closing in favor of #6826


(BKR-53) with_puppet_running_on only restarts before yielding

Before, with_puppet_running_on bounced the puppet service before and after runs.
This was causing us a lot of pain as the last restart proved unnecessary for the
most part, and added 30 seconds to each test run on avg in our CI.
We've decided to improve this by removing the second bounce, since most tests using
puppet should already use this method, so the next test will ensure its wanted state
prior to yielding.
If people still want the old behavior, they can pass in :restart_when_done as a boolean
flag in the conf_opts argument of this method

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/937/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/941/
Test FAILed.

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/947/
Test FAILed.

:+1: Looks good to me once tests pass.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/977/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/978/
Test PASSed.

:+1:


The project MUST have a formal written policy that as major new functionality

The project MUST have a formal written policy that as major new functionality is added, tests for the new functionality MUST be added to an automated test suite.

Link to the policy docs: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests


Integrate Caliper With Prometheus

Big set of changes here to enable:

Prometheus monitor with generic user queries
Prometheus observer for console displayed txn stats

Changes include:

modify local client to conditionally push to a prometheus push gateway
modify returned results to include start/end times of client test
add new prometheus monitor
tidy existing Docker monitor
remove demo.js and move to a test observer class
add test observer interface
add prometheus based test observer
rename monitor methods/variables to make them related to what the method/variable is used for
add new docker-compose file that includes Prometheus/Grafana
delete zoo related items (clients and CLI)
modify report builder and report template to enable generic results to be itemised
at a txReset message to local observer so the observers behave the same way

Signed-off-by<EMAIL_ADDRESS><EMAIL_ADDRESS>

@aklenik - thanks for the review, I've made the suggested edits, in particular modified the manner in which queries are made to prevent overwriting of parameters - happy to do the same in the
push client too (which had a similar pattern)