Not installing latest package thru pip

When I do pip install pycreate2 it seems to install older package and not the newer one that has fixes to MIDI tones.
Also, there is a missing comma line 50 in setup.py when installing from cloned copy and the missing README.rst file. Fixing these two issues will help install from the cloned copy.

sorry ... I must not have pushed that to pypi ... give me a little bit and I will push it today. :smile:

ok, made some updates and just published 0.7.5 to pypi ... it should be there soon.

should be all good now :bento:

@walchko thank you very much for taking care of this update. I confirm it is working now, updated the package and now midi tones example works great.


active cell blocks left behind after pattern completes

this feels like new behavior but possibly this was just never noticed when using a trail block

this was in non-destructive mode only. it has been fixed.


Print NIghtmare

The LPE CVE is CVE-20021-34481, it looks like a copy paste issue with the original 34527.
HTH
Mark

Already fixed that, thanks!


Bug in the "getting started" page

The example in the "getting started" page ends with m.mount(document, {controller: todo.controller, view: todo.view}); while the jsFiddle uses m.module(...). I believe the jsFiddle is correct since using m.mount(...) doesn't work.
https://lhorie.github.io/mithril/getting-started.html

@pieroxy in mithril 0.2.0 m.module has been renamed m.mount. Per the change log:
Calling m.module will still work, but should be considered deprecated. Rationale: Mithril modules and components are the same thing, therefore from now on, they will be referred to as components, since that name is more descriptive of their purpose, and causes less confusion in the face of ES6 modules.
Can you share the jsfiddle where m.mount doesn't seem to work.

The thing is, in the jsFiddle, if you replace m.module with m.mount it doesn't work... Maybe we should update the jsfiddle with a newer version of mithril.
I'm talking about the jsFiddle that is linked in the "getting started" page:
http://jsfiddle.net/milesmatthias/fbgypzbr/1/

It's because the jsFiddle is loading mithril 0.1.32.
Here is a jsFiddle with 0.2.0 and it works: http://jsfiddle.net/fbgypzbr/16/.
The getting started page should be updated with an updated jsFiddle

That was my point. So I'll leave the issue open. Thanks for the clarification.


Implement theme manager

Basic functionality:

Rich editor with CSS highlighting
Ability to save themes

This is ready.


[$500] Web - Attachment - Unable to open popup "Enter the Password" using Enter Key

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com
Log in with the account
Send PDF protected file
Click on PDF file
Use Tab key to navigate to Enter the Password name
Click Enter

Expected Result:
Able to open popup "Enter the Password" using Enter Key
Actual Result:
Unable to open popup "Enter the Password" using Enter Key
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/192626996-6a0aeb64-9e85-4c49-ba14-858d03545227.mp4

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Proposal

Here for "Enter the password" we are using the <TextLink> component which is specially designed to open external links and has accessibilityRole="link" which is used to open external links on press enter

So for this issue use case we need to have a button component (Eg : TouchableOpacity, Pressable) that has actual accessibilityRole="button" which allows us to open the password page on pressing enter

https://github.com/Expensify/App/blob/e5d766115babfe4fed51b97e8b7f65b6bec64f21/src/components/PDFView/PDFInfoMessage.js#L19-L38

Need to modify and replace <TextLink> with <TouchableOpacity> inside PDFInfoMessage.js as per the below code snippet
Also need to modify style as per current code which included in below code snippet

const PDFInfoMessage = props => (
    <View
        style={styles.alignItemsCenter}
    >
        <Icon
            src={Expensicons.EyeDisabled}
            width={variables.iconSizeSuperLarge}
            height={variables.iconSizeSuperLarge}
        />
        <Text style={[styles.h1, styles.mb3, styles.mt3]}>
            {props.translate('attachmentView.pdfPasswordForm.title')}
        </Text>
        <Text>{props.translate('attachmentView.pdfPasswordForm.infoText')}</Text>
        <View style={styles.flexRow}>
            <Text>
                {props.translate('attachmentView.pdfPasswordForm.beforeLinkText')}
            </Text>
            <TouchableOpacity
                onPress={props.onShowForm}
                style={[styles.link, styles.mh1]}

            >
                {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
            </TouchableOpacity>
            <Text>
                {props.translate('attachmentView.pdfPasswordForm.afterLinkText')}
            </Text>
        </View>

    </View>
);

Results
https://user-images.githubusercontent.com/47522946/192814776-e5032fb9-1522-49cf-be60-59b139656888.mov

Job posted https://www.upwork.com/jobs/~0191c6efcfb886e0cf

Proposal
If we need to treat all LinkText to be opened on the keyboard enter press. Then we need to wrap Text in TextLink in a TouchableOpacity or I recommend creating a separate component for handling such cases.
https://github.com/Expensify/App/blob/e5d766115babfe4fed51b97e8b7f65b6bec64f21/src/components/TextLink.js#L36-L51

OR
If we even want to fix the issue only in PDFInfoMessage.js
https://github.com/Expensify/App/blob/e5d766115babfe4fed51b97e8b7f65b6bec64f21/src/components/PDFView/PDFInfoMessage.js#L19-L38
We can replace TextLink with TouchableOpacity and style the TouchableOpacity by passing style={styles.link}

After My Code

After Solution :-
https://user-images.githubusercontent.com/81307212/192899373-44f91d93-059b-49b3-a963-0541089cf6a6.mov

@kadiealexander auto-assigned to you, I'm going to be OOO for a month. Thx
@eVoloshchak can you @syedsaroshfarrukhdot 's proposal above please? https://github.com/Expensify/App/issues/11354#issuecomment-1261536595

Hello can you also review my proposal here https://github.com/Expensify/App/issues/11354#issuecomment-1261053137

@dhairyasenjaliya's proposal:
correctly identifies the root cause of the issue, thank you for thorough explanation
@syedsaroshfarrukhdot's proposal:
extends on @dhairyasenjaliya's proposal, we definitely need to have this behavior for all of the TextLinks, so I think wrapping text in TextLink in a TouchableOpacity is a preferred approach.
However
Both proposals have an issue with vertical text alignment on mobile.

Waiting for an updated proposal that addresses this issue

@eVoloshchak I think we shouldn't modify  since this one is specific for links and i do think this works as except on external link on pressing enter here we have use case to just to enter form which is in our code base

hello @eVoloshchak I did check that we are using the <TextLink> component in many pages but here if we change to <TextLink> to use <TouchableOpacity> instead of <Text> then basically we will be adding <TouchableOpacity> inside <Text> which I think would be the not correct way for example below are just 3 examples how we are using <TextLink> in different pages and we have used this component 18 times  :

However if the team feels to change <Text> to <TouchableOpacity> then I will update proposal accordingly please let me know once you get chance

I'll post a discussion on Slack in a couple of hours.
Do you have ideas on how to fix the issue with alignment on mobile?

Sure will look into alignment on mobile

Updated Proposal:-
To fix the issue  of vertical alignment in mobile we need to do a refactoring of PDFInfoMessage.js
Use below code snippet  in PDFInfoMessage.js
const PDFInfoMessage = props => (
<View
    style={styles.alignItemsCenter}
>
    <Icon
        src={Expensicons.EyeDisabled}
        width={variables.iconSizeSuperLarge}
        height={variables.iconSizeSuperLarge}
    />
    <Text style={[styles.h1, styles.mb3, styles.mt3]}>
        {props.translate('attachmentView.pdfPasswordForm.title')}
    </Text>
    <Text>{props.translate('attachmentView.pdfPasswordForm.infoText')}</Text>
    <View style={styles.flexRow}>
        <Text>
            {props.translate('attachmentView.pdfPasswordForm.beforeLinkText')}
        </Text>

        <TextLink onPress={props.onShowForm}>
            {` ${props.translate('attachmentView.pdfPasswordForm.linkText')} `}
        </TextLink>

        <Text>
            {props.translate('attachmentView.pdfPasswordForm.afterLinkText')}
        </Text>
    </View>

</View>

);
if we need to add TouchableOpacity in all text link we can wrap TextLink.js in TouchableOpacity like this and it fixes all issues.

Fix on Ios vertical alignment :-

Fix on Ios vertical desktop/web  :-

However if the team feels to change <Text> to <TouchableOpacity> then I will update proposal accordingly please let me know once you get chance

I'll post a discussion on Slack in a couple of hours. Do you have ideas on how to fix the issue with alignment on mobile?

@dhairyasenjaliya @eVoloshchak We don't need to replace Text with TouchableOpacity we simply need to wrap Text Component in TextLink.js with TouchableOpacity as we can't pass strings directly to TouchableOpacity in ReactNative we always need to wrap strings in Text Component first.
Otherwise, we get this error on Mobile Platforms

Posted a question on slack
https://expensify.slack.com/archives/C01GTK53T8Q/p1664835389118829

@kadiealexander assigned myself and unassigned you cuz I'm NOT going to be OOO the next month ¯_(ツ)_/¯

Checking in our QA/Internal room for accessibility

Didn't find much on my accessibility hunt.  Regardless of potential accessibility guidelines, tabbing to a box then clicking enter should be an option so we should fix this.  I doubled the price to $500 https://www.upwork.com/jobs/~0191c6efcfb886e0cf

Proposal

Continuing on the previous proposal as I mentioned we shouldn't wrap nested <Text>

So I do find one more subtle way to handle this one we can add onKeyDown to the <Text> and listen to the Enter event once the user press enter we should open the form page

Creating handleKeyDown function

const handleKeyDown = (e, props) => {
    if (e.key !== 'Enter') {
        return;
    }e.preventDefault();
    if (props.onPress) {
        props.onPress();
        return;
    }

    Linking.openURL(props.href);
};

Adding it to <TextLink> component

const TextLink = (props) => {
    const additionalStyles = _.isArray(props.style) ? props.style : [props.style];
    return (
        <Text
            style={[styles.link, ...additionalStyles]}
            accessibilityRole="button"
            href={props.href}
            onKeyDown={(e) => { handleKeyDown(e, props); }}
            onPress={(e) => {
                e.preventDefault();
                if (props.onPress) {
                    props.onPress();
                    return;
                }

                Linking.openURL(props.href);
            }}
        >
            {props.children}
        </Text>
    );
};

Result
https://user-images.githubusercontent.com/47522946/196590144-483783ce-e6a8-45eb-93a4-04267dded83a.mov
cc @eVoloshchak,
thank you for reminding almost forget this issue @mallenexpensify  :)

