getting ready to register

adding docstrings, etc.
also commenting out the DEQ stuff for now so that hopefully precompilation will speed up

oh also this closes #25

Resolves #25 .


api docs should be hosted somewhere

We currently generate API/developer docs for SPOT but we don't host it anywhere as far as I can tell.
Can we make it so that we have

https://nlesc.github.io/spot/demo
https://nlesc.github.io/spot/api

see https://jspaaks.github.io/spot/ for an example of what I mean.

should be resolved by https://github.com/NLeSC/spot/pull/129


[Drawer] - How to Initialize Drawer Inside Container Element

I'm trying to use a "temporary" right Drawer component, and I want the drawer and it's backdrop to be contained within the parent div.
I can't find any working examples of this, and I'm not sure how to target the Backdrop component CSS from my Drawer component.

[x] This is a v1.x issue (v0.x is no longer maintained).
[x] I have searched the issues of this repository and believe that this is not a duplicate.
I found a duplicate issue, but it was for v0.x https://github.com/mui-org/material-ui/issues/5349

Expected Behavior

When specifying a container prop for my Drawer, I expect that the drawer, and it's backdrop would be enclosed inside that container. Since this is not the case, it's unclear how to override the desired styles.
It should function similar to this sidebar example
Current Behavior

The Drawer, Modal, and Backdrop components use fixed for their positioning, resulting in them always displaying at the top-right of the viewport.
Context

I created a CodeSandbox with an example scenario.
If you click on the "Open Drawer" button, <DrawerRight> opens to the right of the viewport as expected.
It overlays all other elements, including the <Navbar>.
The goal is to have the drawer open, but only overlay elements in it's containing element.
I attempted to override the styling with classes as shown in the docs
Here is an updated version of the above CodeSandbox with my changes.
The main differences are:

Pass reference to <MainContent> as container prop to <Drawer>
Use withStyles to add styles based on <Drawer> CSS API

Note that the drawer now seemed to be sized correctly, but the backdrop is still covering the entire viewport.
Also, the animation has become jittery, with the other elements being shifted while the drawer is opening.
Your Environment

Tech
Version

Material-UI
v1.2.0

React
v16.3.2

browser
Firefox 60.0.1

Does this help?
import React from "react";

const styles = {
  position: "relative",
  zIndex: 1301,
  backgroundColor: "red"
};

const Navbar = () => (

Navbar: this should not be covered

);

export default Navbar;

The default zIndex provided to Drawer component is 1200, you can over ride it like that.  :point_up:

@adeelibr Thanks for the suggestion!
That should work for the simplified example I provided, but in my actual use-case, there are several more components (eg. a sidebar) that I don't want to be covered.
I don't think it's a maintainable solution to hard-code component z-index values whenever I want a contained drawer.
I was hoping there was a way I can use the CSS API or classes to pass down styles Drawer -> Modal -> Backdrop

Can you provide the use case example via a code pen & i'll look into it.

Here's a sandbox which more accurately represents my use-case:
CodeSandbox

I don't see any other way other then provide a zIndex with a relative position. https://codesandbox.io/s/9jw7y3q00p

Hmm not the solution I was hoping for, but I don't see a straight-forward alternative either.
Thanks!

I have the same requirement.  Can we reopen this as a feature request?

For anyone who stumbles on this page looking for an answer.  I managed to do it by setting the modal container, then specifying the css positioning on the modal root, backdrop and docked drawer to absolute:
<Drawer
           variant="temporary"
           open={this.props.showDrawer}
           anchor="left"
           onClose={this.props.toggleDrawer}
           ModalProps={this.ref.current ? {container: this.ref.current} : {}}
           classes={{
             paperAnchorLeft: "class1",
             modal: "class2"
           }}
           BackdropProps={{
             className:  "class3"
           }}
         >

@rooch84 Can you please give me more details of what you have done? TIA

@rooch84 I am having hard time to understand what you did at ModalProps. can you explain?

@rooch84 Could you please a provide a more in depth example. I am not entirely sure where to get this.ref or what is supposed to be in class1, class2, and class3.

Hi  ! I tried the example above, but there is this error : "document is not defined". Do you have any information about this. How should I define it ? Thanks in advance

I have the same requirement. Can we reopen this as a feature request?

Hi @LeroyDoornebal I tried your solution but it isn't working well with the anchor set to right. The drawer is doing a weird transition
This is what a did
`
const useStyle = makeStyles((theme) => ({
drawer: {
width: "100%",
},
drawerPaper: {
width: 240,
},
}));
function Demo() {
const classes = useStyle();
const [open, setOpen] = useState(false);
const handleOpen = () => {
setOpen(true);
};
const handleClose = () => {
setOpen(false);
};
return (

some elements outside the drawer

<Drawer
className={classes.drawer}
open={open}
variant="temporary"
anchor="right"
classes={{
paper: classes.drawerPaper,
}}
PaperProps={{
style: { position: "absolute" },
}}
BackdropProps={{ style: { position: "absolute" } }}
ModalProps={{
container: document.getElementById("drawer-container"),
style: { position: "absolute" },
}}>
List of items
Close

Open drawer

);
}
`

Hi @LeroyDoornebal I tried your solution but it isn't working well with the anchor set to right. The drawer is doing a weird transition
This is what a did
`const useStyle = makeStyles((theme) => ({
drawer: {
width: "100%",
},
drawerPaper: {
width: 240,
},
}));
function Demo() {
const classes = useStyle();
const [open, setOpen] = useState(false);
const handleOpen = () => {
setOpen(true);
};
const handleClose = () => {
setOpen(false);
};
return (

some elements outside the drawer
<Drawer
className={classes.drawer}
open={open}
variant="temporary"
anchor="right"
classes={{
paper: classes.drawerPaper,
}}
PaperProps={{
style: { position: "absolute" },
}}
BackdropProps={{ style: { position: "absolute" } }}
ModalProps={{
container: document.getElementById("drawer-container"),
style: { position: "absolute" },
}}>
List of items
Close
Open drawer
);
}`

`const useStyle = makeStyles((theme) => ({
drawer: {
width: "100%",
},
drawerPaper: {
width: 240,
},
}));
function Demo() {
const classes = useStyle();
const [open, setOpen] = useState(false);
const handleOpen = () => {
setOpen(true);
};
const handleClose = () => {
setOpen(false);
};
return (

some elements outside the drawer
<Drawer
className={classes.drawer}
open={open}
variant="temporary"
anchor="right"
classes={{
paper: classes.drawerPaper,
}}
PaperProps={{
style: { position: "absolute" },
}}
BackdropProps={{ style: { position: "absolute" } }}
ModalProps={{
container: document.getElementById("drawer-container"),
style: { position: "absolute" },
}}>
List of items
Close
Open drawer
);
}`

`const useStyle = makeStyles((theme) => ({
drawer: {
width: "100%",
},
drawerPaper: {
width: 240,
},
}));
function Demo() {
const classes = useStyle();
const [open, setOpen] = useState(false);
const handleOpen = () => {
setOpen(true);
};
const handleClose = () => {
setOpen(false);
};
return (

some elements outside the drawer
<Drawer
className={classes.drawer}
open={open}
variant="temporary"
anchor="right"
classes={{
paper: classes.drawerPaper,
}}
PaperProps={{
style: { position: "absolute" },
}}
BackdropProps={{ style: { position: "absolute" } }}
ModalProps={{
container: document.getElementById("drawer-container"),
style: { position: "absolute" },
}}>
List of items
Close
Open drawer
);
}`

hola

Hi thanks, it worked! But when I try to set the anchor to "right" (I need to open the drawer from the right side) it opens weirdly (shaking). Any solution for that?

Hi thanks, it worked! But when I try to set the anchor to "right" (I need to open the drawer from the right side) it opens weirdly (shaking). Any solution for that?

variant="persistent" on Drawer worked for me.

variant="persistent" on Drawer worked for me.
Me too! Thanks @kelseyleftwich !!!

@LeroyDoornebal
It sort of worked for me but not exactly. Variant='temporary' did not work at all but variant=' persistent' did and I can see the drawer and it HTML content inside the DOM and it is at the right place but nothing is visible on the screen.
Can you help me out? I need help urgently.

@LeroyDoornebal
Although it's working fine for the most part. The only problem is with slide exit animation, the drawer slides out of the container it is contained in and goes off-screen. Whereas the expected behavior should be that the drawer should end slide exit animation inside the container it is in.
Can you help me fix it?

@kelseyleftwich While this fixed the weird behavior, it also removed the backdrop which I need.

@sandeepgahlawat I'm also with the same issue as you. Did you find any solution for this?

@giovanniantonaccio yes, I did figure out a way to fix it, and below is what I did. In case you still have doubts feel free to ask.
`<Box
width="100%"
height="100%"
id="drawer-container"
position="relative"
bgcolor="white"
component="div"
style={{ overflowY: "scroll", overflowX: "hidden" }}
>

        <Drawer
          open={props.openDrawer}
          onClose={() => {}}
          elevation={5}
          PaperProps={{ style: { position: "absolute", width: "486px" } }}
          BackdropProps={{ style: { position: "absolute" } }}
          ModalProps={{
            container: document.getElementById("drawer-container"),
            style: { position: "absolute" },
          }}
          SlideProps={{
            onExiting: (node) => {
              node.style.webkitTransform = "scaleX(0)";
              node.style.transform = "scaleX(0)";
              node.style.transformOrigin = "top left ";
            },
          }}
        >
          <DrawerContent />
        </Drawer>
      </Box>`

Thanks @sandeepgahlawat! Is solved the problem!

The solution described by @LeroyDoornebal doesn't seem to work.
Here's a code sandbox. The drawer still covers the whole page. Any advice about what I'm doing wrong?

The solution described by @LeroyDoornebal doesn't seem to work.
Here's a code sandbox. The drawer still covers the whole page. Any advice about what I'm doing wrong?
Edit: figured it out. The drawer container needs to be visible and take up space (e.g., by setting a width and height). I've updated the code sandbox to demonstrate.
Edit 2: OK, that doesn't quite do it either. The drawer still covers the whole page upon loading the sandbox, but then moves into the correct position upon re-rendering, when the code is changed.
Edit 3: After some experimentation, it seems to work if the drawer variant is "permanent", and fail (but then fix itself after re-rendering) when "temporary".

just remove variant prop and it will work perfectly

@sandeepgahlawat removing the prop will default to "temporary".
https://material-ui.com/api/drawer/

