List buttons broken in Kitchen Sink demo

In the "lists" section, I can't change the Clock to the Anchor under the List Buttons header.

Clock on the down arrow.
See the menu appear.
Click on the Anchor.
Nothing happens.

Expected behavior: The menu closes and I see the Anchor displayed in the button.
Actual behavior: The menu remains open.  If I click away, the Clock is still selected.
The same thing happens with the Basic and Color example List Buttons.

I'm using Chrome on a Mac.

Bisected to a64f31ce586d37824a5ace760ccf2b73dedec491

The issue is that a64f31c switched RenderListView to use gesture recognizers rather than raw pointer event handling, and in so doing, it caused RenderListView's tap gesture recognizer[1] to win the arena -- and conversely, _PopupListState's tap gesture recognizer[2] to lose the arena.  The latter is what closes the popup and sets the selected index of the button.
[1] https://github.com/tvolkert/chicago/blob/d68b53c87e933a1a1a3f5a233b14fc07c058acf5/lib/src/list_view.dart#L508-L511
[2] https://github.com/tvolkert/chicago/blob/d68b53c87e933a1a1a3f5a233b14fc07c058acf5/lib/src/list_button.dart#L805-L806

Fixed by 557dea2

Thanks!


Name clash with CSS extern

We were trying to make a "Rect" class, but Rect is defined in the css externs file:
ERROR - Variable Rect first declared in externs.zip//browser/w3c_css.js

However, Rect is not available in JS (at least not in Chrome). So this basically means that Closure is banning Rect from ever being used. Shouldn't the externs that aren't actually available as JS objects be obfuscated in some way so that they are less likely to clash with client code? E.g. W3c_Css_Rect or something like that?
Not sure if this is a problem or if we just don't understand how this is supposed to work.

What surprising is that has been present for pretty much the life of the project and you are the first person I recall reporting it.
@MatrixFrog There are lots of generic internal types in that extern and it is VERY old. I'm guessing changes here will be very difficult to land?

@ChadKillingsworth IMO instead of changing the externs, the compiler should be told that Rect isn't available in JavaScript and only serves as a type. We should then do the renaming internally. Changing it to things like w3c_css_Rect seems pretty messy and is a big loss for documentation purposes.

Fixing #1426 would give us a way to fix this as well.

I have been trying to find a way to solve a similar problem with externs/browser/streamsapi.js. It exports many, many symbols even though the Streams standard only exports 4: https://streams.spec.whatwg.org/#globals
This has been bugging me because I am writing an implementation of the standard in Javascript, and Closure thinks I am redefining everything.


Update action.yaml: don't fail if rm on empty list

I tried to run the builder for a minimized package list, which didn't create any packages that match *-dbgsym_*.deb.
This change makes rm silently ignore this case instead of returning an error here.

I have the same problem. This change looks good to me.

Sorry, I missed this pr. Thanks.
Regarding the rational of removing packages here instead of not generating them in the first place: ideally this deployment step is not used at all, but replaced by an upload to an independent deb repository/storage location (also simply to avoid upstream throttling).
As debug symbols are clearly good to have around, I want to make sure they don't pose any other problem down the pipeline except for the github deployment.


Obstacles on Map

There should be obstacles on the map that can only be avoided.

https://kenney.nl/assets/top-down-tanks-redux


BUG: Adding the Onclick functionality on logo in footer to redirect to home page when clicked

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Adding the Onclick functionality on logo in footer to redirect to home page when clicked

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Suchitra-Sahoo can you please assign this task to me..


Glyphicons broken in v3.3.6 on BootstrapCDN

When including CSS from https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/sandstone/bootstrap.min.css everything works fine and all icons are displayed correctly.
Changing URL to https://maxcdn.bootstrapcdn.com/bootswatch/3.3.6/sandstone/bootstrap.min.css shows generic "missing character" glyphs.
I noticed that woff2 file in 3.3.6 became two times larger than before.
P.S. Reposting issue from thomaspark/bootswatch#538 as per maintainer's request.

@goodsoft (cc @jdorfman @thomaspark)
I've confirmed that the files on the CDN match the files downloaded from bootswatch (size change and all). Additionally I've ensure that the pathing is correct in (one of) the bootstrap.css files. I did make a small perms change on the origin host, but that really shouldn't be the difference there.
Lastly, I'm not able to reproduce this issue on Chrome (Version 47.0.2526.106 (64-bit)
) or Firefox (42.0) -- both on Mac 10.10.5 -- when hitting www.bootstrapcdn.com which is using bootswatch 3.3.6.

Actually, when downloading the file manually, via curl as opposed to my script, I noticed that the md5sums were different. So there might be an issue with my download script. I'll dig in.

@goodsoft looking into this now.

Yes, md5s really are different:
448c34a56d699c29117adc64c43affeb http://bootswatch.com/fonts/glyphicons-halflings-regular.woff2
448c34a56d699c29117adc64c43affeb https://maxcdn.bootstrapcdn.com/bootswatch/3.3.5/fonts/glyphicons-halflings-regular.woff2
5e8b122233593cfb2b7ad16d11d85937 https://maxcdn.bootstrapcdn.com/bootswatch/3.3.6/fonts/glyphicons-halflings-regular.woff2

as @goodsoft mentioned the md5sums are different.
glyphicons-halflings-regular.eot on the CDN was wrong:
9f0aa0d814d27edbb5f874757658dcc7
The correct hash is:
f4769f9bdb7466be65088239c12046d1
The CDN has been updated, cache purged. We apologize for the screw up and we are going to fix scripts/bootswatch.js immediately.
Please let us know if you need any further help.


No cachix entry for updated PHP 7.3

PHP 7.3 got updated last week: https://github.com/fossar/nix-phps/pull/233
But there is no cache entry at https://app.cachix.org/cache/fossar yet.
I guess the issue is mentioned here: https://github.com/fossar/nix-phps/actions/runs/4991609159/jobs/8938623799#step:33:3

Pushing is disabled as signingKey nor authToken are set (or are empty?) in your YAML file.

The job is still marked as success.
Would be cool if that could be fixed, so one doesn't need to compile PHP 7.3 locally.

Weird, authToken is set: https://github.com/fossar/nix-phps/blob/master/.github/workflows/build.yaml#L37
@jtojnar Since you're the admin of this project, can you check if the env CACHIX_AUTH_TOKEN is still valid ?

That is probably because the CI run is not in this repo. But weirdly, there are no runs in https://github.com/fossar/nix-phps/commits/master since October :eyes:

@jtojnar I guess because Build is only executed on Pull Request: https://github.com/fossar/nix-phps/blob/master/.github/workflows/build.yaml#L7 Which was / is fine as long as they are created from within the repo, as they would run within the repo.
I guess PRs since October where run from foreign repos.
Maybe add a trigger for main branch instead of PR? But I'm not an GitHub Actions Expert.

Yeah, that would explain why the action link is missing since we are doing rebase-merges to have a clean history while GitHub does not support fast forward merges.
I think the issue is just that PHP 7.3 has been updated in a third party repo so the secrets are not there and flake.lock has not been updated yet.

Issue should be fixed and should no happen anymore in the future.
Let me know if this is not the case.
Thx


Handling of multiple empty workspaces not clean

When closing multiple empty desktops, for example when jumping multiple to the left using the task bar switcher. Following things happen:
-> Not all empty workspaces close properly
-> if multiple windows are on seperate desktops to the right, they end up being mixed together in one desktop.

Should be closed with #9


Chat bubbles

https://issues.redhat.com/browse/RHCLOUD-31241

Preview: https://virtual-assistant-pr-virtual-assistant-7.surge.sh

@radekkaluzik  if this one gets merged after https://github.com/patternfly/virtual-assistant/pull/11 could you please add a test case for your part?

@fhlavac I can't add reviewers. Could you please take a look at this PR. Thanks.

Some smaller comments, apart from that looks great! 🎉

@radekkaluzik looks good! Just if you could take a look at the remaining comments and we can merge then


uv pip install/compile fails on AWS codeartifact repo

pip works:
$ pip install pip --index-url<EMAIL_ADDRESS>-U
Looking in indexes<EMAIL_ADDRESS>Collecting pip
  Downloading https://[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/pip/24.0/pip-24.0-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 1.2 MB/s
Installing collected packages: pip
Successfully installed pip-24.0