I like @dhairyasenjaliya's proposal!
Not wrapping Text in another View is perfect, this would yield problems on native.
I think we can shrink down the code by using the same function for onPress and onKeyDown, so TextLink ends up looking something like this
const TextLink = (props) => {
    const additionalStyles = _.isArray(props.style) ? props.style : [props.style];

    const handlePress = (e) => {
        e.preventDefault();
        if (props.onPress) {
            props.onPress();
            return;
        }

        Linking.openURL(props.href);
    };

    return (
        <Text
            onPress={handlePress}
            onKeyDown={(e) => {
                if (e.key !== 'Enter') {
                    return;
                }

                handlePress(e);
            }}

🎀👀🎀 C+ reviewed!
cc: @mallenexpensify

yeah was planning for the same since both are the same function thanx for the further input :)

@tgolen can you please review @dhairyasenjaliya 's proposal https://github.com/Expensify/App/issues/11354#issuecomment-1283364164
Thx

The proposal looks good 👍

accepted

Hired @eVoloshchak and @dhairyasenjaliya

Regression: I can reproduce this issue.
Step:

Click :heavy_plus_sign: on the composer.
Click add attachment.
Select a locked PDF.
On the attachment Modal.
Tab over the  enter the password link.
Press Enter.
attachment is sent instead of showing the passwordForm.

we kind of take every failing case as regression. This should have been tested on the PR before merging.

@isabelastisser Reassigning as I'm heading OOO for a month

Issue not reproducible during KI retests. (First week)

Reviewing this by EOD.

Bump @eVoloshchak https://github.com/Expensify/App/issues/11354#issuecomment-1304136387

Bump @eVoloshchak #11354 (comment)

This is something I should have caught when testing the PR
What should be my next steps here? Do an RCA?

@dhairyasenjaliya should create a PR to fix it. As we already know the Root issue, no RCA is needed.
@eVoloshchak You can start by reviewing their suggestions above.

Issue not reproducible during KI retests. (Second week)

@dhairyasenjaliya should create a PR to fix it. As we already know the Root issue, no RCA is needed.
@eVoloshchak You can start by reviewing their suggestions above.

sure let's get this PR done

If we are enabling accessibility we need to check if the component is focused and pressing enter should fire the necessary press event so removing pressOnEnter on <Button> solves the problem for this I'm not sure what should be the correct behavior after enabling accessible to Enter the password  maybe we need to ask team for this particular scenario

That means we lose the current behavior where the user is pressing enter while having nothing focused and the attachment is sent, correct?

If we are removing it everywhere, this will resolve our issue

yup it will

Looks like there is discussion in https://github.com/Expensify/App/issues/7968#issuecomment-1320879129, let's wait for the answer

@eVoloshchak similar issue just got closed thoughts
https://github.com/Expensify/App/issues/7968#issuecomment-1322105351

If we already merged a PR that is supposed to fix this issue then I don't see a reason backing out now. Unless we hit a hard rock, we can try to fix the regression as well. Otherwise, if we are thinking of closing this one then the task is not complete.

Based on this we just need to set the pressOnEnter to false. But I'd say that being able to just press enter to send an attachment is great and we shouldn't remove it
I suppose we have a couple of options

set the pressOnEnter to false
set the pressOnEnter to false and focus the 'send' button when the modal is opened
detect if enter the password link is focused, otherwise keep current behaviour

@parasharrajat, should I ask about this on slack?

@parasharrajat this issue is different to add onEnter key to <TextLink> which is working well(this PR) the only problem is when we have a button along with pressOnEnter at that time it overrides enter event and makes similar situation related here which i think is globally affect https://github.com/Expensify/App/issues/7968#issuecomment-1320879129

Yes, it might be considered different.

Asking here

Got an answer:

I would recommend we close or deprioritize this issue. Having the Enter button work perfectly in every scenario is a good long term goal, but feels like an accessibility feature we don’t need to prioritize for right now.

Per the comment above, I'm closing this issue.

@eVoloshchak @parasharrajat , I'm trying to move this issue forward but I'm confused because of the additional issue mentioned here :

Was the original bug fixed?

I see the job closed in Upwork, was it paid?

@tgolen , what's the progress on the PR?

https://github.com/Expensify/App/issues/11354#issuecomment-1300665713

@isabelastisser yes the primary purpose of this PR was to add the onEnter event to <TextLink> which works well except for one condition where we have a button with 'onPressEnteradded which overrides the enter event of`, so this particular case I think we have the conclusion to deprioritize since this is that particular condition is more of global and is part of keyboard accessibility

for me also hasn't been paid off yet

Update:

The original bug was fixed.
We've decided to deprioritize the issue caused by fixing the original bug. Context here.
I've paid @eVoloshchak and @dhairyasenjaliya in Upwork now.
The contract has been completed, and the Upwork post has been closed.
No more actions are needed, so I'm closing this as completed!


Biomes O' Plenty - Nether compatibility

I'd like to point out that there's no sign of any BOP nether biomes being generated.

Was wondering why my nether looked so shit, this is it.

See "Add Option to Search for Nether Biomes" #86

Bare in mind there are external mods that solve this on the latest version. If this issue is referring to the nether dimension and several biomes this isn't difficult at all. In all fairness i I agree w/ what Dags said in #86 this mod should stay true too the overworld. It might even be a bad idea if he hardcodes the nether on the world type. It could create complications for a user who wants say a 256 high nether.
My mod solves this issue. Just add the biome's registry name in the config. And If i recall correctly, BOP's nether can't take in modded nether's from other mods bc of how the nether is setup.
Link to the solution for this:
https://www.curseforge.com/minecraft/mc-mods/nethergenplus

Thanks for linking Nethergenplus, Voronoiii. That's exactly what I needed.


Create an AMP URL API example

Make it possible to play around with the API via sample JSON query in an editable textfield. Add a send button to retrieve and show the result. This needs to happen in an amp-iframe.
//cc @kul3r4

I started at looking at this yesterday as part of #168
Few things:
-we are not using GO templates, so it's harder to add new nodes into an html page. I was thinking to get all the content into a String, overwrite it, and then copy it back into the file

we have the initial html page (under src) and the generated one (under dist). Changing the one under dist it's harder, given the gulp tasks add stuff on top of that. It would be easier edit the one under src and run the gulp task (compile) from the server (with a GO instruction). Do you think it makes sense?

We are already using Go templates so adding support for this isn't a problem:
func getParameterDemoHandler(w http.ResponseWriter, r *http.Request) {
	value := r.URL.Query().Get("value")
	renderTemplate(w, "get-example", value)
}

func renderTemplate(w http.ResponseWriter, templateName string, value string) {
	t, _ := template.ParseFiles("templates/" + templateName + ".html")
	t.Execute(w, value)
}

Ok, but we are only using templates for generating new examples, once it's generated, it's difficult to change the example itself programmatically.
Let's take for example amp-img.html. At the moment it contains only a node for amp-img. If we want to add another node server side (implementing the new API), we will need to override the page completely because the page itself, amp-img.html does not contain any templating.

In the AMP URL sample you don't need server-side templating. You can
implement everything client-side in an iframe (you can't do it in AMP
anyway as you need html form support).
With amp-live-list it's different, I'd suggest hardcoding the route in the
backend to load and templatize the sample file. Once we need this more
often we can think about how to generalise this.
On Wed, Jun 1, 2016 at 2:27 PM Chiara Chiappini<EMAIL_ADDRESS>wrote:

Ok, but we are only using templates for generating new examples, once it's
generated, it's difficult to change the example itself programmatically.
Let's take for example amp-img.html. At the moment it contains only a node
for amp-img. If we want to add another node server side (implementing the
new API), we will need to override the page completely because the page
itself, amp-img.html does not contain any templating.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ampproject/amp-by-example/issues/172#issuecomment-222991606,
or mute the thread
https://github.com/notifications/unsubscribe/AAXOOHBsK8GyxmrCYlIxkjH08laJ6M5Sks5qHYjGgaJpZM4IrWv3
.

Implemented in the following PRs: #181 & #189.


Module not found: Error: Can't resolve 'fs' in

Hi, im trying to serve my Angular6/nativescript-schematics shared code, using this:
ng serve
(For publish in localhost:4200), then the first code work fine, but i add a stompjs/websockets client and it breaks,
This is the error:
ERROR in ./node_modules/debug/src/node.js
Module not found: Error: Can't resolve 'fs' in '/Users/alexander.eberle/git/web-poker/frontend/pokerclient/node_modules/debug/src'
ERROR in ./node_modules/eventsource/lib/eventsource.js
Module not found: Error: Can't resolve 'http' in '/Users/alexander.eberle/git/web-poker/frontend/pokerclient/node_modules/eventsource/lib'
ERROR in ./node_modules/eventsource/lib/eventsource.js
Module not found: Error: Can't resolve 'https' in '/Users/alexander.eberle/git/web-poker/frontend/pokerclient/node_modules/eventsource/lib'
ERROR in ./node_modules/debug/src/node.js
Module not found: Error: Can't resolve 'tty' in '/Users/alexander.eberle/git/web-poker/frontend/pokerclient/node_modules/debug/src'
ERROR in ./node_modules/stompjs/lib/stomp-node.js
Module not found: Error: Can't resolve 'websocket' in '/Users/alexander.eberle/git/web-poker/frontend/pokerclient/node_modules/stompjs/lib'

i tryed the same configuration in a clean angular project (without nativescript-schematics) and work fine, but in shared version isn't work.
I understand if you say me thats not work in the ios / android version. it's fine (because I need a specific code for these platforms), but on the web version it should work.
Any ideas?
Thanks, and sorry for my bad english, i only speak spanish :P
Edit:
Im using last version of nativescript and angular, and check the dependencies, you can check the code here:
https://github.com/alexander171294/web-poker/tree/master/frontend/pokerclient
Thanks!

hi @alexander171294,
sorry for the late reply. It was my mistake in the schematic, that added {N} paths to tsconfig.json.
A quick fix is to update tsconfig.json to:
{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

That should do the trick.
I am currently in the process of updating the schematics. Tomorrow the ng new schematic should be working correctly.


Ignore some channels like #karhu and private messages

Because now someone can spam in them and get the role. This time it is the correct repo for the issue.

Wdym by wontfix label

This needs to be fixed asap!

Implemented a temporary fix, this will be handled in testausapis in the future


Add Bus Statistics increment methods

Ref: @AlvianPrasetya

Changed to include bus invalidation/update counter ref: 4be8846 and @AlvianPrasetya


IE8 cell.w formatted cell value missing

Hi,
js-xls has an issue in IE8 where the formatted value of cells is not added to the cell object. I've traced this down to the eval_fmt function:
function eval_fmt(fmt, v, opts, flen) {
    var out = [], o = "", i = 0, c = "", lst='t', q, dt, j, cc;
    var hr='H';
    /* Tokenize */
    while(i < fmt.length) {
	    switch((c = fmt[i])) {
                ...
                }
         ...
        }
    ...
}

IE9 and below don't support accessing a string using array syntax (e.g. c = fmt[i]). I propose converting the string to an array, although I am not sure what impact that would have on efficiency.

@saw792 I'm going to close this and track it in the XLSX module


DCM optimizations

The DCM representation is currently an alias for SMatrix. That is nice but we could do even better if we specify properties of rotation matrices that are not implemented by a generic SMatrix. That is what Rotations.jl does with inv == transpose for example.
Maybe DCM should be a new type of StaticMatrix, and that is possible with StaticArrays.jl interface:
# inherit most basic methods like SMatrix
struct DCM{T} <: StaticArray{3,T} end

# add specific methods for rotations
inv(D::DCM) = transpose(D)
...

No, this cannot be done in this package. I think Rotations.jl assumes that a DCM is always orthornormalized, meaning that the inverse is the transposed matrix. Here, we do not do this. DCMs can be propagated given the angular velocity and they loose the normalization due to numerical errors. The process to orthornormalize at each step can be costly and not useful for some applications (small sampling step, small angular velocity, etc.). That's why I make this design choice. Finally, if the DCM is not orthornormalized, it is better to obtain is inverse to compute the inverse rotation than to use its transpose.

I think the issue of taking inverses is orthogonal to the issue of making DCM a StaticMatrix subtype. We can still provide a new DCM type that is more than just an alias to SMatrix. This would give us power to define conversions without type piracy and would also help us design more specific behavior for rotation matrices. Right now we can't exploit the fact that these are rotation matrices because we can't specialize methods on SMatrix. Makes sense?
The current design ReferenceFrameRotations.jl is very centered around MATLAB users as you said and as a consequence we are loosing a lot of potential in terms of dispatch and automatic conversion between different kinds of rotations.

I think the issue of taking inverses is orthogonal to the issue of making DCM a StaticMatrix subtype. We can still provide a new DCM type that is more than just an alias to SMatrix. This would give us power to define conversions without type piracy and would also help us design more specific behavior for rotation matrices. Right now we can't exploit the fact that these are rotation matrices because we can't specialize methods on SMatrix. Makes sense?

Ok, this makes sense! However, we must be 100% sure that the implementation will behave precisely the same as we have now. A lot of code currently depends on this package and I really do not want to update all of them :D Thus, unfortunately, backward compatibility must be a goal in the short term. For practical purposes, I think it is enough to make sure that the current test set passes.

The current design ReferenceFrameRotations.jl is very centered around MATLAB users as you said and as a consequence we are loosing a lot of potential in terms of dispatch and automatic conversion between different kinds of rotations.

Yes, this is also something I do not want to change. I will guess that 90% of the students learn reference frame rotations in Aerospace Engineering using MATLAB, so it is more or less the industry standard right now. It is a good thing to have an API close to that.
However, I agree we are loosing nice Julian features here. But I really think we can make those two things to coexist just fine.

Hi @juliohm !
To implement random samplers for DCM, I needed to create a custom type just like you suggested. The code is already in master, can you please check if everything is fine?

I will close this issue because it was already implemented in master. Now, we have a custom type for DCM and it enables us to define the conversion functions without messing up with StaticArrays.


some issues with providing truncation values via data or inits rather than constants

Providing a single truncation value via data (or inits). Somehow we are not able to realize that 'truncvalue' is a variable that can be supplied via data (or inits).

code <- nimbleCode({
  for(i in 1:5){
    vec[i] ~ T(dgamma(shape = sh, rate = ra), 0, truncvalue)
  }
})

m <- nimbleModel(code, data = list(vec = rnorm(5), truncvalue = 5))
#  [Note] 'truncvalue' is provided in 'data' but is not a variable in the model and is being ignored.
                                        # somehow the variable in the truncation syntax is not recognized

Providing a vector of truncation values via data or inits.

code <- nimbleCode({
  for(i in 1:5){
    vec[i] ~ T(dgamma(shape = sh, rate = ra), 0, truncvalue[i])
  }
})

m <- nimbleModel(code, data = list(vec = rnorm(5), truncvalue = rep(10,5)))
# Dimension of ra is 0, which does not match its usage in 'vec[i] ~ dgamma(shape = sh, scale = lifted_d1_over_ra, .rate = ra, lower_ = 0, upper_ = truncvalue[i], .mean = lifted_d1_over_ra * sh, .sd = lifted_d1_over_ra * sqrt(sh))'.

Brief debugging shows that something very wrong with BUGSdecl$parentIndexNamePieces at line 2159 of BUGS_modelDef.R, somehow caused (?) by use of [i] in truncation. The ultimate error is because the correct nDim value of 0 for ra is 0 but the length of "i" is 1.
Browse[1]> BUGSdecl$parentIndexNamePieces
[[1]]
NULL

[[2]]
NULL

[[3]]
[[3]][[1]]
[1] "i"

Also note that if we don't have parameters in the density being truncated, the error does not arise, e.g.,
T(dnorm(0,1), 0, truncvalue)

Ok, so here is what is going on.  This is pretty deeply rooted and has been present in the code base going back to 2017. In the example shown, a user is warned and things would presumably go haywire even in the first case where the model builds.
@perrydv I'd like a consult on this one.
This arises when we have truncation plus a lifted node in the wrapped density. The problem occurs in BUGSdeclClass$methods$genReplacedTargetValueAndParentInfo().
Here's the simplest example:
code <- nimbleCode({
  for(i in 1:5){
    vec[i] ~ T(dnorm(mu, sigma), 0, truncvalue)
  }
})

m <- nimbleModel(code, data = list(vec = rnorm(5), truncvalue = 5))

In line 443 of `BUGS_BUGSdecl.R` we extract the `RHSvars` based on processing `symbolicParentNodes` rather than `symbolicParentNodesReplaced`.  However when we have truncation, `symbolicParentNodes` and `symbolicParentNodesReplaced` are not aligned such that this can work. In this example,

Browse[2]> as.character(symbolicParentNodes)
[1] "mu"                             "lifted_d1_over_sqrt_oPsigma_cP"
[3] "sigma"                          "truncvalue"
Browse[2]> as.character(symbolicParentNodesReplaced)
[1] "mu"                             "lifted_d1_over_sqrt_oPsigma_cP"
[3] "truncvalue"

The result is that RHSvars is missing `truncvalue` and contains `sigma` instead.

I'll note that line 443 "works" (I think) because the nodes that have been lifted out and are no longer used are always last so they are ignored. But truncation breaks that assumption.

The comment in lines 436-440 says why we extract `RHSvars` based on `symbolicParentNodes` but I'm not able to see the example situation of `k[9-i]`. I'm probably not thinking carefully enough, but I don't see how the name assigned to the stuff inside the index (`9-i` -> "d9_minus_i") is relevant given that the process of extracting `RHSvars` only uses the information outside of the index (i.e., `k`).

@perrydv I'd like your thoughts, as trying to understand what led to line 443 should guide the solution.
It's probably going to get ugly if we have to try to figure out that, in the case above, 'sigma' is irrelevant and needs to be ignored.
And it feels hacky to manipulate things so that in `symbolicParentNodes` the truncation-related nodes appear before the nodes that were lifted out, which would presumably allow line 443 to work in this case.

Fixed by moving boundExprs earlier.


[AAD] – Cannot refresh id_token, error mentions undocumented AllowedOriginForNativeAppCorsRequestInOAuthToken configuration

Description
Cannot log in using a mobile and desktop applications redirect URL prefixed with tauri://. It works with http://localhost but not from tauri://localhost.
Impact
Cannot connect to custom API using MSAL.js (OpenID Connect) with Azure Active Directory. A technical error mentions AllowedOriginForNativeAppCorsRequestInOAuthToken configuration, which is not documented.
Short error
AADSTS90023: Cross-origin token redemption is permitted only for the 'Single-Page Application' client-type or 'Native' client-type with origin registered in AllowedOriginForNativeAppCorsRequestInOAuthToken allow list.
Full error
{
    "error": "invalid_request",
    "error_description": "AADSTS90023: Cross-origin token redemption is permitted only for the 'Single-Page Application' client-type or 'Native' client-type with origin registered in AllowedOriginForNativeAppCorsRequestInOAuthToken allow list.\r\nTrace ID: xxx\r\nCorrelation ID: xxx\r\nTimestamp: xxx",
    "error_codes": [
        90023
    ],
    "timestamp": "xxx",
    "trace_id": "xxx",
    "correlation_id": "xxx"
}

Related issues

https://github.com/gaoDean/oauthRefreshToken/issues/1
https://learn.microsoft.com/en-us/answers/questions/315313/azure-app-registration-causing-the-following-error

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

ID: c9642c47-826b-017f-eff3-ab3b25e4e454
Version Independent ID: 091f26e7-6543-ef0f-b575-b44519943391
Content: Quickstart: Register an app in the Microsoft identity platform - Microsoft Entra
Content Source: articles/active-directory/develop/quickstart-register-app.md
Service: active-directory
Sub-service: develop
GitHub Login: @cilwerner
Microsoft Alias: cwerner

@clemlesne
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@RamanathanChinnappan-MSFT, that's the issue, I'm encountering an error which is undocumented.
Maybe this could be added there.

@cilwerner
Any inputs on above query.

@clemlesne
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@clemlesne did the linked GitHub issue solve your problem? It looks like it was an MSAL.js issue that requires https rather than tauri for redirect URIs. This doesn't appear to be a docs issue itself, but it's worthwhile to highlight it, I can add it to our MSAL.js error handling article
As far as error codes go, we do have a list of error codes in our reference doc set at Azure AD Authentication and authorization error codes. I see the error code you have shown is listed, but there's a lot of types of error that can arise as a result.

I confirm it is an MSAL.js issue that requires https rather than tauri for redirect URIs.
Nevertheless, API error AllowedOriginForNativeAppCorsRequestInOAuthToken is still undocumented. The issue is still valid.

#please-reopen

#reopen


Touch file like it's 2010

Description
This calls touch with TZ=UTC touch -t<PHONE_NUMBER>00 to set the timestamp to 2010.
Motivation
I was looking at -s log and noticed that there were some log entries
related to touching statsfile and diagnosticsproto. Maybe I'm being paranoid about this, but I feel like this could be contributing to cache misses.
To prevent unnecessary cache invalidation, I think we should touch using
2010 timestamp.

@eed3si9n thanks for contribution! Do you have an actual case where cache miss happens due to these files?
If I'm not miss something important, Bazel cares only about hash of content of a file, which means file creation/update timestamp is ignored, unless it is packed into an archive, which is typically done using Bazel zip utility, which itself resets timestamps to the begging of the unix time. I think this leaves us with theoretical possibility where someone will archive those files with non reproducible tool, but then there are a lot more of such files with changing timestamps.

it is packed into an archive, which is typically done using Bazel zip utility, which itself resets timestamps to the begging of the unix time

I saw these on the log where I expected things to be remote cache hit, but thinking more about it, it could also be some other target upstream of it that triggered it too. I'll close this for now.


Add Popcornflix.com

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.03.06. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[X ] I've verified and I assure that I'm running youtube-dl 2017.03.06

Before submitting an issue make sure you have:

[X] At least skimmed through README and most notably FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[X] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Description of your issue, suggested solution and other information
I used to be able to use this site, but now I am not able to. Below is full --verbose output
XXXXX@XXXx:~$ youtube-dl --verbose http://www.popcornflix.com/beowulf/3d0faf7c-b030-4c8a-8652-5fb2f88f7263 > youtube-dl.log
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'http://www.popcornflix.com/beowulf/3d0faf7c-b030-4c8a-8652-5fb2f88f7263']
[debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8
[debug] youtube-dl version 2017.03.06
[debug] Python version 2.7.12 - Linux-4.4.0-64-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.11-0ubuntu<IP_ADDRESS>, ffprobe 2.8.11-0ubuntu<IP_ADDRESS>
[debug] Proxy map: {}
WARNING: Falling back on generic information extractor.
ERROR: Unsupported URL: http://www.popcornflix.com/beowulf/3d0faf7c-b030-4c8a-8652-5fb2f88f7263
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1762, in _real_extract
doc = compat_etree_fromstring(webpage.encode('utf-8'))
File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2526, in compat_etree_fromstring
doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory)))
File "/usr/local/bin/youtube-dl/youtube_dl/compat.py", line 2515, in _XML
parser.feed(text)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1653, in feed
self._raiseerror(v)
File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1517, in _raiseerror
raise err
ParseError: not well-formed (invalid token): line 140, column 18
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 761, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 427, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 2628, in _real_extract
raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://www.popcornflix.com/beowulf/3d0faf7c-b030-4c8a-8652-5fb2f88f7263