It also doesn't seem to work properly with an anchor='bottom'. I modified @frankpape 's solution to use a button trigger, and you can see the behavior isn't working as intended (100px blue box sliding up from the green box, and disappearing into the white on toggle off).
https://codesandbox.io/s/material-demo-7nor0?file=/demo.js

just set the paper css top property to "auto", worked for me.
<Drawer
variant="persistent"
anchor="right"
open={true}
PaperProps={{ style: { top: "auto" } }}
>

Can someone help me with this problem: I used similar approach but with a element higher than the screen height.
https://codesandbox.io/s/material-demo-forked-x8wi2?file=/demo.js
Works fine in Firefox. But in Chrome and Edge the browser scrolls to the top of the drawer. How can I prevent the scrolling?

@mmartinsky I have a similar problem to yours. Did you manage to fix it?

Hi ! I tried the example above, but there is this error : "document is not defined". Do you have any information about this. How should I define it ? Thanks in advance

@DorineLam I was getting the same error, so I scrapped that idea and instead did this:
<Drawer
  ModalProps={{
    style: {
          position: 'relative',
          top: 'unset',
          left: 'unset',
          right: 'unset',
     }
  }}
  variant="permanent"
>
  Some elements
</Drawer>

The Drawer desperately wants to cling to one of the outer edges of the screen, so unsetting all the absolute positioning fixed that problem for me. Now I can put this drawer inside any element I want within my app.

