add new visitor welcome banner

This appears on first visit until dismissed or until the date changes. It uses localStorage to know if it is a first-time visit or not.
(This is part 1 of issue #340. The other part is to show a similar banner on first login.)

Great start!
We can detect if someone is logged in by inspecting me and change the copy. For someone logged in, we'll also want to make it never display again on any device once it's dismissed, so it'll need to run a graphql mutation.
The localStorage thing is fine for lurkers (aka logged out peoples).

it'll need to run a graphql mutation

Yeah, I was thinking so too. If I'm not mistaken, it also requires a schema change in order to record that the banner was dismissed. I looked into this a bit and got as far as starting up the app with the new schema, but I saw in the logs that it needed interaction to do the migration (problematic for running in a docker container). I'm learning a lot, but at this point I'm not sure how to get past that point so I might have to bail on this one until I get smarter on prisma.

All good. You got the party started!

but I saw in the logs that it needed interaction to do the migration (problematic for running in a docker container). I'm learning a lot, but at this point I'm not sure how to get past that point so I might have to bail on this one until I get smarter on prisma.

Don't hesitate to ask questions here or TG or SimpleX or nostr ... or however you can reach us, we don't really have a dedicated channel for contributors (yet?), haha
You probably need to run npx prisma generate or npx prisma migrate dev
You can use docker exec if you want to run this inside the docker container: docker exec -it app <cmd>

Don't hesitate to ask questions here or TG or SimpleX or nostr ... or however you can reach us, we don't really have a dedicated channel for contributors (yet?), haha

Thank you for the tips! I have SimpleX and nostr and will seek you out there or here. Meanwhile I have been utilizing some online resources to get up to speed, but sometimes a context-specific tip is extremely helpful, so thank you for that!

we don't really have a dedicated channel for contributors (yet?), haha

I mean github discussions are probably fine. Maybe we'll have a ~sub for them one day

I believe it's fully working now.
Suggestion: to minimize banner spam during deployment, the whole return block from components/banners.js:53 to the end can be replaced with return (<></>) to no-op the banner for one release cycle. Then include the actual banner code in the next release, after most existing stackers have re-visited the site and gotten their localStorage updated.

I'll give this and your other PR a review hopefully by the end of weekend. I have a hard deadline on some other stuff.
Either way, I'll keep you in the loop.

This appears on first visit until dismissed or until the date changes. It uses localStorage to know if it is a first-time visit or not.

Why "until the date changes"? Don't we want to just show it once and then never again if the alert was dismissed? Afaict, this will show the banner again on the next day.

The banner never shows beyond 24 hours of first visit or first login, even if they don't dismiss it. Sorry if I explained it poorly... (the 24 hours is part of how the code decides that it is really a first visit or first login, to be safe.)

Imo, we only need to set a boolean in local storage and then check if this boolean is set or not to hide the alert or not.
If we have a session, we use me.hideWelcomeBanner instead.
Or am I missing something here?

100% correct. I just strengthened it with the 24-hour check, so the banner will automatically stop appearing after 24 hours as part of ensuring that it only appears on "first visit" or "first login" per the issue description. (And I hate overzealous popups 😝)

Suggestion: to minimize banner spam during deployment, the whole return block from components/banners.js:53 to the end can be replaced with return (<></>) to no-op the banner for one release cycle. Then include the actual banner code in the next release, after most existing stackers have re-visited the site and gotten their localStorage updated.

Regarding this, I think we could just manually update every existing user to set hideWelcomeBanner to true in the database. Then it won't show up for them ever.

By the suggestion I was hoping to avoid them seeing it BEFORE they log in, on first visit.

However, I am not convinced we need this 24 hours check logic. I have taken a look at the code now and I think it's not worth it...[snip]...I hope you can understand why I am not convinced we need this.

Fair enough...you gave good reasoning and I appreciate you weighing the pros and cons. Sometimes I am not sure where to draw the line in the tradeoff between UX vs simplicity of code, but conversation helps me get the feel for it. I appreciate that.

But I am open to change my mind :)

By the suggestion I was hoping to avoid them seeing it BEFORE they log in.

Ah, I see. But I think most stackers don't log in every time they visit SN and then logout again. So most stackers probably will see the other banner first, not the anon banner. But I have no hard data on this.

Ok, no worries then from my side.


Uneven number of participants

Hello everyone! Here is bracket from toornament:
https://play.toornament.com/en_US/tournaments/4937113874654773248/stages/4937116239538454528/
Is there a way to enhance connectors, when you handle uneven number of participants like on this bracket?
Thanks!

What do you mean when you say "enhance connectors"?
And, uneven number of participants isn't supported because it's too much work.
You can achieve the same result by using BYEs.


[NotePlan 3] ...

Extension – NotePlan 3
Author: @shakedlokits

Description
Command "Search Notes" doesn't search anything
Steps To Reproduce
1.Run in Raycast Noteplan3 Search Notes
2. type anything
3. see No result

The current behavior
The expected behavior
Raycast version
Version: 1.36.0

@ubuntudroid @borunov I would appreciate it if you tried #2324 and see if it fixes it for you (and +1 if it does)

Ah, I'm sorry, I'm not using NotePlan anymore @lukerandall. Maybe @borunov can help testing?

@lukerandall, I'll take a look at this on Wednesday and update here


fix: do not let users bypass sign-in

Fixes #637

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

v0.67.2
GitHub release

Your semantic-release bot :package::rocket:

If only we had AppMaps of these fixes.
On Fri, Feb 24, 2023 at 2:20 PM AppLand Release Bot <
@.***> wrote:

🎉 This PR is included in version 0.67.2 🎉
The release is available on:

v0.67.2
GitHub release
https://github.com/getappmap/vscode-appland/releases/tag/v0.67.2

Your semantic-release
https://github.com/semantic-release/semantic-release bot 📦🚀
—
Reply to this email directly, view it on GitHub
https://github.com/getappmap/vscode-appland/pull/636#issuecomment-1444513279,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAVC62KA7X7PGTDCAAHKU3WZEQY5ANCNFSM6AAAAAAVHKPPY4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Creating VNode from web_sys types

The use case I have for is aimed at post-processing of HTML returned from pulldown_cmark, for example adding yew callbacks for links.
I ended up with the hack [1] below.
However I didn't find an existing implemention inside yew for this. Maybe I didn't search deep enough, or maybe I can fix it up and contribute? Using a From impl?
[1]
trait ToVNode {
    fn to_vnode(&self) -> VNode;
}

impl ToVNode for web_sys::Element {
    fn to_vnode(&self) -> VNode {
        let mut vtag = VTag::new(self.tag_name());
        let attrs = self.attributes();
        for idx in 0..attrs.length() {
            if let Some(attr) = attrs.item(idx) {
                // This is for interning of those strings:
                let stat = match attr.name().as_str()
                    "href" => "href",
                    "class" => "class",
                    "id" => "id",
                    "style" => "style",
                    s => panic!("{}", s),
                };
                vtag.add_attribute(stat, std::borrow::Cow::Owned(attr.value()));
            }
        }
        let children = self.child_nodes();
        for idx in 0..children.length() {
            if let Some(child) = children.item(idx) {
                vtag.add_child(child.to_vnode());
            }
        }

        VNode::VTag(Box::new(vtag))
    }
}

impl ToVNode for web_sys::Node {
    fn to_vnode(&self) -> VNode {
        use wasm_bindgen::JsCast;
        if let Ok(item) = self.clone().dyn_into::<web_sys::Element>() {
            return item.to_vnode();
        }
        if let Ok(item) = self.clone().dyn_into::<web_sys::Text>() {
            return VNode::VText(VText::new(item.whole_text().unwrap()));
        }
        panic!();
    }
}

I think you can use Html::VRef for this use case.
Then to add callbacks for Yew components in the following manner:
use yew::{prelude::*, web_sys::HtmlElement};
use wasm_bindgen::{prelude::*, JsCast};

pub struct Comp {
    link: ComponentLink<Self>,
    onclick_closure: Option<Closure<dyn Fn(MouseEvent)>>,
}

pub enum Msg {
    Clicked(MouseEvent),
}

impl Component for Comp {
    type Message = Msg;
    type Properties = ();

    fn create(_: yew::Properties, link: ComponentLink<Self>) -> Self {
        Self {
            link,
            onclick_closure: None,
        }
    }

    // fn change omitted for brevity

    fn update(&mut self, msg: Self::Message) -> ShouldRender {
        yew::web_sys::console::_log_1(&"CLICKED!".into());
        // do something with msg here!
        false
    }

    fn view(&self) -> Html {
        let div = yew::utils::document()
            .get_element_by_id(YOUR_ELEMENT_ID)
            .unwrap();
       Html::VRef(div.into())
    }

    fn rendered(&mut self, first_render: bool) {
        if !first_render {
            return;
        }

        let element: HtmlElement = yew::utils::document()
            .get_element_by_id(YOUR_ELEMENT_ID)
            .unwrap()
            .unchecked_into();

        let local_cb = self.link.callback(|e: MouseEvent| Msg::Clicked(e));

        let onclick_closure = Closure::wrap(Box::new(move |e| {
            local_cb.emit(e);
        }) as Box<dyn Fn(MouseEvent)>);

        element.set_onclick(onclick_closure.as_ref().dyn_ref());

        // If the element and the onclick listener will last the duration of the app,
        // then you could just call onclick_closure.forget() instead of storing it
        self.onclick_closure = Some(onclick_closure);
    }
}

The above assumes you have some element in the DOM that you can get by it's id (YOUR_ELEMENT_ID)  - you can create an element in the view fn if it doesn't already exist.
Using Html:VRef is in the docs.
Hopefully this resolves the problem for you, or at least helps get you going :)
Let me know if I'm missing something for your use case, I'm not familiar with pulldown_cmark so this might be the case.