but uv doesn't:
$ uv pip install pip --index-url<EMAIL_ADDRESS>error: Failed to download: pip==24.0
  Caused by: HTTP status client error (404 Not Found) for url (https://[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/24.0/pip-24.0-py3-none-any.whl#sha256=ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc)

notice that pip is using /simple/pip/24.0 but uv is using /simple/24.0
related (but different URL patterns): #1362, #1371
based on #651, do you already have a AWS codeartifact repo handy to test with?

I'm seeing similar 404s on a jfrog.io repository

Does this work if you include the /pip in your index URL?
We do not have a CodeArtifact repo to test with yet.

sorry, maybe I should have picked a less confusing package to install. but /pip there is the name of the package
$ pip install jinja2 --index-url<EMAIL_ADDRESS>Looking in indexes<EMAIL_ADDRESS>Collecting jinja2
  Downloading https://[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/jinja2/3.1.3/Jinja2-3.1.3-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.2/133.2 kB 2.1 MB/s eta 0:00:00
Collecting MarkupSafe>=2.0 (from jinja2)
  Downloading https://[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/markupsafe/2.1.5/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (26 kB)
Installing collected packages: MarkupSafe, jinja2
Successfully installed MarkupSafe-2.1.5 jinja2-3.1.3

$ uv pip install jinja2 --index-url<EMAIL_ADDRESS>error: Failed to download: jinja2==3.1.3
  Caused by: HTTP status client error (404 Not Found) for url (https://[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/3.1.3/Jinja2-3.1.3-py3-none-any.whl#sha256=7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa)

Ahh thank you!
So to highlight the difference here:
pip: ../simple/jinja2/3.1.3/Jinja2-3.1.3-py3-none-any.whl
uv:  ../simple/3.1.3/Jinja2-3.1.3-py3-none-any.whl

It looks like we're failing to include the package name.

My guess is that the index returns relative URLs, and we're making them relative to the index rather than to the page that we requested.

@raylu - Is there any way you can confirm for me, if you request the https://aws:[password]@[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/flask/?format=application/vnd.pypi.simple.v1+json or similar, are the URLs relative? And are they relative to /simple/flask?

$ curl 'https://aws:[password]@[account].d.codeartifact.us-west-2.amazonaws.com/pypi/shared-packages-pypi/simple/flask/?format=application/vnd.pypi.simple.v1+json'
<!DOCTYPE html>

    <title>Links for flask</title>

Links for flask

      Flask-0.1.tar.gz

      Flask-0.10.1.tar.gz

[...]

      flask-3.0.1.tar.gz

      flask-3.0.2-py3-none-any.whl

      flask-3.0.2.tar.gz

I also tried with -H 'Accept: application/vnd.pypi.simple.latest+json' but got HTTP/2 406
so it looks like AWS codeartifact only does the HTML format (or I'm requesting it wrong)

Thanks, that's great! I assume there's no <base> tag in the file?

Exploring in https://github.com/astral-sh/uv/pull/1413

yeah, no <base> (the only thing I cut out is a bunch of versions in the middle)

👍 I think we've pinpointed the problem, thank you!

Should be fixed in https://github.com/astral-sh/uv/pull/1413/commits/829a1ed5e380fb0b3b1a92383a41c4a6408b65af


Updated versions and ReadMe.md

I updated the README to point to the new directories. Also moved the W3W column closer to the other products


fix(rhdh-helm-repo): replace deprecated repos with rhdh-1.1-rhel-9

With deprecation of the helm repo currently used by the framework, this PR changes the repo to the new one

/test mvp

/unhold


Theme changer fixed

Fixes:  #2014
Description
Theme changer fixed in home page

Type of PR

[✅] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
before:
https://github.com/anuragverma108/SwapReads/assets/130808542/aa2357c0-40b5-4115-aa96-9dc85d19ae26
After:
https://github.com/anuragverma108/SwapReads/assets/130808542/d2eb3ea6-8926-43f5-a718-caae6809aea7
Checklist:

[ x] I have made this change from my own.
[x ] I have taken help from some online resources.
[ 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.
[ x] My changes generate no new warnings.
[ x] I have tested the changes thoroughly before submitting this pull request.
[x ] I have provided relevant issue numbers and screenshots after making the changes.

@huamanraj @anuragverma108 sir pls check deployment before merging into the main


i524 introduction

The following are what was in the old introduction to clouds, if the box is checked then it was covered in the updated intro

[ ] X-informatics
[x] Emerging Technologies

[x] Hypecycles

[ ] Data Deluge - algorithms in the cloud
[x]  Jobs
[x] Industrial Trends
[ ] Digital Disruption of Old Favorites
[x] Computing Model

[x] infrastructure
[x] Platform anda software as a service

[ ] Research model
[ ] Data Science Process DIKW
[ ] Physics informatics
[ ]  Recommender Systems
[ ] Web Search and Information Retrieval
[x] Cloud Application in Research
[x] Parallel Computing and MapReduce
[ ] Data Science Education

We split attending these lectures, I have identified topics that I know were covered and that I could tell from slides. If you can take a look and check any boxes you know were covered it would be great don't spend more than a minute or two on this as I can go back through the lectures if need be.


np.expand_dims(im_as_np, 0)

Because  torch.from_numpy(pic.transpose((2, 0, 1))),  we need set the axis=2  in the np.expand_dims().
When converts a PIL.Image (RGB) or numpy.ndarray (H x W x C) to a torch.FloatTensor of shape (C x H x W), numpy array shape is [28,28,1], and then the corresponding shape of torch is [1,28,28].

Hello,
I'm having hard time finding which line you are referring to. Where is the below code in the repository?
torch.from_numpy(pic.transpose((2, 0, 1)))

Apologies for the ambiguity. I mean "im_as_np = np.expand_dims(im_as_np, 0)"  should be np.expand_dims(-1), maybe.
"torch.from_numpy(pic.transpose((2, 0, 1)))" is the reason for it.

Hey,
If you need to expand from the rightmost channel expand it with '-1'. The reason it is expanded with '0' is because the channel dimension is missing for grayscaled images.

yes,I know what you means. But when converting numpy to torch, the image's shape should be(H x W x C), not (C x H x W).

No, in pytorch the shape of inputs is (Batch) x C x H x W. In tensorflow the shape of the input is H x W x C

Oh, sorry.  I went to check again.
This problem is encountered when using data = torchvision.transforms.ToTensor(data). But you use torch.from_numpy(data).


Fix repeated spelling error

Just a spelling error fix in the docstrings.
s/paramter/parameter

I signed it!

@dhermes Oops... I must have mashed my keyboard down sometime.
Fixed. :) Should be good to go.


thi.ng/geom 0.0.777-dirty not found

when running 'lein deps' I got the following
'''
Retrieving figwheel/figwheel/0.2.5/figwheel-0.2.5.jar from clojars
Retrieving clojure-complete/clojure-complete/0.2.3/clojure-complete-0.2.3.jar from clojars
Could not find artifact thi.ng:geom:jar:0.0.777-dirty in central (https://repo1.maven.org/maven2/)
Could not find artifact thi.ng:geom:jar:0.0.777-dirty in clojars (https://clojars.org/repo/)
This could be due to a typo in :dependencies or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
'''
I am not behind a proxy. I edited 'project.clj' to reference thi.ng/geom 0.0.777 instead, and 'lein deps' completed successfully.

Hiya, I know, I know... am busy working on 0.0.778 which fixes the issue we had with 777 and also uses a newer version of Clojurescript (in which I discovered another bug).
Also see here: https://gitter.im/learn-postspectacular/resonate-workshop-2015?at=5530e1c608c7a53a4a1d9c80
Will let you know here when this is complete. Sorry about the delay...

geom 0.0.778 never happened and instead this project is now using 0.0.803 and everything works out of the box...


Only wait for th elids that you are interested in.

@toregge PR
Just for discussion.

With visibility delay being 0, only state A and B are relevant.
With nonzero visibility delay, states A, B, C and D are relevant.
Removing the first assumption leads to more states (superpositioning of the above states).
The commit above fails to track state B when visibility delay is zero (uses nooplidtracker) and fails to track state C and D when visibilitydelay is nonzero.

There is more coming

@toregge Now you can take another look. Tests are added and interfaces refactored to only need 1 lookup in the fast path.

@geirst : FYI


PromptConfig without ViewModels

Hello I'm developing Xamarin forms with (android and ios)
and I want to use this library without  using ViewModels
I want to use it like this
var prompt = new PromptConfig             {                 Title = "feedback",             }; dialogs.Prompt(prompt);
when I used this code nothing happened

Come on man.... do a little bit of due diligence before filing things like this!  Use the samples project!  You aren't even close to using the library properly.

when I use it with binding and command it work successfully.
but my question is how to use it within method code?

You can call for a dialog anywhere using this library so long as a view is available (rendered).
However, if you want help beyond that, you need to send more than a line of code.  Maybe some logs with an issues, some surrounding code, etc.  Next time, please don't delete the contribution guide in the issue template.


Refactoring (Phase I)

PHASE I (The first phase towards the ultimate refactoring)
Introduction
Before implementing new features, I have decided to refactor our codebase in order to make the integration of new features smoother. This phase mainly focuses on addressing the issues caused by adding last-minute features before the demonstration. It also contains some minor changes to make the implementation of the upcoming phases easier.
Issues Addressed

main.fxml was also as bloated as its corresponding controller class, MainController
Since the toolbar features were deeply coupled in MainController which made it harder for maintenance
The same applies to the algorithm selection feature
Bloated MainController that was lacking cohesiveness on a great magnitude
The problem instance that was kept in the memory was not tidy and in order at all

Resolution

In the commit "Create ToolBarController", anything regarding the toolbar was moved into the new class ToolBarController
In main.fxml, the code regarding the toolbar was moved into the new FXML file toolBar.fxml
In the commit "Extract algorithm selection", anything regarding the algorithm selection was moved into the new class AlgorithmSelectionController
In main.fxml, the code regarding the algorithm selection was moved into the new FXML file algorithmSelection.fxml
In the commit "Create WSNPrototype", WSNPrototype was introduced because we needed a better representation of the problem instance that was kept in the memory before initializing a WSN object.
Finally, WSNPrototype was incorporated into the project by replacing the code sections which otherwise were too sloopy and untidy.

Conclusion
As it was mentioned in the introduction, this pull request dealt with the disorder that arose from the urgent addition of some features. I have reduced the workload of MainController, which had a significant impact on the consistency of the code structure.
Future Work
In the upcoming second phase, I plan to focus on compartmentalizing InputsController and applying the same treatment that I did to MainController.
Feedback
Any feedback is welcome but please try to keep it within the scope of the changes made in this pull request without getting ahead of yourselves for the issues that are already planned to be addressed in the future phases.

I will apply your suggestions but I think a more extensive application of validation mechanism is very needed because the system relied on the correct inputs hitherto. This process probably deserves its own pull request. In fact, I will note it as one the issues that need to be addressed. Thanks for bringing it to my attention.


Refactor of track_variable_lifetimes for vastly improved performance

For some really complex shaders, we profiled track_variable_lifetimes to be an important bottleneck in shader runtime optimization time.
Part of this function was an outer loop over every instruction, and any time it found a loop instruction, it would then loop over EVERY symbol, looking for symbols that were modified within the loop body, and marking the symbol in such a way as to expand its lifetime to fill the whole loop (because its value may be needed the next iteration).
This refactor still loops over all instructions, but we use a simple stack to keep track of any nested loops we are a part of. For each instruction, it looks at just the symbols that are arguments of that instruction, and for those, extends its lifetime to fill any loops the instruction is part of.
This changes the work from number_of_insructions*k1*total_number_of_symbols (where k1 is the fraction of instructions that are loop instructions) to number_of_instructions*k2 (where k2 is the number of symbol arguments per instruction, almost always 2 or 3). I'm seeing about a 50x reduction in amount of time spent inside this function, for very complex shaders.

LGTM


[theme] Allow custom typography variants

MUI allows you to add custom keys to the theme configuration. However, there is no way to expand the design system unless you create a whole new component. Allowing MUI components to reference custom theme keys would bring customization to a whole nother level.
createMuiTheme({
  typography: {
    poster: {
     fontSize: '5.8rem'
    },
  },
});

Usage:
<Typography variant="poster">Super big headline</Typography>

Resolved in https://github.com/mui-org/material-ui/pull/22006

Ah I was on an older version. Will check this out. Sorry for the dup!

I wonder if we shouldn't reopen. #22006 doesn't directly address the problem of @fandy. With #22006, what people can do is:
const theme = createMuiTheme({
  typography: {
     poster: {
       fontSize: '5.8rem'
    },
  },
  variants: {
    MuiTypography: [
      {
        props: { variant: 'poster' },
        styles: theme.typography.poster,
      },
    ],
  },
});

declare module '@material-ui/core/Typography/Typography' {
  interface TypographyPropsVariantOverrides {
    poster: true;
  }
}

<Typography variant="poster" />

But it's not what asked for:
const theme = createMuiTheme({
  typography: {
     poster: {
       fontSize: '5.8rem'
    },
  },
});

declare module '@material-ui/core/Typography/Typography' {
  interface TypographyPropsVariantOverrides {
    poster: true;
  }
}

<Typography variant="poster" />

It's a lot like #13875 where we talk about being able to tap into the theme directly without indirections.

I agree, in my opinion this is related to dynamic styles, which is a different problem

Ok I'm reopening to match #13875

We have fixed the underlying technical issue in #23841. Now, developers can do 🎉:
import * as React from "react";
import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles";
import Typography from "@material-ui/core/Typography";

const theme = createMuiTheme({
  typography: {
    poster: {
      color: "red"
    }
  }
});

declare module "@material-ui/core/styles/createTypography" {
  interface Typography {
    poster: React.CSSProperties;
  }

  // Allow configuration using `createMuiTheme`
  interface TypographyOptions {
    poster?: React.CSSProperties;
  }
}

// Allow the Typography component to accept the new variant
declare module "@material-ui/core/Typography/Typography" {
  interface TypographyPropsVariantOverrides {
    poster: true;
  }
}

export default function FontSizeTheme() {
  return (
    <ThemeProvider theme={theme}>
      <Typography variant="poster">poster</Typography>
    </ThemeProvider>
  );
}

https://codesandbox.io/s/fontsizetheme-material-demo-forked-l9u05?file=/demo.tsx

We have fixed the underlying technical issue

Does this also allow removing typography variants by removing keys? (It came up in some related feedback.)

Does this also allow removing typography variants by removing keys?

@mbrookes Yes

any chance of getting this in current version?

any chance of getting this in current version?

@kishorekumaru it is already available. Take a look on https://next.material-ui.com/customization/typography/#adding-amp-disabling-variants

@kishorekumaru it is already available. Take a look on https://next.material-ui.com/customization/typography/#adding-amp-disabling-variants

@mnajdova I follow the same tutorial on the current version v4.11.2 but typescript throwing an error on variant declaration, here is my code in sandbox please let me know if I am doing something wrong
https://codesandbox.io/s/infallible-rhodes-jg6gf?file=/src/App.tsx

@mnajdova I follow the same tutorial on the current version v4.11.2 but typescript throwing an error on variant declaration, here is my code in sandbox please let me know if I am doing something wrong
https://codesandbox.io/s/infallible-rhodes-jg6gf?file=/src/App.tsx

@kishorekumaru This is a v5 only feature. See the policy for v4

⚠ All ongoing work has moved to v5. The development of v4 is limited to important bug fixes, security patches and easing the upgrade path to v5.

@kishorekumaru This is a v5 only feature. See the policy for v4

⚠ All ongoing work has moved to v5. The development of v4 is limited to important bug fixes, security patches and easing the upgrade path to v5.

@kishorekumaru did you find a way to fix it? I could extend typography but variant is throwing a typescript error like yours.

@kishorekumaru did you find a way to fix it? I could extend typography but variant is throwing a typescript error like yours.

if someone wants to do this in V4, you can wrap the Material UI component with some of your own variants:
import { Typography as MuiTypography, withStyles } from "@material-ui/core";
import clsx from "clsx";

const style = (theme) => ({
  number: {
    fontSize: theme.typography.pxToRem(20),
    fontWeight: 700,
  },
  label: {
    fontSize: theme.typography.pxToRem(11.5),
    letterSpacing: "0.05em",
    fontStyle: "italic",
  },
});

/**
 * Overrides default material UI typography with some additional variants
 */
const Typography = ({ variant, classes, className, ...props }) => {
  const isCustom = Object.keys(classes).indexOf(variant) > -1;
  return (
    <MuiTypography
      className={isCustom ? clsx(classes[variant], className) : className}
      variant={isCustom ? undefined : variant}
      {...props}
    />
  );
};

export default withStyles(style)(Typography);

then using the typography component above, you can use your own variants:
<Typography variant="number">42</Typography>

not as nice as being able to define in the theme, but it works 🤷

A more clean approach to custom variants to be prepared for v5, from my perspective, would be:
`
import { createMuiTheme, makeStyles, ThemeProvider } from "@material-ui/core/styles"
let theme = createMuiTheme({
typography: {
display1: {
fontSize: '64px'
}
}
})
let styles = makeStyles( theme => ({
display1: theme.typography.display1
}))
const Component = () => {
const classes = styles()
return (

Hello

)
}
export default Component
`

@Lane Do you know how we could add Types for your proposal?

Do you know how we could add Types for your proposal?

@felipepastor Interesting point. I think that we could update https://next.material-ui.com/guides/composition/ to describe how to extend the props of the components, including TypeScript. We have a couple of frequently upvoted issues related to it.
For instance, @eps1lon has been advocating for using more this wrap pattern. There are definitely cases where you don't want to update the theme to add a variant to your how application, but instead, create a specialized component.

      variant={isCustom ? undefined : variant}

Just FYI if anybody is implementing something similar: body1 was being applied to all custom types (since leaving it undefined defaults to body1) and in some places taking precedence. I've switched it out to variant={isCustom ? "inherit" : variant} until we get the chance to upgrade to v5

@oliviertassinari, i cant understand how it works with typescript,

autocomplete works

but when im try provide as string it`s doesnt

latest typescript, IDE WebStorm
"typescript": "^4.4.3"

@oliviertassinari , how do correct autocompletion for new variants?
declare module '@mui/material/styles/createTypography' {
  interface Typography {
    title: TypographyStyle;
    subtitle: TypographyStyle;
    paragraph: TypographyStyle;
  }

  // allow configuration using `createMuiTheme`
  interface TypographyOptions {
    title?: TypographyStyleOptions;
    subtitle?: TypographyStyleOptions;
    paragraph?: TypographyStyleOptions;
  }
}

declare module '@mui/material/Typography/Typography' {
  interface TypographyPropsVariantOverrides {
    title: true;
    subtitle: true;
    paragraph: true;
    h3: false;
    h4: false;
    h5: false;
    h6: false;
  }
}

like align prop, by string(variant="title"), not variant={'title'}

@oliviertassinari , and also withStyles doest show properties for autocomplete, there is nothing types when mouse hover to variant
import { withStyles } from '@mui/styles';
import MuiTypography from '@mui/material/Typography';

export const Typography = withStyles(
  () => ({
    root: {
      fontWeight: ({ fontWeight }) => fontWeight,
    },
    title: {
      fontSize: 32,
      fontWeight: 600,
      lineHeight: '48px',
    },
  }),
  {
    name: 'Typography',
  }
)(MuiTypography);

Can a custom Typography variant be defined a certain element type by default?
The example above <Typography variant="poster">poster</Typography> yields in poster. What if I wanted it to be
poster
?
Yes this works <Typography variant="poster" component="p">poster</Typography> but passing the component prop every time feels unnecessary.

Can a custom Typography variant be defined a certain element type by default?

I'm blind and completely missed variantMapping in the docs.

Is it possible to use custom variant and all default variants in same time, cause i don't want to disable any default variants, how can i do this ?


build and test with maven, unit test added for RealtimeSpeciesTyping

See src/test/resources for input SAM and Index files.
See src/test/java for JUnit tests.
Tests can be run with mvn test

@lachlancoin this is passing tests with mvn test, please confirm and merge.


No way to import .evtx logs??

I would certainly pay nearly any amount for the ability to import Windows event logs from .evtx files.
The server's security log is HUGE and it would take all available RAM and much waiting time to parse logs directly on the server which simply is just not feasible.
This is a spectacular application for certain, honestly the best I've found thus far but without a clearly defined way of importing an .evtx log, I must sadly move on with my search. 😔

@sam-morin Thanks for your feedback. We will start surveying about .evtx file and try to design how to load it and how to deal with loading huge file.

Thank you. I absolutely love this application. I can't say thank you enough!

@sam-morin We have just released <IP_ADDRESS>3-preview with built-in support for reading .evtx file and allow setting the maximum number of logs read from large log file. Please have a try, thanks.

Features are supported by <IP_ADDRESS>9.

Thank you!!


cmd/go: go fmt shouldn't send network request in module mode

What version of Go are you using (go version)?
master branch, 0fe1986
Does this issue reproduce with the latest release?
Partially.
What did you do?
mkdir ~/test
cd ~/test
go mod init github.com/a/b
echo 'package main\nimport "github.com/a/b/c"\n' > main.go

And then there are three situations.

cd ~/test; go fmt
cd ~/test; go fmt ./main.go
cd ~; go fmt ~/test/main.go

What did you expect to see?
go fmt reformats the file main.go in the three situations.
If I didn't run go mod init github.com/a/b, everything works fine.
What did you see instead?
On master branch, with commit eca5c83a3e, go fmt runs git ls-remote -q https://github.com/a/b and fails in the three situations.
build github.com/a/b: cannot load github.com/a/b/c: cannot find module providing package github.com/a/b/c

Go1.12 fails in situation 1 and 2, and it succeeds in situation 3.
I think there are two things to be fixed.

go fmt doesn't need to find package github.com/a/b/c and it shouldn't run git. It can just reformat the file.
If the module github.com/a/b is in the directory ~/test and I am doing something with ~/test(such as cd ~/test; go build), go should look for github.com/a/b and github.com/a/b/c in ~/test. It shouldn't use git or request github.com to find the current module.

Duplicate of #30577? Also, consider using gofmt instead, if you want a lower-level tool which will never resolve or fetch any packages.

Hmm, we could probably improve behavior here by ignoring imports when loading packages and rejecting package paths outside of the main module. We may be able to avoid loading the build list and going out to network that way.
#30577 is a dup that points to #27841: adding a -mod flag for go fmt. I don't think it makes sense to format sources in other modules though, so we don't need to load them.

I don't understand why go fmt needs to load packages.
If it just does the following things, what will be wrong?
go fmt path/to/file.go => gofmt -l -w path/to/file.go
go fmt . => for f in ./*.go; do gofmt -l -w $f; done
go fmt ./... => for f in **/*.go; do gofmt -l -w $f; done
go fmt github.com/a/b => for f in $GOPATH/src/github.com/a/b/*.go; do gofmt -l -w $f; done

go fmt arguments should be interpreted the same way go build interprets arguments for consistency. For example, go fmt ./... should not recurse into testdata directories or process hidden files.

This is not reproducible on 1.18.3.


Fix/66 new lambdas iac

This PR provides fixes and related changes that address issues preventing successful deployment following #66.
Summary of changes:

Consolidate multiple aws_s3_bucket_notification resources for the same bucket in Terraform, per this note from the Terraform documentation

S3 Buckets only support a single notification configuration. Declaring multiple aws_s3_bucket_notification resources to the same S3 Bucket will cause a perpetual difference in configuration. See the example "Trigger multiple Lambda functions" for an option.

To be clear "perpetual difference" means that the resources will be in conflict, and will create a race condition during terraform apply wherein one of the resources will always overwrite the other(s).

Update the naming convention used to refer to the bucket where CPF Reporter data (uploads and their derived JSON files, as well as reporting templates, and other S3 data managed at runtime) is stored. Since this bucket is used to store more than just uploads, I updated names like cpf_uploads_bucket to reporting_data_bucket.

Reorder and add // Label comments to the various inputs on the lambda_function-graphql Terraform module, and update the other lambda_function- modules (added in #66) to match.

Hopefully, this change will contribute to more of a "living example" out of these implementations and make it easier to add new Lambda functions in the future.
As discussed with @as1729, more formal documentation around how to add a Lambda function may ultimately be warranted, but this seems like a good starting point. Curious to get @dysmento's thoughts on whether this makes our Lambda conventions more obvious.
Would be good to discuss if anything still seems unclear / if there are questions about why a convention exists.
NB: In addition to more documentation, I'm also interested in leveraging something like TFLint or another static analysis tool to make it easier to validate conventions in CI workflows at PR time, which would help avoid post-merge failures when deploying to Staging.

Expose the name of the reporting data bucket as a $REPORTING_DATA_BUCKET_NAME environment variable to all Lambda functions.

@dysmento A few questions related to this set of work:

There's a comment here about calling a separate API endpoint for validation. Any reason this would be preferable to just executing the validation logic directly within that Lambda function?
If there is a need to do this via an API call, does that endpoint exist yet?
I'm seeing some code in api/src/lib/persist-upload.js that seems geared to persist files to disk. I'm assuming that's placeholder code for the moment, but can you confirm whether that's the case?


Wikipedia page id in wikipedia.page error does not match search query

Trying to access a valid wikipedia page (with redirect, see https://en.wikipedia.org/wiki/Petawatt) this error is thrown:
>>> wikipedia.page("Petawatt")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/.local/share/virtualenvs/quantulum3-mx2jnqkR/lib/python3.6/site-packages/wikipedia/wikipedia.py", line 276, in page
    return WikipediaPage(title, redirect=redirect, preload=preload)
  File "/home/user/.local/share/virtualenvs/quantulum3-mx2jnqkR/lib/python3.6/site-packages/wikipedia/wikipedia.py", line 299, in __init__
    self.__load(redirect=redirect, preload=preload)
  File "/home/user/.local/share/virtualenvs/quantulum3-mx2jnqkR/lib/python3.6/site-packages/wikipedia/wikipedia.py", line 345, in __load
    raise PageError(self.title)
wikipedia.exceptions.PageError: Page id "per watt" does not match any pages. Try another id!

The PageError contains a wrong id following this legitimate search query.
This does not occur if auto_suggest is turned off. Anyway the title shouldn't be changed in the pageerror on my opinion.
>>> wikipedia.page("Petawatt", auto_suggest=False)
<WikipediaPage 'Watt'>

I have the same issue.
>>> import wikipedia
>>> wikipedia.page("Republican Party (United `States)")
Error:
Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "C:\Users\fredr\Anaconda3\lib\site-packages\wikipedia\wikipedia.py", line 276, in page     return WikipediaPage(title, redirect=redirect, preload=preload)   File "C:\Users\fredr\Anaconda3\lib\site-packages\wikipedia\wikipedia.py", line 299, in __init__     self.__load(redirect=redirect, preload=preload)   File "C:\Users\fredr\Anaconda3\lib\site-packages\wikipedia\wikipedia.py", line 345, in __load     raise PageError(self.title) wikipedia.exceptions.PageError: Page id "republican party untied states" does not match any pages. Try another id!
Thank you for mentioning auto_suggest @nielstron , that will solve my problem.

Same problem.

Maybe you want to check this issue.

Yeah I find that I need to set auto_suggest=False when I know the page names I have exist, i.e. I've gotten the names from wikipedia.search().

Thank you so much! I've been tearing my hair out over this, trying to figure out why two-three articles out of several hundred with the same URL schema are throwing errors.

Likewise! Thanks.

Thanks to this thread, I finally found the solution I needed:
Use wikipedia.search (NOT wikipedia.suggest, which I was using, but which seems to be completely useless for my needs) and lookup the first value in the array ([0] - the first search result) to find a valid article. Then, use definition=wikipedia.summary(word, sentences = num_sentences, auto_suggest=False, redirect=True).
This solved the problem for me, and I hope it does for everyone else!

wikipedia.summary(Query, sentences=2, auto_suggest=False, redirect=True), It's working!

When i search for thomas edison it gives me an error:     raise PageError(self.title)
wikipedia.exceptions.PageError: Page id "thomas ed8son" does not match any pages. Try another id!
Other searches are ok.
import wikipedia

while True:
    input = raw_input('Question: ')  # raw input is python2 input is python3
    print wikipedia.summary(input, sentences=2)

This appears to be fixed.
Tested on Python 3.9.13 with 1.4.0 build.


Use iterative machine mixin in AveragedPerceptron

@shubham808 This PR addresses the project 'inside the black box II' and issue #4488.
I still need to write some unit tests, but I would like to get confirmation that this is the right way, since I'm still new to this project.

clone_equals_empty test in SGObjectAll_unittest fails for CAveragedPerceptron after the commit, I'm trying to figure out why. Any help is appreciated.

good first pr :)
a unit test is also necessary since we need to make sure what we did actually works, see consistency tests here

@shubham808 consistency_training_tests has that test that makes sure that two models: one with max_iterations = 1 and the other stopped after an iteration, yield the same results. This isn't true here, since the one with max_iterations=1 has different weights because end_training() method is called after training is finished, which changes the weights to the final form (performs averaging).
For this to work, end_trainig() has to be called when training is stopped for whatever reason. But this will require us to copy intermediate weights, so that training can be resumed with the intermediate weights instead of the averaged ones.

@shubham808 consistency_training_tests has that test that makes sure that two models: one with max_iterations = 1 and the other stopped after an iteration, yield the same results. This isn't true here, since the one with max_iterations=1 has different weights because end_training() method is called after training is finished, which changes the weights to the final form (performs averaging).
For this to work, end_trainig() has to be called when training is stopped for whatever reason. But this will require us to copy intermediate weights, so that training can be resumed with the intermediate weights instead of the averaged ones.
Edit: My suggestion won't work since end_training() is also used to free used resources by other algorithms. So maybe something like pause_training()?
Edit2: In this implementation of AveragedPerceptron, weights are summed across iterations, then averaged. Maybe this can happen online: mean_{n+1} = mean_{n} + (x - mean_{n}) / (n + 1)

We had this issue before. I dont remember how we exactly solved it. A running average seems to work here and seems like a very good idea. Make sure to pick a numerically stable one (might require some googling). Could you add a way to update a mean vector/scalar in linalg in a separate PR? Then you can rebase this PR here to use it. This would be better than just adding the explicit code in here and then it could be used in other algorithms (LARS comes to mind where it is done explicitly as well)

@theartful  Nice clean up for the tests, CI error seems unrelated
about the setting of continue features maybe we could try doing that here ?

Unrelated, but for some reason the LibLinearRegression test on MacOS passed :"D

Cool ci passed so this is almost good to go. I’ll do one more detailed read through later and then we can merge

@theartful lets check for memory leaks of the new test and then this is good to go from my side :+1:

@shubham808 no memory leaks
$ valgrind ./shogun-unit-test --gtest_filter=IterativeMachine
==16774== Memcheck, a memory error detector
==16774== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==16774== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==16774== Command: ./shogun-unit-test --gtest_filter=IterativeMachine
==16774==
Note: Google Test filter = IterativeMachine
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (18 ms total)
[  PASSED  ] 0 tests.
==16774==
==16774== HEAP SUMMARY:
==16774==     in use at exit: 244 bytes in 4 blocks
==16774==   total heap usage: 56,722 allocs, 56,718 frees, 4,652,814 bytes allocated
==16774==
==16774== LEAK SUMMARY:
==16774==    definitely lost: 0 bytes in 0 blocks
==16774==    indirectly lost: 0 bytes in 0 blocks
==16774==      possibly lost: 0 bytes in 0 blocks
==16774==    still reachable: 244 bytes in 4 blocks
==16774==         suppressed: 0 bytes in 0 blocks
==16774== Rerun with --leak-check=full to see details of leaked memory
==16774==
==16774== For counts of detected and suppressed errors, rerun with: -v
==16774== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)