Oh Irony, I never got notified for updates on this issue and stumbled into the problems with my implementation myself and found my way back to this thread. In the mean time a lot of updates have been done to material ui, so probably this problem has already been solved, but for people that are still stuck on older versions, I managed to implement it slightly different to get around the weird animations when you change the anchor.
  <Box style={{ overflow: 'hidden' }}>
    <Backdrop open={open} style={{ zIndex: 1199, position: 'absolute' }} />
    <MuiDrawer
      anchor={fromSide}
      open={open}
      onClose={onClose}
      PaperProps={{
        style: {
          width: width || '90%',
          position: 'absolute',
          maxWidth: maxWidth || 'initial',
          border: 'none'
        }
      }}
      ModalProps={{
        container: document.getElementById('some-id`), // Or ref ofcourse :)
        disableEnforceFocus: true,
        style: { position: 'absolute' }
      }}
      variant="persistent"
      {...props}
    >
      {children}
    </MuiDrawer>
  </Box>

The biggest issue I had with using the "permanent" variant is that it did not work out of the box with the backdrop, so I separated that by using the backdrop directly. Be aware that this implementation worked for my specific use case, maybe it gives you some ideas.

Hi thanks, it worked! But when I try to set the anchor to "right" (I need to open the drawer from the right side) it opens weirdly (shaking). Any solution for that?

@neomib did you ever figure out a way around this? This "shaking" effect is the only thing keeping this from working for me.

I'd also be interested in an officially supported way to put drawers in other components (we're using them in cards); we've bashed something together along the lines of @LeroyDoornebal's solution, which avoids the shaky animations but still gives odd animation behaviour (looks more like a fade sometimes, can't get any to slide both in and out correctly).

@elyobo how did you avoid the shaky animations? Is your drawer temporary and coming from the right?

No, using Leroy's approach above which uses a persistent drawer and a manually added backdrop. I have one coming from the left (not shaky, but seems to fade in then slide out on close) and one from the bottom (slides in but then seems to fade out on close).

@elyobo Do you mind sharing how you got the drawer to live inside the MUI Card. I can't seem to get the drawer to grab onto the card's id to use it as a container.

The important parts would probably be to set PaperProps={{ sx: { position: 'absolute', width: drawerWidth }} and setting ModalProps={{ container: containerRef}} where containerRef is the element where you want your drawer to appear in.
https://codesandbox.io/s/gracious-shtern-wo9ex?file=/src/App.js

yes, this should work. https://stackoverflow.com/questions/60629258/next-js-document-is-not-defined
`
const [_document, set_document] = React.useState(null)
React.useEffect(() => {
set_document(document)
}, [])
`

Is it possible though to have a swipeable (from bottom) drawer inside a fixed width and height container ?
Basically the drawer should be triggered from bottom and it should not hover nor footer nor header and actionable only from page content.

After a lot of trial and error, the thing that finally got rid of the shaky animation (where the outer container itself seemed to be sliding up/down as well), I finally got it figured out. Adding the line keepMounted: true to ModalProps finally brings completely smooth animation to the drawer. Thanks @elyobo !!
Final code:
<Drawer className="card-drawer"
            open={showDrawer}
            anchor={"bottom"}
            onClose={() => {
                closeDrawer()
            }}
            PaperProps={{ style: { position: 'absolute' } }}
            BackdropProps={{ style: { position: 'absolute' } }}
            ModalProps={{
                container: document.getElementById('container-drawer-is-within'),
                style: { position: 'absolute' },
                keepMounted: true,    // <=============== THIS
            }}
            variant="temporary"
        >

For some weirdly odd reason, i was mounting one of the drawers on open, which wasn't affected by shaking animation, the other drawer which was written like normal code suffered the shakiness.
it feels like a hack, but here is what I did..
const [open, setOpen] = useState(...) // usual stuff.

// render
{open && ( // <---- this trick removed the shakiness
  <Drawer
     open={open}
    ... the modal props with container ref and style as suggested
)}

Hi thanks, it worked! But when I try to set the anchor to "right" (I need to open the drawer from the right side) it opens weirdly (shaking). Any solution for that?

Although variant='persistent' fixes the glitch for the regular Drawer, it also disables the swipe feature on mobile for the SwipeableDrawer, so the workaround that I found is to add the onEnter function, which forces the drawer to start from the right.
Note: the reason behind node.clientWidth - 1 is that in the code they use  < >  comparisons so it cannot be strictly equal.
Note2: Replacing container: ... by container: () => { ... } will fix the error ReferenceError: document is not defined
const SwipeableDrawerStyled = emotionStyled(SwipeableDrawer)`
  &.${drawerClasses.root} {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 100%;
  }

  .${paperClasses.root} {
    position: absolute;
    width: 100%;
    padding: ${PAGE_GUTTER};

    ::-webkit-scrollbar {
      display: none;
    }
  }
`;

  <SwipeableDrawerStyled
      anchor='right'
      open={isOpen}
      hideBackdrop
      elevation={0}
      onClose={toggleDrawer}
      onOpen={toggleDrawer}
      ModalProps={{
        // Making the container a function fixes this issue: "ReferenceError: document is not defined"
        container: () => document.getElementById('root-wrapper'),
      }}
      SlideProps={{
        onEnter(node) {
          // This fixes the issue with the drawer glitching when drawer anchor is "right"
          // Known issue: https://github.com/mui/material-ui/issues/11749#issuecomment-518521194
          // variant='persistent' fixes the glitch issue however it disables the swipeable feature on mobile
          node.style.transform = `translateX(${node.clientWidth - 1}px)`;
        },
      }}

For anyone that still wonders about the entire solution, the following worked for me.
Please note that I used document.getElementById here and that requires that you set the ID property to that value if you want the drawer to be contained in that element. It should also be possible to use a ref in this case, and that is preferred in my opinion.
Step 1: Set an ID attribute for the element that you want to contain the drawer elements

  Some elements

Make sure that you add position: relative to this element.
Step 2: Set correct styling and reference to container element on Drawer element.
<Drawer
  open={true}
  onClose={() => {}}
  PaperProps={{ style: { position: 'absolute' } }}
  slotProps={{ backdrop: { style: { position: 'absolute' } } }} // <=============== Fix backdrop by slotProps
  ModalProps={{
    container: document.getElementById('drawer-container'),
    style: { position: 'absolute' }
  }}
  keepMounted: true,    // <===============  remove shaky animation
  variant="temporary"
>
  Some elements
</Drawer>

The things to take away from the example above are the PaperProps, BackdropProps and the ModalProps props. For them to be contained within the container element that we created in step one, these elements have to be absolutely positioned.
Also note the document.getElementById to get a reference to the container element.

I edited this code, it worked for me!


Light bulb suggestions have inconsistent theming options

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.91.0
OS Version: Sonoma 14.5

I'm not sure if this is more of a bug or a feature request, but the truth (IMO) is that as it stands, it's inconsistent and it breaks my theme 😅
Steps to reproduce:

Set "editorSuggestWidget.selectedBackground": "#FF0000" so it's clear
Try to use the Light Bulb suggestions

Regular suggestions

Light Bulb

Current state of affairs
In the screenshot above (light bulb) there's "nothing selected" because the light bulb menu uses the colors from quick input which is ok, until you have a background color for quick input that is the same as the selection color for the light bulb.
To me, it makes more sense that the light bulb menu customizations would be the same as the suggestions as they are, well, suggestions too. However, this would probably break existing themes and I have no clue about the VSCode team's policies on that.
A separate theming option like "quickFix.selectedBackground" or similar would make it so that changing it to the suggestions can't break existing themes.
If the team thinks it's more cohesive to use the suggestions, I'm all for it too!

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.91.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

@jmg-duarte atm, the lightbulb widget code action menu, code action menu from quick fix or refactors, and the quick input/command share the same theming, and this is intentional - they are all intentionally prompted menus and share similar styles and fonts. These colors likely won't change as it has been discussed before already.
I'm a bit confused by what you mean with "nothing selected." When you trigger the lightbulb menu or quick fix from ctrl + . for the first time, the very first item will automatically be selected. The only case where nothing is selected is if the user intentionally moves their mouse away from the menu.

they are all intentionally prompted menus and share similar styles and fonts.

If this was true, the background for the quick input/command menu would be the same as the light bulb widget, which is not the case:

I'm a bit confused by what you mean with "nothing selected."

In the following image, the first menu item should be selected (to prompt the menu, I simply Cmd+.), can you see the selection?

If you can't, that's because the highlight color for the quick picker is the same as the editor background. I made it this way because on the quick input/command menu I get to change the background; the same does not apply to the quick fix menu.

they are all intentionally prompted menus and share similar styles and fonts.

To me, this isn't a good enough reason to keep things as are. I intentionally opened VSCode, just like I intentionally open a file or intentionally start a debug session, they all share similar style and fonts — should they all have a single styling?

These colors likely won't change as it has been discussed before already.

I searched for this, and could only find https://github.com/microsoft/vscode/issues/3429 which to my understanding is similar in nature but not related at all. I would appreciate if you could point me to the issue/PR in which that was decided.

If this was true, the background for the quick input/command menu would be the same as the light bulb widget, which is not the case

They all use the same styles under the hood (editorWidgetBackground and quickInputListFocusForeground which you pointed), so unless quickInputBackground or quickInputListFocusForeground were modified, they should have the same themes. investigating some more, the suggest widget shares those same styles under the hood as well. The action menu just lacks its own custom-named exported theme, piggybacking off existing themes instead.
I'd like to note that I don't have the full context of your theme settings, so following your repro steps and just changing "editorSuggestWidget.selectedBackground": "#FF0000" doesn't repro for me in any default shipped theme, unfortunately!

can you see the selection? If you can't...

Clearly, but as mentioned above, I don't have your settings, but out of the box they should all be using the same underlying themes.

I searched for this

We had a short internal discussion about matching action menus with the quick access. However, I'm open to adding the customizable action menu background and selection themes -  I'll need to fine tune the description/title to be more digestible and we can then turn it into a feature request!
However, if the issue is inconsistency, then changing editorWidgetBackground and quickInputListfocusForeground will make them widget, code action menu, command palette/quick input, and any other editor widgets like find/replace will be consistently themed.

You can check the theme here (https://github.com/jmg-duarte/boavista/blob/main/themes/Boavista-Sunset-color-theme.json).
I feel we're a talking a bit past each other, so in an effort to better communicate what I wish to achieve/have, let me show you:
Here, the first item is selected, I want it to have the same selected color as the"editorSuggestWidget.selectedBackground" which I have set to #F6DAC9

Like so:

This is my quick input menu:

The quick input background has a different color than the editor to create separation, and so, for the selected item I used the editor background because I want to keep the contrast high.
I don't want to change the widget background because it becomes to strong and makes the text harder to read:

When I originally stated that it was "inconsistent", it was because the changes I expected to be correlated, weren't.

The action menu just lacks its own custom-named exported theme, piggybacking off existing themes instead.

From my POV, if I can get the custom one, this would solve my problem! In fact, it is what I suggested in the beginning

A separate theming option like "quickFix.selectedBackground" or similar would make it so that changing it to the suggestions can't break existing themes.

Let me know if this clears it up, if there are questions and how I could've described what I needed/wanted better to make the whole process better.
Thank you!

@jmg-duarte clears this up a ton, thanks!
yep, I see that in your custom theme, editorWidgetBackground and quickInputListFocus are the same (#FAE8DC) which are the two used for background and selection in the code action menu, making it basically "not selected"
I think in addition to a custom theme for selection, an additional one for the background would help in customizability for end users. likely naming for now will be along the lines of "actionList.selectionBackground/foreground" and "actionList.background/foreground" (which will cover refactor menus, quick fix menus, anything from lightbulb or ctrl + ., and terminal quickfix)
I'll edit the title and add it directly into my backlog, since it would directly align with the custom aspects of other widgets in the editor. will likely be in this or next iteration. thanks for your patience :D

Amazing 🙌 thank you for your patience!

@jmg-duarte this should be in the next insiders - feel free to try it out!
the added names are as follows (in this case you probably just care about the first two):

editorActionList-background
editorActionList-foreground
editorActionList-focusForeground
editorActionList-focusBackground

/verified
Thanks @justschen <3


Dokken and Inspec testing

@stevendanna This work for you now?

Yeah, I'll merge it when I'm back from vacation.  Thanks again!

@stevendanna Ping on the merge


setSelection method

is it possible to add a mSearchView.setSelection method ????

And what would that method do?

https://developer.android.com/reference/android/text/Selection.html#setSelection(android.text.Spannable, int, int)

I see.. and how would that be useful? Why can't the user just select text on their own

I do not know why I should add a new feature without released stable version 5.0.0. So maybe in future ...


feat: nullifier_registry contract functions

PR for issue: #31

@manlikeHB you can pick up from here

@lana-shanghai this is ready for review

we also need to update our CI command for running the test to use
snforge test

@lana-shanghai This PR is Ready for Review

@0xChqrles you can look at it from the recent commit


[PlatformerTrajectory] Add a behavior to evaluate jump trajectories.

Changes
Add a behavior (PlatformerEvaluator) that allows to

Configure the height of a jump by automatically choosing the right jump speed.
Know when to jump to reach a platform (can be useful for IA).
Draw jump trajectories to check a level design.

I stated to write a documentation here:
https://github.com/4ian/GDevelop/tree/master/Extensions/PlatformBehavior#jump-trajectory
I used JavaScript because I think it might be useful to have some parts in GDevelop directly.
It needs GDevelop 125 to be more precise.
Example

Build: https://d8h.itch.io/platformer-jump-evaluator
Project: https://www.dropbox.com/s/9mhv6vtxc0w3708/platformer-jump-evaluator.zip?dl=1

I guess this needs a review that was never done, is it ready for one? :)

Yes, it is ready. I never pushed it because it's a bit huge to review for the feature it gives.

I think it’s good enough!


JSBin's XSS security techniques

This isn't an issue with JSBin per se, but just a query about the technique JSBin uses to prevent cross-site scripting. I'm wondering if anyone knows why JSBin uses a sandboxed iframe inside a normal iframe that points to null.jsbin.com/runner. Is the internal sandboxed iframe required? Why not just put the sandbox attributes on the outer iframe and run the user's scripts directly in that? Just curious, because it's different to jsfiddle.net and others in that regard (which just use one sandboxed, "subdomained" iframe). Thanks!

You may be able to get a response in SO than here, this section is mainly for issues. However, the owner of the project may feel inclined to respond :).

@josephrocca you'll find that the other pastebins do the same thing (if you look carefully), but also it's two fold:

It prevents the output window from reaching up into the top level domain (i.e. to steal cookies)
It prevents accidental DDOS attacks on jsbin.com - where a user is entering multiple img tags (for example) whilst they don't have completed src attributes (or relative src) they would point to jsbin.com's servers. Using the origin of null.jsbin.com means that the requests never touch the main server: https://github.com/jsbin/production/blob/master/apps.jsbin.com/etc/nginx/nginx.conf#L87-L92

Thanks @helmutgranda! I think I'll ask this SO.
Thanks for your answer, @remy! I really appreciate it. I either don't quite understand, or you've misunderstood my question slightly: My query is about why two iframes (one inside the other) are necessary.
Couldn't the same thing be achieved by just creating an iframe that points to null.jsbin.com/runner and then adding sandbox attributes to that same iframe?
I'm all for extra layers of security, but am just curious if there was a specific security-based intention behind having a "2-layers-deep" environment for the user's code to run in. Thanks for your time (and for JSBin)! I completely understand if you don't get around to answering this.

Okay, this is where jsbin is unique. The deepest iframe is dynamically
constructed so it contains all your code. The other pastebins render the
first layer iframe on the server so it's both on a different origin but
also contains your code.
The upshot for jsbin is that it's faster to render, but also works fully
offline (if you have experiments turned on in pro accounts).
On Sat, 21 Jan 2017, 07:33 josephrocca<EMAIL_ADDRESS>wrote:

Thanks @helmutgranda https://github.com/helmutgranda! I think I'll ask
this SO.
Thanks for your answer, @remy https://github.com/remy! I really
appreciate it. I either don't quite understand, or you've misunderstood my
question slightly: My query is about why two iframes (one inside the
other) are necessary.
Couldn't the same thing be achieved by just creating an iframe that points
to null.jsbin.com/runner and then adding sandbox attributes to that same
iframe?
I'm all for extra layers of security, but am just curious if there was a
specific security-based intention behind having a "2-layers-deep"
environment for the user's code to run in. Thanks for your time (and for
JSBin)! I completely understand if you don't get around to answering this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jsbin/jsbin/issues/2973#issuecomment-274246249, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAA1hCBUrTVE6wmiBgB-yEQzF3FIryg4ks5rUbTIgaJpZM4LkIDD
.

Makes sense! Thanks for the explanation :+1:


Subclass does not copy extend static methods

It would seem that if you extend a class then subclass it, the static method which you added with extend do not appear;
    var cls = Stapes.subclass({

    });

    cls.extend({
      hello: function() {
        return 'world';
      }
    });

    var cls2 = cls.subclass({

    })

    var a = cls2();
    console.log(a.hello());

     TypeError: Object function constructor() {
                // Be kind to people forgetting new
                if (!(this instanceof constructor)) {
                    throw new Error("Please use 'new' when initializing Stapes classes");
                }

                // If this class has events add a GUID as well
                if (this.on) {
                    _.addGuid( this, true );
                }

                realConstructor.apply(this, arguments);
            } has no method 'hello'

Think I've managed to fix this, just finishing up the unit tests, PR coming shortly

This should now be safe for merge.
Unit tests passed on the following browsers;

Chrome latest on Windows 7
Firefox latest
Android emulator 4.4
Safari 8.0 on Yosemite
iPhone simulator 8.2 on Yosemite
IE 11 on Windows 8.1
IE 10 on Windows 7
IE 9 on Windows 7

PR sent - #63

Thanks for the PR and bug, but this is intended behaviour. Static methods / properties should only appear on the instance, not on every child. If you want that, you should use proto instead of extend.


After the latest update dose not work on M2 Macbook air

when I launch the game it starts to load for a while and then goes back to launch the game. it dose not launch
**System Information

macOS: [e.g. 14.3 Sonoma latest available update to normal people]
Device: [e.g. MacbookAir 13inch 2022 ]
CPU: [e.g. Apple M2]
Dedicated GPU (if any): [e.g.  M2 ]
RAM: [e.g. 8G ]

I'm getting the exact same issue. Also an M2, also updated to Sonoma.

I'm having the same problem with Apple M1 MBA on 14.3 sonoma

rosetta bug.
Fixed with macos 14.4 beta 1

rosetta bug. Fixed with macos 14.4 beta 1

so do i have to wait for the sonoma 14.4 public release

rosetta bug. Fixed with macos 14.4 beta 1

so do i have to wait for the sonoma 14.4 public release

Well, no, you can update to developer beta, which is kinda junky, but I mean you at least will be able  to run the game
or yes, wait until 14.4

uhm will that work on m1 macbook air?

Is it possible for it to work with some earlier release of Sonoma? like 14.0? Or even 14.2?

sonoma 14.4 is required. no fixes for prior versions.


Disabled select when no options but allowNewOption is on

Shouldn't we check allowNewOption config before we set select as disabled? Right now I have scenario when there are no options provided but I should allow add new options. Right now is impossible without adding at least 1x option.
https://github.com/sa-si-dev/virtual-select/blob/5a6ab6ab2c50cda337035378f0de0d7d95cdd91e/src/virtual-select.js#L2429

@enp-madamiec  could you provide a replication sample?


Read payloads without tapping the notification while app in background

Hello, thank you for all your efforts in this plugin.
I have something to ask about how to read the payload when the application is in the background and the operating system receives notifications in the tray without having to click (tap). is there an alternative way to do this?
I have read the documentation which contains by default there is no callback for that :
#background-notifications
Thanks a lot

You cannot read the message payload while the app is in the background/not running.
The system notification is part of the core OS - no app code is invoked by the OS until the user taps the system notification.


Feat: Legal updates

Status
Type

:heavy_check_mark:  Ready
Feature

Description
This PR will add the legally needed links to the Vocascan frontend. It checks whether our or a selfhosted is used and will redirect the user accordingly.
To Do:

[ ] check if given domain is available and decide whether to render the link
[x] fixed Links in Electron environment (Legal Notice)
[ ] styling

Motivation and Context
This PR is neede to make the Vocascan Cloud public

Screenshots / GIFs (if appropriate):

Checklist

[x] I have read the CONTRIBUTING document.
[x] I have considered the accessibility of my changes (i.e. did I add proper content descriptions to images, or run my changes with talkback enabled?)
[x] I have documented my code if needed

Resolves

Can you try to add the same margin at the left and bottom?


IXT Mainnet xERC20 Whitelisting

Token Details

Name: IXT
Symbol: IXT
Chains: Ethereum, Optimism, Arbitrum, Polygon, Gnosis, BSC

Tasks

[x] PR to chaindata: <link to PR>
[x] PR to monorepo allowlist config: <link to PR>
[ ] Whitelisting complete: <link to transaction(s)>
[ ] PR to Bridge UI: <link to PR>
[ ] PR to Connextscan: <link to PR>
[ ] Lockbox Adapter deployed: <link to transaction(s)>
[ ] Slow path tested: <link to transfer(s)>
[ ] Router liquidity added and fast path tested: <link to transfer(s)>

Whitelisting calldata generated, going on with multisig


Bump to beta.3

This is just trying to bust the docusaurus cache to restore the floating section nav button

name: :book: New/Updated Documentation Content
about: Adding a new docs page, or updating content in an existing docs page
PR Type
Does this PR add a new page, or update an existing page?
Checklist

[ ] Is there an existing issue for this PR?

link issue here

[ ] Have the files been linted and formatted?

What docs page is being added or updated?

Section:
Page:

For Adding New Content
What kind of content category is this page (tutorial, how-to, explanation, reference)?
Who is the intended target audience?
What knowledge are we assuming they have?
What are the intended results or takeaways from reading this page?
What is the most critical info they should learn?
For Updating Existing Content
What updates should be made to the page?
Do these updates change any of the assumptions or target audience? If so, how do they change?

Sure, let's try this.


app crashing in Redmi devices

many users send me app crashing when pick contact in many Redmi devices like Redmi Note 10 Pro android 11

@alialhashedi can you please share crash log?

#5 Duplicate


add adr-82: streaming unit hours

ADR-81: Streaming Unit Hours
This ADR proposed a way of calculating the cost per streaming unit hour in a way that works for different Kafka sizes. The proposal is based on metrics.

Hey @pb82 Tom and Manyanda provided some feedback. When you're back, can you take a look at these to move forward?

@tombentley @machi1990 I've addressed your comments


Extension unable to utilize {PlayniteDir}

Plugin's version
1.1.2
Playnite's version
10.19
Bug description
Legendary Playnite extension is unable to recognize {PlayniteDir} in both game install location selection, and custom legendary install directory. Effectively neuters portable playnite installations using playnite-legendary-plugin.
Relevant log
N/A
Screenshots
No response

problem fixed by playnite update 10.20


Add image for sleep command

What type of PR is this?
/kind feature
What this PR does / why we need it:
Adds an image with a program that sleeps for a given duration. This will be useful to test Jobs, which run to completion, as opposed to run forever.
Which issue(s) this PR fixes:
Part of #799
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

/assign @marseel

Except for project name, lgtm

Can you help with uploading the image to gcr?

I've uploaded image to gcr
/lgtm
/approve

/assign @mborsz


Factorize the Heat generator

Would be nice to upgrade Heat Generator by inserting it into a Factory and updating  it with speed and energy updates for more output of energy, even with the Factory Tier system.

Upgradable machines may come in the far future, but at the moment I have no plans to do so.  Thanks for the suggestion!


Task: full page download feature with partial import export.

Currently we give users to select what they want to export from the current app.
But for scenarios in which users want to reuse the whole page from one app to another, full page export would be helpful

Note needed anymore.


Login & register functionality completed

pages/login.js

sign up view has additional Confirm password input
when user attempts to register, app will check to make sure both password and confirmPassword are ===
added toggle visibility feature on password inputs

`src/helper.js

contains all login/signup/signout functionality
when user successfully logs in, they are redirected to search page
when user successfully registers, they are redirected to their own user page

ADDITIONAL IMPORTANT NOTE the jsconfig.json file in my local repo does not work
i tried npm i a few times as Arun told me to, but it didn't work


Bump Node Version to 7.9.0 in Dockerfile

The Dockerfile in the 3.x branch is using Node 5.10. As of testrpc version 3.0.2 we need to be using at least 6.9.1. As a result the running testrpc is resulting in the following error on startup:
function VM (opts = {}) {
^
SyntaxError: Unexpected token =
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object. (/src/node_modules/ethereumjs-vm/lib/hooked.js:6:12)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
Expected Behavior

Able to run Testrpc successfully without crashing.
Current Behavior

Testrpc is crashing on startup.
Possible Solution

Bump the version in the Dockerfile to 7.9.0.
Steps to Reproduce (for bugs)

Run docker build -t testrpc . with in the project root.
Run docker run -p 8545:8545 testrpc

Your Environment

Mac
Testrpc 3.0.3

Issue can be closed?

I believe so. This has been merged.
Closing.


Add data quality validation to processing templates

The feature request is to add new functionality to the processing templates in order to allow quality checks to be made before the data is inserted into the target table.
Currently, the checks done on processing step are not covering if the semantics of the data is correct. Therefore, bad data could went into the target table which could be unwanted behavior.

Here is a snippet of conversations about the solution that were done "offline". Posting here for record-keeping purposes so that we know why we've made some deicions
We are considering adding quality checks as part of the templates.

Currently execute template work like this:

1 - Check arguments and test if source query/view matches target
2- Insert into target from template query (insert overwrite with some logic)
3-Refresh
4- Compute stats

We are considering changing them to enable user to run quality check before data is inserted . Something like

1. Check arguments and test if source query/view matches target
2. If quality check is set  (more details below on this step but at high level something like this):
2.a Insert into temp table from template query)
2.b Run quality checks on temp table
2.c Insert overwrite into target template from temp table
3. Else if no quality check just insert overwrite as before
4. Refresh
5. Compute stats

On step 2. There are different approaches.
It’s important that the quality check is run on the same data that will be inserted. So we need a staging table
Considering the impact of Impala can you advice on which approach is acceptable for Impala currently.
For example are DML statements more expensive than DDL ?

Not all templates will need quality checks.

The current approaches I see:

Approach 1.  Use alter table rename
  Create temp table
  insert into temp table
  run quality check on temp table
  alter table rename target to backup_target
  alter table name temp to target
  drop target

This though adds 4 extra DDL statements to the template …

Approach 2.  Use 2 inserts and temp

  Create temp table
  insert into temp table
  run quality check on temp table
  insert into target from temp table
  drop temp table

This adds 2 extra DDL statements and 1 extra DML  (insert)

Approach 3.  Use 2 inserts and amortized temp creation

Create temp IF NOT EXISTS (OR IF SCHEMA HAS CHANGED) table
  insert into temp table
  run quality check on temp table
  insert into target from temp table

This will add 1 extra DDL statement  when template is run for a first time or target schema has changed (hence cost is amortized over time)
And 1 extra DML statement

Both options will add more IO operations and eventually may saturate network (especially INSERT FROM SELECT)

Have you considered to add temporary partition column, verify data were this column is set and just drop the column again.

these operations will be DDL only, with single INSERT (and one possible drop in case of verification failure)

The only drawback is that user queries against target table, that does not use some limits of filter for column not set, may end up with new data being used.

Something like that
       Alter table add column "__verfiy"
      Alter table add partition "__verfiy" = TS?
      Insert data with "__verfiy"=TS
      Verify - if Fail -> Alter table drop partition "__verfiy"=TS; # Also delete data
       Alter table drop column "__verfiy" # only metadata info for column is deleted
      Compute stats ...

Otherwise, approach 3 seems like the right choice

Then the querying is really interesting.

Maybe something like

“select * from table where __verify >= now() – interval 1 hour “  # if we set __verify = current_time

If we assume that the verification period is less than an hour then it would work.
Then yes, no copy is required on success . On failure the partition directory is deleted which should be less iO?

But that would be really hard to explain to users and it’s a bit brittle approach. How do you choose the interval.

And also it would require changing existing queries.

I will recommend approach 3.

 in Approach 3, we can use LOAD DATA to move the files insert of “insert into” to copy them as potential optimization

Load data is having permissions errors so we will use insert ovwrite for now

SQL Error [500051] [HY000]: [Simba][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:AuthorizationException: User 'xxx' does not have privileges to access: hdfs://yyy/634ff5e0f996f8e0-ae5cdbf400000000_1634359699_data.0.parq
), Query: LOAD DATA INPATH 'hdfs://yyy/634ff5e0f996f8e0-ae5cdbf400000000_1634359699_data.0.parq' INTO TABLE zzz

Triaged.
This is a WiP feature that is being worked on.


🔥🌱2023-05: Smart Maps Bazaar Walking Tour

As suggested by Kyoung-Soo and Ki-Joune in #101 :

Possible topics

What is the challenges, or what is the limitation
Introduction of the basic idea, pros and cons
Demos (point cloud, city models, vector tiles, and imagery) with a little bit more technical details.
Possible practical scenarios.
What is the advantage of using Smart Maps Bazaar?
Next steps

Possible participants

UN Open GIS Initiative
UN Geospatial Network
Smart Maps Bazaar contributors

Draft
Challenges

Server admin learning curve
Cloud storage cost
Server resource

Limitations

Need to know about IPFS
Not a magic - you need disk and bandwidth

Is there a planned time and date for the Smart Maps Bazaar, as I'd love to learn more/help out with it!

@albertkun Thank you! The date and time of the event is not decided. Below is the timeline I see:

2023-05-04T09:00 (New York time): propose the event concept in UN Open GIS Monthly VTC (delayed April).
2023-05-xx Propose schedule and agenda in UN Open GIS Monthly VTC (May)
2023-xx-xx The event

The earliest timing would be some weeks before FOSS4G 2023. Other possibilities would be Summer/Autumn 2023.

Thank you for sharing the timeline! I could see value in having the Smart Maps Bazaar close to FOSS4G either as a lead up or a follow up from that event!
Since I am still new, maybe I can help out with marketing and outreach for the event ? I'd love to post about it on places like the Documentation website, Twitter, etc.!

I am developing CONCEPT.md at https://github.com/UNopenGIS/smb/blob/main/docs/CONCEPT.md.
I finished writing in my local language. I am upgrading the content by rewriting in English.

@hfu thank you for sharing the document! I would like to include this in the documentation under a "Events" section! Let me know if that would be OK!

@albertkun Thank you! I appreciate if you kindly include this in the documentation.

@hfu You are welcome! I think including events like these with the Documentation will get more people interested, so thank you for having both the Japanese and English versions ready!

Date and Time
Let's think about the date and time first, so that we can introduce it on #125 and FOSS4G 2023.
How about 2023-07-12T22:00/23:00+09:00? It is Wednesday.
https://www.timeanddate.com/worldclock/fixedtime.html?msg=Smart Maps Walking Tour&iso=20230712T22+09&p1=1440&ah=1
It would not be so easy in California, but this time looks like a standard for the UN geospatial professionals most of whom work in the zones between New York and Mogadishu.
@albertkun, @yuiseki What do you think?

@hfu, I think that time is good, but I cannot attend, as you correctly stated it is not a good time for California.
Hopefully we can record it! 😅

@albertkun Yes, Pacific or Atlantic, that is the problem. We do both :-)
Ah, missing you means we cannot rely on UCLA zoom. No problem, I think we rely on UN Teams in this case.

@hfu Haha, yes, that is the problem of being globally focused- which is a good issue to have! I think the more we can bring other people involved the better we can grow the community, so it's good to get the Atlantic folks onboard!

No confirmation from New York yet, but let's say the tentative date/time is 2023-07-12T22:00/23:00+09:00.

@hfu OK! Is that good enough to confirm on the website, or should we wait?

@albertkun Thanks! It is good to update the web site with tentative date/time.

We may be rebranding this to Smart Maps Meetup Atlantic. See #168.

Draft Agenda

Introduction of participants (20 min, led by UN Open GIS Secretariat)
Smart Maps Bazaar - low cost distributed data sharing (20 min, Hidenori)
Smart Maps Assistant - large language model for human-map interface (30 min, Yuiseki)
Initial proposal for potential pilot project (10 min, Hidenori)
Discussion (up to 40 min, led by UN Open GIS Secretariat)

What do you think? @yuiseki

After internal discussion, I am consulting with the UN Open GIS Bureau about postponing the meetup in August. Below is our message to the Bureau.
Smart Maps Meetup Quarterly - new date in August
Dear all,
After internal discussion within UN Smart Maps Group, we would like to propose postponing the first Smart Maps Meetup Quarterly, which was planned to be held on 2023-07-12, to August.
By postponing we will be able to:
have more concrete draft pilot project proposal
have more realistic usecase ideas based on additional experiment
seek collaboration with potential new participants we found in FOSS4G
We would like to suggest following options for the new date:
2023-08-09 Wed. 09:00/10:30-04:00
2023-08-11 Fri. 09:00/10:30-04:00
2023-08-15 Tue. 09:00/10:30-04:00
We needed to skip the week of UN-GGIM in the begining of August.
Please let me know if you have any request or preference about the date.
Best regards,
Hidenori

Please see #214 for the last steps preparing for the event. We have moved to #214. I close this issue for clarity.


Update some dependencies

Slimmed-down version of #2989 so it should work without pinning a new runtime
Also includes updated avro dependency

/ok-to-test


Added CSS Scroll Snap

This fixes the long-standing issue #549. The current Gecko implementation is behind the flag layout.css.scroll-snap-v1.enabled, enabled by default on Firefox Nightly, and will be shipped in bug 1544136.
I've also added this feature to the Experimental features page on MDN.

It looks like the sentences in your comment got mixed up a bit. I assume you wanted me to use "introduces scroll snap positions, which enforce the scroll positions that a scroll container’s scrollport may end at after a scrolling operation has completed.", right?
I intentionally left out the technical terms "scroll container" and "scrollport", because on the platform status page there is no description for them and my thought was that people may find them hard to understand.
Btw. they also weren't explained on the related MDN page so far. Therefore I've linked them to the glossary entries now.
If you think the reference to the MDN page is enough, I'm ok to change the description.
Sebastian

@SebastianZ d'oh, sorry! I meant for you to just change it to
"Provides a way to define "snap positions", which enforce the scroll positions that elements should stop at when they have finished scrolling."
This doesn't include so many of the specific technical terms, so is more understandable as a standalone piece.

Sounds good, made the change.

That was quick! 😃 Thank you, Chris!


Is session shared between modules？

We have some modules, Admin,Shop,and Trip,If these have a shared session? thanks!

@Student414 Yes of course, Sessions are shared and accessible across modules.

I'll close this as there hasn't been a reply in a while, feel free to comment if needed.


Rename oxigraph_server CLI to just oxigraph

The oxigraph_server binary is now not only an HTTP server but a command line tool allowing to manipulate an Oxigraph database (create/load/dump/query/update/compact...). It might be nice to rename it to a more representative (oxigraph) and make its cargo package oxigraph-cli.

@bollwyvl This will affect oxigraph Conda packages

Yeah, no worries there... it'll just fail to build, and should be easy enough to fix.

Done in 0.4.0-alpha.1


fix doc typo

@andyaaz : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good. Thanks for the typo fix @andyaaz.


show mention list on mention item click

Click on mention embed in the quill editor reopens the mention list.
Edit feature for mention list.

This will work in case showDenotationChar is true, else we'll have to keep an index of all mention characters.
Currently upon clicking existing mention, mention list opens up and selecting any item in the list changes the mention.
If one wants to remove a mention, there is no need to click on it, delete or backspace does the job.

Any updates on this feature?


Add support for non public methods

Due to the proxy-based nature of Spring’s AOP framework, calls within the target object are, by definition, not intercepted. For JDK proxies, only public interface method calls on the proxy can be intercepted. With CGLIB, public and protected method calls on the proxy are intercepted (and even package-visible methods, if necessary). However, common interactions through proxies should always be designed through public signatures.
Note that pointcut definitions are generally matched against any intercepted method. If a pointcut is strictly meant to be public-only, even in a CGLIB proxy scenario with potential non-public interactions through proxies, it needs to be defined accordingly.

https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#aop


2 prefixes or 2 default groups....

So! I am making a server with a friend and trying to set up multiple worlds. One of the worlds being Hockey related so the default group is "FA" (Free Agent) and then a survival world default group is "Settler" I have no idea how to make it so if you join the other world it changes your Prefix.
I'd show you what I've got but I don't think it would be any benefit because it's no progress towards the thing I wish to achieve.

You can set default groups per-world, or have one default group with world-specific prefixes and permissions. All the instructions how should be explained in the wiki.


GetMailTips API (OutOfOffice tip only)

Hi Edgars!
To get OutOfOffice user status one of these APIs can be used:

GetUserAvailability - make a request to get calendar for current time and check user state (out_of_office/free/busy)
GetOofSettings - as I know a few Exchange versions doesn't support it and also many exchange admins don't want to grant permissions to use it.
GetMailTips - is the best option, cause we can get OOO states of many users using one request only (if user in response has OutOfOffice tip with message - he is out of office)

So, I created a feature to get users out of office states using GetMailTips operation, which contain request class and response class with out_of_office method.
Waiting for your comments.
Regards,
Bohdan

Can you also add VCR cassettes (you can edit out sensitive information from them) so that all tests pass or just use webmock directly with stub_request and read the response from file, e.g. spec/fixtures/get_mail_tips_response.json?


Parallelize image downloads in tool

Added parallelization of image downloads using Go worker pools with a configurable number of workers, defaulting to 80% of available CPUs. Download failures are requeued to try again, allowing up to 3 retries, in case the initial surge of simultaneous image download requests cause throttling from the registry.
The number of workers created is configurable with the --parallel option.
The downloading.md document has been updated with the new option and corresponding changes to output.
Signed-off-by: Don Penney<EMAIL_ADDRESS>/cc @browsell @alosadagrande

/lgtm
Thanks for this, nice work!


Morphmany query not working due to namespace backslashes

I'm trying to generate a morphMany relationship:
namespace App\Persons\;

class Worker extends Model {
    public function personEvents () {
        return $this->morphMany('App\PersonEvent', 'sortable');
    }
}

and the query that is generated is this:
select * from `person_events` where `person_events`.`sortable_id` = 1 and `person_events`.`sortable_type` = App\Persons\Worker

If I run the SQL query it returns an empty result, but if I run this query (With double backslash):
select * from `person_events` where `person_events`.`sortable_id` = 1 and `person_events`.`sortable_type` = App\\Persons\\Worker

Did you solve this dude? Having the same issue.

@vdotgood I don't remember well, but I think that double quote (") fixed it. Please let me know if that worked for you, or I will check better that issue.


Broken links in Storage docs & Cumulus tutorial

Broken Link

This is a broken link
https://docs.substrate.io/rustdocs/latest/pallet_utility/trait.Config.html#associatedtype.MaxSignatories
which is located in the Storage docs > create bounds section

Also, in the Cumulus tutorial > pre-configured-chain-spec-files section the link conversion links to https://docs.substrate.io/tutorials/v3/cumulus/start-relay/#convert-plain-to-raw-chain-spec but there is no corresponding section called "convert plain to raw chain spec" so it does not do anything.

In the Cumulus tutorial > pre-configured-chain-spec-files section the text create your own chain spec links to https://docs.substrate.io/tutorials/v3/cumulus/start-relay/#create-a-custom-relay-chain-spec-optional but there is no corresponding section called "create a custom relay chain spec optional" so it does not do anything.

In the Cumulus tutorial > Registration Transaction section the text paraID being reserved links to https://docs.substrate.io/tutorials/v3/cumulus/connect-parachain/#1-reserve-a-para-id which does not do anything.

Expected Location

Regarding the first broken link, I would guess/expect (mainly because of consistency reasons) that it would point where the first instance of the phrase the multi-signature capabilities from the Utility pallet points at which is the link https://docs.substrate.io/rustdocs/latest/pallet_utility/pallet/enum.Call.html#variant.as_multi
However, this link refers to the variant as_multi which is not present in the docs of the Utility pallet nor in the actual pallet itself. So I would guess that also the first link is not very reliable and needs to be reviewed.

Regarding the word conversion not sure where it should link to.

I think this link should point here.

I think this link should point here

Context and Origin
No response

Thank you for flagging this @Imod7 ! I'll follow up with a PR to fix these.


Point resides inside a polygon?

Hi, I'm trying to check whether a point is inside a GeoJson polygon or not.
I found the function wich solve my problems, which is d3.geoContains() here:
https://github.com/d3/d3-geo#geoContains
So i modified the example Add Geoson Building
var geo = { "type": "FeatureCollection",
"features": [
  {
    "type": "Feature",
    "properties": {
      "color": "rgb(0,0,255)",
      "roofColor": "rgb(128,128,255)",
      "height": 20,
      "minHeight": 0
    },
    "geometry": {
      "type": "Polygon",
      "coordinates": [
          // long, lat
        [
        [-50.408083, -24.517496],
        [-50.407976, -24.516664],
        [-50.406089,-24.516202],
        [-50.402566,-24.517136,],
        [-50.405989,-24.520584],
        [-50.408083,-24.517496,]
        ]
      ]
    }
  }
]
}
var pos = [-50.413438, -24.527021];
var inside =  d3.geoContains(geo, pos);
var m = {overlay:"Golf Clubhouse", geojson:geo, fit:true};

msg.payload = {command:{map:m, lat:-24.527021, lon:-50.413438}};
return msg;

Which returns an error massage:

[{"id":"c97b18e3.b89c28","type":"worldmap","z":"6cc3da71.4cb554","name":"","lat":"","lon":"","zoom":"","layer":"","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"true","hiderightclick":"false","coords":"none","path":"/worldmap1","x":770,"y":420,"wires":[]},{"id":"b0cc2326.043a4","type":"function","z":"6cc3da71.4cb554","name":"","func":"var geo = { \"type\": \"FeatureCollection\",\n\"features\": [\n  {\n    \"type\": \"Feature\",\n    \"properties\": {\n      \"color\": \"rgb(0,0,255)\",\n      \"roofColor\": \"rgb(128,128,255)\",\n      \"height\": 20,\n      \"minHeight\": 0\n    },\n    \"geometry\": {\n      \"type\": \"Polygon\",\n      \"coordinates\": [\n          // long, lat\n        [\n        [-50.408083, -24.517496],\n        [-50.407976, -24.516664],\n        [-50.406089,-24.516202],\n        [-50.402566,-24.517136,],\n        [-50.405989,-24.520584],\n        [-50.408083,-24.517496,]\n        ]\n      ]\n    }\n  }\n]\n}\nvar pos = [-50.413438, -24.527021];\nvar inside =  d3.geoContains(geo, pos);\nvar m = {overlay:\"Golf Clubhouse\", geojson:geo, fit:true};\n\nmsg.payload = {command:{map:m, lat:-24.527021, lon:-50.413438}};\nreturn msg;  \n\n\n","outputs":1,"noerr":0,"x":520,"y":420,"wires":[["c97b18e3.b89c28"]]},{"id":"a60a6180.1edfa","type":"inject","z":"6cc3da71.4cb554","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":320,"y":420,"wires":[["b0cc2326.043a4"]]}]
Thanks.

Any news?

why would you expect that to work ? the worldmap page does not use d3.

Thanks for the suggestion @dceejay ,  I'll try .


Move Theme System to CSS Custom Properties

Current Issues With Theme

It's a constant source of TS errors
The theme object is constructed by merging the user's sidebar config theme with the default theme. This is cumbersome and creates problems with components used in isolation.
Customizing the theme can't be done via global CSS
The theme helpers are an unnecessary abstraction / nuisance
It's difficult to locally theme components as needed

Proposed Solution:
Strip out this entire theme system and replace it with root level css custom properties.
Benefits of Solution:

No CSS helper functions needed; all the properties are available everywhere.
The global theme can be easily overwritten by the user in their site styles at a global or local level.
No more @tinacms/styles related TS errors!

Breaking Changes

Anything using theme helpers will break. They need to be replaced with references to the custom properties: ${color.grey(2)} changes to var(--tina-color-grey-2). I've done this for things inside the monorepo.
Theme configuration via passing a theme to the sidebar component will no longer work. This is replaced by overriding these custom properties in your own stylesheet, giving you more control.

The code all looks good to me 👍
We need some eyes actually testing it out

Did some local tests (sorry for the unrelated commits). This does not seem to change anything related to this PR scope.

From a technical standpoint I'm happy, but we need to prep some documentation.
We need to explain 3 things:

Why we’re making the change (Blog Post)
How to use the new theming system (Docs updates and additions)
How to migrate from the old theming system to the new one (Release Notes)


chore: enphasize functions usage image on new resource doc

Description of your changes
This PR has the intention to highlight and let more visible the upjet-externalname image.
I followed the documentation a few weeks ago to create a new upjet provider based on the hashicorp vault terraform provider. I took a long time to understand how the functions for setting the external name work, and I could only make the right configuration for some Vault resources after finding the image, that I thought it was a bit hidden among all the other information. That image made the understandement of the full process that upjet follows for setting the external-name and the terraform fields, and I believe it'll be very helpful for future users to configure their providers if it's more exposed.

Fixes #
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.
[x] Added backport release-x.y labels to auto-backport this PR if necessary. (not needed)

How has this code been tested
By checking the readme file after the change

@Brocaneli, thank you for your contribution. Would you mind signing the CLA so we can accept your contribution: https://cla.upbound.io/upbound/upjet

After @Brocaneli signed the cla, this is ready to merge.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Marcus Brocaneli seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Sorry, I had commited using my corporate email, different than my Github's account, so I had to change the commit author in order to have the cla signed correctly. Would you mind reapproving this, please?

@Brocaneli all good now, thank you!


Upgrade to ts_rs v10.1

Closes #83. It seems that no actual code changes were required.

Released under<EMAIL_ADDRESS>

Wonderful, thanks!


Too many empty arguments and relay not showing up in machine list

Hello,
I deployed your helm chart and the pod shows healthy.  However the pod doesn't show up in my machine list for me to authorized the subnets.  Here is the log output of the pod.  I just don't know what I am missing.  Any help would be greatly appreciated.
2022/08/21 14:48:20 logtail started
2022/08/21 14:48:20 Program starting: v1.26.0-te635c1a0b-g63b494195, Go 1.18.3-ts04d67b90d8: []string{"tailscaled", "-port", "0", "-socket", "/var/run/tailscale/tailscaled.sock", "-state", "kube:tailscale-relay-state", "-tun", "tailscale0", "-verbose", "0"}
2022/08/21 14:48:20 LogID: da629be8dcf7078f203b19998cc0814b7242d8e861ec26363de897457cd3096a
2022/08/21 14:48:20 logpolicy: using system state directory "/var/lib/tailscale"
logpolicy.Read /var/lib/tailscale/tailscaled.log.conf: open /var/lib/tailscale/tailscaled.log.conf: no such file or directory
2022/08/21 14:48:20 wgengine.NewUserspaceEngine(tun "tailscale0") ...
2022/08/21 14:48:20 router: disabling tunneled IPv6 due to system IPv6 config: exec: "ip6tables": executable file not found in $PATH
2022/08/21 14:48:20 dns: [rc=unknown ret=direct]
2022/08/21 14:48:20 dns: using *dns.directManager
2022/08/21 14:48:20 link state: interfaces.State{defaultRoute=eth0 ifs={eth0:[<IP_ADDRESS>/32]} v4=true v6=false}
2022/08/21 14:48:20 magicsock: disco key = d:7c7d4bb6abbebf93
2022/08/21 14:48:20 Creating WireGuard device...
2022/08/21 14:48:20 Bringing WireGuard device up...
2022/08/21 14:48:20 external route: up
2022/08/21 14:48:20 Bringing router up...
2022/08/21 14:48:20 Clearing router settings...
2022/08/21 14:48:20 Starting link monitor...
2022/08/21 14:48:20 Engine created.
2022/08/21 14:48:20 Start
too many non-flag arguments: ["<IP_ADDRESS>/16" "--advertise-tags=" "--auth-key=tskey-khWRam2CNTRL-PNXMrMsLZqgHPx3yVQckL" "--exit-node-allow-lan-access=false" "--exit-node=" "--force-reauth=false" "--host-routes=true" "--hostname=tailscale-tailscale-relay-0" "--login-server=https://login.tailscale.com" "--netfilter-mode=on" "--qr=false" "--shields-up=false" "--snat-subnet-routes=true"]
2022/08/21 14:48:50 logtail: dial "log.tailscale.io:443" failed: dial tcp: lookup log.tailscale.io: i/o timeout (in 30s), trying bootstrap...
2022/08/21 14:49:00 trying bootstrapDNS("derp6.tailscale.com", "<IP_ADDRESS>") for "log.tailscale.io" ...
2022/08/21 14:49:00 bootstrapDNS("derp6.tailscale.com", "<IP_ADDRESS>") for "log.tailscale.io" = [2600:1f18:429f:9305:4043:217b:512c:f8d4 <IP_ADDRESS>]
2022/08/21 14:49:00 logtail: bootstrap dial succeeded

Here is the deployment file
apiVersion: v1
kind: Pod
metadata:
  name: tailscale-tailscale-relay-0
  generateName: tailscale-tailscale-relay-
  namespace: vpn
  uid: ed843e3a-d052-4aee-a078-c73e609b2a5f
  resourceVersion: '100252'
  creationTimestamp: '2022-08-21T14:48:19Z'
  labels:
    app.kubernetes.io/component: tailscale
    app.kubernetes.io/instance: tailscale
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: tailscale-relay-0.1.7
    app.kubernetes.io/part-of: tailscale-relay
    app.kubernetes.io/version: v1.26.0
    controller-revision-hash: tailscale-tailscale-relay-6f8484f445
    helm.sh/chart: tailscale-relay-0.1.7
    statefulset.kubernetes.io/pod-name: tailscale-tailscale-relay-0
  annotations:
    checksum/configMap: b8c6e785726623fc609701151343fda3f8d28b2eae454629f3412311066790f7
    checksum/secret: b707c81695f84e79a379b8ca3ca9fc0d2c3a6c48dfc0fdc381a963594c9bc778
    cni.projectcalico.org/containerID: 0d78a55f2fc88aadc73030a183a896efcde9361e51d49e21c7157f40ebf37383
    cni.projectcalico.org/podIP: <IP_ADDRESS>/32
    cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
  ownerReferences:
    - apiVersion: apps/v1
      kind: StatefulSet
      name: tailscale-tailscale-relay
      uid: 694538e2-57b5-4183-b152-db90252d5769
      controller: true
      blockOwnerDeletion: true
  hostIP: 173.x.x.209
  podIP: <IP_ADDRESS>
  podIPs:
    - ip: <IP_ADDRESS>
  startTime: '2022-08-21T14:48:19Z'
  containerStatuses:
    - name: tailscale-relay
      state:
        running:
          startedAt: '2022-08-21T14:48:20Z'
      lastState: {}
      ready: true
      restartCount: 0
      image: docker.io/mvisonneau/tailscale:v1.26.0
      imageID: >-
        docker.io/mvisonneau/tailscale@sha256:2077ff32314e6efff42d81d1f62276a29b2e3f690ee0c57c21a7527a917d0761
      containerID: >-
        containerd://5e48116d02d4552c48dfa5572a379b2b4bee18e107db81497ba397aca3a80b48
      started: true
  qosClass: BestEffort
spec:
  volumes:
    - name: lib-modules
      hostPath:
        path: /lib/modules
        type: ''
    - name: kube-api-access-qhrsj
      projected:
        sources:
          - serviceAccountToken:
              expirationSeconds: 3607
              path: token
          - configMap:
              name: kube-root-ca.crt
              items:
                - key: ca.crt
                  path: ca.crt
          - downwardAPI:
              items:
                - path: namespace
                  fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
        defaultMode: 420
  containers:
    - name: tailscale-relay
      image: docker.io/mvisonneau/tailscale:v1.26.0
      ports:
        - name: exporter
          containerPort: 8080
          protocol: TCP
      envFrom:
        - configMapRef:
            name: tailscale-tailscale-relay-config
        - secretRef:
            name: tailscale-tailscale-relay-config
      env:
        - name: TAILSCALED_STATE
          value: kube:tailscale-relay-state
      resources: {}
      volumeMounts:
        - name: lib-modules
          mountPath: /lib/modules
        - name: kube-api-access-qhrsj
          readOnly: true
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      imagePullPolicy: IfNotPresent
      securityContext:
        capabilities:
          add:
            - NET_ADMIN
  restartPolicy: Always
  terminationGracePeriodSeconds: 30
  dnsPolicy: ClusterFirst
  serviceAccountName: tailscale-relay
  serviceAccount: tailscale-relay
  nodeName: master2
  securityContext: {}
  hostname: tailscale-tailscale-relay-0
  subdomain: tailscale-relay
  schedulerName: default-scheduler
  tolerations:
    - key: node.kubernetes.io/not-ready
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
    - key: node.kubernetes.io/unreachable
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
  priority: 0
  enableServiceLinks: true
  preemptionPolicy: PreemptLowerPriority

I tried to enable Host networking, however I have tailscale already running on the host for management purposes.


Improved: The BrokeredOrderItemsSyncQueue view for facilityGrorpId

Added the FacilityGroupMember and FacilityGroup entity as a member entity in BrokeredOrderItemsSyncQueue view.

The changes regarding SMUS Feeds to exclude the ORSI_FAC facility group type orders are not necessary. As discussed with @gurveen.bagga, we've already incorporated the FacilityGroupMember list in the Brokered Order Order Items JSON. Therefore, we can address this scenario in the WH Brokered Order Items Feed Spec. Let's close this MR.


chore(curriculum): add frontend to step superblock list

Checklist:

[X] I have read and followed the contribution guidelines.
[X] I have read and followed the how to open a pull request guide.
[X] My pull request targets the main branch of freeCodeCamp.
[X] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

As more than a handful of projects are step-based in the front-end curriculum; it'd probably be wise to have access to the step tools for the relevant projects.

I would hold off on this until the folder name is changed to the correct cert name

I see. I was hoping to be able to speed up development of the front end cert.

I am reopening this PR because we are not planning on renaming the directory name from 25-frontend to full stack right now.
At some point it will change but this can be reopened for now


Failed Blargg's interrupt_time.gb

What did you do?
./goboy cgb_sound.gb
What did you expect to see?
Tests passed
What did you see instead?
Test Failed:
 Sound: true
 CGB  : true

2018/11/23 12:28:52 Cart type: 0x02 (MBC1)
2018/11/23 12:28:53 0x10 (STOP) unimplemented (is 0x00 follows)

System details
go version go1.11.2 linux/amd64
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/bell/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/bell/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/bell/github/goboy/go.mod"
GOROOT/bin/go version: go version go1.11.2 linux/amd64
GOROOT/bin/go tool compile -V: compile version go1.11.2
uname -sr: Linux 4.19.2-arch1-1-ARCH
/usr/lib/libc.so.6: GNU C Library (GNU libc) stable release version 2.28.
gdb --version: GNU gdb (GDB) 8.2

The mem_timing.gb and interrupt_time.gb test roms have been annoying me for a while. I'm not entirely sure why they are failing at this point although I'm imagining that it is some kind of mistiming on the interrupts that it uses.


deprecate ptr() function for the v0.7.x series

Deprecating ptr() in v0.7.x series per #370

ah fun, CI doesn't like deprecated warnings:
  --> panic-itm/src/lib.rs:49:35
   |
49 |     let itm = unsafe { &mut *ITM::ptr() };
   |                                   ^^^
   |
note: the lint level is defined here
  --> panic-itm/src/lib.rs:33:9
   |
33 | #![deny(warnings)]
   |         ^^^^^^^^
   = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`

I guess we'd better backport that change to panic-itm to 0.7 branch as well, then?

yeah wasn't sure what you wanted to do, ignore CI, add an #[allow(deprecated)] or fix. Probably should just fix.


[WIP]Implement Import/export button on frontend

What type of PR is this?

/kind feature
What this PR does / why we need it:

Implement import/export button on web.
follow import/export API that implemented on PR #64

Which issue(s) this PR fixes:

Fixes #28
Special notes for your reviewer:

This PR is related to PR #64 and is including that commit.
Currently, the basic import/export function be working.

/label tide/merge-method-squash
/hold

/assign

Since #64 had merged, I have been rebased this branch.
I'm still working on it.
(this error also still exists)
https://github.com/kubernetes-sigs/kube-scheduler-simulator/pull/81#discussion_r785460149

I fixed the above errors.

/ok-to-test

/unhold

Btw, the button will remain pressed after the dialog is closed.
(No effect on operation.)

↓

Btw, the button will remain pressed after the dialog is closed.

This is intended as it is how it works in MD2 spec which is the basis of vuetify 2.0
https://github.com/vuetifyjs/vuetify/issues/8436
It has already been added as a prop called retain-focus-on-click to resolve it.
But it doesn't work.
https://github.com/vuetifyjs/vuetify/issues/9972
There is another method to resolve. But I think I'll keep it the current way if it is the basic.

@196Ikuchil
Thanks for investigating this. Understood. This is not a critical issue, so I think we can ignore it here as you said.
Could you add retain-focus-on-click even if it currently has no effect so that it can be solved in the future when Vuetify fixes this problem?

@sanposhiho
ok! I have added the retain-focus-on-click attribute to the v-btn of Export/Import.

@sanposhiho

I don't think this kinda abstraction is needed.
Let's make it simpler like before:

Thanks, I forgot to fix it. (At the beginning of this work, I had an another design of that.)
In addition, I refactored to split the button to another component.


spark package added

@ryane Please take a look, maybe this will be usefull

@dmitriybondr this would be extremely useful! the only thing is that I don't see how it will work with mesos authentication turned on right now (which is the default on Mantl clusters). Let me know if I missed it. I do believe the spark framework supports mesos auth so we just need to figure out how to conditionally enable it.

@dmitriybondr this is amazing, I will test it!

This looks really close - I think it just needs to support Mesos framework authentication

closing in favor of #30. Thanks!


Latest version (0.21.2) causes error "Uncaught (in promise)"

Apologies for the vague title - I couldn't find the root cause of the error.
After updating the package from 0.16.0 to 0.21.2, my extension (Refined Hacker News) breaks due to an unexpected error. I am using Webpack (much like how Refined GitHub is using it) to build the extension's "dist" files. OptionsSync() is initiated in the background.js file. When the extension is run, the entire background.js file breaks and inspecting it shows up this error:
Uncaught TypeError: (intermediate value).define is not a function
...and the lines causing the error:
new webext_options_sync__WEBPACK_IMPORTED_MODULE_0___default.a().define({
	defaults: _libs_default_configs__WEBPACK_IMPORTED_MODULE_1__["default"]
});

I can't start to understand what might be causing the error here, so it'd be great if you could take a look at it. Until then, I've downgraded the dependency to use version 0.16.0.
Thanks!

Yeah, 0.20 was a breaking release because I dropped .define()
Now you can use it as new OptionsSync({defaults: .....})

Great, thanks a lot for the clarification!


During cluster upgrade, the job disappears for unknown reasons. Procedure

During cluster upgrade, the job disappears for unknown reasons. Procedure

PLEG

/kind feature

Unreproducible problems.


Odd results with new versions of Hanzi Writer

When attempting to use data from this with HanziWriter v3.6.1, kanji look very strange. For example, 万 here:

Perhaps this why your decks stuck with v2.x. Do you have any insight into what might cause this? I'd like to use KanjiVG data with recent versions of HanziWriter. I realize this is likely not an issue with your converter but I thought you might be able to assist since you're familiar with all the pieces.
svg_data: {"strokes": ["M 135,668 C 157,663 196,660 218,663 C 420,684 635,716 828,719 C 864,719 885,716 903,714", "M 479,510 C 493,504 509,497 528,494 C 597,483 688,476 741,480 C 784,483 801,470 789,435 C 732,261 683,160 600,51 C 529,-43 505,20 481,49", "M 486,660 C 491,642 488,625 484,605 C 460,489 326,211 127,74"], "medians": [[[135, 668], [328, 675], [523, 697], [715, 714], [903, 714]], [[479, 510], [716, 479], [743, 306], [641, 109], [481, 49]], [[486, 660], [460, 525], [387, 373], [274, 210], [127, 74]]]}
Edit: I noticed that the kanji also looked strange in https://www.svgviewer.dev/, so I fiddled with the style and it's due to the "fill" css property not being set to "none". However even when I set this to none manually in Anki's styling, nothing changes :(
Looks like this was actually due to the stroke-width somehow getting set to a nice chonky 200. I reduced this to 30 and things look better, but still off. At the default resolution of 5, it looks rough:

Bumping this up to 50 helps, but the lines are still too thin:

And increasing the stroke-width just makes things start to look like my original image :/

I diffed your version of HanziWriter 2.2.2 against the stock one, then made the same changes that you made to that version to 3.6.1, which looked like this

Everything looks good now. Not positive what the "clip-path" and "d" attr changes are about exactly, but it works :D


Add awesome-developer-first-directories

https://github.com/fmerian/awesome-developer-first-directories

Thanks! :raised_hands:


Flutter golden tests render incorrectly

Steps to Reproduce

Create test project.
Make sure flutter_test is added to pubspec as dev_dependency.
Add the following test file in test directory...

test/bug_test.dart
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';

void main() async {
  testWidgets('StackTest', (WidgetTester tester) async {
    final widget = MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Container(
        color: Colors.grey,
        child: _TestWidget(),
      ),
    );
    await tester.pumpWidget(widget);
    await tester.pumpAndSettle();
    await expectLater(
        find.byType(MaterialApp), matchesGoldenFile('bug_test.png'));
  });
}