Thanks for investing time in this.
For converting Markdown to HTML, pulldown_cmark returns a String, which contains HTML. Now, to attach this to our DOM we should convert this into web_sys element tree, and then we may have a multitude of <a> elements in that HTML for which every one would need a slightly different callback implementation (different handling for each link).
So if I understand correctly the proposed solution, instead of converting everything to VNode, I can recursively iterate to find the <a> elements under the top HtmlElement, and have set_onclick be used on each of them. Then, attach the top HtmlElement via a VRef. Though I would like to avoid elements IDs and saving closures under self, and instead have all of this under fn view like I have now with the conversion, otherwise it feels a bit hacky. I'd need to experiment with this.
Anyway, I think I understand how to solve this better now. Please tell if you have more insights, otherwise I'll close the issue.

A better solution would be to convert HTML String into VNode and attach listeners, etc to the vdom elements. You'll have to do this manually. See the virtual_dom module's documentation to learn more


Fix headers

Beside making few vars to vals, it fixes the content-type problem.

If you using rebase against master, this commit (737e7c5) is not needed.

It all looks good, after you fix my concerns.

OK .. you are GTG.


Fetch and display latest Subspace and Space Acres releases

This component dynamically retrieves the latest Advanced CLI and Space Acres versions, allowing documentation to automatically update with new release details without requiring separate pull requests.
It provides the latest binary names and their download URLs as variables that can be referenced in the documentation.

@vexr, we've just discussed with the ecosystem team and decided that, at this point, we prefer to stick to updating the releases manually.
The main reasons for that are:

We often don't just update the release, but add some additional notes or tips to releases. Doing this manually helps to ensure that docs and all commands get updated according to the release notes.
Each release has a corresponding Discord announcement, and docs updates + new version announcements usually go together. This way we ensure that all farmers are getting announcements in a timely matter.

I appreciate the work that you've put into this. We can either merge it without deployment (keeping the components in a helper file, ready to go in case we've decided to switch to automatic updates). Alternatively, you can have a separate section on one of the community-built pages and link all the most up-to-date releases there. Thanks for your understanding!

No worries at all. I don’t think a community built page with build numbers is necessary at the moment and it might be a distraction. If there’s no immediate plan to implement it, keeping it could lead to unnecessary tech debt down the road. We can close this PR for now and revisit it if circumstances change.


Better handling of problematic sets

Previously, things like an out of memory error may mean that there is an inconsistent state in L1 after a set operation. On any kind of error during a set operation a delete will be sent to L1 afterwards and the operation will succeed even though L1 had an error.
This PR is the beginning of fixing #102

Did some more local testing on this in the mean time, got some good results for the set operation in l1l2:
rend_cmd_set_errors_l1                          42046
rend_cmd_set_errors_l2                          0
rend_cmd_set_errors_oom_l1                      0
rend_cmd_set_errors_oom_l2                      0
rend_cmd_set_errors_oom                         0
rend_cmd_set_errors                             0
rend_cmd_set_l1_error_delete_errors_l1          0
rend_cmd_set_l1_error_delete_hits_l1            3
rend_cmd_set_l1_error_delete_l1                 42046
rend_cmd_set_l1_error_delete_misses_l1          42043
rend_cmd_set_l1                                 597973
rend_cmd_set_l2                                 598053
rend_cmd_set_replace_errors_l1                  0
rend_cmd_set_replace_l1_error_delete_errors_l1  0
rend_cmd_set_replace_l1_error_delete_hits_l1    0
rend_cmd_set_replace_l1_error_delete_l1         0
rend_cmd_set_replace_l1_error_delete_misses_l1  0
rend_cmd_set_replace_l1                         0
rend_cmd_set_replace_not_stored_l1              0
rend_cmd_set_replace_stored_l1                  0
rend_cmd_set_success_l1                         597961
rend_cmd_set_success_l2                         597973
rend_cmd_set_success                            597961
rend_cmd_set                                    598053

batch handler looks good too:
rend_cmd_set_errors_l1                          0
rend_cmd_set_errors_l2                          0
rend_cmd_set_errors_oom_l1                      0
rend_cmd_set_errors_oom_l2                      0
rend_cmd_set_errors_oom                         0
rend_cmd_set_errors                             0
rend_cmd_set_l1_error_delete_errors_l1          0
rend_cmd_set_l1_error_delete_hits_l1            0
rend_cmd_set_l1_error_delete_l1                 0
rend_cmd_set_l1_error_delete_misses_l1          0
rend_cmd_set_l1                                 0
rend_cmd_set_l2                                 343217
rend_cmd_set_replace_errors_l1                  1597
rend_cmd_set_replace_l1_error_delete_errors_l1  0
rend_cmd_set_replace_l1_error_delete_hits_l1    0
rend_cmd_set_replace_l1_error_delete_l1         1597
rend_cmd_set_replace_l1_error_delete_misses_l1  1597
rend_cmd_set_replace_l1                         343186
rend_cmd_set_replace_not_stored_l1              341589
rend_cmd_set_replace_stored_l1                  0
rend_cmd_set_success_l1                         0
rend_cmd_set_success_l2                         343186
rend_cmd_set_success                            343186
rend_cmd_set                                    343217


Color of icon in ListItem

I've tried to understand why the icon inside of IconButton and ListItemIcon uses the theme.palette.action.active color in the root? The question gave nothing on Stack Overflow except that it's applied. Perhaps I'm not understanding what the objective of theme.palette.action.active is but according to the source code it says "The color of an active action like an icon button.".
So what I don't understand is if the theme.palette.action.active is the color of an "active action" (whatever that really means) why is it applied to an icon in a IconButton or ListItemIcon?
I'm sorry for posting this question here but I really can't find any info on why this is.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Icons inside of IconButton and ListItemIcon has the theme.palette.action.active color assigned to them. What makes these "active"?
Expected Behavior 🤔
Not to use the "active" label?
Steps to Reproduce 🕹
None
Context 🔦
Just cant understand why the icons are treated as "active"? Then again I'm not really sure if I understand the concept of the  theme.palette.action.active color.
Your Environment 🌎

`npx @material-ui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @material-ui/envinfo` goes here.

@DavidVonAmri theme.palette.action.active active as is available for interaction. The icons in a list are often used for links, but in the list item, it should more likely be:
diff --git a/packages/material-ui/src/ListItemIcon/ListItemIcon.js b/packages/material-ui/src/ListItemIcon/ListItemIcon.js
index 8aa3376010..1e9893bb6d 100644
--- a/packages/material-ui/src/ListItemIcon/ListItemIcon.js
+++ b/packages/material-ui/src/ListItemIcon/ListItemIcon.js
@@ -37,7 +37,7 @@ const ListItemIconRoot = experimentalStyled(
 )(({ theme, styleProps }) => ({
   /* Styles applied to the root element. */
   minWidth: 56,
-  color: theme.palette.action.active,
+  color: theme.palette.text.secondary,
   flexShrink: 0,
   display: 'inline-flex',
   /* Styles applied to the root element when the parent `ListItem` uses `alignItems="flex-start"`. */

@oliviertassinari Yup, that makes a hole lot more sense to me. :)

Also, note that it matches the  examples we have in the docs. It would make sense to update them at the same time, e.g. <CommentIcon color="action" />.

@oliviertassinari so you need this to be added to code ? color: theme.palette.text.secondary,
where in the documentation do <CommentIcon color="action" /> this need to be added ?
I would like to work on this

@manziEric I think that we should apply the above patch, and replace cases where we use the action color for non-buttons. We could start by applying the patch.

@oliviertassinari I've been thinking of the theme.palette.action.active and it's context. Also looked at the discussion in #25000. Now as I understand it the theme.palette.action.active is, as you stated, "available for interactions".
Now first of all i find the naming a bit confusing as you already know. ;) "active" in my mind is a "state", like "disabled" or "focused". But in this context is more like a "feature", an element that is available for interaction. The story behind me creating this issue was that I tried to understand what the different values in the theme.palette.action really did. I was fiddling with the colors but some of them didn't match my expectations of what would be affected. As we are describing what this really means we use the word "interaction", perhaps a more suitable name would be theme.palette.action.interact?
Secondly, why does the theme.palette.action.active color exists at all? Since the color is used in some of the components nested elements why is there a specific color? If I would like an interactive icon I simply don't use a standalone MuiIcon. I'm going to use a MuiButton with a icon inside. Hence the icon itself will never be a "active/interact" element?
Sorry for my perseverance... :)

I'm giving up on the idea. With more hindsight, it's not an obvious win. It makes the icons too dark.


cp: assume --reflink=always on no value

Set the value of --reflink to always if it's specified without one.
This also changes the behavior of the bad case. The test has been updated, but this creates a difference in behavior:
GNU
$ cp --reflink=bad f g

cp: invalid argument ‘bad’ for ‘--reflink’
Valid arguments are:
  - ‘auto’
  - ‘always’
  - ‘never’
Try 'cp --help' for more information.

uutils
$ .../coreutils/target/debug/coreutils cp --reflink=bad f g
error: "bad" isn't a valid value for '--reflink[=<WHEN>...]'
        [possible values: auto, always, never]

For more information try --help

If this is an issue, I can try fixing this as well.
Closes #3984.

difference in behavior
you mean different error message?

difference in behavior you mean different error message?

yes

I've been meaning to start a more general discussion on this, but in my opinion we don't need to match errors exactly.

Is this one good to go for now? @tertsdiepraam @sylvestre


add onCallStart to web phone

add onCallStart to web phone

Coverage decreased (-0.2%) to 40.169% when pulling 9803b07333fd1d057a17fd1f06f46c1559c6d9ce on embbnux:feature/enhancement-webphone-onCallEnd into 81866a6295f9947d40a95b3687566f1f7726b205 on ringcentral:master.


Add support for Asset Clawbacks (CAP 35)

https://github.com/stellar/stellar-protocol/blob/master/core/cap-0035.md
High priority tasks:

[x] #3349 Update XDR definitions
[x] #3350 Add support for ClawbackOp
[x] #3351 Add support for account flag AUTH_CLAWBACK_ENABLED_FLAG
[x] #3351 Add support for asset flag CLAWBACK_ENABLED_FLAG
[x] Add support for the above in https://github.com/elucidsoft/dotnet-stellar-sdk ( @leighmcculloch ). WIP at https://github.com/stellar/dotnet-stellar-sdk/tree/cap35
[x] #3368 Add integration test for the Clawback operation (needs a Core build with CAP35 support)
- Replace the temporary stellar-core version and docker image by the definitive one once ready

Lower priority tasks:

[x] #3378 Add support for theSetTrustlineFlags operation
- It requires updating the XDR definitions with the changes at https://github.com/stellar/stellar-protocol/pull/838
[x] https://github.com/stellar/go/issues/3448 Update XDR with the changes from https://github.com/stellar/stellar-protocol/pull/878#event-4409243096
[x] #3356 Add support for ClaimableBalanceEntryExtensionV1
[x] #3357 Add support for new error SET_OPTIONS_AUTH_REVOCABLE_REQUIRED in txsub
[x] https://github.com/stellar/go/pull/3376 Add result codes for new operations in txsub
[x] #3350 Add ingestion support for ClawbackClaimableBalanceOp
[x] #3358 Add effects for ClawbackOp and ClawbackClaimableBalanceOp
[x] Add AccountCredited effect for ClawbackClaimableBalanceOp ( leftover from https://github.com/stellar/go/pull/3358#discussion_r561784015 until we understand Core's behavior)
[x]  #3379 Make sure there is support for all the above in the Go SDK
- Add txnbuild support for all the new operations
- Improve testing for the clawback operation https://github.com/stellar/go/pull/3364#discussion_r562759282
[ ]  https://github.com/stellar/go/issues/3447 Make sure there are integration tests for all the operations (Already done some of it at #3422 #3424)
[ ] Update documentation at https://github.com/stellar/new-docs (@Shaptic, #3449)
- Add new operations
- Add new effects
- Add new operation details for pre-existing operations (if needed)
- Add new Account flag (if needed)
- Add new Trustline flag (if needed)
- Add new Claimable Balance flag (if needed)
[x] Add support in the Java SDK (@tamirms)
[x] Add support in the JS SDK (@Shaptic)
[x] Add support for all the above in the remaining SDKs (i.e. notify maintainers)

Going to close this since the only outstanding item is documentation and this is tracked in #3449.


Add support for react-native-web

Current behavior
It would be great if you were able to add a proxy around the module if react-native-web is being used.
I've seen you're component used in a number of projects, particularly react-native-gifted-chat and it would be awesome if that was web enabled.
There error that is raised is "Can't resolve 'AssetRegistry' in 'react-native/Libraries/Image'"
Reproduction steps
Compile a react-native-project with react-native-video as a dependency
Expected behavior
Fall back to a web compatible video component
Platform
react-native-web
Screenshot

You can Use https://github.com/QuantumBA/react-native-web-video and create a alias

Where you able to fix thiss ? I am also interested in serving video on react-native-web

Would be interested in seeing this implemented, it is very much necessary since react-native-dom is no longer in active development


Upgrade dependency

Upgrade<EMAIL_ADDRESS>to version

Please ignore this PR and close it. Generated by TestIM


fix: differentiate between array typres and standard structs

This did turn out to be pretty complex.
The following is by no means finished. More looking for a discussion. If you take a look #133 the bug is fairly clear. We do not respect response nor return types when they are arrays.
The only way I can think of solving this is that we must create the ref to the schema and link it at the bottom of a recursion tree. If you do not do this you will end up with improper refs, with the original approach the input for the first type wins so if an array of MyStruct is passed the schema will be a list of MyStruct rather than just the simple Schema of MyStruct. See schemaDive. Currently this does require us to dive twice on request bodies. Since we seem to check request bodies if they are unknown-type/string, which I am unsure why (wouldn't we want to have []string be a valid requestBody)? As long as that check exists I'm not sure how to avoid both recursive steps.
This does however give the proper diff

This does need more tests, but I'd like another pair of eyes too look at the approach @EwenQuim if you don't mind. Could you please take a look. I'm sure this can be simplified. I've been staring at it too long at this point.
@epentland feel free to chime since you brought this to our attention
Thank you

Was able to drop the need to recurse twice on request bodies by passing a the tag back with a struct of string and schemaRef

@EwenQuim when you have a moment to do you mind taking a look.

I'll look at it omorrow morning, thanks for this investigation.
It is indeed complex.

Sorry for the spam 😓. Messed some things up while getting my fork ready for a build.

@EwenQuim any word on this?

Ready to review it, I'd like to merge #137 just before this one, so I'll be able to work on Multi Return OpenAPI spec

Mmmh maybe I'll merge this before #137 finally...


A bug in config file

In  https://github.com/XuyangBai/TransFusion/blob/ebd8ba4716bfbf324efc5164f53f9e9b8778556c/configs/transfusion_nusc_voxel_L.py#L33, the data root is set to None, while the "nuscenes_dbinfos_train.pkl" is actually under the data root "data/nuscenes/".
Besides, I want to know the batch size's influence on the final performances, as my GPU memory (RTX 2080 Mem 11G) cannot accommodate 2 samples even when training the LiDAR-only TransFusion. Hence I have to set the sample_per_gpu to 1.

Hi, yes you can change it to data_root=data_root to solve this problem.
You can use sample_per_gpu=1 and reduce the lr by half accordingly. It will not have a large effect on the final performance.

Hi, yes you can change it to data_root=data_root to solve this problem.
You can use sample_per_gpu=1 and reduce the lr by half accordingly. It will not have a large effect on the final performance.

Thanks for your reply. Can you tell me the requested GPU memory when training TransFusion LIDAR+Camera version with 2 samples on each GPU? This statistic can be an important reference for me to look for other types of GPUs.

Hi, I do not remember the exact number but 11G is definitely not enough for samples_per_gpu=2, and I have trained TransFusion with samples_per_gpu=1 on a TITAN XP with 12G memory, so you can first try this configuration on your 2080. If it can not fit into your GPU, my suggestion is to use a newer version of spconv, I remember I have tried spconv 1.2.1 and found it can lead to a remarkable memory reduction.


[iOS] Enable iOS Simulator (x86_64, arm64)

This PR is to enable iOS Simulator build

Thanks @Pubbus although likely this alone only enables the library part and do not include the tvm build that also need to set correctly. Arm64 might be fine since simulator is also in arm64

@luiyen I don't care to run it on a sim. But I do care that I'm not longer able to build on a sim or use SwiftUI previews. Did you make any progress on that with this? Or later work?

Let me take a closer look.


DSA 1.2.17 KMP Algorithm

Description
Give an introduction and explain the working of Knuth–Morris–Pratt algorithm.
Task

[ ] Documentation
[ ] Audio
[ ] Video

Note

While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Kindly refer to Issue Guidelines.
In case you see that the issue has already been assigned, try to request for a different task within the same issue.
Changes should be made inside the DSA/directory & DSA branch.
Name of the file should be same as the issue.
This issue is only for 'GWOC' contributors of 'DSA' Domain.

/assign Document

/assign Document

Name : Priyanshi Saxena
Batch: 8

@101Priyanshi @ishivamgupta9 Not assigned to anyone of you, I had said already said don't do this
Now I have to speak with higher autority regarding this.

Hi! @Subhradeep10 I would love to work on this issue? can you please assign it to me?😊
Name: Debarati Ghatak
Batch: 3
Contribution type: Documentation

@cookieg13 Assigned to you

/assign @cookieg13

@cookieg13 Assigned to you

Thank you!😁

Hi @Subhradeep10, sorry for my previous mistake. I didn't know that we can't self assign. I would really like to contribute to this issue. Please give me a chance.
Name: Priyanshi Saxena
Batch: 8
Contribution type: Video

@101Priyanshi It's Okk, But don't do it from the next time . Assigned to @cookieg13 and @101Priyanshi

Hi! @pjdurden I wanted to give an update, I am almost done with the documentation and I will be making the PR by today. I am really sorry for the delay.

no problem @cookieg13 , i have seen your pull request, i will merge it after it is reviewed by the mentor.

no problem @cookieg13 , i have seen your pull request, i will merge it after it is reviewed by the mentor.
Thank you!! My PR has been reviewed by  mentor. 😊


Consider "self-contained" scripts

Nice to see a new dawn for C# scripting :)
I am not entirely sure that project.json is the best way to specify dependencies since Microsoft is moving away from it. It would be really nice if the script was self-contained in the sense that we could use load directives for all external code and not only for other script files.
I did a spike for this a while back and most of the Nuget API stuff is ready for .Net Core so at least it should be doable.
That way we could just execute a script without the need for a second file to describe the dependencies.
Something like this maybe
#load "nuget:somepackageid"

The Roslyn team have already shown interest in building this into the Roslyn scripting libraries. Whatever happens here should be in line with what happens there to avoid fragmentation. I.e. scripts that run with runner A but not runner B. For that reason I would raise this again with Roslyn before doing anything here. E.g. https://github.com/dotnet/roslyn/issues/6900

I am not entirely sure that project.json is the best way to specify dependencies since Microsoft is moving away from it.

something it's going to stay there for Nuget (whether it's nuget.json or whatever it's called, we'll see 😄
Regarding the other stuff, I tend to agree with Adam, yes.
That said, I still see some room for runner customization out there, especially as we work toward solving very specific problems. For example writing ASP.NET apps contains a lot of extra ceremony so I could imagine dotnet script aspnet foo.csx which would wire in a custom host that exposes ConfigureServices and such methods (see here). It has to be an opt in though (part of the Roslyn's scripting big selling points is Bring Your Own Globals, after all).

The bring your own globals is indeed very powerful and I believe it's best used when hosting scripts in apps, where the scripts are specifically written for use in those apps. E.g. similarly to how VBA used to be used for app automation back in the day (and as the back bone of many large companies today 😰), where each app injects its context specific objects in, such as an Excel workbook, or Word document.
One temptation is to put boiler plate into globals but once we get better nuget support for scripting, it will be much easier to pull in those things via a nuget package. Of course, that won't work when the runner itself has to inject some context. For that case, perhaps there is an argument for some infra-level specific globals, e.g. an "ASP.NET flavour script" such as the one you linked to. For a generic runner, I'd like to see as much portability as possible.

I was just wondering how you guys plan to move this forward. project.json is practically a goner starting with the preview 3 SDK. Roslyn Scripting is approaching 2.0, but I don't know if they have put in support for NuGet packages in load directives yet?

IMHO the first thing to do is to check on the status of this within Roslyn scripting.

Roslyn Scripting is approaching 2.0, but I don't know if they have put in support for NuGet packages in load directives yet?

no

I was just wondering how you guys plan to move this forward. project.json is practically a goner starting with the preview 3 SDK

the scripting here will change up to use csproj instead

Fixed by #84


esptool flash load hanging on master (IDFGH-9022)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Master branch, commit cfef24863f1acd4418227a727dbb6e356438a385 (5.x development)
ESP32-S3
I've noticed esptool hangs very frequently on flash loads:
esptool esp32s3 -p /dev/ttyACM1 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 bootloader/bootloader.bin 0x10000 twine.bin 0x8000 partition_table/partition-table.bin
esptool.py v4.5.dev0
Serial port /dev/ttyACM1
It just sits there.  Power consumption indicates it has made contact with the chip, but then it stops indefinitely.  Sometimes it works, sometimes it doesn't.  This never happened on the 4.4.x branch, it used to work 100% of the time.

Hello @readmodifywrite,
thanks for reporting this. I suspect a stub flasher regression was introduced in esptool v4.4.
Could you please try installing esptool v4.3 (pip install esptool==4.3) in your environment and running the command again? Also, you could just try running the command with the --no-stub argument. Thank you!

Hi - Not the reporter here, but I was having similar issues.

hangs
errors after starting to flash
Downgrading to 4.3 or using no-stub fixed the issue for me.

Hello @Fishwaldo,
thanks for your feedback! Could I please ask you to try this possible fix? It would help a lot if you could test this.
To try:

git clone https://github.com/radimkarnis/esptool
cd esptool
git checkout test/lower_cpu_freq
pip install -e .
run your esptool commands

You can do this when your IDF environment is active and try with idf.py, or by running esptool.py separately. Thanks again!

I can test but can I revert/uninstall if it doesn't work? (I need my dev machine to be functional!)

@Fishwaldo that would be great!
of course, you can run pip install esptool==4.3 afterwards. That will remove the development version and replace it with a release again.

@radimkarnis Thanks for the response, I'll try that as soon as I get a chance (after the holidays, most likely).

Same problem on windows 10, esp32s3, IDF v5.0-release with default esptool v4.4.
Especially when the firmware is large.
esptool 4.3 and 4.5-dev (@radimkarnis fork) works fine.
Actually, esptool v4.4 may somehow break the chip flash temporary,  all version of esptool not work before I run esptool erase_flash.

The fix has been released in estpool v4.5.dev1. This version containing the fix will be automatically installed if you re-run the ESP-IDF install script.


Custom 500

Hi,
it's me again. Thank you for fixing the http code error so quickly. Now I can see the actual error from the server but it's not very informative:
File "/usr/local/lib/python3.12/site-packages/mindee/client.py", line 397, in _get_queued_document raise handle_error(mindee.error.mindee_http_error.MindeeHTTPServerError: custom 500 HTTP error: None - None
My code and the api works fine with other documents but not with this particular one. Is there anything I can do to debug this?!

Hello again,
Unfortunately, this goes beyond what the library's repo issues are for. I recommend you reach out using the intercom button (bottom right) on the Mindee website to get more personalized support about this. Alternatively, you can post any questions on the Mindee Community Slack.
Thank you for your understanding


theme-yun: 使用非正方形头像时友联样式异常

Describe the bug

Reproduction
在友联页使用的头像非正方形时即可复现
System Info
none

Used Package Manager
pnpm
Validations

[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

dup #468


include: render shortcodes if file is a page

Currently, the include shortcode can not render shortcodes if the file points to a page. This can be changed easily.
For resources or plain files, this isn't possible.

Reverted the change back, as it is seen as a bad idea. Avoid the support hassle.
https://github.com/gohugoio/hugo/issues/12854

Well, after you did the change and before you reverted it, I just for fun included a "tag/XXX" autogenerated page in a regular page. Not very useful because there was only the taxonomy term page custom content displayed, not tag-related pages listing, but at least no compilation error when building site. Maybe I'm off topic with my test.


Re-add Serverless Deployment Instructions after 0.4 lands

Note to myself to make a new pr for this after 0.4 lands

Closing this off, as it's not an outstanding bug or anything like that, tho PRs are still welcome.


Allow signal handler to be uninstalled separately from the shutdown hook

... as you might want to replace the shutdown hook, but keep the signal handling
(this is an improvement to https://github.com/orientechnologies/orientdb/pull/4364)

For example, the server currently removes the core shutdown hook as it wants to use its own:
https://github.com/orientechnologies/orientdb/blob/master/server/src/main/java/com/orientechnologies/orient/server/OServerShutdownHook.java#L29
but ideally this should keep the signal handlers installed, since it doesn't install its own handlers.

Thanks.


Treatment of some fields not easy to understand (it changes the original .Params value)

$ hugo version
hugo v0.82.0+extended linux/amd64 BuildDate=unknown

Reproduce
Although pubdate is a custom value I use and expect to retrieve using .Params.pubdate it's being detected as a standard publishdate field. That itself is ok, but I think .Params.pubdate should allow retrieval of the original value even though the field was detected and converted into .PublishDate
With a file containing frontmatter:
pubdate: 2016 Aug

{{ warnf "%s %v %v %v" .RelPermalink .Params.pubdate .PublishDate .Params.publishdate }}

outputs
WARN 2021/04/06 08:56:47 /view/bxrSod8QSSMZos95B2hN/pubmed/27220979/ <nil> 2016-05-25 00:00:00 +0000 UTC 2016-05-25 00:00:00 +0000 UTC

It's also not not decoding the date correctly if the pubdate doesn't contain day or month information. I am not quite sure how it picks May instead of August. In my use case this is not a big deal, but my file generator uses "pubdate" as a formatted publication date of a journal which is a date of an issue and not a day of the year and therefore doesn't really contain days and sometimes doesn't contain months for yearly publications. As a workaround I have renamed the pubdate field in my metadata generator, but it seems when hugo does field calculations it should probably leave the original values in Params.

See https://gohugo.io/getting-started/configuration/#configure-dates

Also note that Hugo have some built-in aliases to the above: lastmod => modified, publishDate => pubdate, published and expiryDate => unpublishdate. With that, as an example, using pubDate as a date in front matter, will, by default, be assigned to .PublishDate.

Ok, it just seems tricky if dates are partials and then there is no way to get the original field value. I will try to turn off date conversions an see if that works.

@richtera
When I do this:
---
title: Test
pubdate: 2016 Aug
draft: false
---

With this:
{{ warnf "%s %v %v %v" .RelPermalink .Params.pubdate .PublishDate .Params.publishdate }}

I get this:
WARN 2021/04/07 09:01:39 /post/test/ <nil> 0001-01-01 00:00:00 +0000 UTC <nil>

Which is exactly what I expect.
The input for any date field must be in a format that Hugo can parse. This might be useful reading:
https://github.com/gohugoio/hugo/issues/8285#issuecomment-813682508

I agree for .PublishDate but why could .Params.pubdate not just contain the original value (i.e. why should .Params not just contain the raw metadata) When using metadata downloaded from another system it's not always possible to rename fields. I have a workaround by translating the metadata coming from pubmed and renaming the pubdate to be formattedpubdate. BTW I do see the correct Year when I try this.

but why could .Params.pubdate not just contain the original value

Because it's an alias to .PublishDate, not a separate slot to store a value. An alias points to something else.
There's one man in a room, and his name is Robert. Sometimes his friends call him Bob or Rob. There are not three men in the room. Bob and Rob are aliases of Robert; they point to Robert.
Please take additional discussion to the forum (https://discourse.gohugo.io/). Thanks.


Reference secret name in http header

A common use of http headers is to insert authorization tokens, a header should be able to reference a secret by name. There are several ways to accomplish this which need further analysis:

full header lines as secret names for the http connector
split header name, value config, and allow value to reference secret names
provide a sdk method for config parsing substrings of some config items for secret replacement
others?

Needs PRD for further spec and options, but one desire by @aj is to keep some resemblance to curl syntax.

In the http header case, we probably interpolate values like this:
http:
  endpoint: "https://github.com/myrepo"
  interval: 10s
  headers:
       - key: Authorization
          value: "token ${{   secret.my_key }}"

Interpolation syntax should be similar to what are going to use in the materialize view as well.
There are many existing interpolation syntax we can borrow;
https://www.koding.com/docs/terraform/configuration/interpolation.html/
https://docs.github.com/en/actions/learn-github-actions/expressions.
etc

Another way is to put the entire value or header pair in the secret:
http:
  endpoint: "https://github.com/myrepo"
  interval: 10s
  headers:
       - key: Authorization
         value:
            secret:
               name: AUTH_TOKEN

where: fluvio cloud secret set -c AUTH_TOKEN "token long-auth-str"
or
http:
  endpoint: "https://github.com/myrepo"
  interval: 10s
  headers:
       - secret:
            name: HEADER_AUTH

where: fluvio cloud secret set -c HEADER_AUTH "Authorization: token long-auth-str"

completed


WIP: Detect parameter collisions in the @inherits decorator. See #2566 for more details.

Detect parameter collisions while using the @inherits and the associated
@requires decorator. Collision detection for a particular parameter can
be opted out by adding it to the 'ignore_collisions=[]' list argument
of the decorator.

FWIW, we found the name inherits very confusing for new users. We renamed it to _include_params_from and enhanced it to customise the parameters: https://gist.github.com/TMaYaD/1c5e0898179699bdc1885ff05cbea552
Let me know if I should open a PR for it.


something something something dark side: favicons

from @Atavic

FF 52.0 ESR

// Show favicons in web notifications.
pref("alerts.showFavicons", false);

// No Favicons, Thanks!
pref("browser.chrome.favicons, false);

See here for browser.shell.shortcutFavicons

I tested browser.chrome.favicons->true (default) and dragged and dropped a shortcut for a weibsite I have never visited before in my life. It has the favicon in it.
I then set browser.chrome.favicons->false. I restarted firefox just in case. I went to another site I have never seen before in my life, dragged and dropped a website shortcut - and it still applied the favicon.

browser.shell.shortcutFavicons works regardless of your favicon cache
browser.chrome.favicons will still aplly the favicon if it already exists in your cache: \profile\shortcutCache folder full of .ico files
alerts.showFavicons I can't test. Where would I get a web notification from?
Before I add these, I need to understand what the privacy risks are here. I understand the windows shortcut one, but not the others exactly - not yet

Now I'm confused:
Steps to reproduce:

Set browser.chrome.favicons ->false
Go to random websites you have never seen in your life

https://www.randomactsofkindness.org/

I see a favicon in the tab (and bookmark if drag it to my toolbar), but no .ico is generated

http://www.strangebanana.com/generator.aspx

I see a favicon in the tab (and bookmark if drag it to my toolbar), but no .ico is generated

http://www.pointless.com/

i see NO favicon, I flip the pref and reload, I get the favicon (still no .ico generated). I bookmark it, still no .ico generated

So, what is up with the sites I see an icon? Are these not really favicons but like a emoji or something else?

1st:
<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
2nd:
<link href="favicon.ico" rel="shortcut icon" />
3rd: No icon link in source

I knew it would be something like that - cheers.

2nd: It's an actual .ico file, MIME Type image/x-icon

So

http://www.strangebanana.com/generator.aspx - used an favicon and it was displayed despite browser.chrome.favicons->false ( see: http://www.strangebanana.com/favicon.ico )

http://www.pointless.com/ is using a favicon - see http://www.pointless.com/favicon.ico

from the link first post

The shortcut file that is created will contain within it a string showing the full path to the icon file within your profile. That path may contain personal info and/or reveal something about your filesystem, mount points, etc that you wouldn't want put into all the shortcut files you create.

Man. I think that's stretching it just a little. If they have hold of the shortcut, they are already in your system, unless the shortcuts are on a portable drive. The shortcuts themselves would probably be more revealing (metadata). Look, I totally buy into the separation of application and platform, but the quote is 4 years old (mozilla may have changed something, idk), and while, I appreciate TheWindBringeth was just raising some possible points...
here's the contents of a shortcut in Windows7
[InternetShortcut]
URL=https://github.com/ghacksuserjs/ghacks-user.js/issues/48
IDList=
HotKey=0
IconFile=D:\Portable\FFVanilla\FF52\Data\profile\shortcutCache\iCET2gRyjpdPqJHxREPKUg==.ico
IconIndex=0

and here's the contents when browser.shell.shortcutFavicons->false
[InternetShortcut]
URL=https://github.com/ghacksuserjs/ghacks-user.js/issues/48

So, on Windows at least, it only leaks the browser based on the path. That's portable, not sure what an installed one does.

The storing of the favicons in the shortcutCache

Definitely worth adding. Its one of those [setup] ones - if your device is private/secure, then convenience might trump it for you. I for one, like the icons.

Steps to reproduce:

Have you restarted FF after setting it? If that doesn't fix it then browser.chrome.favicons is definitely not doing what I would expect it to do.
\profile\shortcutCache - I don't even have that folder (???) But I have cache enabled so maybe that's the reason it stores it somewhere else.
browser.shell.shortcutFavicons - I think we add it to the new 08xx section, set to false and active, fe. 0880+ for all 3 favicons prefs.
browser.chrome.favicons - set it to false and comment it out, because I too like the icons
alerts.showFavicons - has to do with notifications but IMO we should keep the Favicons stuff together, so add it as false and active (or inactive - zero fucks given ;)

wait... 0800 doesn't seem like the right section. Maybe we need to split them up or can find a section where all 3 fit, idk. browser.chrome.favicons maybe fits under quiet fox or cache, but I assume with cache disabled it also doesn't store favicons, right?

and here's the contents when browser.shell.shortcutFavicons->false

so you need to pull the url to the desktop or something for this? sorry I never do that so I don't have a clue.

I don't even have that folder (???) But I have cache enabled so maybe that's the reason it stores it somewhere else

Well hopefully its not username/appdata/something/something/mozilla/darkside

so you need to pull the url to the desktop or something for this? sorry I never do that so I don't have a clue.

Yes. Just drag and drop the I for info from your urlbar to a folder, then view that link in an ide

just throwing it out there, maybe favicon can go under the cache section

Pointless site has no icon link in source but the browser looks at http://www.pointless.com/favicon.ico if available. By adding an ETag header, Web Servers can fingerprint the browser. ETags allow tracking without cookies, and csan be defeated by cleaning the cache (but still work during th browser's session).
http://lucb1e.com/rp/cookielesscookies/

during a browser session I have the same IP so ETags are irrelevant.
When I open the browser the next day with a different IP, first it loads my previous session completely from the cache. When I reload one of those tabs, I do so by using a FireGestures gesture to force-reload and it never includes the Etag in my request header that way.
Add to that, that I use PB for most of my browsing, and my startup normal window only has the pages I still need to read or something, Etag aren't such a big problem for me.

@earthlng But can't you use a nilla FF for these tests?

But can't you use a nilla FF for these tests?

sure, but do we even need to test this? I mean browser.shell.shortcutFavicons is a nice addition regardless,
browser.chrome.favicons we don't want to enable anyway but can still include it, and alerts.showFavicons is false by default but we can include it too. All we need is to figure out in which section to add them.
What is there to test? It's not our problem as far as I'm concerned.

All three belong in cache. If a favicon is generated, it is stored.

What is there to test? It's not our problem as far as I'm concerned.

Probably nothing to test. First we need sites that are actually using favicons (so my test above site 1 was poked), then we need to work out sites that use the <link href="favicon.ico" rel="shortcut icon" /> (so my site 3 was poked) but still wonder why it was still assigned (etags or whatever), and then we need sites that aren't in the cache, so I'll have to fart around with a portable. I think we know they work for <link.. otherwise not our problem. So nothing to test I guess.
I still want to know what goes on (eg where the favicons are stored for various profiles - eg portable, installed, with+without cache enabled) and to be to properly explain the privacy issue. Then we just write em up I guess. We can just do a draft here and I'll add it to issue #51.
I propose all three be described as "disable favicon on X", and comment them all out
Option1
/* disable favicons...  \profile\shortcutCache of .ico files ***/
   // user_pref("browser.chrome.favicons", false);
/* disable favicons in web notifications ***/
   // pref("alerts.showFavicons", false);
/* disable favicons on shortcuts, use the mozilla firefox icon instead ***/
   //user_pref("browser.shell.shortcutFavicons", false);

or
Option2
/* disable favicons in firefox (chrome), web notifications (alerts) and shortcuts (shell)
 * these generate a cache.. blah blah ... cache is located here .. blah blah ***/
   // user_pref("browser.chrome.favicons", false);
   // pref("alerts.showFavicons", false);
   //user_pref("browser.shell.shortcutFavicons", false);

browser.chrome.site_icons
http://kb.mozillazine.org/Browser.chrome.site_icons

@Atavic Thanks for bring up favicons. I will close this, since it will be fully explored and covered in #51 (and is in my rough draft already)

The places.sqlite includes a number of tables as follows:
moz_favicons - Favourite icons - including URL of icon
http://kb.mozillazine.org/Places.sqlite#Deleting

Stinky favicons fall under behind-the-scene requests in uBlock Origin and can't be blocked with user made filters: https://github.com/gorhill/uBlock/issues/1732

"can't be blocked with user made filters" ...

if behind-the-scene requests are whitelisted

ergo remove the whitelisting and block to your heart's content

Yeah, I behind-the-scene requests are whitelisted as default there.

Just add a noop rule that covers behind-the-scene requests (or only BTS requests), which will block all requests that match an entry in a filterlist and be happy. Then you can also block Favicons or whatever else falls under BTS.
My whitelist in uBO is empty and I only have two rules in My Rules:
no-remote-fonts: * true
* * * noop

and I use uMatrix to do all the granular control.


Fix deprecated module include

Include is going to be deprecated and should be replaced by either include_tasks or import_tasks

Could you please accept this PR and release a new version?


Release v1.4.1

Ⅰ. Describe what this PR does

Release v1.4.1, including several bugfixes and necessary improvements after releasing v1.4.0.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/hold

/lgtm

See https://github.com/koordinator-sh/koordinator/releases/tag/v1.4.1


JS cleanup

This enables jshint on the backend JS and fixes the things it points out. We've been using it on the frontend for a while; this makes sure the backend is also clean.
The changes are mostly tiny--lots of semicolons.

CR :santa:

CR :book:


Fix dev breakage when missing capabilities fields

Co-authored-by: Richard Powell<EMAIL_ADDRESS>
WHY are these changes introduced?
Fixes #573

When shopify.ui.extensions.toml doesn't include a capabilities clause, the browser reports the following error:
vendors~app.latest.en.e5376343c5580b97aa7a.js:2 TypeError: Cannot read properties of undefined (reading 'networkAccess')
    at app.latest.en.280faa0996ccd0490853.js:1:183003
    at Array.map (<anonymous>)
    at app.latest.en.280faa0996ccd0490853.js:1:182862

WHAT is this pull request doing?
This PR sets default values for capabilities and capabilities.network_access and capabilities.blocks_progress. Because omitting any of the defaulted fields in tests is regarded as a syntax error, there is no way I can see to write unit tests.

How to test your changes?
Create a new checkout extension and dev it, ensuring the shopify.ui.extensions.toml file has no capabilities clause. Click the checkout extension preview link to ensure you are taken to the checkout screen.
Ensure you can see the checkout extension surface area and NOT this:

Measuring impact
How do we know this change was effective? Please choose one:

[x] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

Can we verify that setting these defaults don't break deploys?

Tried adding a subscription-ui and deploy worked

Is the issue only occurring in local development? Is this a new issue or has it always been a problem?

Only happens with the new Node flow, Go works fine because it adds some fields to the config by default
Should this be the default behavior for Node too instead of this fix to the schema?

Does Checkout return a default config for capabilities when it's missing in the extension through GraphQL? If so, we should make the Dev Server follow suit but not mutate the actual config that gets sent to Core.

Yes, it does. I think it makes sense that the dev-server automatically sets these capabilities if they are not present. But not modify what we read from the toml.

Since this only affects the node flow, i'd say is not urgent. @dmhenry Could we update this so that the Node server does the same as the Go one?

I think we shouldn't add defaults to the schema, because that schema will be used both for dev and deploy. If we want the dev server to include defaults that should be done in the server itself, what do you think?

I think we shouldn't add defaults to the schema, because that schema will be used both for dev and deploy. If we want the dev server to include defaults that should be done in the server itself, what do you think?

I agree that it's safest to include defaults in the dev server itself instead of modifying the real configs


XCode 15 / iOS 15 support

Hey, I have upgraded my xcode to 15 and the minimal deployment of my application to 15.
Is Janet compatible with it? It doesent seem to work. Trying to figure out if I am missing something.
Works on 14, 14

Hi Pascal,
I just ran a quick test of Janet on Xcode 15.4 (15F31d). It compiles for me and a quick test of fetching a resource is successful. Can you tell me what exactly the issue is you're facing?

Hey Niklas,
I have found the issue, it was not the package, sorry for the trouble. Have a nice week :)


Benchmark performance testing

In order to bench mark the performance to the protocol  we require a specification or tickets opening detailing what should be benchmarked.
This includes both protocol level and QA performance benchmarks (cc @Vegaklaus @vega-paul)
These benchmarks will be used to enable us to assess risks identified in the protocol and plan for any critical improvements before trading if any are deemed to be required.

Not required to be in specs repo


Integrate Llama2 recipe on Intel platforms to llama-recipes

cc @sanchitintel @jingxu10

We have integrated Intel XPUs, https://github.com/meta-llama/llama-recipes/pull/116, will close this pls feel free to re-open if needs further support.


UDP low-level driver timeout facility lacks a retry mechanism

Background:  In my environment, I have a Raspberry Pi sitting on WiFi acting as a tunnel/relay and controlling node.  Since UHPPOTE packets are UDP and such packets are 'best effort', in a wireless environment packet loss happens quite a bit more often than it does in a wired Ethernet network, about 1 in 2000 appear to get clobbered.
In Tunnel mode, the vendor's app typically does not notice a missed packet, however it would appear uhppoted-dll (and related modules that leverage the same driver codebase such as uhppoted-codegen) fire off a UDP request packet once then fail if the timeout expires.  This is really noticed when doing an event log database fill or long-duration status polling.
Sure, one can write a wrapper function around the driver, but it seems to me the low-level thingie expecting a response might be better served with --retry [count] parameter or some reasonable default (2, 5?) unless it really is a best effort communique.
Worst case, let's say it's a 2.4ghz WiFi and someone is making popcorn in the microwave...the net is effectively down for 3min, having the two knobs of timeout and retries, one can balance failure response against recovery time given the scenario.

It was actually a deliberate design decision - there are many, many reasons a UDP packet might get lost (simply dropped by network, service shutdown, network failure, board crash, etc, etc) and any recovery is pretty much application specific.
Timeouts and retries can actually complicate system state and recovery e.g. some light reading:

What is Backoff For?
Metastability and Distributed Systems
The properties of crash-only software

To address events specifically - events are going to get lost and for robust event logging it's a good idea to supplement the event listener with a script that periodically uses get-event to fetch any events that have been received in the interim e.g. there's a sample in the cookbook of how to store them in a sqlite3 DB.

'k, having mulled this over and thought about it a fair bit - I think they way to do this is with an RPC-like mechanism. Which ... is on the roadmap but not in the near future so don't hold your breath :-).
Am going to close this but will post an update here when that project gets started.

I did a deep-dive on the readings, coinciding with some experimental development.  Refactored to a mechanism where state was stored in the db.  Now to the point where the system is robust to random crashes, set breakpoints here and there, ^c at random intervals, etc.  The nice thing about doing this is now I can fix bugs on the fly and things will pick up where it left off, so thank you for the backgrounder!
For data latency and performance reasons, I left a single retry in place; Fine tuning time timeout vs. polling loop to arrive at a decent response time to forward alarm conditions such as Door Force and alarm contact inputs as expeditiously as possible.  Response time of the device is usually fast, there are times the device is busy (would certainly like to know what the hell it's CPU board doing during those periods, hello Huawai?) or the packet is lost for good.
Testing over the last week with a 1s timeout, 1 retry, 10s polling window appears to keep it out of the realm of missing a poll window and feels close to real-time.  This Pi has 5ghz WiFi, so it doesn't suffer the 'popcorn in the microwave' issue of the earlier models, but the system survives pulling the network cable for hours at a time (alarm forwarding be damned!), crashes, restarts, and goes right back to backfilling the db when back up.

Building rock-solid robust systems is just endlessly fascinating and almost never simple :-) - but that is sounding pretty solid! Nice!


support for building v0.3 bundles

Updates the toMessageSignatureBundle and toDSSEBundle utility functions to accept a new mediaType parameter. If the mediaType is set to "application/vnd.dev.sigstore.bundle.v0.3+json", the functions will construct a bundle according to the v0.3 bundle specs (using the certificate in the verification material instead of the x509CertificateChain field).
If no value is specified for the mediaType, the default will be to create v0.2 bundles.

In draft, pending the release of the<EMAIL_ADDRESS>


Moving length here

For https://github.com/JuliaDiff/ForwardDiff.jl/pull/599 to work, length(::Type{StaticArraysCore.SMatrix{3, 3, Float64, 9}}) needs to be defined here in StaticArraysCore.
The present definition is:
https://github.com/JuliaArrays/StaticArrays.jl/blob/f7b8ed21c946fef2e9ecb00d7a27bccdd2623976/src/abstractarray.jl#L1-L2
which needs
https://github.com/JuliaArrays/StaticArrays.jl/blob/28e0482ba006bfb9a4a4f19dbf8b3096b2611497/src/StaticArrays.jl#L71-L86
which depends on LinearAlgebra.
What should happen? This core package has no dependencies right now. Should it gain LinearAlgebra just for this? Otherwise it could just define length for a smaller set of types, and let the main package extend that. I think that would be sufficient for ForwardDiff, whose generated functions e.g. here https://github.com/JuliaDiff/ForwardDiff.jl/blob/c6dc2098b5201943cdb8433ee963078e6dcc7900/src/apiutils.jl#L21-L25 accept only x::StaticArray, never Diagonal(StaticVector) etc.

I think it would be the easiest if ForwardDiff just used tuple_prod instead of length like here: https://github.com/JuliaArrays/StaticArraysCore.jl/blob/33f4dada9a6e19dddc4eb0d65807d4185f4ed9a0/src/StaticArraysCore.jl#L117 .

Thanks, that indeed solves the problem. Done here: https://github.com/JuliaDiff/ForwardDiff.jl/pull/599/commits/f3afe136cd1e62bfff4219e7918685745a011ea9
Maybe the next one is harder. While #5 moved similar_type here, its methods are all from the main package, and these seem to be called within @generated code, leading to:
StaticArraysCore.MArray: Error During Test at /Users/me/.julia/dev/ForwardDiff/test/GradientTest.jl:87
  Got exception outside of a @test
  MethodError: no method matching similar_type(::Type{StaticArraysCore.MMatrix{3, 3, Float64, 9}}, ::Type{ForwardDiff.Dual{ForwardDiff.Tag{typeof(prod), Float64}, Float64, 9}})
  The applicable method may be too new: running in world age 33438, while current world is 33489.

  Closest candidates are:
    similar_type(::Type{SA}, ::Type{T}, ::StaticArraysCore.Size{S}) where {SA<:StaticArraysCore.MArray, T, S} (method too new to be called from this world context.)
     @ StaticArrays ~/.julia/packages/StaticArrays/B0HhH/src/abstractarray.jl:76
    similar_type(::Type{SA}, ::Type{T}) where {SA<:(Union{LinearAlgebra.Adjoint{T, <:Union{StaticArraysCore.StaticArray{Tuple{var"#s2"}, T, 1} where var"#s2", StaticArraysCore.StaticArray{Tuple{var"#s3", var"#s4"}, T, 2} where {var"#s3", var"#s4"}}}, LinearAlgebra.Diagonal{T, <:StaticArraysCore.StaticArray...  (method too new to be called from this world context.)
     @ StaticArrays ~/.julia/packages/StaticArrays/B0HhH/src/abstractarray.jl:37
    similar_type(::Type{A}, ::Type{T}, ::StaticArraysCore.Size{S}) where {A<:AbstractArray, T, S} (method too new to be called from this world context.)
     @ StaticArrays ~/.julia/packages/StaticArrays/B0HhH/src/abstractarray.jl:73
    ...


fix a bug of saving added tokens

Refer to the code that loads added_tokens.json:
added_tok_encoder = json.load(open(added_tokens_file, encoding="utf-8"))
We can see that added_tokens_encoder should be saved in added_tokens.json. But the original code saved added_tokens_decoder.

Codecov Report

Merging #895 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #895   +/-   ##
=======================================
  Coverage   79.03%   79.03%
=======================================
  Files          34       34
  Lines        6234     6234
=======================================
  Hits         4927     4927
  Misses       1307     1307

Impacted Files
Coverage Δ

pytorch_transformers/tokenization_utils.py
86.53% <0%> (ø)
: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 067923d...c9a7b29. Read the comment docs.

Thanks, that was fixed in #893


Damage is only applied to selected tokens with 2 new warnings after pf2e 4.3.0 update

Hello!
Sorry if I am missing something,
Target Damage stopped working for me. Currently the damage is always applied to the selected token instead of the target token and it produces 2 warnings every time applyDamage is called, I also noticed trying to hide the Original system dmg buttons stopped working for me.
I believe this began occurring right after yesterday's pf2e system update to 4.3.0.
Here is how both warnings look like:

Working on fixing it.


add disabled prop to GoogleSigninButton

Add a disabled prop to GoogleSigninButton to make it more consistent with RN's Button and Touchable*.

Sorry for the delay handling this. I’ll look into this in a few days when I’ve got a bit more time on my hands. :)

@ngraef can you please also document this in the readme?


sgluck peer review

@datalorax
Stephanie Gluck Peer Review
Area of Strength:

I learned about the readr::parse_number and thought this was a neat function. I checked out the help documentation for parse_number and can see myself using this function in my own work.

I think a shiny app is very fitting for this large dataset as it will allow the audience to select data and visualize trends that they are interested in examining.

I found the idea to incorporate a stop function in the code to check for the structure of the input variable to be really useful and I was curious as to how error messages can be incorporated into shiny app as that would proably be beneficial for the users of the shiny app too.

What I learned from reviewing the project:
Similar to the other group's project that I reviewed, it strikes me the sheer amount of data that is generated in a large national education dataset compared to work in my field where the sample sizes are typically much smaller. Given the large amount of data, having function will be immensely helpful at subsetting and looping through a variable of interest such as year in this case.
Area of Improvement (see codes in their respective code chunk):

I included minor formatting codes for rounding values in your potential output table and wrapped output table in gt or reactable. Also included code to move the legend to bottom of plot in ggplot.

I noticed there was a stop function included in the custom function (really good idea!) numeric_plot and I tried to test the stop function but it appears the plot still ran (it is possible I am not understanding the stop function correctly). I was not sure if this is something important for the shiny app.

It may be informative for the plots in "step 3, nest by year and visualize school safety, size, and urbanicity" to have plot title that includes the year. I was not able to come up with a code for this (sorry) but I know that the codes were covered in our "Parallel iterations" lecture.

Thanks @s-gluck!
For your bar plot function at least, you've got some NSE issues. You don't need NSE for your data frame, and when you're checking for numeric, etc., you should be using dplyr::pull to get just the vector back (so you can test the vector).
You should also probs load your data in a loop, if you can.
Also, for the shiny app, you shouldn't need to save any plots (not sure if you were planning to, but I saw that code in there).


Add Hello World

Add hello world example for Keptn to quickstart.
Signed-off-by: Adam Gardner<EMAIL_ADDRESS>

If we have this dockerised hello world, do we also need the k3d instructions?


chore: pass env variables when setting up GOAT and update GOAT readme

Risks
Low
Background
What does this PR do?
This PR aims to easily pass secrets to the GOAT plugin as well as improve its readme.
Problem:
Currenlty secrets can only be used by plugins when calling an action or a provider. If a plugin requires an initial setup such as setting up a wallet or a GOAT plugin (e.g adding Polymarket or Uniswap plugins) there is no way to achieve this.
Solution:
Update the GOAT plugin to get passed a getSecrets function for the specific character it is adding actions to. This allows GOAT to check the secrets/env variables and configure its plugins accordingly when being initialized.
What kind of change is this?
Improvements: This change allows developers to install GOAT plugins easily such as Polymarket, Uniswap and Coingecko. It also makes it easier to update the plugin to support multi-chain.
Documentation changes needed?
My changes do not require a change to the project documentation.
Testing
Where should a reviewer start?

Go to plugin-goat

Detailed testing steps

Make sure you have an EVM_PRIVATE_KEY and EVM_PROVIDER_URL for Base set
Comment out evmPlugin in src/agent.ts
Run the agent and prompt it with: What's the USDC balance of 0x18Bead774f927Af586F86F6d054C269416E163DD
Should give you the balance of 0x18Bead774f927Af586F86F6d054C269416E163DD

To test actions on Base Sepolia simply:

Go to plugin-goat/src/wallet.ts and change

const chain = base

to
const chain = sepolia

Make sure EVM_PROVIDER_URL works for Sepolia
Run the agent!

Discord username
aguspunk

we're currently in the process of refactoring how plugins are setup and initiated so we'll probably hold off on merging this for now

oh nice, any ETA for that @cygaar ? :)


[Installation] How to install only a few components?

Hello, I wish to use only a few components of SUI in my react application. Even if I import only a few components the whole library which is close to 1 MB uncompressed is imported. Is there anyway I can only import an element and its dependencies?
Any help is appreciated! Thank you.

Please post your questions on SO. You can directly import components:
import Button from 'semantic-ui-react/elements/Button'

But recommended way is to use babel-plugin-lodash, see #609 and our docs. Also see this reply on SO.

With
import Button from 'semantic-ui-react/elements/Button'

I get
Module not found: Error: Can't resolve 'semantic-ui-react/elements/Button' in '...'

Does this requires a special Webpack configuration?
Thanks.

There was typo, correct:
import Button from 'semantic-ui-react/dist/commonjs/elements/Button'


Roll engine 5aff31194809..bfebadfce626 (3 commits)

https://github.com/flutter/engine/compare/5aff31194809...bfebadfce626
git log 5aff31194809..bfebadfce626 --first-parent --oneline
2020-03-06<EMAIL_ADDRESS>Roll src/third_party/skia 012f8497802e..93a2a6b8badb (4 commits) (flutter/engine#16974)
2020-03-06<EMAIL_ADDRESS>fix shadows and mask filter blurs (flutter/engine#16963)
2020-03-06<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from cXgMr... to cTw2C... (flutter/engine#16970)
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 3.
Please triage them at https://flutter-gold.skia.org/search?issue=52103.

Commit queue failed; closing this roll.


fail to load the model in predictor_verifier.cc

Hi,
I tried to use the predictor_verifier to test how to load the model (squeezenet in examples) by C++ API.
(https://github.com/caffe2/caffe2/blob/master/caffe2/binaries/predictor_verifier.cc)
it failed by giving the following message after running the program:

is anything wrong with the code?

This binary is for other models that have been produced by predictor_exporter. @aaronmarkham  is working on an example and page which explains different kinds of model saving / loading approaches.

Hi.
As squeezenet can be ran in python without any problem, is there any example now for me to test caffe2 in C++ API?
Thanks.

Android AI Camera
https://caffe2.ai/docs/AI-Camera-demo-android
https://github.com/bwasti/AICamera/blob/master/app/src/main/cpp/native-lib.cpp
loadToNetDef(mgr, &_initNet,   "squeeze_init_net.pb");
loadToNetDef(mgr, &_predictNet,"squeeze_predict_net.pb");
_predictor = new caffe2::Predictor(_initNet, _predictNet);
caffe2::Predictor::TensorVector input_vec{&input};
caffe2::Predictor::TensorVector output_vec;
_predictor->run(input_vec, &output_vec);


Can't access public bucket without credentials

On master (ccb779d3e2054310dcff0e4308fe38acfe5784f6) in an environment with no Google credentials (python:3.6.4 Docker image):
# this works
In [2]: gcsfs.GCSFileSystem(token='anon').open('gs://gcp-public-data-landsat/index.csv.gz').read(1)
Out[2]: b'\x1f'

# but this doesn't
In [3]: gcsfs.GCSFileSystem().open('gs://gcp-public-data-landsat/index.csv.gz').read(1)
_call exception: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fbc9bdd5b00>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 141, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/usr/local/lib/python3.6/site-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/local/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
# ... several pages of these logs
# ... then several pages of tracebacks; finally:
RefreshError: HTTPConnectionPool(host='metadata.google.internal', port=80): Max retries exceeded with url: /computeMetadata/v1/instance/service-accounts/default/?recursive=true (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fbc9b785eb8>: Failed to establish a new connection: [Errno -2] Name or service not known',))

It seems that the default auth should be falling back on anon; I guess this type of exception is not being caught properly? Additionally, if the anon method did eventually succeed, it might be preferable to suppress the logs during the initial failure+retries.

I would guess that method='cloud' is apparently succeeding - this is being run on a google cluster - but then the metadata service doesn't actually have valid credentials available.
One thing that we could do, is, upon connecting, attempt to get info or data from a key that is known to be accessible to all. That would force the credentials to be tried "for real". This could always be an optional check_connection=True parameter.

Can you please check with #100 ?
If this fixes the problem, I am prepared to quickly release gcsfs, so that your PR on pandas can go ahead without the untidy anon logic.

This doesn't fix the problem for me, but I have a bit better idea what's going on now. The above was just running locally, not on Google cloud, but you're right that token is being set to cloud.
In [6]: fs = gcsfs.GCSFileSystem(token='cloud')
In [7]: fs.session
Out[7]: <google.auth.transport.requests.AuthorizedSession at 0x7f0e177ad358>

It looks like the logic in connect(method=None) expects fs.session to be None if the credentials are invalid, but the failure is instead deferred until you try to actually use them. Maybe checking another property instead would catch this, e.g. (using the above)
In [12]: fs.session.credentials.valid
Out[12]: False

I don't quite see how that happens, but I have added a line to reset the session if the connection apparently fails. Checking for credentials.valid won't work because, until the first use of the credentials, they were likely be expired and not (yet) valid. Please correct me if I am wrong.

Makes sense; #100 with one modification (see comments) now works for me:
In [4]: gcsfs.GCSFileSystem().open('gs://gcp-public-data-landsat/index.csv.gz').read(1)
Out[4]: b'\x1f'


Added in test for the boto IAM method: list_instance_profiles_for_role()

Hello:
I have added in a test for the IAM method list_intance_profiles_for_role()
The most "jarring" change would be moto/core/responses.py, as I needed to pass in a parameter to one of my response methods -- Not sure of another way of doing this...
Thank You

I am going to investigate the failed test, and see if I can get it fixed.
Wondering if it is related to the test running in Python 3.x.

Amended my commit with the fixes.  Re-opening...

Another Python 2->3 bug...  Will fix... (I'm new to Python, so it may take me a few attempts :/)


Npgsql.EntityFrameworkCore.PostgreSQL generates unsupported sql for old postgresql server

Hi
I'm using PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit "
After switching to the version of Npgsql.EntityFrameworkCore.PostgreSQL 2.1.0, I got errors on some queries. "Npgsql.PostgresException" "42703: column " mins \ "does not exist".
I did a little investigation:
For the following code
public class Foo
{
        [Key]
        public int Id { get; set; }
        public DateTime Date { get; set; }
}

public class ApplicationDbContext : DbContext
{
     public DbSet<Foo> Foos { get; set; }
     public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) {
     }
}

...

var res = db.Foos.Select(x => new
{
    Date = x.Date.AddMinutes(60)
}).ToList();
...

Npgsql.EntityFrameworkCore.PostgreSQL generates the following Sql:
SELECT (x."Date" + MAKE_INTERVAL(mins => 60)) AS "Date" FROM "Foos" AS x

But version 2.0.0 of Npgsql.EntityFrameworkCore.PostgreSQL generated the following sql:
SELECT "x"."Date" FROM "Foos" AS "x"

The problem is that MAKE_INTERVAL function is not supported by PostgreSQL 9.3.
Question. Is it a bug, or is Npgsql.EntityFrameworkCore.PostgreSQL 2.1.0  just not going to support the old PostgreSql server?

Oh, that's unfortunate... This is actually a feature added to 2.1.0, where we translate certain DateTime arithmetic (#173) to SQL.
One easy workaround is to force evaluating the DateTime arithmetic client side by calling ToEnumerable() before your projection:
var res = db.Foos.ToEnumerable().Select(x => new
{
    Date = x.Date.AddMinutes(60)
}).ToList();

This should be equivalent to how your code worked on 2.0.0.
It's also worth mentioning that PostgreSQL 9.3 will reach its end-of-life in two months, so I'm reluctant to add a backwards compatibility flag or similar.
I'll close this for now as I don't think there's anything to be done in Npgsql, but will be happy to continue the discussion if you think otherwise.

@neyromant This is an interesting issue, thanks for sharing it.
@roji I'm thinking about how this relates to the various operator translations being added.
For example, I'm imagining the situation where I'm unable to take advantage of the latest provider version because the release has new translation support for pre-existing Postgres features, as well as support for new Postgres features that are not supported by my version of the database.
A couple of questions:

Do we definitively document the PostgreSQL versions that the provider supports? If not, should we?

e.g. "2.1.0 supports PostgreSQL versions 9.4.0 through 10.0.0"

Do you know if other providers (or the EF Core team) are addressing compatibility issues surrounding version specific SQL generation?

Would it make sense to adopt something like ASP.NET Core's MVC compatibility versioning?

The SetCompatibilityVersion method allows an app to opt-in or opt-out of potentially breaking behavior changes introduced in ASP.NET MVC Core 2.1+. These potentially breaking behavior changes are generally in how the MVC subsystem behaves and how your code is called by the runtime. By opting in, you get the latest behavior, and the long-term behavior of ASP.NET Core.
The following code sets the compatibility mode to ASP.NET Core 2.1:
public void ConfigureServices(IServiceCollection services)
{
   services.AddMvc()
           .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

Perhaps something similar to these:
// Option 1:
public IServiceProvider ConfigureServices(IServiceCollection services)
    => services.AddEntityFrameworkNpgsql()
               .SetNpgsqlCompatibilityVersion(NpgsqlCompatibility.Version_2_1)
               .BuildServiceProvider();

// Option 2:
public IServiceProvider ConfigureServices(IServiceCollection services)
    => services.AddEntityFrameworkNpgsql(NpgsqlCompatibility.Version_2_1)
               .BuildServiceProvider();

Do we definitively document the PostgreSQL versions that the provider supports? If not, should we?
e.g. "2.1.0 supports PostgreSQL versions 9.4.0 through 10.0.0"

We don't and can definitely improve on this. There's a note in the compatibility section of the docs saying we aim to be compatible with supported PostgreSQL versions (5 major versions back), but that's not enough.
In practice, though, I've actually received relatively little complaints about usage of new PostgreSQL feature which aren't available in older ones.

Do you know if other providers (or the EF Core team) are addressing compatibility issues surrounding version specific SQL generation?

EF Core made a conscious choice to not be aware of the specific database it's connected to when generating queries or migrations, unlike EF6 where it was possible to vary SQL based on backend version. While this may sound weird, it does have its justifications. You can look at https://github.com/aspnet/EntityFrameworkCore/issues/9000 for some discussion (there's an earlier discussion that's more complete but I can't find it at the moment).
As that thread says, the recommended way to support different versions is by having the user specify features explicitly, as DbContext configuration options. This shifts the responsibility on the user to tell the provider "generate SQL with this or that characteristic".

Would it make sense to adopt something like ASP.NET Core's MVC compatibility versioning?

I think that's more or less the same as the recommended approach mentioned above - explicit user opt-in or out of features which may not be supported in some backends. It's possible, but I'd wait a bit to see how many people are actually affected by this issue, especially since a workaround is very easy to implement (i.e. forcing client-side evaluation).
Let me know what your thoughts are about all this.

EF Core made a conscious choice to not be aware of the specific database it's connected to when generating queries or migrations, unlike EF6 where it was possible to vary SQL based on backend version. While this may sound weird, it does have its justifications.

Reading through the issues, I can see why this makes sense. As an EF Core user, I certainly appreciate the current approach.

It's possible, but I'd wait a bit to see how many people are actually affected by this issue, especially since a workaround is very easy to implement (i.e. forcing client-side evaluation).

I can understand the "wait and see" perspective. That said, this sounds like it could be a good investment if implemented in an unobtrusive way.
Ideally, we could quietly introduce this and only use it to fence off issues as they arise, while avoiding any big overhauls to compatibility-proof the existing code base.
From my (narrow) perspective, this seems like a positive in terms of overall robustness. But....I've only been thinking about this for a few hours, so my outlook on it may be over optimistic.
Examples
This is just for brainstorming purposes (i.e. treat this as pseudocode).
It seems like a field on NpgsqlOptions would be enough to get started. Then a compatibility flag could be passed into various translators that could then either use or ignore the flag.
Before:
// NpgsqlCompositeMemberTranslator.cs

/// <summary>
/// The default member translators registered by the Npgsql provider.
/// </summary>
static readonly IMemberTranslator[] MemberTranslators =
{
    new NpgsqlStringLengthTranslator(),
    new NpgsqlDateTimeMemberTranslator()
};

/// <inheritdoc />
public NpgsqlCompositeMemberTranslator(
    [NotNull] RelationalCompositeMemberTranslatorDependencies dependencies,
    [NotNull] INpgsqlOptions npgsqlOptions)
    : base(dependencies)
{
    // ReSharper disable once VirtualMemberCallInConstructor
    AddTranslators(MemberTranslators);

// NpgsqlDateTimeMemberTranslator.cs

public virtual Expression Translate(MemberExpression e)
{
    if (e.Expression == null)
        return TranslateStatic(e);

After:
// NpgsqlCompositeMemberTranslator.cs

/// <inheritdoc />
public NpgsqlCompositeMemberTranslator(
    [NotNull] RelationalCompositeMemberTranslatorDependencies dependencies,
    [NotNull] INpgsqlOptions npgsqlOptions)
    : base(dependencies)
{
    IMemberTranslator[] MemberTranslators =
    {
        new NpgsqlStringLengthTranslator(),
        new NpgsqlDateTimeMemberTranslator(npgsqlOptions.NpgsqlCompatibility)
    };

    // ReSharper disable once VirtualMemberCallInConstructor
    AddTranslators(MemberTranslators);

// NpgsqlDateTimeMemberTranslator.cs

readonly NpgsqlCompatibility _compatibility;

public NpgsqlDateTimeMemberTranslator(NpgsqlCompatibility _compatibility)
    => _compatibility = compatibility;

public virtual Expression Translate(MemberExpression e)
{
    if (_compatibility < NpgsqlCompatibility.PostgreSQL_9_4)
        return null;

    if (e.Expression == null)
        return TranslateStatic(e);

@neyromant We've merged #483 which addresses your original issue. Keep an eye out for it in v2.2.0.

@austindrenski Thank you very match!


In memory cache (localforage) size is ignored

Issue workflow progress

Progress of the issue based on the Contributor Workflow

[ ] 1. The issue provides a reproduction available on Github, Stackblitz or CodeSandbox

Make sure to fork this template and run yarn generate in the terminal.
Please make sure Mesh package versions under package.json matches yours.

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug
By defining the localforage cache like this, the size is ignored:
cache:
  localforage:
    name: "my-cache"
    size: 1000
    storeName: "my-cache-store"

To Reproduce
Configure localforage as described above and then check the size of the mesh cache. It's always 4980736 which is default size for localforage.
The bug is here: https://github.com/Urigo/graphql-mesh/blob/master/packages/cache/localforage/src/index.ts#L13
config.size is simply not used at all.
Then creation of InMemoryLRU https://github.com/Urigo/graphql-mesh/blob/master/packages/cache/localforage/src/InMemoryLRUDriver.ts#L15 has options.size = 4980736 and not 1000
Expected behavior
size should be 1000.
It also be very very useful if Mesh will log info about current configuration of the cache. Now there is no mention about cache at all.
Environment:

OS: Mac OSX
@graphql-mesh/cli: 0.78.28
NodeJS: 16

Fixed via https://github.com/Urigo/graphql-mesh/commit/c751c334573bee8d2321e95f4a3f5fccb84380f8