This website uses [brightcove:legacy], but there is a problem with the commit https://github.com/rg3/youtube-dl/commit/049a0f4d6da55f4062658da7593363147c92f4a8.
Reverting the commit makes youtube-dl work with this website.


Add Parser Tests and Storage Tests

Pull Request Test Coverage Report for Build 176

25 of 26 (96.15%) changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.03%) to 89.727%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/model/attendance/Attendance.java
4
5
80.0%

Totals

Change from base Build 174:
2.03%

Covered Lines:
2271

Relevant Lines:
2531

💛  - Coveralls

Lokos good to me.


Bug: Running into Issues with Cap 5

I'm running Capacitor with the following versions:
		"@capacitor/android": "^5.2.2",
		"@capacitor/core": "^5.2.2",
		"@capacitor/device": "^5.0.6",
		"@capacitor/ios": "^5.2.2",
		"@capacitor/status-bar": "^5.0.6",

I am running version ^2.0.5 of this plugin. The CSS variables used to be set but, they don't seem to be working anymore. I am doing this in Vue. This is my test code:

<template>

				{{ val }}

</template>

I'm not sure why it would work before but, not anymore after 1 month. Thoughts?

I'm running Capacitor with the following versions:
		"@capacitor/android": "^5.2.2",
		"@capacitor/core": "^5.2.2",
		"@capacitor/device": "^5.0.6",
		"@capacitor/ios": "^5.2.2",
		"@capacitor/status-bar": "^5.0.6",