class _TestWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Stack(
        children: [
          Text('Item 1'),
          Text('Item 2'),
        ],
      ),
    );
  }
}

Run flutter test --update-goldens test/bug_test.dart
Expected results:
The generated file should show the stack items centered on screen layered one on top of the other.
Actual results:

Logs

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.1, on Mac OS X 10.15.6 19G2021, locale en-US)
• Flutter version 1.20.1 at /dev/flutter
• Framework revision 2ae34518b8 (6 weeks ago), 2020-08-05 19:53:19 -0700
• Engine revision c8e3b94853
• Dart version 2.9.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/rzornes/Library/Android/sdk
• Platform android-30, build-tools 29.0.2
• ANDROID_HOME = /Users/rzornes/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.6, Build version 11E708
• CocoaPods version 1.9.3
[✓] Android Studio (version 3.6)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 47.1.1
• Dart plugin version 192.8052
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
[✓] Connected device (1 available)
• iPhone 11 Pro Max (mobile) • DE595D8F-B8EA-4128-BCC5-866577C949F9 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-6 (simulator)
• No issues found!

Issue replicable on latest master.

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.174, on Mac OS X 10.15.4 19E2269,
    locale en-IN)
    • Flutter version 1.22.0-10.0.pre.174 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 37b03ec2c2 (26 hours ago), 2020-09-14 23:52:04 -0400
    • Engine revision 7e962ba911
    • Dart version 2.10.0 (build 2.10.0-124.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (3 available)
    • SM G975F (mobile) • RZ8M802WY0X • android-arm64  • Android 10 (API 29)
    • Web Server (web)  • web-server  • web-javascript • Flutter Tools
    • Chrome (web)      • chrome      • web-javascript • Google Chrome
      85.0.4183.102

• No issues found!

Why do you think the generated file render incorrectly? the gap between the two rectangles is the char  .

In tests, we render all text with the "Ahem" font, which replaces all characters with a rect. This is to make text rendering more predictable. So, what you're seeing is expected. We should document this better, however. This is tracked by https://github.com/flutter/flutter/issues/41773.

If I run the same code in an app I get...

Which I do expect. I should get the same thing in a golden test or what is the point of having a golden test?


Support socks5 proxy

Motivation
Some user networks may have a layer of socks5 proxy, so the client side is added socks5 proxy handler to support socks5 protocal.
Modifications
Add Socks5ProxyHandler in ConnectionPool as the first handler for producer and consumer.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes, add)
The public API: (yes)
The schema: (no)
The default values of configurations: (yes)
The wire protocol: (no)
The rest endpoints: ( no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

Does this pull request introduce a new feature? (yes)

How to use
      // # 1
      PulsarClient
                .builder()
                .serviceUrl("pulsar://service-url:6650")
                .socks5ProxyAddress(new InetSocketAddress("localhost", 11080)) // change to proxy host and port
                .socks5ProxyUsername("username")  // If there is a username and password
                .socks5ProxyPassword("password")
                .build()

     // # 2
     PulsarClient
                .builder()
                .serviceUrl("pulsar://service-url:6650")
                .build()
     Start client with '-D' like : -Dsocks5Proxy.address=http://localhost:11080 -Dsocks5Proxy.username='username' -DsocksProxy.password='password'

@Technoboy- many thanks for your details!
As we called just now, could you please help add docs and ping me review?
You might need to:

Check to which versions the doc will be added.

If you want to modify master doc, go here.
If you want to modify versioned docs, go here.

Add docs (3 parameters and add necessary descipritons) here

Tip
Java Client API website (doc) is automatically generated from its code.
If you add descriptions (like you did here ), you've already added docs for the Java API website. (@codelipenghui  so do not remove the  component/documentation label from this PR, I've labeled it back. Anyway many thanks for your label :-D)