Cancel linked Talpa order and subscription

Description
During permit ending process, cancel also linked Talpa order and subscription.
Context
PV-592
PV-593
How Has This Been Tested?
Manually by ending the permit from the webshop UI and using mocked JUnit-tests.

Codecov Report

Merging #365 (796fcb5) into develop (264aa10) will decrease coverage by 0.26%.
The diff coverage is 58.26%.

@@             Coverage Diff             @@
##           develop     #365      +/-   ##
===========================================
- Coverage    78.11%   77.85%   -0.26%
===========================================
  Files          142      142
  Lines         7826     7897      +71
===========================================
+ Hits          6113     6148      +35
- Misses        1713     1749      +36

Impacted Files
Coverage Δ

parking_permits/views.py
64.45% <50.00%> (-0.48%)
:arrow_down:

parking_permits/models/order.py
80.31% <51.76%> (-10.60%)
:arrow_down:

parking_permits/customer_permit.py
72.40% <77.77%> (-0.21%)
:arrow_down:

parking_permits/cron.py
82.60% <100.00%> (ø)

parking_permits/exceptions.py
100.00% <100.00%> (ø)

parking_permits/tests/test_views.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


SUBSTRING_INDEX() function support

MySQL has a string function named SUBSTRING_INDEX().
In the official document, there is following explaination:

SUBSTRING_INDEX()	Return a substring from a string before the specified number of occurrences of the delimiter

Could you please add this feature to Crate.
Thanks!
Sincerely

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37603146-substring_index-function-support?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github).

hi @dbarobin, we added it to our backlog. i'll tell you when i got an update on this.

@dbarobin this could also be an easy pick for a contribution or a plugin (https://crate.io/docs/reference/plugins.html). so if you'd like to give it a try we'd be very happy to help.

@joemoe Thanks!


#1230 Fix typo in service_crategen README.md

Fix typo in `service_crategen\README.md' file
Closes #1230

Thanks!
The Semaphone build failed due to codegen output changes due to Rust 1.31.0 launching earlier today. A regeneration of services and we should be back to green!


Filter does not yet support duplicate_count check

Reported on the community Slack, duplicate_count does not appear to work in conjunction with table filters. All checks should support use with filters.

Looks like a duplicate of #1695 , closing


(ci) add semantic-release

setup and tested semantic-release based on csv-elasticsearch.

@rap2hpoutre you still need to add the GITHUB_TOKEN and NPM_TOKEN secrets for this to work!

@rap2hpoutre what do you think?

I committed your suggested changes - I'm not familiar enough with OCLIF so we should just see what happens :)


manual mode does not work for chained and spring animations

when using spring animation the animation is time based even though the setValue is called.
chaning with manual mode results in errors.
Expected behaviour:
manual mode should just work as if the value was a value on a timeline slider controlling video playback.
this is absolutely necessary for most use cases and longer chained animation debugging.

Hi!
Sorry for the slow response.
I've fixed manual mode with spring easing in the latest release 0.5.7.
Combining manual mode and chaining is a little trickier. I have to think about how you would expect it to work.

hi no worries i am doing it manually now, but of course would like to use the chaining in the future. let me know if i can help you. i think the project would hugely benefit from supporting this.


Directing "/" to load "index.html"

I was looking to have / load up 'index.html but not sure how to achieve it without going into the internals. Also I am sort of new to gleam so I couldn't get this to work properly just yet.
Here is my attempt at trying to get "/" to load "index.html" in the serve_file from the README
import mist.{Connection, ResponseData}
import mist/internal/file
import gleam/http/request.{type Request}
import gleam/http/response.{type Response}

// Having to move over internals to get access to this function

fn convert_file_errors(err: file.FileError) -> FileError {
  case err {
    file.IsDir -> IsDir
    file.NoAccess -> NoAccess
    file.NoEntry -> NoEntry
    file.UnknownFileError -> UnknownFileError
  }
}

fn serve_file(
  _req: Request(Connection),
  path: List(String),
) -> Response(ResponseData) {
  let file_path = string.join(path, "/")
  // Omitting validation for brevity
  mist.send_file(file_path, offset: 0, limit: None)
  |> result.map(fn(file) {
    case file_path {
      // Loading "/"
      "" -> {
        let content_type = "text/html"
        // Load up "index.html"
        let file_resp =
          "index.html"
          |> bit_array.from_string
          |> file.stat
          |> result.map_error(convert_file_errors)
          |> result.map(fn(stat) {
            mist.File(
              descriptor: stat.descriptor,
              offset: 0,
              length: option.unwrap(None, stat.file_size),
            )
          })

        // Ideally here we return 404 if the file isn't found otherwise 200 with the index.html file.
        response.new(200)
        |> response.prepend_header("content-type", content_type)
        |> response.set_body(
          file_resp
          |> result.or(mist.Bytes(bytes_builder.new())), // Return 404 response
        )
      }
      _ -> {
        let content_type = guess_content_type(file_path)
        response.new(200)
        |> response.prepend_header("content-type", content_type)
        |> response.set_body(file)
      }
    }
  })
  |> result.lazy_unwrap(fn() {
    response.new(404)
    |> response.set_body(mist.Bytes(bytes_builder.new()))
  })
}

Additionally I thought of doing it the gleam way of defining the pattern but couldn't get it working (not sure if it works in gleam?).
fn serve_file(
  _req: Request(Connection),
  [""]: List(String),
) -> Response(ResponseData)   { ...

Thank you for this library!

mist.serve_file takes the path segments to a file.  Just as an example, say you use the priv/ directory for your assets (this is probably the "standard" way to do this).  You'd get that with erlang.priv_directory("your_app_name").  This is annoying for this use-case, since the function requires the segments.
Anyway, with that, you should be able to do something like the following:
// probably don't want to do this in your request handler
let assert Ok(priv) = erlang.priv_directory("my_app_name")
case request.path_segments(req) {
  [], ["/"] -> {
    let index_path = string.split(priv <> "/index.html", "/")
    mist.serve_file(req, index_path)
  }
  // other paths
}

For the rest of your static assets, you can likely just use the path segments in your case (i.e. ["static", ..file_path]) directly.  That's why it was set up to take a list of strings.
Hopefully this helps!  I think you should be able to do this strictly with the public API.  The goal with the serve_file method was to avoid all those internals.  Obviously if something comes up that's not workable with it, I'm happy to tweak the behavior.

I think you should be able to do this without any of the internals.
For an example, say you have your index.html and other static assets in priv/ (this is relatively standard convention).  You can get this with erlang.priv_directory.  You can use this to reference your file path:
// don't do this in your request handler
let assert Ok(priv) = erlang.priv_directory("your_app_here")
case request.path_segments(req) {
  // I think this should cover the cases for this?
  [], ["/index.html"] -> {
    let index = string.join(priv, "/index.html")
    mist.send_file(index, offset: 0, limit: None)
    |> result.map(...)
    |> result.lazy_unwrap(...)
  }
  // other segments
}

The result.map value is the File which you can just pass directly to response.set_body.  I guess if you need some data from the file, you might need some other bits from that type.  But at least for getting the content type, I don't think it's required.
If the file isn't found (or one of the other errors), the result.lazy_unwrap case will have the errors.  You can use that similarly to the example in the README to return a 404.
Having typed this up, I'm not sure if it was particularly helpful.  The mist.send_file method should handle all of the stuff you need without having to reach into the internals.
I think maybe the confusion was around detecting the index path, particularly where to handle that?  You'd likely want to do that up front in your "routing" case statement (as in that example).  So you'd have something like:
case request.path_segments(req) {
  // this needs to be special cased, since it's different from your normal "static asset" path
  [], ["/index.html"] -> serve_index_file(req)
  // this could be used to just pass through `file_path` to `mist.send_file` for CSS, JS, HTML, etc
  ["static", ..file_path] -> serve_static_file(file_path)
  // this is just a dumb example for showing more routing stuff
  ["api", ..api_path] -> api_router(req, api_path)
}

Let me know if you have any other questions, or if I misunderstood what you were trying to achieve here!

Yes, that works great! Thank you! I was trying to do too much in my serve_file and forgot about the router above. This works a lot better and clearer. Your other examples are great ideas as well.
This is what I ended up with but still needs some more work.
import gleam/erlang
import filepath

pub fn main() {
  let assert Ok(priv) = erlang.priv_directory("my_app_name")

  let assert Ok(_) =
    fn(req: Request(Connection)) -> Response(ResponseData) {
      case request.path_segments(req) {
        ["index.html"] -> serve_index_file(req, priv)
        [] -> serve_index_file(req, priv)
        ...
      }
    }
    |> mist.new
    |> mist.port(3030)
    |> mist.start_http

  process.sleep_forever()
}

fn serve_index_file(_req: Request(Connection), priv: String) -> Response(ResponseData) {
  let index = filepath.join(priv, "index.html")
  mist.send_file(index, offset: 0, limit: None)
  |> result.map(fn(file) {
    response.new(200)
    |> response.prepend_header("content-type", "text/html")
    |> response.set_body(file)
  })
  |> result.lazy_unwrap(fn() {
    response.new(404)
    |> response.set_body(mist.Bytes(bytes_builder.new()))
  })
}

Thank you again!


Merge pull request #1 from HoeenCoder/master

Deso Pull Req

I think you want to pull into your branch, not push into mine lol.

lol


Synchronise folds in all splits

Feature description
Currently, if the same buffer is open in two splits toggling fold in one split won't affect the other split.
This is particularly annoying if virtual text is enabled.
Since virtual text is always shared between splits, as long as one split has the fold open virtual text will be shown.
Describe the solution you'd like
If I open fold in one split, it should also open in all other splits.
Additional context
No response

Please use nightly. It will use the new foldtext feature to render fold text.


This kind of OpenType tags

Summary

I hope Atom can implement this form of OpenType: (not sure if there's a proper name for it)

It uses numbers after the OpenType tag for separate variants.
Motivation

This is being used by a font called Iosevka. You may check it out under Variants à la Carte.
Describe alternatives you've considered

Additional context

You can configure this using Style Tweaks.
Thanks for reaching out!
Because we treat our issues list as the Atom team's backlog, we close issues that are questions since they don't represent a task needing to be completed. For most questions about Atom there are a lot of options, check out:

User Documentation — The Atom Flight Manual
Developer Documentation — Atom API Documentation
FAQ — The Atom FAQ on Discuss
Message Board — Discuss, the official Atom and Electron message board
Chat — Join the Atom Slack team

On Discuss and in the Atom Slack team, there are a bunch of helpful community members that should be willing to point you in the right direction.

Nevermind, I made a mistake. My bad!


Frequent errors are reported when editing markdown files

Just like the phenomenon in the picture:

I believe this error happens when you don't have a parser installed which I have checking in #50


chore(deps): fix vulnerability inefficient regular expression complexity

should fix the vulnerability "Inefficient regular expression complexity" in micromatch dep
https://security.snyk.io/vuln/SNYK-JS-MICROMATCH-6838728

https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.5

@SimenB why we are release this kind of vulnerability fix on an alpha version instead of publishing a new 29.7.1 version for example?

The update is in semver range, so any consumer is not blocked. This just gives it a boost


feat(ui)!: change vim.notify function signature

To closer match the now stabilized builtin.
When this plugin was first developed, nvim-notify and vim.notify did not exist so this plugin created it's own custom mechanism for it. This is in the long run a pain to continue to maintain and we can just defer to the new mechanisms for this.
@sidlatau @rlch can either (both) of you try this locally and see if there are any errors in your usage as I've changed every spot where notify was used and there could easily be breakage 🙏🏿

@sidlatau thanks for trying it out and pointing those out ❤

Just updated the PR and re-pushed seems to have been a dumb mistake on my end


anyone know what "box" and "boxes" results represent?

... I'm slightly confused as to what the "box" and "boxes" results represent.  'box' appears to be a 4 length array of 2-length arrays, but i'd expect a box would just be a single point pair.. rather than 4 of them.  'boxes' just seems to be an array of that array, though that might be different if multiples are encountered.

If I were to guess without delving in it deeper at the moment, i'd figure those are the 4 x&y-coordinates of the corners of the box?
Thank you for maintaining this repo by the way!

yeah, i think it might be a good idea to write a sample that visualizes the results in an obvious way (maybe draw some circles/dots at each point in the 'box' / 'boxes' arrays) to get a better idea what is represented there.
Since you can create a box using just 2 points, one corner, and the opposite corner, it slightly surprised me that it appears to have 4 points, but I guess that makes it easier without having to math out the other points.  I guess I'm used to game engines and UI building engines, where you can easily supply a box with just two points. :-D
So, you're probably right, but I think I might try to add some additional things to the react sample that indicate what the various outputs represent specifically . . . since I'm not the one who designed the output, and it isn't all entirely clear what all the things represent, or their purpose.

I might be wrong, but I don't think 2 points are enough to fully specify a box unless you require it to be axis-aligned. Since quagga supports rotated boxes, this might be the reason for 4 coordinates (just a guess, I did not look at the source)

I hadn't considered that, you are probably right there.  thinks have i ever tried to draw a box that wasn't axis aligned to the screen? i am not sure.


No https for showdownjs.com !

Looks like SSL certificate for https://showdownjs.com/ expired. Please look into this.

I will look into it

So what happened? The site still has SSL certificate issue.

The website is now secure.


postLocalNotification does nothing, no notification shown

I tryed to implement this to show notification from my app, but it doesn't do anything. postLocalNotification returns id but doesn't show notification. I tryed running example, still no notifications showing.
React Native implementation. Am I missing some part of implementation?

Share code please

Getting the same error for the wrong types - few of them does not exist (fireDate, category, etc) and some more are required. Anyone know what is happening?

Same issue here... types are wrong and method has no effect. Is this package maintained?

Hi,
After couple of non working code with this library, I switched to @notifee/react-native
I use it to present firebase notification when app is open and in foreground, like Messenger do for example:
...
 // Resend notification for local display (RNFirebase don't do so)
    if (when === When.front && 'notification' in message) {
      // Create a channel (required for Android)
      const channelId = await notifee.createChannel({
        id: 'default',
        name: 'main channel',
      })

      // Display a notification
      await notifee.displayNotification({
        title: message.notification?.title,
        body: message.notification?.body,
        data: message.data,
        android: {
          channelId,
          localOnly: true,
          pressAction: {
            id: 'default',
          },
        },
      })
    }
...

Hope it helps,
BR

Hi,
After couple of non working code with this library, I switched to @notifee/react-native
I use it to present firebase notification when app is open and in foreground, like Messenger do for example:
...
 // Resend notification for local display (RNFirebase don't do so)
    if (when === When.front && 'notification' in message) {
      // Create a channel (required for Android)
      const channelId = await notifee.createChannel({
        id: 'default',
        name: 'main channel',
      })

      // Display a notification
      await notifee.displayNotification({
        title: message.notification?.title,
        body: message.notification?.body,
        data: message.data,
        android: {
          channelId,
          localOnly: true,
          pressAction: {
            id: 'default',
          },
        },
      })
    }
...

Hope it helps, BR

I switched to notifee as well. Very simple to setup, no native setup required, works like a charm.

The issue with Notifee is that it doesn't fire an event when the app is in background and the notification is presented... I need to catch silent (data-only) notifications.

The issue with Notifee is that it doesn't fire an event when the app is in background and the notification is presented... I need to catch silent (data-only) notifications.

What do you mean? It fires notifications even when the app is in background.

same problem + 1

Here is how I solved it.
interface NotificationMessageType<T> {
  title: string
  body: string
  userInfo?: T
  sound?: string
  silent?: string
  category?: string
  fireDate?: string
}
const postLocalNotification = <T>(notification: NotificationMessageType<T>, notificationId?: number)=> {
    return Notifications.postLocalNotification(notification as unknown as Notification, notificationId)
}
postLocalNotification({ title: 'hello', body: 'world', fireDate: new Date().toISOString() })

on Android, open notification happed wrong.
2023-09-19 16:44:50.670  1616-2770  ActivityTaskManager     system_server                        E  START {flg=0x10200000 hwFlg=0x10 cmp=com.chen.test/.MainActivity (has extras)} result: 3

Switching to @notifee/react-native as well. Works flawlessly so far and their API appears to be more well-designed!


mobile hamburger cards

Cards on mobile prompting the scroll animation is kind of intense; don't think it's necessary for mobile.

definitely a quick fix, just need to not use the mantine useWindowScroll hook for mobile
the built in window.scrollTo is immediate i believe


Authentication: add pam module for console access using our standard authentication system

It would be better to support PAM, so all configurable authentication options are also available for shell access. This would also remove the need for the ipsec user auth patch, strongswan supports pam by default.

ok, sshd pam ruleset is in, we probably should switch the default system console as well...
Normal operation is to use our helper, enabling all our auth helpers for console(ssh) access (like ldap, radius, totp), the user may switch to unix standard.

I'm ok to switch login as well :)

ok, will fix that one too and close the issue when done.

@AdSchellevis thinking about the default of using the PAM.... how about this:
flip "disableintegratedauth" to "integratedpamauth", so the default for existing installations is off, and put it onto config.xml.sample to be used only on factory reset and new installs?

@fichtner I'm not sure that's a good idea, if people want to use another authentication type you keep explaining that for their config the setting is probably disabled.... I would rather switch the default.
Unfortunately a lot of people still try to import old configs, although that's another topic, it would be good to warn people that importing other configs is generally not a good idea.

@AdSchellevis ok, I'm fine with that. It just means I will have to postpone the switch to 16.7.10 or so just to make sure everything keeps working as expected.
I've set up TOTP now, will play with this for a while. :)

no rush ;)

TOTP works great on SSH so far!!
What I could see was that there is a question about whether we want to switch other binaries as well: su, sudo, login. How much sense does it make to make them configurable one by one? What would be the best batch from your point of view if we keep it simple?

Nice :)
I'm not sure, the easiest thing to start with is to change all at once. When our pam module is used it's rather easy to add another config section to register the different services and preferred authentication methods (change or replace /system_usermanager_settings.php)
Our module passes the type of service, which we can easily use to steer the behaviour. (this is what we need for ipsec at some point anyway)

ok, interested to see how that pans out. then I'll shut up about this now. after login is added we shall be done for this iteration/ticket and figure out the rest later. :)

@AdSchellevis the only blocker here is the login template, otherwise it could be on 16.7.11?

@fichtner login template, you mean normal gui? that's an optional switch.

console pam.d file "login".. that's the one, right?

for normal serial/tty authentication, I expect so, yes. Eventually we can switch the gui to use pam too, but that's more 17.7 material.

yup, for 17.1 ssd/login is all we need. We could add su and sudo, but this complicates privilege escalation too much IMO without having a knob for each service as discussed previously.
TLDR: on/off for sshd/login is all we need :)

https://github.com/opnsense/core/commit/ff8632c2c8d7ba43ec66751ea2adad7fae3f2de6
https://github.com/opnsense/core/commit/68de8c0225c552f8ec944da563b60ae1f085cbc3
https://github.com/opnsense/core/commit/643d2eef83397376bf7da792e04fbc1f6c3827f5
https://github.com/opnsense/core/commit/cc05a97726c615c73f5ea8f0cefb69c238158a76
https://github.com/opnsense/core/commit/cc05a97726c615c73f5ea8f0cefb69c238158a76

@AdSchellevis 4ac59b3485631998eef6b0ebe25939076f4efdc3 23cf4fe10f74336fd7c8600e0d8f84f70f2708ea I think now we're good :)

Ok, this one too https://github.com/opnsense/core/commit/7792d8ad7fa0a93a4827ec287ee688d371bd5709

:)

Now I'm 94% sure it works :D


Better getting started documentation

It would be nice to have better getting started documentation.
How to install the connector, set it up and start using it.

Thanks for your report @dmathieu!
Yes, getting started documentation is something really important and we will work on this very soon. Stay tuned

Seconding this

+1

+1

+1

+1

+1

+1


add oisp - hcmut vn

@KevinDangVN Please provide us with:

the school official website URL
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@KevinDangVN I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for the understanding!


Import: Add subdomain in the import script.

Also remove user input of subdomain in the slack data
conversion script.

Looks great, merged, thanks @rheaparekh!


Falcosidekick does not notify on slack Webhooks when it is installed using Helm

Describe the bug

Falcosidekick does not notify on slack Webhooks when it is installed using Helm
How to reproduce it

Create a K3s cluster

Install Falco and Falcosidekick using Helm: helm install falco falcosecurity/falco -n falco --set falco.jsonOutput=true --set falco.jsonIncludeOutputProperty=true --set falco.httpOut.enabled=true --set falco.httpOutput.url=http://falcosidekick:2801/ --set falco.programOutput.program=""jq '{text: .output}' | curl -d @- -X POST https://hooks.slack.com/services/T01k9A05X55/B01KM16MAG5/KCYBsvMPDeHyJ3KhmSeN93nY"" --set falcosidekick.enabled=true --set config.slack.webhookurl="https://hooks.slack.com/services/T01k9A05X55/B01KM16MAG5/KCYBsvMPDeHyJ3KhmSeN93nY" --set config.slack.minimumpriority="debug" --set config.debug=true

Spawn a falco pod.  Falcosidekick does not sent a notification to the Slack workspace.

Expected behaviour

Screenshots

Environment

Falco version:

System info:

Cloud provider or hardware configuration:
OS:

Kernel:

Installation method:

Additional context

We made some tests with @balasu, I figure out what the issue, I'll propose an PR asap

We made some tests with @balasu, I figure out what the issue, I'll propose an PR asap

The issue is related to the helm chart for Falco, here the PR which will fix it https://github.com/falcosecurity/charts/pull/178

The issue is related to the helm chart for Falco, here the PR which will fix it https://github.com/falcosecurity/charts/pull/178

It's fixed now https://github.com/falcosecurity/charts/pull/178
Thank you for your help 🙏

It's fixed now https://github.com/falcosecurity/charts/pull/178
Thank you for your help 🙏

Thanks @Issif  and @balasu!!! I now get notifications on slack with: helm install falco falcosecurity/falco --set falco.jsonOutput=true --set falco.jsonIncludeOutputProperty=true --set falco.httpOut.enabled=true --set falco.httpOutput.url=http://sidekick:2801 --set falcosidekick.config.slack.webhookurl=https://hooks.slack.com/services/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 --set falcosidekick.config.debug=true


Got the server and client communicating, and foods from the seeded database displaying in the homepage.

Summary of Changes:
Created a server.js to run the backend database concurrently with the client server.
Adjusted the server side schemas to work with that new server.
Changed package.jsons to have updated depencies and run both servers when you "npm run dev".
Created a FoodList.jsx component that is called by an updated HomePage.jsx.
Wrapped main.jsx in an Apollo Client.
Set up utils/queries on the client side to pull food from the database.
Adjusted connection.js and other spots to better use our .env file (no need for change on this).
Built an index for server side models.
Did my best to add notation throughout so everyone can see the flow of information.

Since I first opened this, I also added some stock photos for the images just to confirm that part works, and have no errors present when ran locally.


Dashboard API Deploy Modal

Create API Deploy Modal that should contain:
Step 1:

Inputs for API name and namespace
Textarea for copying yaml/json string

Step 2:

Dropdown for selecting the service
Input for service name ( default will be from YAML/JSON if any upstream service ) - selecting a service will override it, if a service is selected make it disabled
Input for service namespace ( same as above )
Input for port ( dropdown if service selected because we know the available ports - otherwise just a normal input )

PR - https://github.com/kubeshop/kusk-gateway-dashboard/pull/28


Firmware update/upload (FPGArduino)

As mentioned in https://github.com/cliffordwolf/picorv32/issues/92; "The firmware should be uploaded in the flash memory using iceprog, outside of icestudio. In future versión we will integrate it into icestudio as well".
What about support for FPGArduino (see http://www.nxlab.fer.hr/fpgarduino/)? That would allow to compile and upload code via Arduino IDE:

https://github.com/f32c/arduino/issues/32

I re-open this because I still think this would be great idea and as mentioned in https://github.com/f32c/arduino/issues/32#issuecomment-473860377 I was just not able to get it working (even though I know I am really close - I just don't have the time anymore)...

Ok, had another idea. Now we have a bootloader and upload from arduino ide works. However the code does not execute after uploading yet. Looks like a mem mapping issue.

Can someone that knows the picorv32 please help at https://github.com/f32c/arduino/issues/32#issuecomment-474223383 the question is: "..."

See answer to #116.

I was not yet able to get it working but meanwhile I found another way at least to replace the Makefile by the Arduino IDE. Check https://github.com/f32c/arduino/issues/32#issuecomment-475811858
AlhambraII_Generic_picorv32.tar.gz

github repo: https://github.com/drtrigon/fpgarduino-icestorm


Add jobs command and jobs restart subcommand

for #831
This PR adds the ability to list jobs and restart them.
List all jobs in the project
$ acorn jobs
NAME                 ACTIVE    FAILED    SUCCEEDED   STATE     CREATED
cool-resonance.foo   1         0         0           Running   27m ago

Restart a job
$ acorn jobs rs resonance.foo
cool-resonance.foo

$ acorn jobs
NAME                 ACTIVE    FAILED    SUCCEEDED   STATE     CREATED
cool-resonance.foo   1         0         0           Running   32s ago

Checklist

[X] The title of this PR would make a good line in Acorn's Release Note's Changelog
[X] The title of this PR ends with a link to the main issue being address in parentheses, like: This is a title (#1216). Here's an example
[X] All relevant issues are referenced in the PR description. NOTE: don't use GitHub keywords that auto-close issues
[X] Commits follow contributing guidance
[X] Automated tests added to cover the changes. If tests couldn't be added, an explanation is provided in the Verification and Testing section
[X] Changes to user-facing functionality, API, CLI, and upgrade impacts are clearly called out in PR description
[ ] PR has at least two approvals before merging (or a reasonable exception, like it's just a docs change)

Note to reviewers - I've updated this PR to now have a custom strategy. This is because Job encompasses both batchv1.Job and batchv1.CronJob resources under-the-hood (if a schedule is set). I could've added some fancy logic into the Translator to process this but creating a custom strategy felt like a slightly cleaner way of doing this.
Open question to those reviewing as well - programmatically, what makes sense to do when acorn jobs rs <job with schedule> is called? I can delete the underlying CronJob, but it will still wait until its Schedule is processed. The current thought is to delete any batchv1.Job objects associated with the CronJob and create a new batchv1.Job resource owned by it but that feels somewhat like a controller type operation.

This PR has been further updated to now include three main changes such as the:

Use of jobs/restart as a sub-resource. This is necessary to properly restart Jobs in Manager as well as Runtime.
Ability to run acorn jobs rs on a CronJob and have it create a Job using its template
Use of AppStatus in Job gets and lists. This is also necessary for Manager use.


Unknown element in collection

🐛 Bug Report
Running the example given https://react-spectrum.adobe.com/react-aria/useMenu.html gives an error.

Unknown element <MenuItem> in collection.
Menu
/src/Menu.jsx:9:14
   6 |
   7 | export function Menu(props) {
   8 |   // Create state based on the incoming props
>  9 |   let state = useTreeState({ ...props, selectionMode: "none" });
     |              ^
  10 |

💻 Code Sample
codesandbox

Heya, I took a look at your codesandbox (thanks for attaching that by the way) and it looks like you are missing the Item import from the example. If you add the "@react-stately/collections": "3.0.2" dependency to your package.json and add
import {Item} from '@react-stately/collections'; to your App.js instead of doing import {MenuItem as Item ...} it should work.

Going to close this. If you are still having issues, feel free to reopen.

Thanks @LFDanLu , it worked.


chore(master): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2023-10-03)
Features

add a simple GCS storage impl (ba92a6c)
Support for GCS history backend (b9da17a)

Misc

bootstrap releases for path: . (#1) (ab61d2c)
prepare fork releases (917c224)

BugFixes

clean up prior solution attempt (55953bc)
compilation errors in test files (5053630)
small typos through scripts folder (0743349)
suggested changes and linter fix (0f5bb7f)
unit tests for tfmigrate (83fa280)
unit tests now passing (8067372)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/vincentgna/tfmigrate/releases/tag/v1.0.0 :sunflower:


Bubble with extra bottom empty space

I'm using the lib in a Swift project and I saw that in the Objective-C example, that comes with the lib, the problem is also present.
I'm simulating the error in iPhone 6s simulator and cellphone and it's the same on both.

If you want to reproduce all you have to do is send a message with more than 1 line as seen in the images above.
The strange thing is when I move the view the spaces disappear.
Does anyone know how to help me?
EDIT: This bug was somehow inserted from one version to the other, I had an example project here with an older version of the lib that the senderId was still an attribute and the problem wasn't present. The version is from december 2014.

I did some tests and when I put an observer to the keyboard with the following code:
        @objc private func keyboardUp(notification: NSNotification){
        let userInfo:NSDictionary = notification.userInfo!
        let keyboardFrame:NSValue = userInfo.valueForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
        let keyboardRectangle = keyboardFrame.CGRectValue()
        self.collectionView?.contentInset.bottom = keyboardRectangle.height + 2.0

        dispatch_async(dispatch_get_main_queue(), {
            self.scrollToBottomAnimated(false)
            self.collectionView?.collectionViewLayout.invalidateLayout()
        });
    }

I'm able to avoid this empty space problem and I already move they screen according to the keyboard correctly, but I start getting the following error:
2016-08-21 02:23:01.347 Msger[1126:476300] -[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UITextEffectsWindow: 0x125e58c70; frame = (0 0; 375 667); opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x125e56b50>> without matching -beginDisablingInterfaceAutorotation. Ignoring.
I saw that someone else reported this problem but what is happening to me is that when i scroll up fast the view kind of broke and scrolls down automatically and I get the error in the console output.
The other thing that I noticed that is happening and isn't just in my app but in the example app as well is that when I have a message with just one line the render occurs smooth but when it has more than one line it flashes and looks like its rendering everything again.
I hope that my investigation helps!

Hello everyone!
I'm sorry to inform the community that I'm officially deprecating this project. 😢 Please read my blog post for details:
http://www.jessesquires.com/blog/officially-deprecating-jsqmessagesviewcontroller/
Thus, I'm closing all issues and pull requests and making the necessary updates to formally deprecate the library. I'm sorry if this is unexpected or disappointing. Please know that this was an extremely difficult decision to make. I'd like to thank everyone here for contributing and making this project so great. It was a fun 4 years. 😊
Thanks for understanding,
— jsq


np.float was a deprecated alias for the builtin float.

Describe the bug
np.float was a deprecated alias for the builtin float.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
To Reproduce
Steps to reproduce the behavior:
import numpy as np
from dppy.finite_dpps import FiniteDPP

rng = np.random.RandomState(1)

r, N = 5, 10
# Random feature vectors
Phi = rng.randn(r, N)
DPP = FiniteDPP('likelihood', **{'L': Phi.T.dot(Phi)})

k = 4
for _ in range(10):
    DPP.sample_exact_k_dpp(size=k, random_state=rng)

print(DPP.list_of_samples)

Expected behavior
DPP.sample_exact_k_dpp(size=k, random_state=rng) to work.
Screenshots
There is a call to np.float in dppy/exact_sampling.py and two calls in dppy/intermediate_sampling.py

Thanks @qumaciel for raising the issue and @leejamesss for the PR!
Please note that a v1-dev branch had been initialized ; the proposed suggestion will also be incorporated.


Support for Cisco firmwares

I believe the files such as sx300_fw-14106.ros downloadable from Cisco (https://software.cisco.com/download/home/284576363/type/282463181/release/<IP_ADDRESS>) should be vxWorks but am not seeing any strings indicating that when opening, and vxhunter isn't having luck. Do you have any ideas, or have other ideas of where to obtain samples to test with?

Hi @rmspeers  You can using binwalk to extract the firmware.

In the _sx300_fw-14112.ros.extracted folder, you can find a file named '3FC'.
This file looks like the VxWorks image.

Load file 3FC to Ghidra(or IDA/Radare) as arm binary with load address 0x0, find the first brunch code at 0x00000054, this should jump to usrInit function(in most case).

Function usrInit(offset:0x00012128) will call another function to zero out the bss segment. You can decompile and found the function below.

You can found bss start and end address using  function parameter.

Now we have bss start address, you can using "bss_start_address" - firmware size to get the firmware image loading address. it's 0x013CC2E0 - 19710688 = 0x100000

Rebase the 3FC to 0x100000 and you can start with your research.
I haven't find the symbols and symbol file in this image, VxHunter can't automatic analyze image without VxWorks symbols. If you want test the VxHunter you can find example firmware at here

This script should extract the firmware files.
# !/usr/bin/env python3
# coding=utf-8
import struct

output_path = "./output"
source_file_data = open("sx300_fw-14112.ros", 'rb').read()

file_count = struct.unpack("<I", source_file_data[0x20:0x24])[0]
print("Found {} files in firmware".format(file_count))
print("Star extract files")
for i in range(file_count):
    file_name = source_file_data[0x50 + (i * 0x20):0x60 + (i * 0x20)]
    file_name = file_name.replace(b'\x00', b'')
    print("file_name: {}".format(file_name))
    file_offset = struct.unpack("<I", source_file_data[0x60 + (i * 0x20):0x60 + 4 + (i * 0x20)])[0]
    file_length = struct.unpack("<I", source_file_data[0x60 + 4 + (i * 0x20):0x60 + 8 + (i * 0x20)])[0]
    print("file_offset: {:#010x}".format(file_offset))
    print("file_length: {}".format(file_length))
    output_file = open("{}/{:#08x}_{}".format(output_path, file_offset, file_name.decode('utf-8'), ), 'wb')
    output_file.write(source_file_data[file_offset: file_offset + file_length])

➜  output ls -l
total 14768
-rw-r--r--  1 zhuwz  staff      107 Oct 29 14:18 0x0002d0_VER_COMP
-rw-r--r--  1 zhuwz  staff      161 Oct 29 14:18 0x00033b_DATETIME_C
-rw-r--r--  1 zhuwz  staff  4724312 Oct 29 14:18 0x0003dc_RSCODE
-rw-r--r--  1 zhuwz  staff        1 Oct 29 14:18 0x481a34_DYNAMIC
-rw-r--r--  1 zhuwz  staff   178862 Oct 29 14:18 0x481a35_CLI_FILE
-rw-r--r--  1 zhuwz  staff   771597 Oct 29 14:18 0x4ad4e3_DELSCRF
-rw-r--r--  1 zhuwz  staff  1790088 Oct 29 14:18 0x569af0_EWS_FILE
-rw-r--r--  1 zhuwz  staff    18886 Oct 29 14:18 0x71eb78_UPNP_FILE
-rw-r--r--  1 zhuwz  staff     6391 Oct 29 14:18 0x72353e_HPRM
-rw-r--r--  1 zhuwz  staff      244 Oct 29 14:18 0x724e35_SG300_SKU
-rw-r--r--  1 zhuwz  staff      245 Oct 29 14:18 0x724f29_SF300_SKU
-rw-r--r--  1 zhuwz  staff      110 Oct 29 14:18 0x72501e_EEE
-rw-r--r--  1 zhuwz  staff      160 Oct 29 14:18 0x72508c_Sx300_AC2_SKU
-rw-r--r--  1 zhuwz  staff       61 Oct 29 14:18 0x72512c_Sx300_POE+_SKU
-rw-r--r--  1 zhuwz  staff       45 Oct 29 14:18 0x725169_NONPOE_SKU
-rw-r--r--  1 zhuwz  staff       51 Oct 29 14:18 0x725196_ENV_MON_SKU
-rw-r--r--  1 zhuwz  staff      188 Oct 29 14:18 0x7251c9_ENV_MON_POE_SKU
-rw-r--r--  1 zhuwz  staff       97 Oct 29 14:18 0x725285_FAN_DIRCT_SKU
-rw-r--r--  1 zhuwz  staff      970 Oct 29 14:18 0x7252e6_MACRO_FILE
-rw-r--r--  1 zhuwz  staff       62 Oct 29 14:18 0x7256b0_PoE_pure


Default mapper options are not filtered

Specifying filter as true for Runtime::initialize or Runtime::start does not remove options like -dm:memoize from the argument list, such that an application that wants to validate its own options must recognize and ignore them.
@lightsighter: as requested.

I advertised this in the Legion meeting today. We'll probably follow-up with a discussion in the new year. I'll note the important points that I said in the Legion meeting for anyone else following-up later. Right now Legion and Realm both provide an option to filter command line arguments at start-up. The default mapper does not provide this option at the moment though. Providing this option in the default mapper though is challenging because we often make multiple default mappers in the same process and so we would need to communicate to the later mapper creation that it should do the filtering. Alternatively we could have Legion filter the default mapper arguments after making the last default mapper. However, that would then mean that we would need to go modify Legion every time the arguments to the default mapper were changed.

What if we add a method like:
static void DefaultMapper::initialize_arguments(int &argc, const char *&argv);

The initialized values get stored in class static variables so that later DefaultMapper instances can look them up.
If the user does not call this, then the DefaultMapper will consult the command line arguments in Legion as normal and get its arguments from there. So if you want the arguments cleaned up (prior to application initialization), you call DefaultMapper::initialize_arguments in main, but either way, the arguments get through to all DefaultMapper instances which the user creates.
I like this general approach because it provides a general way for any Legion library to initialize, supports any number of created DefaultMapper instances, and doesn't require the user to do anything if they don't use the default mapper or don't care what it does.

Just to be clear, you would need to call this static method before calling Legion::Runtime::start right? I think this approach is fine with me.

For the record, it's impossible to make such filter-based argument dispatch work reliably even if no two components define the same option (because one option's argument might be misconstrued as another component's option and because -- might or might not terminate options at one level or another).  That doesn't mean that "good enough" support has no value, of course, and it especially doesn't mean that these interfaces can't be used: we prepare separate argument lists for each component, and we can use the filtering to verify that an argument designated for Legion (or the default mapper, or…) is actually recognized by it.

I'm trying to think through cases where this can actually mess up. One situation is:
-module1:arg <string value>
-module2:arg <no value>

With the arguments -module1:arg -module2:arg, this is passing the literal string "-module2:arg" as the value to "-module1:arg", which causes module 2 to not parse its argument. But this situation seems really unlikely. We have very few string arguments and I can't think of a reason for a user to legitimately pass a flag value as a module parameter.
Another possible scenario is:
-module1:arg <int value>
-module2:arg <no value>

With arguments -module1:arg -module2:arg 123, if module 1 initializes first, it will fail, but if module 2 initializes first (and filters its argument out), it will receive the value 123 (consuming what the user presumably intended to be an application argument).
This is screwy, though I would observe that the failure mode only occurs when the user has already messed up the command line. I barring strange and unlikely scenarios like passing flags to other flags, I don't think there is a way to mess up the parsing for valid command lines.
In an ideal world, I suppose we could have a unified command line parse that does all our command line parsing for us, but I'm not sure it's worth the tradeoff. LLVM and some other libraries have such systems and they tend to be complex and highly involved, and come with their own tradeoffs and corner cases.

It doesn't have to be multiple Legion-related options that collide in such a fashion: the application could define any options whatsoever but never get to parse them because of inevitable damage done by filtering unaware of them.  It's also possible (albeit unusual for a Legion application) to have a command line like that of nohup that includes another command with its own, unrelated options.
My ideal world is that libraries like Legion don't expect command-line options at all, instead accepting configuration via things like Kokkos::InitializationSettings.  Then the "unified command line parse" is left to the application, which can implement it with one of the many libraries for the purpose and dispatch appropriate settings (demultiplexed, replicated, computed, or whatever) to whatever libraries.  If a component wants to retain the possibility of adding additional configuration parameters without the cooperation of the application, it can define its configuration type in terms of something generic like std::map<std::string,std::string> (but the application might choose not to expose that directly so that it could do semantic analysis of the configuration).
(In the summer, I learned that Realm was already moving in this direction.)


Remove a possibly unnecessary/unneeded spring dependency

This pull request aims at removing spring dependencies on the saml pac4j implementation.
Spring-core seems only to be in use for an Assert that can be implemented using the utils class CommonHelper
Of course test dependencies which relies deeply on spring are unchanged.
This is also a sanity change to me as shiro in the first place targets java EE application as a clear alternative to Spring Security.

Good catch! Can you submit the same PR for the master?

Done...

Many thanks.


Experimental Mod Pack - black screen

Name the mod
Reproduction_mod
Zets_Hair_PKs_Rebalancing
Zets_Hair_More_Locations
Zets_Hair_Extensions
Modular_Turrets
Describe the bug
Causes black screen on game load
How to reproduce
Put in mods directory and start game
Solution
Removing/not extracting of these mods helps :)

with zets mod there is a duplicate mod fixed in next update
With reproduction mod kenan added \ instead of / the use of \ tell the code to regex with stuff I might be wrong but \n is new line fixed in next update
And finally modular turrets duplicate mod fixed in next update

https://github.com/TheGoatGod/Goats-Mod-Compilation/commit/5c8c9927f52c2b63fec0b841ff928a2f72003a73
https://github.com/TheGoatGod/Goats-Mod-Compilation/commit/9f53fbe0d648eaf1082e94bbd2863e65a4aad648
https://github.com/TheGoatGod/Goats-Mod-Compilation/commit/0ee31317bde3949ccb628e199a236af8b3500ba0
https://github.com/TheGoatGod/Goats-Mod-Compilation/commit/21477ca573d3d1b2310ab05cb1d7ab1cdb99e042


Ignore formatting errors for long loading language server

How can I ignore this errors?

My svelteserver config:
if executable('svelteserver')
    lsp#lsp#AddServer([{
        name: 'svelteserver',
        filetype: ['svelte'],
        path: 'svelteserver',
        args: ['--stdio'],
        syncInit: v:true
    }])
endif

My efm-langserver config:
if executable('efm-langserver')
    lsp#lsp#AddServer([{
        name: 'efm',
        filetype: [
            'javascript',
            'javascriptreact',
            'typescript',
            'typescriptreact',
            'fish',
            'gitcommit',
            'lua',
            'python',
            'vue',
            'sh',
            'svelte',
            'markdown',
            'rst',
            'yaml'
        ],
        path: 'efm-langserver',
        args: [],
        initializationOptions: {
            'documentFormatting': v:true
        },
        features: {
            'documentFormatting': v:true
        },
        syncInit: v:true
    }])
endif

LspAttached config:
def OnLspBufferAttached()
    augroup lsp_format
      autocmd! BufWritePre *.py,*.sh,*.svelte,*.toml,*.vue,*.rb,*.html,*.json,*.yaml,*.lua,*.css,*.js,*.jsx,*.ts,*.tsx,*.rs,*.go,*.dart,*.md,*.c,*.cpp :LspFormat
    augroup END
enddef

augroup lsp_attach
    au!
    au User LspAttached call s:OnLspBufferAttached()
augroup END

When do you see this error message?  Do you see this message after loading a new file or do you see this message every time after saving a file?

When do you see this error message? Do you see this message after loading a new file or do you see this message every time after saving a file?

Every time after saving a file about 30 seconds until prettier configured with efm formats my file

Hi, I've been having a similar issue when running efm-langserver that was trying to run mypy on save when it wasn't on my path. But it happened only when I've was trying to save a file with no modifications.