I am running version ^2.0.5 of this plugin. The CSS variables used to be set but, they don't seem to be working anymore. I am doing this in Vue. This is my test code:

<template>

				{{ val }}

</template>

I'm not sure why it would work before but, not anymore after 1 month. Thoughts?

The plugin does not automatically set the value of --safe-area-top，it only provides information about SafeArea


[104] Fixes API auth if REST API is enabled and disable _CONF_CHECK_ISSUE_UPDATE_CONFLICT otherwise

Fixes https://github.com/Ilogeek/redmine_issue_dynamic_edit/issues/104

Ok, fix deployed on my redmine and looks functional to me.
Well done, thanks a lot :)


Add debugging messages and configurable verbosity

While working through https://github.com/rapidsai/rmm/pull/1502, I've found myself struggling to debug problems of the form "rapids-build-backend isn't doing what I want, but also isn't raising any warnings or errors".
It'd be helpful to be able to turn on debug-level logging and see exactly what the library is doing.
For example, I'd like to be able to use logs to inspect what's happening in here:
https://github.com/rapidsai/rapids-build-backend/blob/bbe5b13ea13bebd875dfed7d4514b34b768c3927/rapids_build_backend/impls.py#L180-L205
References
Some related conversations:

https://github.com/pypa/pip/issues/6634
https://github.com/scikit-build/scikit-build-core/pull/513

One way to do this would be to use the logging module and configure log levels using an environment variable. It's tricky because the build frontend has most of the control of how the backend is invoked, so you really have to use an environment variable or something similar to control the log levels because you can't force any information to be passed via the CLI/API.

so you really have to use an environment variable or something similar to control the log levels

rapids-build-backend could expose configuration for logging verbosity that's passed through config-settings from pyproject.toml, just like scikit-build-core does with cmake.verbose.
like this
[tool.rapids-build-backend]
log-level = "DEBUG"

Yup that would work. RBB supports configuration, and ~all config variables in pyproject.toml may be overridden with config settings or an env var.


Fix Vagrant File

We need to fix vagrant file.
We already have it, but we need a better box and make a bootstrap.sh.

@jcserracampos  terminou essa mais cedo correto?

@jcottobboni Sim.
Fechando a issue.


Misleading build.sh command synopsis regarding networkname

While the command synopsis for build.sh reads:
# ./build.sh
Usage: build.sh -c core|webapp [-s serial] [-b master|final|pre-final] [-p buildcontext] [-n networkname] [[-a buildarg] ...] [-i]
Example: build.sh -c core -s ABC123456789DEF -b final
-i   Do not use cache on docker build.
-b   If no branch is specified, 'master' will be built by default.
-p   If no buildcontext is specified, it will be built from git repository. Normally, you do not need to specify this.
-n   If no networkname is specified, it will create and use a network named 'buildproxy_net'.
-a   You can specify custom build args via e.g. -a KOPANO_CORE_REPOSITORY_URL=http://thisismy/url -a KOPANO_WEBAPP_REPOSITORY_URL=http://thisismy/url.

and thus claiming networkname to be optional even in the example, running # ./build.sh  -c core -b final -a TEST yields:
Start building kopano core image version (newest)...
Sending build context to Docker daemon  20.48kB
Step 1/21 : FROM debian:stretch
 ---> 3bbb526d2608
Step 2/21 : LABEL<EMAIL_ADDRESS>     version="2.0"
 ---> Using cache
 ---> 87ec05cbbcb0
Step 3/21 : RUN mkdir -p /kopano/repo /kopano/data
 ---> Running in ae472068a71b
network buildproxy_net not found

Yes, you are right. There is a bug. Maybe something like -n host will workaround it for now. But I have no time to test it right now.
As long as there is no serial specified the script will not try to create the network, which is wrong. I need to fix it.
Another workaround would be to create the network manually by docker network create --attachable buildproxy_net

No worries - -n host does indeed work around it. (If there would be something like a priority field, this one would be low.)