@Technoboy- many thanks for your details!
As we called just now, could you please help add docs and ping me review?
You might need to:

Check to which versions the doc will be added.

If you want to modify master doc, go here.
If you want to modify versioned docs, go here.

Add docs (3 parameters and add necessary descipritons) here

Besides, this is the doc architecture for various clients, you can take it as a refernece.

Tip
Java Client API website (doc) is automatically generated from its code.
If you add descriptions (like you did here ), you've already added docs for the Java API website. (@codelipenghui so do not remove the  component/documentation label from this PR, I've labeled it back. Anyway many thanks for your label :-D)

Done, please help check client-libraries-java.md .

@Anonymitaet I noticed you have added the component/documentation tag, we are using this for indicating the PR is only the documentation change? or the PR has documentation change?

/pulsarbot run-failure-checks

@Technoboy- Looks the failed the tests are related to this change, PTAL.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


0.0.8 tag created too early?

It seems that tag 0.0.8 was created without updating bower.json and package.json version numbers. I would have created a pull request to fix it, but I don't think thats possible once that tag is "out"
Perhaps version needs to be updated to 0.0.9 and new tag created after that, but maybe there is a better way.

Hmm, thanks for catching this. I will release 0.0.9 shortly then with that fixed.

Should be released now.


ENH: improve benchopt manual