Due to simplification of build.sh there is no build-network necessary anymore.


Latest version has broken versioning.

[23:44:24] [main/WARN]: Mod waystones (<IP_ADDRESS>) uses more dot-separated version components than SemVer allows; support for this is currently not guaranteed.
I sure you know this but the version number shouldn't have more than two dots.

Also could you please disable these? Or if this is necessary for you, make them in one line?
[10:05:01] [main/INFO]: [Fabric-Waystones] is loading.
[10:05:01] [main/INFO]: [Fabric-Waystones] has successfully loaded.
[10:05:01] [main/INFO]: [Fabric-Waystones] If you have any issues or questions, feel free to join our Discord: https://discord.gg/vMjzgS4.

Also could you please disable these? Or if this is necessary for you, make them in one line?
[10:05:01] [main/INFO]: [Fabric-Waystones] is loading.
[10:05:01] [main/INFO]: [Fabric-Waystones] has successfully loaded.
[10:05:01] [main/INFO]: [Fabric-Waystones] If you have any issues or questions, feel free to join our Discord: https://discord.gg/vMjzgS4.


TypeError: get_problem() got an unexpected keyword argument 'n_var'

Hi! When I tried to minimize a problem other than those in 'problem_interface.py', I encountered the error as shown in the title. It seems that the function 'get_problem(problemname,n_var=dimension)' is not defined in the 'run.py'. I wonder if only the problems in 'problem_interface.py' can be minimized because other problems in 'reproblem.py' seems not be implemented for minimization.

Thank you for pointing it out. Yes, currently it only supports problems in 'problem_interface.py', while other problems could be easily integrated with minor modifications.


Add deprecation warning on check_fields!

When we release a new devise version with check_fields, some modules that don't implement self.required_fields will return a method missing error when we call Devise::Models.check_fields!(User). So we must put a deprecation warning in case of a required_fields method missing exception.
Something like this (this message is open to feedback if you find something better):
The module #{module_name} doesn't implement the required_fields(klass) method so we're unable to check if needed fields really exists for this module.

What about:
The module #{module_name} doesn't implement self.required_fields(klass). Devise uses required_fields to warn developers of any missing fields in their models. Please implement #{module_name}.required_fields(klass) that returns an array of symbols with the required fields.

:+1:


Generating new test snapshots for main - revenuecatui-17

Requested by @codykerns for main

Closing for now.


Fix issue with Auto mode during upgrade cluster

https://issues.redhat.com/browse/SDA-5343
 ./rosa upgrade cluster -c 1pq7u8m8grp32kob42qu1cqbv0hhbp4n
? Version: 4.9.13
I: Ensuring account and operator role policies for cluster '1pq7u8m8grp32kob42qu1cqbv0hhbp4n' are compatible with upgrade.
I: Account and/or operator roles needed upgrade
? Upgrade mode: auto
I: Starting to upgrade the policies
? Upgrade the 'ManagedOpenShift-Installer-Role' role polices to version 4.9? No
E: Account roles need to be upgraded to proceed
I: Account and/Or Operator Role policies are not valid with upgrade version 4.9.13. Run the following command(s) to upgrade the roles:

	rosa upgrade account-roles --prefix ManagedOpenShift

I: Run the following command to continue scheduling cluster upgrade once account and operator roles have been upgraded :

	rosa upgrade cluster --cluster 1pq7u8m8grp32kob42qu1cqbv0hhbp4n

@vkareh PTAL

@zgalor @ciaranRoche  PTAL as well and let me know what you think

/lgtm


convert_model command not found

Hello
get docker image 0.6.0. Just tried to run the two demo command:

docker run -it --rm --gpus all
-v $PWD:/project ghcr.io/els-rd/transformer-deploy:0.6.0
bash -c "cd /project &&
convert_model -m "philschmid/MiniLM-L6-H384-uncased-sst2"
--backend tensorrt onnx
--seq-len 16 128 128"
got the error: convert_model not found

tried the 2nd command to use triton inference server. the service is started fine; the query command got the error:
curl -X POST  http://localhost:8000/v2/models/transformer_onnx_inference/versions/1/infer
--data-binary<EMAIL_ADDRESS>--header "Inference-Header-Content-Length: 161"
{"error":"Request for unknown model: 'transformer_tensorrt_inference' is not found"}

Does infinity download huggingface models and convert to Triton format?
thanks

I also got the convert_model not found.
I think pip3 install ".[GPU] ..." was lost somewhere in the latest Dockerfile update: link
I was able to run convert_model after manually running pip install inside the container

Hello,
I'm also facing the same issues. Any updates ?

I ran into the same error and fixed it as suggested. That is, manually run pip install ".[GPU]" inside the container.


Error with doing