(base) ➜  ~ benchopt -h
Usage: benchopt [OPTIONS] COMMAND [ARGS]...
Command-line interface to benchOpt
Options:
-h, --help  Show this message and exit.
Commands:
bench  Run benchmark.
run    Run benchmark.
The difference between the two commands is not very clear only from this info; benchopt bench -h and benchopt run -h did not help me a lot since the only difference I see is the recreate option in one of them.

The bench command have been removed, this should be clearer for now.
Closing this issue.


screenshot

can you deactivate this somehow?
But I think that's a feature of Firefox

"Then I need to do quite a big overhaul of the project"
Please don't worry about me.
"Ah, new selector. Try #context-take-screenshot instead of #screenshots_mozilla_org-menuitem-_create-screenshot"
it does not work

This method works, so I'll take this one
https://github.com/stonecrusher/simpleMenuWizard#hide-pocket--sync--screenshots


build: upgrade FOCA to 0.13.0

Description
Updates FOCA to the latest version, which is 0.13.0 at the time this PR was opened.
Fixes #49
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have not reduced the existing code coverage
[ ] I have added docstrings following the Python style guidelines of this project to all new modules, classes, methods and functions are documented with docstrings following; I have updated any previously existing docstrings, if applicable
[ ] I have updated any sections of the app's documentation that are affected by the proposed changes, if applicable