Describe your bug here.
i wrote haxelib run hmm install and this happened :(
Command Prompt/Terminal logs (if existing)
C:\Users\USER>haxelib run hmm install
Validation error: hmm.json not found in current working directory
Use "hmm help" to see usage

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
no

You need to go in your Psych Engine folder then open terminal and run it


show_properties raises ValueError on generic light curves without astropy_time format

Problem description
User defined light curves often just have numpy times and fluxes.  The show_properties() function raises a value error for these light curves that do not have astropy_time formatted times.
Example

import lightkurve as lk
import numpy as np
lc = lk.LightCurve(time=np.arange(10), flux=np.ones(10))
lc.show_properties()

returns

ValueError: To retrieve a Time object the time_format attribute must be set on the LightCurve object, e.g. lightcurve.time_format = 'jd'.

Expected behavior

Should print values for all valid attributes, ignoring astropy_time when not available.
Environment

platform (OSX):
lightkurve version (e.g. 1.7.dev0):
installation method (e.g. source):

Oops!  That looks like a bug!  Thanks @keatonb!  :+1:

This behavior may change when #604 and linked PRs are merged--- we've streamlined the base classes to hold more attributes and methods that were common among the subclasses.


refactor(protocol): rename fork choice to state transition

This is more consistent with external information.

@davidtaikocha this may affect your node code.


Handle optional arguments with Maybe<T>.

Allow for new type of argument that can be optional.
pub fn check(&self, id: Maybe<u32>) {
    let id = id.unwrap(); // or with explicit env and error
}

It should be easy to interact with this interface.
pub fn call_check(&self) {
    let contract = ...;
    contract.check(Maybe::Some(8u32));
    contract.check(Maybe::None);
}

#380 resolves the issue


Roll engine 0e2c8feeeb47..a18066bfb3be (11 commits)

https://github.com/flutter/engine/compare/0e2c8feeeb47...a18066bfb3be
git log 0e2c8feeeb47..a18066bfb3be --first-parent --oneline
2020-03-10<EMAIL_ADDRESS>Avoid capturing this unsafely in MultiFrameCodec (flutter/engine#16824)
2020-03-10<EMAIL_ADDRESS>Revert "Revert "fix shadows and mask filter blurs (#16963)" (#17008)" (flutter/engine#17040)
2020-03-10<EMAIL_ADDRESS>Add support for firefox mac installer. Update web_ui pubspec for http.wq (flutter/engine#17044)
2020-03-09<EMAIL_ADDRESS>fix "TREE INCONSISTENT" noise in compositing_test.dart (flutter/engine#16995)
2020-03-09<EMAIL_ADDRESS>Add more child lifecycle tests (flutter/engine#16689)
2020-03-09<EMAIL_ADDRESS>Add libfreetype6-dev to desktop Linux dependencies (flutter/engine#17020)
2020-03-09<EMAIL_ADDRESS>Disable shell benchmarks (flutter/engine#17038)
2020-03-09<EMAIL_ADDRESS>Fix bounds of image_filter_layer (flutter/engine#16960)
2020-03-09<EMAIL_ADDRESS>Record fml and shell benchmarks (flutter/engine#16991)
2020-03-09<EMAIL_ADDRESS>Roll src/third_party/skia c56950442dd1..23899c64e3db (11 commits) (flutter/engine#17033)
2020-03-09<EMAIL_ADDRESS>use commit date instead of author date (flutter/engine#17032)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Gold has detected one or more untriaged digests on patchset 11.
Please triage them at https://flutter-gold.skia.org/search?issue=52304.

Commit queue failed; closing this roll.


Added note about unsafe to doc about AsyncRead::prepare_uninitialized_buffer()

As discussed in #61 of tokio-core, documentation is added to explain the purpose of unsafe on this fn.

Thanks for the PR! I don't think it's quite right here though because callers may not zero it. It's moreso that if you don't zero the buffer here then you have to have a "well behaved" read implementation which doesn't read bytes and correctly reports the number of written bytes.

 Sorry about that.

Is this correct?

Thanks!

YAW!


chore: change terminus values store to fix undefined issue

Information
Fix | Not a breaking change
Currently the @tsed/terminus returns an undefined store, this causes crashes when terminus decorators are used in an application. This is fixed so that an empty store is returned.

Todos

[ ] Tests
[ ] Coverage
[ ] Example
[ ] Documentation

:tada: This PR is included in version 6.72.3 :tada:
The release is available on:

v6.72.3
GitHub release

Your semantic-release bot :package::rocket:


Added tests for HealthSeriesBuilder

Tests include full branch coverage for underlying methods of SeriesBuilder and explicit boundary interior coverage for createSeriesPerBuild().

Closed to seperate HealthSeriesBuilder tests from QualityGate tests.


Incompatible and not pairable

Hello
In the arduino IDE 1.8.13 the examples are shown as "INCOMPATIBLE" although I have selected the Arduino Nano 33 BLE.
But I can compile both examples "ble_shining_kb" and "ble_mouse" it and upload it to the Arduino Nano 33 BLE.
Then on my Android and Windows device I see for example the shining keyboard but can't connect to it.
And also the Arduino Nano 33 BLE shows an error with slowly turning its LED on and off.
I'm using the examples as is. (No modifications)
So my questions:

Why are the examples shown as incompatible although I'm using the right hardware?
What could be the reason I can't connect?

Hi @erichstuder,
Thanks for the feedbacks, I have just pushed a branch that should fix the compatibility issue that was put aside for a while, hit me back if you still have an issue on that.
For the connection issue I'm not sure. I've quickly test it on my Android and it rant fine. It's okay the led flicker when searching for a signal, it is supposed to loop faster when an issue arises though. Maybe try it with the new version and tell me what you've got.
Cheers

The "INCOMPATIBLE" Problem in the Arduino IDE seems to be solved.
Thank you!
But pairing the device is still not possible.
On my windows 10 device it tries to connect but then just says I should try again.
On my arduino device though there is now an error message that the pairing was not possible due to a wrong pin or access code.
 If yes, how am I supposed to do that?
Regards
erichstuder

I am having the same problem while connecting my Arduino Nano 33 BLE HID mouse with ubuntu or Android phone. Any idea how to solve this?

Thanks you both for your feedbacks, I'll try to investigate this when possible.
I have not check this but I suspect the culprit to be this line : https://github.com/tcoppex/mbed-ble-hid/blob/697431bfaf74b86fec4e67f6c00be8e78a75ccc0/src/Mbed_BLE_HID.cpp#L106
Try to comment it or set it to false and see what you get.

Hello
I tried both with this line:

commenting out
setting to false
The behavior didn't change.

Regards

Okay thanks.
I check this again on both Android and Linux Mint : the keyboard works fine in both case but the mouse failed most of the time. One reason seems to be the connection_time() for the demo mode whose behavior is not reliable anymore :
https://github.com/tcoppex/mbed-ble-hid/blob/697431bfaf74b86fec4e67f6c00be8e78a75ccc0/examples/ble_mouse/ble_mouse.ino#L70
Change this to true and this should now always work on Android, but still fails on Desktop.
I'll look into it.

Okay thanks.
I check this again on both Android and Linux Mint : the keyboard works fine in both case but the mouse failed most of the time. One reason seems to be the connection_time() for the demo mode whose behavior is not reliable anymore :
https://github.com/tcoppex/mbed-ble-hid/blob/697431bfaf74b86fec4e67f6c00be8e78a75ccc0/examples/ble_mouse/ble_mouse.ino#L70
Change this to true and this should now always work on Android, but still fails on Desktop.
I'll look into it.

I tried that, but stall have the same behaviour on Android and Win10.
I played around a bit with ble_shining_kb.ino.
It is connected for a short time, but then looses connection again (bleKb.connected() is true for a short time).
The connection lost seems not to be due to an error (bleKb.has_error() is never true).
Regards

Hey eric,
I reproduced the stall in both Windows and Linux a few days ago, I have yet to find where this come from as it has worked in the past for the same settings, it works okay on Android though. On Linux I made it connect without any effects for the mouse, while the keyboard still work fine which makes me wonder.
I'll keep you updated if I find anything.
Cheers.

I'm using this for a HID mouse. BLE mouse with Linux as well as Android phone were working great till recently when I changed my OS and Had to reinstall Arduino IDE. The bluetooth kept immediately disconnecting for the PC and the android device gave an error "Cannot pair with device because of invalid PIN or Passkey"
I uninstalled the arduino IDE and downloaded it from arduino website instead of Ubuntu software. I got the older version of board manager "Arduino Mbed OS Nano Boards" version 2.1.0. This with the tcoppex's code from april 2021 has my HID mouse running very well like before.
I don't know exactly which of these changes did the job, but hope this helps diagnose the problem.

Thanks for the hint @sudomihirjoshi,
Yes there is several issues with version 1.3.0 at the moment. I'm working on a fix for the last mbed os nano board version (currently 2.5.2).

Same problem here.
Hope this info to be useful.
I'm trying to pair my Nano 33 BLE with my PC (Windows 10). My Bluetooth dongle (Pc-side) uses "CSR Harmony" comm stack.

First of all, the arduino device does not show a name, but a MAC address.
Pairing failed with a "no pairing response was received" error message, after 15 seconds or so.

I'm with same problem. To get it up I was forced to downgrade Mbed BLE Hid to version 1.2.0 and Mbed OS Nano boards to version 2.1.0 (tried 2.2.0, not working).
@tcoppex problems starts with Mbed os 2.2.0, hope that info will help you.

Thanks for the info @Zuzon.
I'm letting go of the 1.3.0 and trying to figure out how to make it works on the last board version for the next one, I'm not working on this often though and last time I really dig into it it didn't advance much.
So I cannot say for sure when an update will come. Any PR is welcome though !

I've been investigating the issue on my own. I think that Arduino Nano33BLE core (or maybe, Mbed 5 itself) is faulty.
No matter how you configure the SecurityManager, the pairing protocol ends up with "SEC_STATUS_UNSPECIFIED" at the "pairingResult" event, in the peripheral's side. In the Central's side, it ends up with a timeout (tested both on Android/nRF app and Windows 10 with an USB BT 5.0 dongle).
Please, could someone confirm my findings?
I don't know where to report this bug. Nobody cares about pairing because it's not needed anymore for device-to-device communication. However, Windows API does not allow to retrieve services and characteristics if the device is not paired (I also investigated this part of the story). Stuck here.

I managed to update Arduino Mbed core to the latest version at https://github.com/arduino/ArduinoCore-mbed. Then, I compiled your suggested example (wich is the same at MBED's API site) as is. It exhibits the same behavior.
A minimal "Arudinoish" modified code (see below) shows the same SEC_STATUS_UNSPECIFIED pairing result. I reported the bug to ArduinoCore-mbed with no success (for now), but it may be a bug in the very API of MBED OS.
#include <mbed.h>
#include <Arduino.h>
#include <BLE.h>

using namespace mbed;
using namespace events;

events::EventQueue queue;

static const char DEVICE_NAME[] = "PairingTest";

using std::literals::chrono_literals::operator""ms;

/** Base class for both peripheral and central. The same class that provides
    the logic for the application also implements the SecurityManagerEventHandler
    which is the interface used by the Security Manager to communicate events
    back to the applications. You can provide overrides for a selection of events
    your application is interested in.
*/
class SecurityDemo : private mbed::NonCopyable<SecurityDemo>,
  public SecurityManager::EventHandler,
  public ble::Gap::EventHandler
{
  public:
    SecurityDemo(BLE &ble, events::EventQueue &event_queue) :
      _ble(ble), _event_queue(event_queue) { };

    virtual ~SecurityDemo()
    {
      _ble.onEventsToProcess(nullptr);
    };

    /** Start BLE interface initialisation */
    void run()
    {
      /* this will inform us off all events so we can schedule their handling
         using our event queue */
      _ble.onEventsToProcess(makeFunctionPointer(this, &SecurityDemo::schedule_ble_events));

      /* handle gap events */
      _ble.gap().setEventHandler(this);

      if (_ble.hasInitialized()) {
        /* ble instance already initialised, skip init and start activity */
        start();
      } else {
        ble_error_t error = _ble.init(this, &SecurityDemo::on_init_complete);

        if (error) {
          print_error(error, "Error returned by BLE::init");
          return;
        }
      }

      /* this will not return until shutdown */
      //_event_queue.dispatch_forever();
      Serial.println("run() OK");
    };

    /** Override to start chosen activity when the system starts */
    virtual void start() = 0;

    /* callbacks */

    /** This is called when BLE interface is initialised and starts the demonstration */
    void on_init_complete(BLE::InitializationCompleteCallbackContext *event)
    {
      ble_error_t error;

      if (event->error) {
        Serial.println("Error during the initialisation");
        return;
      }

      /* for use by tools we print out own address and also use it
         to seed RNG as the address is unique */
      print_local_address();

      /* This path will be used to store bonding information but will fallback
             to storing in memory if file access fails (for example due to lack of a filesystem) */
      const char* db_path = "/fs/bt_sec_db";

      error = _ble.securityManager().init(
                /* enableBonding */ true,
                /* requireMITM */ false,
                /* iocaps */ SecurityManager::IO_CAPS_NONE,
                /* passkey */ nullptr,
                /* signing */ false,
                /* dbFilepath */ db_path
              );

      if (error) {
        print_error(error, "Error during initialising security manager\r\n");
        return;
      }

      /* This tells the stack to generate a pairingRequest event which will require
         this application to respond before pairing can proceed. Setting it to false
         will automatically accept pairing. */
      _ble.securityManager().setPairingRequestAuthorisation(true);

#if MBED_CONF_APP_FILESYSTEM_SUPPORT
      error = _ble.securityManager().preserveBondingStateOnReset(true);

      if (error) {
        print_error(error, "Error during preserveBondingStateOnReset %d\r\n");
      }
#endif // MBED_CONF_APP_FILESYSTEM_SUPPORT

      /* this demo switches between being master and slave */
      _ble.securityManager().setHintFutureRoleReversal(true);

      /* Tell the security manager to use methods in this class to inform us
         of any events. Class needs to implement SecurityManagerEventHandler. */
      _ble.securityManager().setSecurityManagerEventHandler(this);

      /* gap events also handled by this class */
      _ble.gap().setEventHandler(this);

      error = _ble.gap().enablePrivacy(true);
      if (error) {
        print_error(error, "Error enabling privacy.\r\n");
        return;
      }

      /* continuation is in onPrivacyEnabled() */
    };

    /** Schedule processing of events from the BLE in the event queue. */
    void schedule_ble_events(BLE::OnEventsToProcessCallbackContext *context)
    {
      _event_queue.call([&ble_instance = context->ble] { ble_instance.processEvents(); });
    };

  private:
    /* SecurityManager Event handler */

    /** Respond to a pairing request. This will be called by the stack
       when a pairing request arrives and expects the application to
       call acceptPairingRequest or cancelPairingRequest */
    void pairingRequest(ble::connection_handle_t connectionHandle) override
    {
      Serial.println("Pairing requested - authorising");
      _ble.securityManager().acceptPairingRequest(connectionHandle);
    }

    /** Inform the application of pairing */
    void pairingResult(
      ble::connection_handle_t connectionHandle,
      SecurityManager::SecurityCompletionStatus_t result
    ) override
    {
      if (result == SecurityManager::SEC_STATUS_SUCCESS) {
        Serial.println("Pairing successful");
        _bonded = true;
      } else {
        Serial.print("Pairing failed with result ");
        Serial.println(result);
      }
    }

    /** Inform the application of change in encryption status. This will be
        communicated through the serial port */
    void linkEncryptionResult(ble::connection_handle_t connectionHandle, ble::link_encryption_t result) override
    {
      if (result == ble::link_encryption_t::ENCRYPTED) {
        Serial.println("Link ENCRYPTED");
      } else if (result == ble::link_encryption_t::ENCRYPTED_WITH_MITM) {
        Serial.println("Link ENCRYPTED_WITH_MITM");
      } else if (result == ble::link_encryption_t::NOT_ENCRYPTED) {
        Serial.println("Link NOT_ENCRYPTED");
      }
    }

    void onPrivacyEnabled() override
    {
      /* all initialisation complete, start our main activity */
      start();
    }

    /* Gap Event handler */

    /** This is called by Gap to notify the application we connected */
    void onConnectionComplete(const ble::ConnectionCompleteEvent &event) override
    {
      Serial.print("Connected to peer: ");
      print_address(event.getPeerAddress().data());
      if (event.getPeerResolvablePrivateAddress() != ble::address_t()) {
        Serial.print("Peer random resolvable address: ");
        print_address(event.getPeerResolvablePrivateAddress().data());
      }

      _handle = event.getConnectionHandle();

      if (_bonded) {
        Serial.println("Bonded!");
      } else {
        /* start bonding */
        Serial.println("Bonding");
        ble_error_t error = _ble.securityManager().setLinkSecurity(
                              _handle,
                              SecurityManager::SECURITY_MODE_ENCRYPTION_NO_MITM
                            );
        if (error) {
          print_error(error, "Failed to set link security\r\n");
          _ble.gap().disconnect(_handle, ble::local_disconnection_reason_t::USER_TERMINATION);
        }
      }
    };

    /** This is called by Gap to notify the application we disconnected */
    void onDisconnectionComplete(const ble::DisconnectionCompleteEvent &event) override
    {
      if (_bonded) {
        /* we have connected to and bonded with the other device, from now
           on we will use the second start function and stay in the same role
           as peripheral or central */
        Serial.println("Disconnected.");
        //_event_queue.call_in(demoDelay, [this] { start(); });
      } else {
        Serial.println("Failed to bond.");
        //_event_queue.break_dispatch();
      }
    };

    void onScanTimeout(const ble::ScanTimeoutEvent &) override
    {
      /* if we failed to find the other device, abort so that we change roles */
      Serial.println("Scan timeout");
      //        _event_queue.break_dispatch();
    }

    void onAdvertisingEnd(const ble::AdvertisingEndEvent &event) override
    {
      if (!event.isConnected()) {
        Serial.println("No device connected to us");
        //_event_queue.break_dispatch();
      }
    }

  private:
    void print_local_address()
    {
      /* show what address we are using now */
      ble::own_address_type_t addr_type;
      ble::address_t addr;
      _ble.gap().getAddress(addr_type, addr);
      Serial.println("Device address: ");
      print_address(addr);
      static bool _seeded = false;
      if (!_seeded) {
        _seeded = true;
        /* use the address as a seed */
        uint8_t* random_data = addr.data();
        srand(*((unsigned int*)random_data));
      }
    }

  protected:
    BLE &_ble;
    events::EventQueue &_event_queue;
    ble::connection_handle_t _handle = 0;
    bool _bonded = false;

    void print_address(ble::address_t addr) {
      Serial.print("--");
    }

    void print_error(ble_error_t error, char *msg)
    {
      Serial.print("ERROR: ");
      Serial.print((uint8_t)error);
      Serial.print(" - ");
      Serial.println(msg);
    }
};

class SecurityPeripheral : public SecurityDemo {
  public:
    SecurityPeripheral(BLE &ble, events::EventQueue &event_queue)
      : SecurityDemo(ble, event_queue) { }

    /** Set up and start advertising accepting anyone */
    void start() override
    {
      ble::peripheral_privacy_configuration_t privacy_configuration = {
        /* use_non_resolvable_random_address */ false,
        ble::peripheral_privacy_configuration_t::PERFORM_PAIRING_PROCEDURE
      };

      Serial.println("At Start()");
      if (_bonded) {
        /** advertise and filter based on known devices */
        Serial.println("We are bonded, we will only accept known devices");
        privacy_configuration.resolution_strategy =
          ble::peripheral_privacy_configuration_t::REJECT_NON_RESOLVED_ADDRESS;
      }

      _ble.gap().setPeripheralPrivacyConfiguration(&privacy_configuration);

      start_advertising();
    };

  private:
    void start_advertising()
    {
      uint8_t adv_buffer[ble::LEGACY_ADVERTISING_MAX_SIZE];
      /* use the helper to build the payload */
      ble::AdvertisingDataBuilder adv_data_builder(adv_buffer);

      adv_data_builder.setFlags();
      adv_data_builder.setName(DEVICE_NAME);

      /* Set payload for the set */
      ble_error_t error = _ble.gap().setAdvertisingPayload(
                            ble::LEGACY_ADVERTISING_HANDLE,
                            adv_data_builder.getAdvertisingData()
                          );

      if (error) {
        print_error(error, "Gap::setAdvertisingPayload() failed");
        return;
      }

      ble::AdvertisingParameters adv_parameters(
        ble::advertising_type_t::CONNECTABLE_UNDIRECTED
      );

      error = _ble.gap().setAdvertisingParameters(ble::LEGACY_ADVERTISING_HANDLE, adv_parameters);

      if (error) {
        print_error(error, "Gap::setAdvertisingParameters() failed");
        return;
      }

      if (_bonded) {
        /* if we bonded it means we have found the other device, from now on
           wait at each step until completion */
        error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE);
      } else {

        error = _ble.gap().startAdvertising(ble::LEGACY_ADVERTISING_HANDLE);
      }

      if (error) {
        print_error(error, "Gap::startAdvertising() failed");
        return;
      }

      Serial.println("Advertising...");
    }

};

SecurityPeripheral *peripheral;

void setup() {
  Serial.begin(115200);
  while (!Serial) delay(1000);
  //  mbed_trace_init();

  BLE& bleInstance = BLE::Instance();

#if MBED_CONF_APP_FILESYSTEM_SUPPORT
  /* if filesystem creation fails or there is no filesystem the security manager
     will fallback to storing the security database in memory */
  if (!create_filesystem()) {
    Serial.println("Filesystem creation failed, will use memory storage");
  }
#endif

  Serial.println("START");
  peripheral = new SecurityPeripheral(bleInstance, queue);
  peripheral->run();
}

void loop() {
  queue.dispatch_once();
  //Serial.print(".");
}

Zuzon suggested a versions mix:

I'm with same problem. To get it up I was forced to downgrade Mbed BLE Hid to version 1.2.0 and Mbed OS Nano boards to version 2.1.0 (tried 2.2.0, not working).
@tcoppex problems starts with Mbed os 2.2.0, hope that info will help you.

I tried it out with this versions.
It seems to work some how a bit better.
But the issue I have with this versions combination is that my phone turns off bluetooth immediately after the pairing (Zenfone 8).
Havent found a good explanation why my phone is doing this so far.
Other Bluetooth connections work fine.
So this workaround is not working for me.
Just wanted to let you know.

This may be the same issue.


set the socket timeout on the requestconfig as well as the socketconfig....

set the socket timeout on the requestconfig as well as the socketconfig
put stream operation outside lock

Background: We had a case where our app would freeze totally one a single node. stack dumps showed most threads were stuck waiting on the reentrant lock in MemoryCacheStorage. The one running thread holding the lock was stuck on java.net.SocketInputStream.socketRead0(Native Method) for several hours (from abt 22:00 -> 06:00, where a manual restart was done).
So it seems that
a) the socket timeout was not respected (we had set it to 60s).
b) doing stream operaions inside the reentrant lock (single point of entry)
together caused a deadlock.
Trying a fix here, but not sure if its the best one. A potential problem with this is that a fast request to resource /x could potentially be overwritten in cache by a stale resource by a slow request to /x. Mostly a theoretical issue i think..

Uhm, yeah. Didn't think of the filebacked storage extending the MemoryCacheStorage... Got a better idea for doing stream outside the lock @hamnis?

socket timeout should be respected. Add that as a separate pull request.
Not sure what is needed with the streaming op.
We should maybe start thinking about making httpcache4j multithreaded in its own right, and create a future based API.


Launching h20GPT from cmd line deletes my models folder. 500gb GONE

Windows 10 with fresh fresh install on Jan 10th of the windows installer. I have a 2tb m2 drive that I had a folder called models on. I stored all my LLM models there.500+gb of downloads. When I run K:\h2oGPT\Python\python.exe "K:\h2oGPT\h2oGPT.launch.pyw" it deletes the models folder. Which was located at K:\models. This was not an issue on the Nov windows installer.
I created a replacement folder and watched it as I launched h20GPT and poof it was gone again. Not cool to be deleting folders that are not part of the install. I have slow internet. This will take me weeks to get back what it stole. Unfortunately not all was backed up on a separate drive.
K:\h2oGPT\..\src K:\h2oGPT\pkgs\..\src K:\h2oGPT\..\iterators K:\h2oGPT\pkgs\..\iterators K:\h2oGPT\..\gradio_utils K:\h2oGPT\pkgs\..\gradio_utils K:\h2oGPT\..\metrics K:\h2oGPT\pkgs\..\metrics K:\h2oGPT\..\models K:\h2oGPT\pkgs\..\models K:\h2oGPT\..\. K:\h2oGPT\pkgs\..\. Traceback (most recent call last):   File "K:\h2oGPT\h2oGPT.launch.pyw", line 35, in <module>     main()   File "K:\h2oGPT\pkgs\win_run_app.py", line 145, in main     _main()   File "K:\h2oGPT\pkgs\win_run_app.py", line 81, in _main     setup_paths()   File "K:\h2oGPT\pkgs\win_run_app.py", line 65, in setup_paths     copy_tree(base0, os.environ['MODEL_BASE'])   File "K:\h2oGPT\pkgs\win_run_app.py", line 37, in copy_tree     shutil.copytree(src, dst)   File "shutil.py", line 554, in copytree FileNotFoundError: [WinError 3] The system cannot find the path specified: 'K:\\h2oGPT\\..\\models'

Sorry this happened.  There is a "models" folder that is part of the install and it should only be moving those contents into a new folder.
I'll comment out the relevant code until this is understood better.

If it's any consolation, just today I lost all data on gpt.h2o.ai and gpt-docs.h2o.ai due to some random engineer at fluid stack that deleted the instances.  About 4TB of data.

Added more conditions so only the expected directory with expected contents is copied, and only the specified path (default installation) handles models folder.


feat: the "average" measure is always finite

The measure (μ univ)⁻¹ • μ used in the definition of ⨍ x, f x ∂μ is always a finite measure.

Thanks!
bors r+


Reduced YARD template file to only changed part from default template.

From @kou , I was pointed out that it is better to register only YARD template differences in order to reduce the impact of future YARD changes.
So I shrunk the YARD template file from the default template to the changed part.
I'm sorry after #75 has been merged, but please confirm.

Great!

Thanks!


Replace tactics with sauto when possible

The different variants are confusing, so check the time and replace them with sauto.

Not very high priority because we care about proving things than shaving off milliseconds from proof checking time.

Not necessary.


Searching for Maryland, MD in the communities tab does not give any results

Searching for Maryland, MD in the communities tab does not give any results.
current version and July version of application
searching for smaller counties work

The following counties also have the same problem:

Dorchester
Somerset
Talbot

This is only the case of these counties are searched using the textbox input, not the community drop-down.

Related to #177
This issue does not appear to be related to our data.  Since it only occurs when a search is performed using the text box, and not the community drop-down, it might be a problem with the geoenrichment service.


Add mock support for 'send_message' function of 'BotHandlerApi' class.

Wrote tests for 'followup' bot to test if mock 'send_message' function is working fine.

@abhijeetkaur thanks for working on this!
I think we want to make a new function, slightly different from assert_bot_output, for this use case, maybe we can call it assert_bot_sends_message, that is designed to expect being passed a dict that would be passed via send_message (and doesn't require the extra outer parens you have there ()).  The code will be a lot more readable if we keep these two functions separate, since then it's explicit what's expected to happen, and the type of the second argument passed to each function will be consistent across different calls.

Merged, thanks @abhijeetkaur!


TypeError: Failed to fetch dynamically imported module

I'm getting the following error when trying to inject some HTML via this chrome extension boilerplate:
Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: chrome-extension://{my-extension-id}/assets/js/index.js
It only happens about 10% of the time, which is strange. I think it has something to do with the Vite configuration, although, it is difficult to debug with it only happening occasionally.
Might it have something to do with the customDynamicImport() function, or some other custom configuration of this boilerplate? Any help would be appreciated!

Can you give me a little more information on what you mean by injecting some HTML?

As additional context, it seems like the only time this happens is upon making a file change. The webpage reloads automatically and executes the rollup (via the npm run dev script, but then if you don't reload the extension in the chrome://extensions/ webpage, it throws that error.
So I'm guessing this would not affect anything in production because there won't be any changes to the files, but it serves as a minor inconvenience in development.
I'm new to Vite and Chrome Extensions though, so if there is anything above that doesn't add up or make sense, please help me to understand.

I encountered the same problem on my vite project，has this problem been solved？

I apologise for the delay in responding. Let's take a look.

I found customDynamicImport doesn't work with await import, here is error:
src/pages/background/index.js:7681:16: ERROR: Expected ":" but found "dynamicImport"

Expected ":" but found "dynamicImport"
7679|                  const { FewShotPromptTemplate } = await
7680|          {
7681|            const dynamicImport = (path) => import(path);
   |                  ^
7682|            dynamicImport(
7683|            '../../../assets/js/few_shot.js')};

and this will resolve my problem

update vite >= 3.2
add modulePreload: false in vite.config.ts build part
change custom-dynamic-import.ts:

import type { PluginOption } from "vite";

export default function customDynamicImport(): PluginOption {
  return {
    name: "custom-dynamic-import",
    renderDynamicImport({ moduleId }) {
      if (!moduleId.includes("node_modules")) {  // <- dont modify any import from node_modules
        if (process.env.__FIREFOX__) {
          return {
            left: `
          {
            const dynamicImport = (path) => import(path);
            dynamicImport(browser.runtime.getURL('./') +
            `,
            right: ".split('../').join(''))}",
          };
        }
        return {
          left: `
          {
            const dynamicImport = (path) => import(path);
            dynamicImport(
            `,
          right: ")}",
        };
      }
      return {
        left: "import(",
        right: ")",
      };
    },
  };
}

@lookis
I've been testing with the solution you suggested and it seems to be working well. I'll raise a PR to reflect it, unless you have any other comments.

https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite/pull/195

@all-contributors please add @lookis for bug

@all-contributors please add @lookis for code

@all-contributors please add @chrisozgo99 for bug


webob in use, but not referenced in pip dependencies

Hello,
I update django-oscar 1.4 to 1.5.1. webob is now used in /oscar/test/utils.py:6. But webob is not added to python dependencies, so it's not added to requirements with pip-compile.

I have an idea that I think should work - will give it a go over the weekend.


bootstrap4 Gemfile cleanup

Remove explicit dependencies that were added for bootstrap4
They're added automatically by bundle install:

autoprefixer-rails
popper_js

Coverage decreased (-0.01%) to 82.451% when pulling 1fb616df09d47f46abec7d99c1cf3d2c99f2c240 on 173121248-jdc-bootstrap4-Gemfile-cleanup into fd407d8e7bc3bc7f446d696e4ad2fee84f2858d1 on bootstrap-4.

Looks good to me, let's merge this


Ocelot returning 307 instead of rerouting the request

Prerequisites / Expected Behavior
Running a frontend based on VueJS / TypeScript in Chrome and sending a GET-Request with an Authentication header set to a token. Thus, Chromse sends an OPTIONS-Request, retaining that the Authentication header is allowed, and then sends the GET-Request. I except that GET-Request to be forwarded the same way.
Actual Behavior
Instead of rerouting the Request to the backend service, Ocelot replies to the GET-Request with 307 Redirect and the browser then sends the raw request directly to the endpoint, not using the middleware.
Additional configuration-info:
Ocelot has injected an AuthenticationMiddleware that validates the token and adds custom headers for the backend service, giving it more detailed information which user is mapped to the token. To achieve this, we have tried two things:

Injecting with

    var configuration = new OcelotPipelineConfiguration
            {
                AuthenticationMiddleware = async (context, next) =>
                {
                    await AuthorizeAsync(context, next);
                }
            };

Adding a Global Handler:

services.AddOcelot(Configuration).AddDelegatingHandler<AuthHandler>(true);

In both solutions we add the header to the DownstreamRequest. The path is correctly mapped to the Downstream-Service. In both cases the DownStream-Service gets only half of the requests, the other half get Statuscode 307.
There is no additional configuration.
This only happens in the browser and not when using another tool like Postman, however I still suspect that has to happen somewhere when Ocelot sets the Statuscode for the Response.
I looked  at the repository but was not able to find anything that gives me hint on to what I am doing wrong.

Hi
Just in case, this is still relevant to you (or somebody else).
I had the same problem. It was caused by the target micro-service where the .UseHttpsRedirection() was enabled. So the request ended up at the correct target service but was redirected there from http to https.
Cheers, Mike

Redirect and the browser then sends the raw request directly to the endpoint. In the target service i have commented  .UseHttpsRedirection(), but not working still.
Thanks.

When u set app.UseHttpsRedirection() , u can switch to https and https port, eg:
{
    "DownstreamPathTemplate": "/api/{everything}",
    "DownstreamScheme": "https",
    "DownstreamHostAndPorts": [
        {
        "Host": "localhost",
        "Port": 5001
        }
    ],
    "UpstreamPathTemplate": "/mobile/api/{everything}",
    "UpstreamHttpMethod": []
}

I work with it!

Dear @Kaffeekaethe !
Define Authenticated route OR forward auth-token to downstream having non-auth route.
Regarding redirects via Configuration...
  "HttpHandlerOptions": {
    "AllowAutoRedirect": true,
    "UseCookieContainer": true,
    "UseTracing": true,
    "MaxConnectionsPerServer": 100
  },


gha: run CodeQL scan on pull requests

CodeQL should run on pull requests to avoid post-merge surprises.
Signed-off-by: Kazuyoshi Kato<EMAIL_ADDRESS>

CodeQL is not that fast (took 7m) but it is not the slowest GitHub action.

Can the issues be dismissed right in the PRs as well? While it is a useful tool, most the alerts are false positives and it wouldn't be great having another failing CI turning PRs red with no way for us to fix it.
Also curious before merging if you could slip in a change which codeql wouldn't like to see what it will look like in the PRs.

@dmcgowan Finally I made CodeQL unhappy! You can see the result from https://github.com/containerd/containerd/pull/6386/files.

@kzys thanks, looks good. Let's try it out and if it gives us problems we can disable or ignore :)

/test pull-containerd-node-e2e