Summary by Sourcery
This pull request updates the FOCA library to version 0.13.0, refactors the code to use the new configuration syntax, and adjusts the test cases accordingly to ensure compatibility and functionality.

Bug Fixes:

Updated FOCA to version 0.13.0 to fix compatibility issues.

Enhancements:

Refactored test cases to use the updated FOCA configuration syntax.

Tests:

Modified test cases to align with the new FOCA configuration structure.

Thanks @kushagra189, I've done that particular refactor in the module where there were a lot of repeated usages of that object. There was another instance where Sourcery suggested a refactor but that was not applicable (the repeated code was spread out over multiple functions).
The only open issue is the use of eval (#54). I would suggest merging this PR as-is and tackling that issue separately.


slot_type is case sensitive

If a slot type is defined as hbv3 then the following job will never start
qsub -l select=1:slot_type=HBv3 -I

String resources in PBS are case sensitive, so we actually would not want any nodes to start. If they did, PBS would never run the job on the node that started.


Commenting out individual members for ar-config bucket

This PR removes all the members of AR config bucket, all member groups are added to bucket viewer group.
This prevents the 250 limit GC impose on member groups per resource.
There is no limit how many groups another group can have.
Will keep original code commented out for the time being.

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

Please upload report for BASE (main@2fe69fd). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #272   +/-   ##
=======================================
  Coverage        ?   90.93%
=======================================
  Files           ?        4
  Lines           ?      430
  Branches        ?        0
=======================================
  Hits            ?      391
  Misses          ?       39
  Partials        ?        0

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


Add task list with a list item's first paragraph

Fixes https://github.com/raphlinus/pulldown-cmark/issues/557.

Just wondering if there's any update on this PR, would love to see it merged!

My team is using your crate to build a markdown note-taking app and ran into this issue; would love to see this PR merged!

This will be included in the next release.

👏


Make multi-tenant application optional

Is your feature request related to a problem? Please describe.
Currently you have to create a multi-tenant application in azure, although the tutorial is kind of suggesting it's optional. If you don't need personal accounts it's better to use a single tenant application.
Describe the solution you'd like
Add a optional config parameter for tenant_id and pass it to the Account constructor
account = Account(credentials, token_backend=TOKEN_BACKEND, tenant_id=config_tenant_id)

While i'm open to the idea, i am not an expert in azure/microsoft apis, so could i get you to explain a bit more what the difference would be between using multi-tenant and single-tenant?
And why is a single-tenant in your opinion the better choice?
And while the implementation of this seems trivial, i would not be able to test this out myself. So if we are going to do this, then i'm gonna do it in a different branch, which you can then install and verify/test for me. Would you be able to do this?

It doesn't even work in single-tenant mode. I was only able to set it up as multi-tenant.


KAFKA-4480: Report an error in 'kafka-configs' command if the config to be removed does not exist

LGTM, and merged to trunk.

Wouldn't it be better to fail the whole operation? That seems safer in my opinion.

I think it is still safe to proceed the operation while filtering out the invalid config. I remember we did the same in some other console admin tools but I am not sure if it is still the case.

@guozhangwang, there is no way to revert an incorrect delete. If someone mistyped one config, there could be other issues in the command. It's much safer to fail the whole operation and let the user retry the whole thing. I can't think of a scenario where it's actually helpful to do a partially delete. Can you?

I think I agree. We could do a follow-up of this PR.

Sounds good. @vahidhashemian, would you mind submitting a follow-up? Thanks!

Definitely, I'll work on submitting a follow-up PR to fail the command in case of such user errors.