Next.js 13 compatibility (app directory/server components)

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
MUI doesn't work in Next.js 13 server components (app directory). Even though the error comes from @emotion\react and not Material UI itself, I think this should be tracked here as well.
The "primary" error (there might be other problems once the Emotion issue is fixed) is:

TypeError: React.createContext is not a function
<EMAIL_ADDRESS>(20:47)

Related Emotion issue: https://github.com/emotion-js/emotion/issues/2928
Examples 🌈
I've created a minimal (failing) example using create-next-app: https://github.com/MidnightDesign/nextjs13-material-ui
Motivation 🔦
No response

Next.js document an example with styled-components, and since we have a working adapter for styled-components, it could be a workaround https://beta.nextjs.org/docs/styling/css-in-js#styled-components

Duplicate of #34893

@oliviertassinari The error message in #34893 is very different from the one I mentioned here. Also, this was meant to be kind of an overarching issue, because I think there will be more problems other than these two.

OK, then I'm assigning the same person on this issue than in the one I linked, so there is no duplication of effort.

@mnajdova Since your #34905 seems to be the umbrella issue now, feel free to edit this one to be just about the specific problem with Emotion.

@mnajdova Since your https://github.com/mui/material-ui/issues/34905 seems to be the umbrella issue now, feel free to edit this one to be just about the specific problem with Emotion.

Sure, I plan to work on this on Monday, will review once again all the issues.

Hi guys! How's the progress?

Need an example app with Mui and Next 13 app directory.

Any updates?

Next's App Router is officially stable. Would love to know progress on MUI's efforts to support Server Components and Next's App directory.

Next's App Router is officially stable. Would love to know progress on MUI's efforts to support Server Components and Next's App directory.

As a first step, we can update the Material UI's components to use the "use client" directive. After that, we plan to look into adding an alternative MUI System implementation, that will be compatible with RSC. We plan to add it as an add-on to avoid breaking changes.

As a first step, we can update the Material UI's components to use the "use client" directive

IMHO this can be avoided, to make it explicit that they are client components?

Next's App Router is officially stable. Would love to know progress on MUI's efforts to support Server Components and Next's App directory.

As a first step, we can update the Material UI's components to use the "use client" directive. After that, we plan to look into adding an alternative MUI System implementation, that will be compatible with RSC. We plan to add it as an add-on to avoid breaking changes.

I would assume only client components would be marked as such? Marking items such as Grid and Typography as client would not be a good move.

well if all the components use the theme context it's kindof unavoidable

Any take on this so far? workarounds, example repos?

Can someone share example code please where MUi is being used in app directory.  I am not able to figure out how to do that since there are no documentation for that.

Can someone share example code please where MUi is being used in app directory. I am not able to figure out how to do that since there are no documentation for that.

Strictly speaking, there is no issue with using MUI components in the app directory, as long as they are used in client components.
As explained already before in this thread, you need to
‘use client’;
your component.s.

So there is no way to use MUI in a server side rendered Next component?
I guess I'll have to dive into something like Tailwind to achieve something like that?

Can someone share example code please where MUi is being used in app directory. I am not able to figure out how to do that since there are no documentation for that.

Strictly speaking, there is no issue with using MUI components in the app directory, as long as they are used in client components. As explained already before in this thread, you need to ‘use client’; your components.

But I was confused about certain things like how in previous nextjs versions, we added _app.tsx and _document.tsx in the page directory. I wanted to know how to do it know in app directory as most of the syntax has changed and including these files in app directory gives error. Can someone help me by providing code or some link for help. Thanks in advance.

Can someone share example code please where MUi is being used in app directory. I am not able to figure out how to do that since there are no documentation for that.

Strictly speaking, there is no issue with using MUI components in the app directory, as long as they are used in client components. As explained already before in this thread, you need to ‘use client’; your components.

But I was confused about certain things like how in previous nextjs versions, we added _app.tsx and _document.tsx in the page directory. I wanted to know how to do it know in app directory as most of the syntax has changed and including these files in app directory gives error. Can someone help me by providing code or some link for help. Thanks in advance.

Not the right thread to discuss this issue. This is a Next js specific concern and not a MUI one. Would be better if discussed on a Next js forum

Can someone share example code please where MUi is being used in app directory. I am not able to figure out how to do that since there are no documentation for that.

Strictly speaking, there is no issue with using MUI components in the app directory, as long as they are used in client components. As explained already before in this thread, you need to ‘use client’; your component.s.

@alaindeurveilher  The issue with running this on the client is that the styles wont be calculated and appended to the page before render, where the app will flicker initially without styles until mui loads it's components.
I hope we get a response on that, if mui is considering this issue for and is planned or has an official workaround to compile the styles on the server.
@ahmedjaved753  this is not a Next.js concern to integrate other libraries into their app.

@alaindeurveilher The issue with running this on the client is that the styles wont be calculated and appended to the page before render, where the app will flicker initially without styles until mui loads it's components.

With NextJS, there isn't any flicker because of SSR for the client components.

@alikleit client component doesn't mean that everything is done on the client side. It just means that the component is interactive and should send JS to the client. The rendering of the component is always done on the server, the only difference is that server components don't send JS to the client themselves. Though, using client components within a server component will still send the JS used in the client component.
Read the next docs for a better explanation: https://nextjs.org/docs/getting-started/react-essentials#client-components

@gijsbotje @sagrawal-code
I believe that we used to add custom code to extract MUI stylesheets from styled components, useStyles and so on... and we write it to the document as a style tag with an id and afterwards removing that tag where the client will render.
I do know client component are as well SSR, but that does not mean these will also compile the things mentioned above 😃 so as the pages from pages directories.
Plus when my view-source looks like this:
  <head>
    <meta charset="utf-8" />
    <link
      rel="stylesheet"
      href="/{appname}/_next/static/css/app/[lng]/layout.css?v=1685004279248"
      data-precedence="next_static/css/app/[lng]/layout.css"
    />
    <title>{appname}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <script src="/appname/_next/static/chunks/polyfills.js" nomodule=""></script>
  </head>

While my inspector looks like this:
<head>
  <style data-emotion="css k008qs" data-s="">
    .css-k008qs {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
    }
  </style>
  <style data-emotion="css 1piz1jl" data-s="">
    .css-1piz1jl {
      -webkit-flex: 1;
      -ms-flex: 1;
      flex: 1;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      height: 100%;
    }
  </style>
  <meta charset="utf-8" />
  <link
    rel="stylesheet"
    href="/{appname}/_next/static/css/app/[lng]/layout.css?v=1685004744442"
    data-precedence="next_static/css/app/[lng]/layout.css"
  />
  <title>{appname}</title>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <script src="/appname/_next/static/chunks/polyfills.js" nomodule=""></script>
</head>

which I ran with a minimalistic layout (will not show you the flicker / but with a complex one - it will) . Then that tell you something?
Unless, there's a proper official way to compose that 😃

I believe that we used to add custom code to extract MUI stylesheets from styled components, useStyles and so on... and we write it to the document as a style tag with an id and afterwards removing that tag where the client will render.

AFAIK, you would need to do something similar for app directory. See here (and the rest of the thread) for an example: https://github.com/mui/material-ui/issues/34898#issuecomment-1473689035. By following the steps described in the thread, you'll get the styles injected inside head when you view your source. @alikleit

Ok, trying to understand a lot today (brain won't let me sleep until I am satisfied with my understanding... or asking question to understand!). I may use less technical words are vaguely/broadly definition, in a way to create a better mental picture for myself. If you feel that those vague/broad terms are too off the track, don't hesitate to correct me.
With the release of v5.14.0, the MUI ecosystem now works inside Next.js /app router. Works being defined here as there is no errors and everything is build as expected. This was done with a "quick"[^1] fix of adding "use client" at the top of all components.
But, as I understand the RSC[^2] system, this fix does not allow to benefit of the server-side rendering feature[^3] of the RSC since the "use client" will trigger "delegating" everything to the user browser as it was before.
As such, component that should be static in nature in the current MUI/Emotion ecosystem (such as Grid or Box) would be passed away as client component nonetheless.
So far so good? I think I am not too far off in my understanding 🤔?
I read many of the issues raised regarding this /app router in many repositories (including https://github.com/emotion-js/emotion/issues/2928). My current conclusion on the state of the CSS-in-JS librairies and frameworks is that those based on dynamic styling philosophy (such as emotion) will go extinct on the RSC planet without a paradigm shift; while those based on "zero-runtimes" (I translate in my head as build to static HTML/CSS from the user browser point of view) will flourish on the RSC planet. And I have the feeling that the React planet is pushing hard on the RSC (almost to fear that client component are at risk to be removed someday).
So does that leave us with either having one or the other; or a painfully enormous hybrid version where each component has both static for RSC and dynamics for clients components?
[^1]: Well, quick as in the solution is kinda easy to comprehend after the fact, not quick as it was fast to do 😅!
[^2]: So many acronyms... RSC=React Server Component, that's the right acronym, right?
[^3]: Again, my understanding, if I summarize very broadly, a RSC will be static in nature from a user browser point of view (plain HTML/CSS, with very few JS for the plug&play of the RSC inside the Client Components), so using "use client" in all component, we will never have this.

@sharky98 I think the most important thing that you seem to misunderstand, is that adding "use client" doesn't tell react to render it on the client. It only tells react that these components needs additional JavaScript to work, not to render. All components are rendered on the server, but only those with "use client" will get extra JavaScript to, for example, become interactive.
As MUI uses emotion and has dynamic styles based on props, almost all components require additional JavaScript. But they will be rendered on the server for the initial HTML load.
Therefore, you still have the benefit of RSC. But your bundle could be smaller if you extract CSS at build time, either specifically for a component or for the complete library.
Either way, extracting CSS to static files or style blocks will always be faster than relying on JavaScript to compute styles.

@gijsbotje Thank you for the feedback. This helped me update my mental image of the RSC feature.

@sharky98 I think the most important thing that you seem to misunderstand, is that adding "use client" doesn't tell react to render it on the client. It only tells react that these components needs additional JavaScript to work, not to render. All components are rendered on the server, but only those with "use client" will get extra JavaScript to, for example, become interactive.

If Client Component are also server-rendered, how they manage the "no-hooks", "no-browser-specific-variables", etc. that are in place for RSC? Unless they render only a skeleton-like HTML and CSS without any pre-run of the dynamic stuff (which seems to be what Next.js is doing: Components in the Client Component module graph are primarily rendered on the client, but with Next.js, they can also be pre-rendered on the server and hydrated on the client. in the Good to know callout, or what React explain: Client components will still run as part of server-side rendering (SSR) or build-time static site generation (SSG), which act as clients to transform React components’ initial render output to HTML that can be rendered before JavaScript bundles are downloaded.).
In that case, updating my mental image, I would summarize it as RSC are server-rendered with full HTML and CSS and served as static component to the client to be inserted somewhere in the DOM. For the Client Component, they are server-rendered with the bare skeleton HTML and CSS and served to the client alongside some JavaScript for it to do its magic. If I'm not mistaken, in React world, most extra work that JavaScript would do is change the state, which triggers what they call a render.

As MUI uses emotion and has dynamic styles based on props, almost all components require additional JavaScript. But they will be rendered on the server for the initial HTML load.
Therefore, you still have the benefit of RSC. But your bundle could be smaller if you extract CSS at build time, either specifically for a component or for the complete library.
Either way, extracting CSS to static files or style blocks will always be faster than relying on JavaScript to compute styles.

So, even though I misunderstood the rendering aspect, with this part of your comment, I think my conclusion is pretty much the same? As long as a library such as MUI is based on CSS-in-JS framework using a dynamic styling philosophy, RSC are impossible; only the benefit of whatever the server is able to do during the first rendering is added (or kept, since it was already like that before the RSC-era). The way I see it, to allow full-RSC on some components, either emotion will need to change its philosophy (probably not happening), or MUI will need to use some kind of hybrid philosophy.

use client works with even when you disable JS. The output is still SSR, SEO-able.
But you need to enable JS to useState,...

Closing this as MUI libraries are compatible as of 5.14.0!

either emotion will need to change its philosophy (probably not happening), or MUI will need to use some kind of hybrid philosophy

We have started to explore a zero-runtime CSS solution, you can check out the very beginning of this effort here, and keep an eye out for a proper RFC next week!


Partial compat fix for issue #106

fix typos in misc.json and misc.go documentation
move diskUsage check from filesystem.json to usage.json for
consistency with issue #55 / pull request #89
Remove installed check from misc.json as check exists in packages.json (as well as packages.go)
Replace filesystem.json with docker-alpine.json
Since issue #106 states that all sample checklists should work in Docker, making samples/filesystem.json something that will work in Docker rather than a snowflake.

That's awesome! Thank you!

Works for me!


Scrap profile metadata

https://github.com/rarcega/instagram-scraper/issues/339

LGTM

@ohld I haven't received an answer yet about the PR. Still waiting them.


Fix Google Tag Manager 403 Error

What is the context of this PR?
This PR is to fix the 403 error on Google Tag Manager. The fix was to change the order the variables are passed in. The ID of the GTM container is now passed in before the environment.
How to review
Run locally and see that the GTM preview mode displays on Runner

 Turn on tag manager/GA for Runner (1)


v2 introduced long timeout when fetching A record

This project is being used by by the infoblox plugin to the external-dns project. An issue has been raised there that appears to trace back to a change in v2 of this library causing issues.
Related issue: https://github.com/kubernetes-sigs/external-dns/issues/2945
In that issue, a commenter states the following:
I did a bit of a test by dragging some code out of External DNS into a new Go project, and it appears to be the change to the github.com/infobloxopen/infoblox-go-client/v2 version of the infoblox-go-client package that has caused the issue. Listing A records in the original version in my test gave me a response in about ~300ms, whereas with the v2 version, it gives me a warning about there being over 1,000 records (which is a lie) and then eventually returns after about 15-20 seconds.

Any progress or updates on this issue Infoblox dev's? We are seeing the same issue after updating the External-DNS helm chart.


Integration with PagerDuty

A customer has asked if we can integrate with PagerDuty, is this something that we can support in the future?

Alertmanager includes PagerDuty support:
https://www.pagerduty.com/docs/guides/prometheus-integration-guide/
There are several resources on how to set up PagerDuty with Alertmanager, but here's a Grafana blog:
https://grafana.com/blog/2020/02/25/step-by-step-guide-to-setting-up-prometheus-alertmanager-with-slack-pagerduty-and-gmail/
As for integrating with the helm chart, check out https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml#L150 to see what. you might add to your $USER_DIR/monitoring/user-values-prom-operator.yaml file.
We have plans for a documented sample that will include some more explanation, doc, and example response files for alert integrations. That's not happening in the short term, but it's on our radar.

We should also point out that if you (or the customer) want to prototype/implement something before we do, please consider submitting it as a Pull Request so we can share it with the community.

This is great, thank you.


fix GitHub Action to auto generate embeddings

@plexish @Aprillion I dug around a bit and I think the GitHub Actions for generating the embeddings was failing because the script doesn't have permission to push the generated embeddings to the protected main branch. According to (https://github.com/marketplace/actions/push-to-status-check-protected-branches), we might be able to work around this using PAT (personal access tokens). Since I don't have permission to do this, could one of you please:
(1) Create a PAT which grants the following scope/permission with admin write:repo_hook to stampy-ui (https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
(2) Create a repository secret named "PAT_GEN_EMBEDDINGS" with the value of the PAT from the previous step (https://docs.github.com/en/codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces)
In this PR, I've updated the GitHub Action to use that new PAT stored under PAT_GEN_EMBEDDINGS. Hopefully, this will work. Otherwise, I found an alternate solution but it felt a bit doesn't look very "clean." Anyway, if all goes well, we set this up to run automatically.

https://github.com/StampyAI/stampy-ui/actions/runs/3271257190/jobs/5380822567 still failed with error At least 1 approving review is required by reviewers with write access. when using admin:repo_hook permission :(
When I deleted my personal token and re-run the action, the error message was Invalid status code '401' => the token itself worked, we would have to disable the protected branch approving reviews check to make it work (and if I remember correctly, GITHUB_TOKEN would be enough, no need for my personal token if we decide to do that)

Bummers! I'm hoping we won’t need to disable approving reviewers. That seems like an unnecessary security risk. Just to make sure, the PAT had "write" access to admin:repo_hook, correct? The alternative hack was to use a user with admin access. I can test it out if you’ve already granted me the admin role. I’m going to bed now and have other obligations in the morning but should be able to dig further into this after that. Thanks for taking care of things up to this point!


Fix error listing tags for rds db subnet group

Suggested solution to https://github.com/spulec/moto/issues/5479

Codecov Report

Merging #5480 (5a7a099) into master (837ad2c) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master    #5480   +/-   ##
=======================================
  Coverage   96.09%   96.10%
=======================================
  Files         724      724
  Lines       72004    72053   +49
=======================================
+ Hits        69194    69245   +51
+ Misses       2810     2808    -2

Flag
Coverage Δ

servertests
36.87% <44.44%> (+<0.01%)
:arrow_up:

unittests
96.04% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/rds/responses.py
99.28% <ø> (ø)

moto/rds/models.py
94.03% <100.00%> (+0.02%)
:arrow_up:

moto/ec2/utils.py
93.63% <0.00%> (ø)

moto/ec2/models/launch_templates.py
100.00% <0.00%> (ø)

moto/ec2/exceptions.py
97.65% <0.00%> (+0.02%)
:arrow_up:

moto/iam/models.py
95.62% <0.00%> (+0.12%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Oh, yes, my apologies! I've been meaning to mention aws docs to make the changes clearer.
This docs have information about arn missing:
https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSubnetGroups.html
While below it is included:
https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-subnet-groups.html
https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBSubnetGroup.html
I used their feedback form in hopes they will complete the docs.


Wrong currentUrl within passport strategy for v6

What happened?
I tried to use the passport strategy with Microsoft server. The redirection and login prompt happens properly, but once on the callback endpoint I get this error
ResponseBodyError: server responded with an error in the response body
...
  code: 'OAUTH_RESPONSE_BODY_ERROR',
  error: 'invalid_client',
  status: 400,
  error_description: "AADSTS500112: The reply address 'http://localhost/callback' does not match the reply address 'http://localhost:3001/api/callback' provided when requesting Authorization code. Trace ID: 6fb3c78a-975d-4568-9cb7-d8c9ee407500 Correlation ID: d1a3950e-4dc9-4736-a30b-12278ad1a6a5 Timestamp: 2024-11-27 16:11:00Z"

I may be wrong, but I think it comes from the currentUrl method here:
return new URL(`${req.protocol}://${req.host}${req.url}`)

There is two issue in my case:

req.host never contains the port, so if you are not on 80/443, it will not work
req.url will not contain the full url if you are using an express.Router() it will only give the last part

I've found a workaround by redefining the currentUrl method:
  strategy.currentUrl = (req) => {
    return new URL(`${req.protocol}://${req.headers.host}${req.originalUrl}`);
  };

And with that, it works as expected
Version
v6.1.4
Runtime
Node.js
Runtime Details
Node v18.19.1
Code to reproduce
import * as client from "openid-client";
import { Strategy } from "openid-client/passport";

import express from "express";
import session from "express-session";
import passport from "passport";

////////////////////////////////////////////////////////////////////////////////
// Prerequisites
let server = null; // Authorization server's Issuer Identifier URL
let clientId = null; // Client identifier at the Authorization Server
let clientSecret = null; // Client Secret
let scope = "openid email";
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Fix for node <19 that doesn't have globalThis.crypto yet
import crypto from "node:crypto";
import { error } from "node:console";
globalThis.crypto ??= crypto.webcrypto;
////////////////////////////////////////////////////////////////////////////////

let app = express();
app.listen(3001, () =>
  console.log("Server ready, go to http://localhost:3001/login")
);

let config = await client.discovery(server, clientId, clientSecret);
app.use(
  session({
    saveUninitialized: false,
    resave: true,
    secret: "secret",
  })
);
app.use(passport.authenticate("session"));

const strategy = new Strategy(
  { config, scope, callbackURL: `http://localhost:3001/api/callback` },
  (tokens, verified) => {
    verified(null, tokens.claims());
  }
);
////////////////////////////////////////////////////////////////////////////////
// Uncomment this block to apply my workaround
// strategy.currentUrl = (req) => {
//   console.log("initial", req.protocol, req.host, req.url);
//   console.log("new", req.protocol, req.headers.host, req.originalUrl);
//   return new URL(`${req.protocol}://${req.headers.host}${req.originalUrl}`);
// };
////////////////////////////////////////////////////////////////////////////////
passport.use(strategy);

passport.serializeUser((user, cb) => cb(null, user));
passport.deserializeUser((user, cb) => cb(null, user));

app.get("/login", passport.authenticate(server.hostname));

///////////////////////////////////////////
// Here we define the callback route via a router, so req.url !== req.originalUrl
const router = express.Router();
router.get("/callback", passport.authenticate(server.hostname), (req, res) => {
  res.send(`Hello ${req.user.email}`);
});
app.use("/api", router);
///////////////////////////////////////////

app.use(function (err, req, res, next) {
  console.error(err);
  res.status(500).send(err);
});

Required

[X] I have searched the issues tracker and discussions for similar topics and couldn't find anything related.
[X] I agree to follow this project's Code of Conduct

https://github.com/panva/openid-client/pull/713#issuecomment-2427781824

Are you using express@5? Because AFAICT req.host is fixed in express 5 and properly returns port.

req.headers.host is not a universally working workaround, as soon as you get your project deployed behind a tls offloading proxy it won't work, it'll be x-forwarded-host. It is much simpler to rely on express@5 proper implementation of req.host and then properly configuring express to trust your proxy.

Wouldn't it be better to use req.originalUrl instead of req.url as it seems to be precisely made for that use case

https://github.com/panva/openid-client/releases/tag/v6.1.5


Pass assume_storage_prezeroed option when formatting ext4 if possible

Describe the feature you'd like to have
Instead of passing lazy_itable_init=1 and lazy_journal_init=1 to mkfs.ext4, Ceph CSI should pass assume_storage_prezeroed=1 which is stronger and allows the filesystem to skip inode table zeroing completely instead of simply doing it lazily (it's a superset of lazy_itable_init=1 and lazy_journal_init=1).  As before with lazy_itable_init=1 and lazy_journal_init=1, this should be limited to dynamically provisioned volumes -- a case where Ceph CSI can guarantee that mkfs.ext4 invocation immediately follows the creation of the RBD image.
assume_storage_prezeroed option became available in e2fsprogs 1.47.0 last year, so it should probably be "discovered" similar to xfsSupportsReflink().
What is the value to the end user? (why is it a priority?)
Freshly created RBD volumes would consume less space.  Quoting assume_storage_prezeroed implementation patch:
    - Avoiding zeroing out the inode table and journal reduces the
      initial metadata space allocation from 0.48% to 0.01%.
    - Lazy inode table zeroing results in a further 1.45% of logical
      volume space getting allocated for inode tables, even if no file
      data is added to the filesystem. With assume_storage_prezeroed,
      the metadata allocation remains at 0.01%.

How will we know we have a good solution? (acceptance criteria)
Run before and after tests that would create and attach batches of e.g. 100G, 500G, 1T and 5T RBD volumes, noting space usage as reported by ceph df.  The volumes would need to be attached for a while to allow for lazy inode table zeroing to complete in the before case.

cc @ceph/ceph-csi-contributors

This appears to be in progress in https://github.com/ceph/ceph-csi/pull/4996.  @Madhu-1 Please don't let this issue get closed.


Does this library need python installed?

Hi @sr13579
No it does not need Python.
Unless you want to run test/Benchmark/bench.sh script


NX_SECURE_TLS_PREMASTER_SIZE too small for PSK 63 bytes key

With PSK, the nx_secure_tls_pre_master_secret is too small for 63 bytes PSK key.
Default NX_SECURE_TLS_PREMASTER_SIZE is 68 or 48bytes but should be :
#define NX_SECURE_TLS_PREMASTER_SIZE                      (2 + 2 + NX_SECURE_TLS_MAX_PSK_SIZE + NX_SECURE_TLS_MAX_PSK_SIZE + 1)

/* From RFC 4279:
The premaster secret is formed as follows: if the PSK is N octets
long, concatenate a uint16 with the value N, N zero octets, a second
uint16 with the value N, and the PSK itself.
|   2   |   <N>  |   2   |   <N>   |
|   N   |    0   |   N   |   PSK   |

I think you can define NX_SECURE_TLS_PREMASTER_SIZE to a larger size in nx_secure_user.h if you need long PSK keys.

Yes I did.
But today with default value, NX_SECURE_TLS_MAX_PSK_SIZE is 64, and handshake failed if the key si bigger than 33 bytes, that is why it looks like an issue for me.

We have updated the default value of NX_SECURE_TLS_PREMASTER_SIZE when PSK is enabled, and the fix will be released in the next release.

Thanks I appreciate


incrimental GPU-training

Version of XGBoost: 0.90
I have a task to train classification system, features from dataset it's extracted embeddings from NN (final size of dataset is 100 Gb... so system run out of memory in GPU training).
params = {
"learning_rate":0.001,
"objective":'multi:softmax',
"tree_method":'gpu_hist',
"predictor":'gpu_predictor',
"seed":27,
'num_class': len(np.unique(data_train_Y)),
#'update':'refresh',
#'process_type': 'update',
#'refresh_leaf': True,
}

batch_size = 128
iterations = 100
model = None
print('[Info] Training...')
for i in range(iterations):
  print('Iteration #{}'.format(i))
  for start in range(0, len(data_train_X), batch_size):
    print('{} of {} batches'.format(start, len(data_train_X)))
    model = xgboost.XGBClassifier(**params, xgb_model=model)
    X_train_batch = data_train_X[start:start+batch_size]
    y_train_batch = data_train_Y[start:start+batch_size]
    #eval_set = [(X_train_batch, y_train_batch)]
    model.fit(X_train_batch, y_train_batch, verbose=True)
    y_pr = model.predict(X_train_batch)

I tried the above code and after first step of training (first 128 batches) process stucked.
Can be done incremental GPU-training with XGBoost and how? (i can't use distributed training)
Can you link some examples with CPU/GPU incrimental training?
I tried this one https://gist.github.com/ylogx/53fef94cc61d6a3e9b3eb900482f41e0 but its kinda outdated.

Let me take a look at weekend.

@trivialfis did u find out any solutio?

@pikaliov I tried with master branch.  There are a few issues maybe related to your use case:

Memory limit.  Python is not releasing the object even if your model is replaced by newer one.  The memory cleaning process is hard to control even if you call gc module.  So all used GPU memory is still active, which can be verified by nvidia-sim.
I'm not sure why you create iteration.  In XGBoost, the term "iteration" is just number of stacked (boosted) trees.  From scikit-learn interface you can use n_estimators parameter.
Verify your number of classes. One stack of  trees for each class so your memory might run out fairly fast.

We have a hack for dealing with the Python memory model mentioned:
import numpy as np
import xgboost

kRows = 128 * 10
kCols = 128

data_train_X = np.random.randn(kRows, kCols)
data_train_Y = np.random.randint(0, 4, kRows)
n_classes = len(np.unique(data_train_Y))
assert n_classes == 4

params = {
    "learning_rate": 0.001,
    "objective": 'multi:softmax',
    "tree_method": 'gpu_hist',
    "predictor": 'gpu_predictor',
    "seed": 27,
    'num_class': n_classes,
    'verbosity': 2,
    'nthread': -1
}

batch_size = 128

print('[Info] Training...')
for start in range(0, data_train_X.shape[0], batch_size):
    print('{} of {} batches'.format(start, len(data_train_X) / batch_size))
    model = xgboost.XGBClassifier(n_estimators=128, **params, xgb_model='model.booster')
    X_train_batch = data_train_X[start:start + batch_size, :]
    y_train_batch = data_train_Y[start:start + batch_size]
    print('y_train_batch:', y_train_batch)
    model.fit(X_train_batch, y_train_batch, verbose=True)
    y_pr = model.predict(X_train_batch)
    model.save_model('model.booster')

Also #4357 is an on going effort to bring external memory support for XGBoost, which iterates dataset internally and have a sound theory background.  I'm not sure your stochastic training is indeed robust.

@trivialfis Thanks for your answer. I used above code but process still stacked. I changed size of batch to batch_size=512 and completed training procedure.
I know about memory limit, but its strange... process stacked and wo CUDA runout of memory.


License

Dear Midas,
thanks for implementing the paper in PyTorch Lightning!
We would like to reuse your code base for an art project in our local city, but could not find a license for it and we can't afford to risk legal disputes.
Is it possible for you to add one?
Kind regards,
Marenz

Done


Update sui-move-library.md

suggest better wording
add some extra info

Hello @randall-Mysten
To be sure about the process here. Does this one need an additional review by Ronny?
Does each PR need to be reviewed by 2 persons?

nope, just one approval. Ronny is another tech writer here, so it assigns both of us to any PR that changes a .md file.

@randall-Mysten
Also, missing the merge request from your side?
Then I wonder what auto-merge actually means :p.

Still didn't merge it seems :)

Still didn't merge it seems :)

Checking, looks like it is unhappy about the tests not completing but they are also not running. Or it cleared my Approval for some reason.


ZKServerSet Announcer doesn't provide routable address

Host <IP_ADDRESS> isn't very useful to announce.  I took away the ip address and it publishes "localhost" :/ ... I'm not sure what else to configure here.
Znode info
[zk: mesos-master01of2:2181(CONNECTED) 22] get /sd/nobody/prod/linkerd/member_0000000004
{"serviceEndpoint":{"host":"<IP_ADDRESS>","port":4140},"additionalEndpoints":{},"status":"ALIVE","shard":0}
cZxid = 0x140000e6d7
ctime = Fri Oct 14 14:29:37 CDT 2016
mZxid = 0x140000e6d7
mtime = Fri Oct 14 14:29:37 CDT 2016
pZxid = 0x140000e6d7
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x1578b3924500875
dataLength = 102
numChildren = 0

linkerd.yaml
admin:
  port: 9990

namers:
- kind: io.l5d.serversets
  zkAddrs:
  - host: mesos-master01of2
    port: 2181
  - host: mesos-master02of2
    port: 2181
  - host: mesos-master03of2
    port: 2181

routers:
- protocol: http
  interpreter:
    kind: io.l5d.namerd
    dst: /#/io.l5d.serversets/sd/nobody/devel/namerd:thrift
    namespace: default
  announcers:
  - kind: io.l5d.serversets
    zkAddrs:
    - host: mesos-master01of2
      port: 2181
    - host: mesos-master02of2
      port: 2181
    - host: mesos-master03of2
      port: 2181
    pathPrefix: /sd/nobody
  responseClassifier:
    kind: io.l5d.retryableRead5XX
  servers:
  - port: 4140
    label: prod/linkerd
    ip: <IP_ADDRESS>
    announce:
    - /#/io.l5d.serversets/prod/linkerd

I may have a fix, I'm compiling namerd atm.

The usefulness of announcement depends on what kind of environment you're running in.  If you know the IP on which linkerd will serve, you can configure that explicitly in the servers section and that's what the announcer will announce.  If you don't know the IP on which linkerd will serve, (possibly because you're running with some kind of scheduler like marathon or kubernetes) then linkerd can't announce the IP because it doesn't know.  Instead, you should use a namer than knows how to query the scheduler to locate linkerd.

Imo the case of "<IP_ADDRESS>" should be easy to announce by enumerating all the interfaces NetworkInterface.getNetworkInterfaces and publish all the addresses (except <IP_ADDRESS>) as opposed to "<IP_ADDRESS>".

That seems reasonable, and probably more useful than announcing <IP_ADDRESS>.  Of course, in a containerized world, the IP that the application can see isn't necessarily the same as the one where the application can be reached externally.

@adleong I'll take a stab at implementing this and put it behind a default false announcer key.

I've made some progress, but I have to figure out how to dry up my changes.
I 1018 21:08:04.100 THREAD1: SessionState. Session 257a6d82ef90782. State com.twitter.finagle.serverset2.client.SessionState$SyncConnected$@764cba
I 1018 21:08:04.344 THREAD1: serving http admin on /<IP_ADDRESS>:9990
I 1018 21:08:04.354 THREAD1: serving http on /<IP_ADDRESS>:4140
I 1018 21:08:04.371 THREAD1: announcing /<IP_ADDRESS>:4140 as /#/io.l5d.serversets/prod/linkerd to zk-serversets
I 1018 21:08:04.455 THREAD1: announcing /<IP_ADDRESS>:4140 as /#/io.l5d.serversets/prod/linkerd to zk-serversets
I 1018 21:08:04.460 THREAD1: initialized
I 1018 21:08:04.514 THREAD20: Set group member ID to member_0000000012
I 1018 21:08:04.547 THREAD20: Set group member ID to member_0000000013


[Task]: Implement sample Synapse API to Ballerina service mapping

Description
$subject
Describe your task(s)
No response
Related area
-> Runtime
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Update:
A sample implementation was done to generate a Ballerina HTTP service from synapse API with the use of following.

synapse configuration builder APIs
Ballarina syntax APIs

Identified concerns:

There are some maintainability gaps in configuration builder APIs as they are no longer used by MI. Therefore some minor issues were found when parsing the synapse projects
MI currently uses separate APIs to create different synapse components. They are parsed in multiple calls. The tool needs to incorporate this.

[Update on 08/11/2024]

Analysing the MI message routing sample to map it to Ballerina source.
https://mi.docs.wso2.com/en/latest/learn/integration-tutorials/routing-requests-based-on-message-content/
A similar ballerina code would be

import ballerina/http;
import ballerina/log;

listener http:Listener HealthcareAPI = new (8290, config = {host: "localhost"});

service /healthcare on HealthcareAPI {
    resource function post categories/[string category]/reserve(http:Caller caller, http:Request req) returns error? {
        json payload = check req.getJsonPayload();
        string Hospital = check payload.hospital;
        http:Response res;
        match Hospital {
            "grand oak community hospital" => {
                log:printInfo("", message = "Routing to " + Hospital);
                http:Client GrandOakEP = check new (string `http://localhost:9090/grandoaks/categories/${category}/reserve`);
                res = check GrandOakEP->post("", req);
            }
            "pine valley community hospital" => {
                log:printInfo("", message = "Routing to " + Hospital);
                http:Client PineValleyEP = check new (string `http://localhost:9090/pinevalley/categories/${category}/reserve`);
                res = check PineValleyEP->post("", req);
            }
            "clemency medical center" => {
                log:printInfo("", message = "Routing to " + Hospital);
                http:Client ClemencyEP = check new (string `http://localhost:9090/clemency/categories/${category}/reserve`);
                res = check ClemencyEP->post("", req);
            }
            _ => {
                log:printInfo("", message = "Invalid hospital - " + Hospital);
                res = new;
                res.setPayload(payload);
            }
        }
        check caller->respond(res);
    }
}

Verified the mappability of the Property mediator & Log mediator
Analysed the expression configuration and equivalent Ballerina functionality

Expressions
Reference
Ballerina construct

Variables
https://mi.docs.wso2.com/en/latest/reference/synapse-properties/expressions/#variables
Ballerina variable retrieval

Functions
https://mi.docs.wso2.com/en/latest/reference/synapse-properties/expressions/#functions
Need specific library function calls

JSONPath expressions
https://mi.docs.wso2.com/en/latest/reference/synapse-properties/expressions/#jsonpath-expressions
json navigation expressions

XPath expressions
https://mi.docs.wso2.com/en/latest/reference/synapse-properties/expressions/#xpath-expressions
XML navigation expressions with query expressions

Identified several gaps

Type conversion in ballerina needs to be handled ( if there is no type parameter is present)
Synapse scope concept is not directly mappable ( https://mi.docs.wso2.com/en/latest/reference/synapse-properties/scopes/)
Error handling needs to be handled separately (Fault sequence, other runtime exceptions)


Properly check for result when getting pipeline in Msaa

Objective

This aims to fix #11755
After #10812 some pipeline compilation can take more time than before and all call to get_render_pipeline should check the result.

Solution

Check get_render_pipeline call result for msaa_writeback
I checked that no other call to get_render_pipeline in bevy code base is missng the checking on the result.

I mean, returning Ok(()) will disable the msaa_writeback and fix the crash, but I'm missing something or this will sometimes enable msaa_writeback and sometimes not, depending on the order in which the async pipeline compilation ran?

I am not a full rendering expert, but as far as I understand it, the pipeline only needs to be compiled once, but it can take time some time to compile and now that it is spawned, more than one frame ( the spawning itself can take some time, probably what happens with the example). After compilation, the pipeline will be run each frame, the protection prevent the pipeline to be run while its compilation is not yet finished.
So the first few frames of the example can have no msaa, but afterwards it will always be enabled.
I checked it with some printing, and effectively I can have up to ~10 frame without the pipeline ready, then it is always there.


Docker DIND 19.03.15, enable debug mode via environment varibales

Hey everyone, I have recently started using docker dind image version 19.03.15, I'm trying to enable debug mode to see
time="2021-03-17T13:15:15.209381890Z" level=error msg="Handler for POST /images/create returned error: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)"
from the above error what container is being pulled, like the name of the container, however, I see I cannot add any docker options to the default 19.03.15 dind docker image, I see a few old tickets
https://github.com/docker-library/docker/pull/20
https://github.com/docker-library/docker/pull/12/commits
Where we have an option to pass docker opts, but going through the new 19.03.15 DIND image I can't pass any extra docker options to the daemon, Any fix is there or an existing solution for my issue, please let me know.
We have an application that tries to pull an image from the internal docker registry, but when this application uses docker dind image, I get the above-mentioned timeout error going to outside docker registry, but when the same application uses host docker socket directly mounting from AWS ec2 installed docker socket works fine, so I wanted to enable debug mode on DIND image to further check the error.
Thank you

I'm not able to reproduce an issue supplying the --debug flag on 19.03: :confused:
$ docker pull docker:19.03-dind
19.03-dind: Pulling from library/docker
Digest: sha256:fc6a078f81b3d99be498a5fc0f123191d3187653cab5632445240e8225ff6cf5
Status: Image is up to date for docker:19.03-dind
docker.io/library/docker:19.03-dind

$ docker run -it --rm --privileged docker:19.03-dind --debug
...
DEBU[2021-03-22T21:04:29.236384082Z] Registering POST, /grpc
DEBU[2021-03-22T21:04:29.236434394Z] Registering GET, /networks
DEBU[2021-03-22T21:04:29.236492028Z] Registering GET, /networks/
DEBU[2021-03-22T21:04:29.236802152Z] Registering GET, /networks/{id:.+}
DEBU[2021-03-22T21:04:29.236930562Z] Registering POST, /networks/create
DEBU[2021-03-22T21:04:29.237046410Z] Registering POST, /networks/{id:.*}/connect
DEBU[2021-03-22T21:04:29.237162293Z] Registering POST, /networks/{id:.*}/disconnect
DEBU[2021-03-22T21:04:29.237279018Z] Registering POST, /networks/prune
DEBU[2021-03-22T21:04:29.237366725Z] Registering DELETE, /networks/{id:.*}
INFO[2021-03-22T21:04:29.237807213Z] API listen on [::]:2376
INFO[2021-03-22T21:04:29.237828473Z] API listen on /var/run/docker.sock

Hey @tianon, thanks for your prompt response, I'm running dind docker image on Kubernetes, adding args: ["--debug"] actually worked and enabled debug mode.
Thank you


Version updates for 1.17.3

Correctly set buffer for expired tokens (#875)
Bump commons-io dependency from 2.7 to 2.14.0 (#871)

/azp run

/azp run


argocd-tls-certs-cm is overwritten by the operator (v1.4.0)

Describe the bug
Prior to v1.4.0 of OpenShift GitOps, certificates for TLS validation could be managed via the ArgoCD GUI or by controlling the argocd-tls-certs-cm ConfigMap directly. The value of argocd-tls-certs-cm was set initially when ArgoCD was deployed but not altered thereafter.
After upgrading to v1.4.0, this ConfigMap is reset to the value of tls.intitialCerts in the ArgoCD CR after any change. This renders the certificate management via the GUI or previous direct ConfigMap control useless and deletes any certificates that were added to the ConfigMap prior to the upgrade.
Workaround:  Add the needed cert to ArgoCD CR spec  tls.initialCerts.  See https://argocd-operator.readthedocs.io/en/latest/reference/argocd/#tls-options
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

The change in the behavior is due to the result of controller-runtime update to v0.11.0. This upgrade was required to update Argo CD to v2.2.2.
Background:
Argo CD allows users to provide Initial set of certificates in the argocd-tls-certs-cm ConfigMap for connecting to Git repositories via HTTPS. Any user with the permissions to access configmap can manage the certificates.
Issue:
Any certificates added directly to the argocd-tls-certs-cm ConfigMap are overridden by the operator to the defaults provided in .spec.tls.initialCerts of Argo CD CR.
Reason:
Argo CD Operator manages the contents(certificates) of argocd-tls-certs-cm ConfigMap using .spec.tls.initialCerts property in the Argo CD CR as shown here
Workaround or Solution:
Instead of updating the argocd-tls-certs-cm ConfigMap with the certificates, Please use .spec.tls.initialCerts property in the Argo CD CR. An example for the same is provided below.
https://github.com/iam-veeramalla/openshift-gitops-examples/blob/master/argocd/GITOPS-1725/argocd-initialTLScerts.yaml
TBH, this does not sound to me like a bug. Argo CD operator reconciling on changes to the argocd-tls-certs-cm ConfigMap and setting it back to the defaults should be the expected behavior. When I tested the old versions of operator .spec.tls.initialCerts property in the Argo CD CR does not even seem to work. That might be the reason why users have adopted to update argocd-tls-certs-cm ConfigMap directly.

Has this been fixed with any of the recent 1.4.z releases, @iam-veeramalla ?

Hi @jannfis yes.

Thanks. Then we'll be closing this issue :)


balena-yocto-scripts: Update to v1.17.2

Update balena-yocto-scripts from v1.17.0 to v1.17.2
Change-type: patch
Changelog-entry: Update balena-yocto-scripts to v1.17.2
Signed-off-by: Alex Gonzalez<EMAIL_ADDRESS>

@balena-ci I self-certify!


Support for Notes gallery

We are planning to create a gallery book for our vault, we were thinking about this plugin but it seems it only supports images, are you thinking of adding full support for notes?
Thank you.

I wasn't planning to, the intent was just to show images pulled from the listed pages. I'll keep this issue open until I get a chance to experiment w/ displaying other page content, but it likely won't be any time soon.

For a bit more information: are you looking for something to display notes Google Keep-style, or like a Notion gallery falls back to displaying text if the pages don't have any images in them?

For a bit more information: are you looking for something to display notes Google Keep-style, or like a Notion gallery falls back to displaying text if the pages don't have any images in them?

Yeah, that Notion feature.

@SalahAdDin I've got a sort-of working prototype that displays page content instead of just images, depending on what mode you select. It's not available in the published page-gallery plugin yet (I want to do more testing before I push it out), but I have it in a forked repo at https://github.com/tokenshift/obsidian-page-gallery-notes-prototype; if you use BRAT, you can install the prototype instead of the published plugin to see if it works for what you're trying to do.
It adds a mode option to the page-gallery config, which can be set to:

"auto" (default) - display the first image found in the page, unless there isn't one, then display page content
"image" - the current behavior, just displays the first image found, or falls back to just showing the filename
"content" - displays page content, doesn't even try to display the first image found

This has now been published as version 0.6.0.


support wildcard mqtt subscribe

feat: support wildcard mqtt subscribe
Subscribe supports wildcard topics
There is a second callback option that provides the full topic of the received message.
e.g. topic "everest/evse_manager/#" will receive "everest/evse_manager/main/var"
with the new subscribe callback "everest/evse_manager/main/var" will be the topic parameter.

I think I've addressed all the comments. Ready for re-review.


too many indices for array: array is 1-dimensional, but 2 were indexed

I use this model to do outpainting and get the following error message:
Error occurred when executing BrushNetInpaint:

too many indices for array: array is 1-dimensional, but 2 were indexed

File "/home/osense/Documents/ComfyUI/execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osense/Documents/ComfyUI/execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osense/Documents/ComfyUI/execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/osense/Documents/ComfyUI/custom_nodes/ComfyUI-BrushNet/brushnet_nodes.py", line 203, in brushnet_inpaint
mask_image = 1.*(mask_image>250)[:,:,np.newaxis]
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^

The input image and mask are as shown in the figure:

Does anyone have suggestions for me to modify the workflow?

Okay, I just fixed the error. Try it out.

Thank you. This issue was solved.


added check for componentName before pushing

What is the purpose of this change? What does it change?
added a check for componentName being set before pushing
Was the change discussed in an issue?
fixes #1016
How to test changes?
remove the ~/.kube/odo from your local computer then go to any local component source, try odo push --local .

:white_check_mark: odo build 809 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/955d2c957c by @girishramnani)

I don't think we can write a unit test for this one @amitkrout .

@girishramnani Why you think so ? Might be i am missing some context here

I actually meant it would make more sense to write an e2e test for this one

:white_check_mark: odo build 811 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/54c43c398e by @girishramnani)

:white_check_mark: odo build 829 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/16b516917a by @girishramnani)

LGTM :+1:

If you want to try to make an e2e test that'd be great :+1: Otherwise, this code LGTM.

@girishramnani you merged the pr without addressing @cdrage's https://github.com/redhat-developer/odo/pull/1139#issuecomment-448212414 ;)

@girishramnani I don't think it's touch to add, just a quick check when no component is present. Could you open up an issue for this @girishramnani to keep track / have to add an e2e test?


Attempt to add openmc

I'm keen to add and openmc package to emscripten-froge. I've not used emscripten-forge before but wanted to see if it would be straight forward to add openmc.

closing this as it looks like I have some work to do on the cmakelists file before it is ready to compile. Hope to be back


Link to autometrics-shared for the dashboards & alerting rules

https://github.com/autometrics-dev/autometrics-shared

Done in #34


Throttle not working, battery shows 0%.

Hello i succesfully flaashed original controler with hacked firmware. I wired up ESP with the scotter and uploaded your code. Scooter is powering up then i can connect to it using your app normally. When i am clicking unlock button the scooter unlocks, shows 0km/hs. And now there is issue. Scooter's display shows 0% on battery. I measured battery with multimeter and it's fully charged. Second problem is scooter doesn't react for the throttle and because of this it's not driving. Strange thing is when i unlock scooter the breaking light blinks a few times then stops and start blinking again. When i lock the scooter or disconnect it lock's itself normally and breaking light stops blinking.
Any advice about this issue? This scooter version is 1.04 (IoT PCB). I tried it with hacked firmware and original IoT with soldered jumper cable to make it boot but it behaviors simillar. Diffrence is it showing battery percentage correctly, is all time unlocked, breaking light reacts to break handle. But still doesn't react for the throttle.
Maybe i did something wrong in the wiring because i disconnected controller and take it to the home i had no IoT plug and just plugged ESP directly to controller but there are two sets of cables coming from controller with same collors. One is with 5 wires, second one is with 6. Maybe i taked wrong cable to connect RX and TX to the ESP? Does it matter?

Some pictures for addition.

Have you flashed the arduino fw i provided here: https://github.com/A-Emile/Lime_Gen3_IoT_Replacement/releases/tag/latest ?

Well, actually i flashed code just from master branch not from release. I have ESP32 Wroom i guess it doesn't have shock sensor so i should flash version without sleep? Those break light flashes are from triggered alarm?

Yep thats the Problem probably. Try flashing the one without sleep. It should Work..

Did you ever figure it out? I'm facing the same issue right now, except I'm already using the "without sleep" fw. One of my scooters works perfectly, but the second one shows 0% baterry 0kmh & every light is off + throttle does nothing.

Try flashing the silver controller next to the battery.
There are 2 versions, 20km and 25km files.

Try flashing the silver controller next to the battery. There are 2 versions, 20km and 25km files.

The lock
Or the unlock ones ?

The 3.3v HIGH Level is maybe not high enough for 5v HIGH level, so behavior is undefined. This may help to understand the problem.

How to interface a 3.3V output to a 5V input


Add support for .patch (fixes #34)

Thanks for the PR, while I appreciate an icon specifically for patch i wonder if we could do something simpler like re-using the git icon or something more basic? it's a bit hard to see in smaller sizes.

@misolori LGTM. I'll close the PR.


Quarkus Embedded Docs

https://issues.redhat.com/browse/ISPN-14584
@dvagnero I've created a very basic version of the docs for our Infinispan embedded extension. This should only be available on the upstream docs.  Can you take a look and let me know what this noob docs contributor has missed :smiley:

@ryanemerson  Pretty good docs :)  I added some docs suggestions.


Preserving line breaks in listing descriptions

My first pull request (hope I'm doing it right).
This change preserves line breaks for a listing description, reviews and shipping/returns.

What problem is this addressing? Can you provide examples of where lines in paragraphs weren't properly?

A user that adds a listing description with multiple lines will lose the formatting. This pull request fixes that issue. See image.

Thank you for posting the example.
There's a later fix that will be allowing and sanitizing HTML, this looks like it will complement it.


Error after downloading

I've downloaded latest TerasologyLauncher.zip and I've clicked "download" button, but I'm not able to play. Launcher shows me this error:

My settings:

I've got Windows 8.1 Pro

Hi @Albert221 - unfortunately this is a known issue (#311) with the launcher unable to handle the very latest game versions :-(
Until we fix it you can download the latest build directly from http://jenkins.terasology.org/job/DistroOmega/lastSuccessfulBuild/artifact/distros/omega/build/distributions/TerasologyOmega.zip

Fixed via  #317 - until the next stable release the develop version at http://jenkins.terasology.org/view/Launcher/job/TerasologyLauncher/lastSuccessfulBuild/artifact/build/distributions/TerasologyLauncher.zip should work
@Albert221 feel free to test and let us know if you find any issues! Closing this one as complete for now


If possible minimize clash between gawk and frawk flags

If possible minimize clash between gawk and frawk flags:
❯ frawk -h
frawk 0.4
Eli R.
frawk is a pattern scanning and (semi-structured) text processing language

USAGE:
    frawk [FLAGS] [OPTIONS] [--] [ARGS]

ARGS:
    <program>           The frawk program to execute
    <input-files>...    Input files to be read by frawk program

FLAGS:
    -A, --arbitrary-shell
        --dump-bytecode      print bytecode for input program
        --dump-cfg           print untyped SSA form for input program
    -h, --help               Prints help information
    -H, --parse-header       consume the first line of input and populate the `FI` variable with
                             column names mapping to column indexes
        --utf8               validate all input as UTF-8, returning an error if it is invalid
    -V, --version            Prints version information

OPTIONS:
    -b, --backend <backend>
            The backend used to run the frawk program, ranging from fastest to compile and slowest
            to execute, and slowest to compile and fastest to execute. Cranelift is the default
            [possible values: interp, cranelift, llvm]

    -F, --field-separator <SEPARATOR>      Field separator for frawk program.
    -i, --input-format <input-format>
            Input is split according to the rules of (csv|tsv). $0 contains the unescaped line.
            Assigning to columns does nothing. [possible values: csv, tsv]

    -j <jobs>
            Number or worker threads to launch when executing in parallel, requires '-p' flag to be
            set

    -O, --opt-level <opt-level>
            the optimization level for the program. Positive levels determine the optimization level
            for LLVM. Level -1 forces bytecode interpretation [possible values: 0, 1, 2, 3]

        --out-file <FILE>                  the output file used in place of standard input
    -o, --output-format <output-format>
            If set, records output via print are escaped according to the rules of the corresponding
            format [possible values: csv, tsv]

    -p <parallel-strategy>
            Attempt to execute the script in parallel. Strategy r[ecord] parallelizes within and
            accross files. Strategy f[ile] parallelizes between input files. [possible values: r,
            record, f, file]

    -f, --program-file <FILE>              a file containing frawk program
    -v, --var <var>...                     Has the form <identifier>=<expr>

❯ ./gawk --help
Usage: gawk [POSIX or GNU style options] -f progfile [--] file ...
Usage: gawk [POSIX or GNU style options] [--] 'program' file ...
POSIX options:		GNU long options: (standard)
	-f progfile		--file=progfile
	-F fs			--field-separator=fs
	-v var=val		--assign=var=val
Short options:		GNU long options: (extensions)
	-b			--characters-as-bytes
	-c			--traditional
	-C			--copyright
	-d[file]		--dump-variables[=file]
	-D[file]		--debug[=file]
	-e 'program-text'	--source='program-text'
	-E file			--exec=file
	-g			--gen-pot
	-h			--help
	-i includefile		--include=includefile
	-l library		--load=library
	-L[fatal|invalid|no-ext]	--lint[=fatal|invalid|no-ext]
	-M			--bignum
	-N			--use-lc-numeric
	-n			--non-decimal-data
	-o[file]		--pretty-print[=file]
	-O			--optimize
	-p[file]		--profile[=file]
	-P			--posix
	-r			--re-interval
	-s			--no-optimize
	-S			--sandbox
	-t			--lint-old
	-V			--version

To report bugs, see node `Bugs' in `gawk.info'
which is section `Reporting Problems and Bugs' in the
printed version.  This same information may be found at
https://www.gnu.org/software/gawk/manual/html_node/Bugs.html.
PLEASE do NOT try to report bugs by posting in comp.lang.awk,
or by using a web forum such as Stack Overflow.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
	gawk '{ sum += $1 }; END { print sum }' file
	gawk -F: '{ print $1 }' /etc/passwd

Sorry for not responding here. I appreciate wanting to swap out gawk and frawk in scripts where the program will otherwise run the same. I'll think about a replacement for '-b', and then publish a new version when I decide on one (suggestions welcome, of course). I'll probably get around to doing this once the other "low hanging fruit" bugs filed as issues are fixed.

Any update on this? -B could be used instead of -b.

Apologies! I should be able to make the substitution this weekend and post a new version.

I made the -b replacement. I can do others as well if you're running into other problems though.


vsproj solution generation with Mono module fails with ModuleNotFoundError

Godot version
4.0 dev  master (#64089)
System information
Windows 11
Issue description
ModuleNotFoundError: No module named 'modules.mono'; 'modules' is not a package:
  File "c:\godot\SConstruct", line 865:
    methods.generate_vs_project(env, GetOption("num_jobs"))
  File "methods.py", line 821:
    import modules.mono.build_scripts.mono_configure as mono_configure

Steps to reproduce
scons.exe p=windows tools=yes module_mono_enabled=yes  tools=yes  vsproj=yes target=release_debug num_jobs=10
Minimal reproduction project

Git clone
Build according to the step above

A propable fix is discussed here.

neikeq mentions that they hope to have fixed this in this comment, but I am still experiencing this issue on my Windows machine when building from 6e390fa9.

The merge remove many files, not sure if all are important

After Merge

here are the hack I made to get vsproj to work with the dotnet6
SConstruct
_helper_module("mono_reg_utils", "modules/mono/build_scripts/mono_reg_utils.py")

method.py
# import modules.mono.build_scripts.mono_reg_utils as mono_reg
import mono_reg_utils as mono_reg

Copy the missing file
https://github.com/godotengine/godot/blob/master/modules/mono/build_scripts/mono_reg_utils.py
Run this build script
scons.exe p=windows tools=yes module_mono_enabled=yes  tools=yes vsproj=yes  num_jobs=10

use both num_jobs=6 and -j6

Below this line add
https://github.com/godotengine/godot/blob/8c1dc0c7eaa4ac498372e55d04920a9a3ef678be/SConstruct#L52
_helper_module("mono_reg_utils", "modules/mono/build_scripts/mono_reg_utils.py")

Replace this line
https://github.com/godotengine/godot/blob/8c1dc0c7eaa4ac498372e55d04920a9a3ef678be/methods.py#L821
//# import modules.mono.build_scripts.mono_reg_utils as mono_reg
import mono_reg_utils as mono_reg

Copy the missing file
https://github.com/godotengine/godot/blob/master/modules/mono/build_scripts/mono_reg_utils.py
Run this build script
use both num_jobs=6 and -j6
scons p=windows num_jobs=6 -j6 module_mono_enabled=yes vsproj=yes

Closing as I assume this is no longer an issue after f784fb200034629318df122b0651a00de2d7007e.


docs: fix minor typos

Fix: minor typos

Codecov Report

Merging #1636 (d43d37b) into main (ce06da0) will increase coverage by 0.14%.
The diff coverage is n/a.

:exclamation: Current head d43d37b differs from pull request most recent head 57f318d. Consider uploading reports for the commit 57f318d to get more accurate results

@@            Coverage Diff             @@
##             main    #1636      +/-   ##
==========================================
+ Coverage   54.89%   55.04%   +0.14%
==========================================
  Files         230      230
  Lines       14995    14983      -12
==========================================
+ Hits         8232     8247      +15
+ Misses       5882     5855      -27
  Partials      881      881

Impacted Files
Coverage Δ

core/testing.go
84.05% <0.00%> (-0.45%)
:arrow_down:

state/core_access.go
28.89% <0.00%> (+0.85%)
:arrow_up:

share/eds/byzantine/pb/share.pb.go
34.84% <0.00%> (+1.96%)
:arrow_up:

share/eds/byzantine/bad_encoding.go
69.00% <0.00%> (+3.00%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Can't make the loom test work

running 1 test
Process 75752 stopped
* thread #2, name = 'tree::pagetable::tests::loom_test', stop reason = EXC_BAD_ACCESS (code=2, address=0x1011ea6b8)
    frame #0: 0x00000001004ddee7 photondb_engine-afcc1143f8647152`__rust_probestack + 23
photondb_engine-afcc1143f8647152`__rust_probestack:
->  0x1004ddee7 <+23>: testq  %rsp, 0x8(%rsp)
    0x1004ddeec <+28>: subq   $0x1000, %r11             ; imm = 0x1000
    0x1004ddef3 <+35>: cmpq   $0x1000, %r11             ; imm = 0x1000
    0x1004ddefa <+42>: ja     0x1004ddee0               ; <+16>
Target 0: (photondb_engine-afcc1143f8647152) stopped.
(lldb) bt
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
warning: could not execute support code to read Objective-C class data in the process. This may reduce the quality of type information available.
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
* thread #2, name = 'tree::pagetable::tests::loom_test', stop reason = EXC_BAD_ACCESS (code=2, address=0x1011ea6b8)
  * frame #0: 0x00000001004ddee7 photondb_engine-afcc1143f8647152`__rust_probestack + 23
    frame #1: 0x0000000100016fae photondb_engine-afcc1143f8647152`_$LT$photondb_engine..tree..pagetable..L0$LT$_$GT$$u20$as$u20$core..default..Default$GT$::default::h770627e018345a19 at pagetable.rs:131
    frame #2: 0x000000010002ae9b photondb_engine-afcc1143f8647152`_$LT$alloc..boxed..Box$LT$T$GT$$u20$as$u20$core..default..Default$GT$::default::h39c04354260c9a48 at boxed.rs:1259:18
    frame #3: 0x0000000100040f75 photondb_engine-afcc1143f8647152`_$LT$photondb_engine..tree..pagetable..Inner$u20$as$u20$core..default..Default$GT$::default::h71cfdbafd85f959b at pagetable.rs:66:17
    frame #4: 0x000000010001d595 photondb_engine-afcc1143f8647152`_$LT$loom..sync..arc..Arc$LT$T$GT$$u20$as$u20$core..default..Default$GT$::default::h210725ee7d10f769 at arc.rs:260:18
    frame #5: 0x00000001000413e4 photondb_engine-afcc1143f8647152`_$LT$photondb_engine..tree..pagetable..PageTable$u20$as$u20$core..default..Default$GT$::default::h3fd7c054b3063417 at pagetable.rs:16:5
    frame #6: 0x000000010004ff94 photondb_engine-afcc1143f8647152`photondb_engine::tree::pagetable::tests::loom_test::_$u7b$$u7b$closure$u7d$$u7d$::h78cdb847f839fb89((null)=0x0000000101306710) at pagetable.rs:251:25
    frame #7: 0x0000000100033ad0 photondb_engine-afcc1143f8647152`loom::model::Builder::check::_$u7b$$u7b$closure$u7d$$u7d$::h68f685cedde533f2 at model.rs:185:17

The codebase has been radically changed, this issue is obsoleted.


server and host definition in config.py

Add server and port for mongodb connection in config.py .
SERVER = localhost
PORT      = 27017

ok done


build.gradle issue in version 3.0  (Android)

The configuration is wrong for android
node_modules/react-native-zendesk-chat/android/build.gradle
buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    google()
    classpath 'com.android.tools.build:gradle:3.2.1'
  }
}

The solution is to move google() from dependencies to repositories
buildscript {
  repositories {
    jcenter()
  google()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
  }
}

Can you make this change for us please so if we need to refresh out node modules it won't break

@enormousrodent This change has been made.


fix(web-app): fix page not found vertical spacing

Closes #1778
Changelog
Changed

Added css styling to fix vertical spacing in page not found component
Minor HTML restructure changes in page not found component

Testing / reviewing
Verify vertical spacing in lg/sm breakpoints:

Thanks @francinelucca!
@aagonzales @kingtraceyj can you review the screenshots here? Should there be space between the two sentences? Or should there just be space around the copy block like here: https://github.com/carbon-design-system/carbon-platform/issues/1778

Design guidance here: https://ibm-studios.slack.com/archives/C06P07KPAUR/p1709913167917949

Ready for re-rev


Hotfix/slice out of range

Description
The evm crash due to out of range copy in evm.opReturnDataCopy. The crash log is blow.
This PR fixes it.
Oct  2 15:07:33 dogechain-validator dogechain[312072]: panic: runtime error: slice bounds out of range [128:128+96]
Oct  2 15:07:33 dogechain-validator dogechain[312072]: goroutine 33 [running]:
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.opReturnDataCopy(0xc047dc8480)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/instructions.go:841 +0x3b0
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.(*state).Run(0xc047dc8480)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/state.go:245 +0x110
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.(*EVM).Run(0x2cf8650, 0xc04b9c7340, {0x1e073e0, 0xc03c77ba00}, 0xc03c77ba30)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/evm.go:45 +0x15f
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).run(0xc03c77ba00, 0x33abfdbd9f0c5423, {0x1e073e0, 0xc03c77ba00})
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:632 +0x16f
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).applyCall(0xc03c77ba00, 0xc04b9c7340, 0x0, {0x1e073e0, 0xc03c77ba00})
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:685 +0x2b3
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).Callx(0xc043c4efc0, 0xf1, {0x1e073e0, 0xc03c77ba00})
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:855 +0x45
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.opCall.func1(0xc043c4efc0)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/instructions.go:1162 +0x2a4
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.(*state).Run(0xc043c4efc0)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/state.go:245 +0x110
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state/runtime/evm.(*EVM).Run(0x2cf8650, 0xc04b9c6bb0, {0x1e073e0, 0xc03c77ba00}, 0xc03c77ba30)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/runtime/evm/evm.go:45 +0x15f
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).run(0xc03c77ba00, 0x3b6cc2a6dcceefff, {0x1e073e0, 0xc03c77ba00})
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:632 +0x16f
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).applyCall(0xc03c77ba00, 0xc04b9c6bb0, 0x0, {0x1e073e0, 0xc03c77ba00})
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:685 +0x2b3
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).Call2(0xc03c77ba00, {0x3c, 0xd6, 0x51, 0x4c, 0x97, 0xda, 0xf9, 0xa, 0xff, ...}, ...)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:626 +0x265
Oct  2 15:07:33 dogechain-validator dogechain[312072]: github.com/dogechain-lab/dogechain/state.(*Transition).apply(0xc03c77ba00, 0xc042fc35e0)
Oct  2 15:07:33 dogechain-validator dogechain[312072]: #011/go/src/state/executor.go:585 +0xd0c

Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] Hotfix (change that solves an urgent issue, and requires immediate attention)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the relevant labels
[ ] I have updated the official documentation
[x] I have added sufficient documentation in code

Testing

[x] I have tested this code with the official test suite
[ ] I have tested this code manually

@zivkovicmilos Hi, zivkov. Bad news right now.
Do Polygon Edge team has any idea about this? Same evm codes in the upstream repo.
Would be very helpful if your guys could do us a favor to go through this PR.

@DarianShawn Hello, can I ask a question? What was the direct reason to cause this issue? Negative check of dataOffset seems to be only a change.

I'm afraid we don't get more information, the logs have been rotated after restarting. System messages just print out the crash stack, not any contract details.
I've tried using cap() in checkMemory(), but it panic in the ethereum evm tests.

@DarianShawn Thank you for quick reply. Just confirm. Have you seen the same crash after you fixed and restarted it? or you do no longer see this?

@DarianShawn I guess it can be caused with the bytecode which are not generated by any compiler. I mean negative value can be stacked before calling. recover() is a safe-guard for it and you can show several info and state like memory, stack, code, and etc.

Alright, my guess is the same.
Such a transaction should be considered a failure to execute, recover() would be more elegant way to do so.

@Kourin1996 I found the another issue related to this. Panic happens if the size is zero but memOffset is negative because checkMemory passes. I think checkMemory should check negativity of size and length first. How do you think?

@Kourin1996 You're right. Updated in 7aa3a8ab.

Hey @DarianShawn,
You can check out the parallel fix PR we have going on for the Edge repo:
https://github.com/0xPolygon/polygon-edge/pull/778

Thanks, @zivkovicmilos
I'll keep an eye on it.

Codecov Report

Merging #206 (8247330) into dev (cf53f77) will increase coverage by 0.31%.
The diff coverage is 30.18%.

@@            Coverage Diff             @@
##              dev     #206      +/-   ##
==========================================
+ Coverage   51.39%   51.71%   +0.31%
==========================================
  Files         113      114       +1
  Lines       16839    17101     +262
==========================================
+ Hits         8654     8843     +189
- Misses       7446     7501      +55
- Partials      739      757      +18

Impacted Files
Coverage Δ

state/runtime/evm/state.go
59.82% <14.70%> (-2.50%)
:arrow_down:

state/runtime/evm/instructions.go
16.16% <57.89%> (+2.37%)
:arrow_up:

archive/restore.go
55.76% <0.00%> (-6.60%)
:arrow_down:

archive/backup.go
34.86% <0.00%> (-4.27%)
:arrow_down:

blockchain/blockchain.go
50.12% <0.00%> (-0.75%)
:arrow_down:

state/immutable-trie/trie.go
60.80% <0.00%> (-0.44%)
:arrow_down:

protocol/testing.go
83.54% <0.00%> (-0.35%)
:arrow_down:

txpool/queue.go
83.97% <0.00%> (-0.27%)
:arrow_down:

network/identity/identity.go
18.18% <0.00%> (-0.19%)
:arrow_down:

state/txn.go
20.00% <0.00%> (-0.10%)
:arrow_down:

... and 18 more

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


[Event Request] Codeunit 12 "Gen. Jnl.-Post Line" - OnCalcPmtDiscIfAdjVATOnBeforeInsertPmtDiscVATForGLEntry

Hi team,
In codeunit 12 "Gen. Jnl.-Post Line" procedure CalcPmtDiscIfAdjVAT we would like to assign additional fields to VATEntry before further code is ran for that we would like to have an event before InsertPmtDiscVATForGLEntry procedure is ran

[IntegrationEvent(false, false)]
local procedure OnCalcPmtDiscIfAdjVATOnBeforeInsertPmtDiscVATForGLEntry(var VATEntry: Record "VAT Entry"; VATEntry2: Record "VAT Entry"; DtldCVLedgEntryBuf2: Record "Detailed CV Ledg. Entry Buffer");

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Fix company backends for text and org modes

See https://github.com/hlissner/doom-emacs/issues/4477

Thanks!

Thanks!


SkipOnMissingLicense

Hard to read:
Specifies what happens to the event subscriber method call when the Dynamics 365 Business Central license of the user account that is running the current session does not include the codeunit that contains the subscriber method.

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

ID: 6d70267f-d9d9-ae2f-f8fc-f2abd435bffe
Version Independent ID: f52b19f8-a064-81e5-35a2-76a406620fa4
Content: EventSubscriber Attribute - Business Central
Content Source: dev-itpro/developer/methods/devenv-eventsubscriber-attribute.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback Kennie! The description has been rewritten to make it easier to read, hopefully. The update will be published soon.


debian package of numpy for debian wheezy with py2deb

Hi, thanks for py2deb, it's exactly what I need now.
I'm trying to create a debian package of numpy for debian wheezy for the version v1.14.1 (the official debian package is an older version). However, I'm having these errors:
# py2deb -r /output_debs/ numpy
2018-03-09 16:44:28 4222eefebe82 pip_accel[21987] INFO Unpacking distribution(s) ..
2018-03-09 16:44:28 4222eefebe82 pip_accel[21987] INFO Executing command: pip install --download=/var/cache/pip-accel/sources --find-links=file:///var/cache/pip-accel/sources --no-binary=:all: --no-index --no-clean --build-directory=/tmp/pip-accel-build-dir-P1smGj --ignore-installed numpy
2018-03-09 16:44:28 4222eefebe82 pip.commands.install[21987] INFO Ignoring indexes: https://pypi.python.org/simple
2018-03-09 16:44:29 4222eefebe82 pip.req.req_set[21987] INFO Collecting numpy
2018-03-09 16:44:29 4222eefebe82 pip.download[21987] INFO File was already downloaded /var/cache/pip-accel/sources/numpy-1.14.1.zip
2018-03-09 16:44:29 4222eefebe82 pip.commands.install[21987] INFO Successfully downloaded numpy
2018-03-09 16:44:29 4222eefebe82 pip_accel[21987] INFO Finished unpacking 1 distribution in 0.84 seconds.
2018-03-09 16:44:29 4222eefebe82 pip_accel.bdist[21987] INFO Building numpy (1.14.1) binary distribution ..
2018-03-09 16:44:30 4222eefebe82 pip_accel.bdist[21987] WARNING Build of numpy (1.14.1) failed, falling back to alternative method ..
2018-03-09 16:44:30 4222eefebe82 pip_accel.bdist[21987] INFO Building numpy (1.14.1) binary distribution ..
2018-03-09 16:44:30 4222eefebe82 pip_accel.bdist[21987] WARNING Build of numpy (1.14.1) failed, checking for missing dependencies ..
2018-03-09 16:44:30 4222eefebe82 pip_accel.deps[21987] INFO Checking for known dependencies of numpy ..
2018-03-09 16:44:30 4222eefebe82 pip_accel.deps[21987] INFO No known dependencies... Maybe you have a suggestion?
2018-03-09 16:44:30 4222eefebe82 py2deb.cli[21987] ERROR Caught an unhandled exception!
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/py2deb/cli.py", line 200, in main
    archives, relationships = converter.convert(arguments)
  File "/usr/local/lib/python2.7/dist-packages/py2deb/converter.py", line 546, in convert
    archive = package.convert()
  File "/usr/local/lib/python2.7/dist-packages/py2deb/package.py", line 376, in convert
    virtualenv_compatible=False,
  File "/usr/local/lib/python2.7/dist-packages/pip_accel/bdist.py", line 437, in install_binary_dist
    for member, from_handle in members:
  File "/usr/local/lib/python2.7/dist-packages/py2deb/package.py", line 503, in transform_binary_dist
    for member, handle in self.converter.pip_accel.bdists.get_binary_dist(self.requirement):
  File "/usr/local/lib/python2.7/dist-packages/pip_accel/bdist.py", line 87, in get_binary_dist
    raw_file = self.build_binary_dist(requirement)
  File "/usr/local/lib/python2.7/dist-packages/pip_accel/bdist.py", line 217, in build_binary_dist
    return self.build_binary_dist_helper(requirement, ['bdist', '--formats=gztar'])
  File "/usr/local/lib/python2.7/dist-packages/pip_accel/bdist.py", line 282, in build_binary_dist_helper
    name=requirement.name, version=requirement.version)
BuildFailed: Failed to build numpy (1.14.1) binary distribution!

Please check the build output because it will probably provide a hint about what went wrong.

Build output:

Running from numpy source directory.
`setup.py bdist` is not supported
Add `--force` to your command to use it anyway if you must (unsupported).

Any advice?
Thanks.

The setup.py file for numpy doesn't allow the bdist installation method, my solution is to patch setup.py (it requires modifying two lines), see: https://github.com/numpy/numpy/issues/7632
The change to setup.py:
https://github.com/ddboline/numpy/commit/c5435d0944b4a5563afadf6afef3fbfe525ccbd1

There seens to be a --force option. Can we use this somehow? Perhaps have a hueristic that py2deb passes --force if doing numpy? Perhaps this can be handled in a module for special tweaks for tricky/non-standard packages?

The setup.py file for numpy doesn't allow the bdist installation method, my solution is to patch setup.py (it requires modifying two lines), see: numpy/numpy#7632
The change to setup.py:
ddboline/numpy@c5435d0

@ddboline Could you elaborate more how to tweak it, I am facing the same issue on production right now and I cannot get a debian package out of numpy....


feat: Disallow internal set parameters

FIR-30143
Some set parameters are not allowed. Adding an appropriate error message for them.

I feel there are no appropriate integration tests here since this is purely client-side change. Integration tests would just test the same thing and look exactly the same as the unit tests.


feat(Workspaces): workspace database exploration

Add features for workspace database exploration.
Changes
Please list / describe the changes in the codebase for the reviewer(s).

List tables of a workspace database
Display details on a database table.

Screenshots / screencast

Don't forget to address this problem (seen in the browser's console)

Don't forget to address this problem (seen in the browser's console)

Hum I cannot reproduce it, weird !

Don't forget to address this problem (seen in the browser's console)

Okay on it


Update wasm-tools dependencies

Pull in bytecodealliance/wasm-tools#1277 to switch the defaults for some WIT behaviors:

Semicolons are now required by default in WIT files
Wasm-encoded WIT packages now use the "new" format by default.

WIT files without semicolons can still be parsed with WIT_REQUIRE_SEMICOLONS=0. The "old" format for wasm-encoded WIT packages can be emitted via WIT_COMPONENT_ENCODING_V2=0. Note that for wasm-encoded WIT packages both the old and the new format can be decoded irregardless of env vars.

Indeed!


How can we document port requirements for pod network plugins?

Per PR #4111 we have  a problem in offering documentation around required port security for network plugins.  The problem has two parts:

We want to link to plugin docs instead of maintaining our own list of required ports, because our list will become out-of-date/wrong.
However, plugins either have no explicit documentation at all about what ports need to be open, or have that documentation buried in an obscure sub-page which is mostly about something else (e.g. http://docs.projectcalico.org/v2.3/reference/public-cloud/aws)

As I see it, (2) trumps (1); if there's nothing to link to, we're going to need to maintain our own list of required default ports.  Other ideas?

cc @luxas @mikedanese @jamiehannaford

I've raised https://github.com/projectcalico/calico/issues/868 to adjust the Calico docs so that we can more easily link to them from the k8s docs.

New link for Weave: https://www.weave.works/docs/net/latest/faq/#ports

cc @aaronlevy @tomdee for Flannel

The flannel backends doc list default ports, if that might be sufficient: https://github.com/coreos/flannel/blob/master/Documentation/backends.md

OK, seems like we have enough port information to link to popular pod networks.

/remove-lifecycle stale

ping @jberkus


fix partners styles & version page [MDS-236]

just renaming root css class back for partners's theme
fix accidential version disappearing

yeah,

I think the css files are generated by theme-importer.ts and figma-importer.ts. Kindly make sure that this does not happen again when you run those scripts. ./run-importers.sh will run these.

tested, that's ok with class names in generated files (after running importers)


onMessage is obsolute.

your example program https://github.com/carpedm20/fbchat/blob/master/examples/echobot.py was working fine a few days ago, and now it tells "listing..." and doesn't listen to the incoming messages.

Closing, after no response from submitter


Tech Radar Owner/Lifecycle

Feature Suggestion
Currently the tech-radar plugin has a hardcoded owner and lifecycle to Spotify and Beta respectively.
Possible Implementation
We can either remove it completely unless we want to show the Group owning the contents of the radar. However it's not an entity itself.
Any other suggestions on what to do with it?

@althafh I think it should be removed actually. Do you want to give it a go?

Definitely. Will put out a PR :)

🙏


CHEBI:53259 wrong molecular formula

Hi,
I have seen that the term "poly(ethylene terephthalate) macromolecule" with id CHEBI:53259 has a molecular formula= (C12H14O5)n, but the amount of carbons in the structure does not match with the structure.
José Luis

Thanks for letting us know. This has now been fixed.


normalize descriminator's output

The outputs of descriminator_loss and generator_loss are supposed to be between [0, 1], but looking at the code it seems that x in the output can be any value.
I fixed the code. Since it is used for other calculations, it is not possible to check the operation, but please check it.

The discriminator's codes are based on https://github.com/jaywalnut310/vits/blob/main/models.py, I don't know if the original codes will decrease the performance, but it seems that values outside 0 to 1 don't cause error? Are there some experiment results that can compare the performance about modifying the sigmoid layer?

This was a bug I found while rewriting the descriptor. I was able to get the VC to work with the modification including the above code when I trained it with other major changes, but I haven't been able to make a fair comparison yet.
def discriminator_loss(disc_real_outputs, disc_generated_outputs):
    loss = 0
    r_losses = []
    g_losses = []
    for dr, dg in zip(disc_real_outputs, disc_generated_outputs):
        dr = dr.float()
        dg = dg.float()
        r_loss = torch.mean((1 - dr) ** 2)
        g_loss = torch.mean(dg**2)
        loss += r_loss + g_loss
        r_losses.append(r_loss.item())
        g_losses.append(g_loss.item())

    return loss, r_losses, g_losses

def generator_loss(disc_outputs):
    loss = 0
    gen_losses = []
    for dg in disc_outputs:
        dg = dg.float()
        l = torch.mean((1 - dg) ** 2)
        gen_losses.append(l)
        loss += l

    return loss, gen_losses

Look at the code above. This is part of the descriptor and generator loss.
In the descriminator_loss, the loss is the smallest when the value created from the correct sound source is close to 1 and the value created from the synthesized sound source is close to 0.
In generator_loss, the loss is minimized when the value created from the synthesized sound source is close to 1.
From this, normalizing values between 0 and 1 with the sigmoid function should theoretically lead to better performance.
However, the current learning is working and it is not a fatal bug, so I would appreciate it if someone from the development team could do a comparative experiment.

After some changes by Nadare to fix loading default models, we ran an additional test with a pretrained model and identified that this change negatively impacts model quality based on the results of the training run.
Same training conditions and data as the previous model
Vanilla Model:

Normalized Model:

It was written in 2.3 of the VITS paper that the sigmoid function is not used and the least squares error is used. This is a method proposed in LSGAN, and was introduced to solve the problem that the error becomes too small when using cross-entropy.
Sorry for the confusion. This PR will be closed.


Great work! When can we see the code of the research?

Same as title.

Thank you for your interest in our research! We're currently in the process of cleaning up the code and adding sufficient documentation to make it user-friendly. We understand the importance of making our research reproducible and we're working hard to get the code ready for public release.
We expect to gradually release the code and update the repository in several months.  In addition, this repository will be continually maintained.
Thanks again for your interest and patience!
Best,
Yiyuan


Python 3.8 support - 'PosixPath' object has no attribute 'is_relative_to'

Python Version
3.8.10
Django Version
4.0.10
Package Version
0.1.0
Description
Hi there. Thanks for this amazing package. I went through the pain of attempting to install Watchman before stumbling on to this project (I'm pretty far down the rabbit hole at this point trying to save some CPU cycles on our local machines...).
We're running python 3.8 which the readme says should be supported. But I'm running into an issue
|   File "/usr/local/lib/python3.8/site-packages/watchfiles/main.py", line 286, in <setcomp>
|     changes = {c for c in changes if watch_filter(c[0], c[1])}
|   File "/usr/local/lib/python3.8/site-packages/django_watchfiles/__init__.py", line 67, in file_filter
|     if path.is_relative_to(directory):
| AttributeError: 'PosixPath' object has no attribute 'is_relative_to'

It looks like the package is using is_relative_to which seems like it was only introduced in python 3.9 according to the python docs https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.is_relative_to
I'm not sure if I'm missing something here so would appreciate if you could provide any insight.
Cheers

Yes, this is true. The package is still alpha quality and not properly tested. Can you suggest a fix? If not, I can't say when I'll be able to prioritize working on this.

Yea no worries. I was just hoping I was missing something simple ha. As I mentioned I'm deep down the rabbit hole now so it's either get this to work or install Watchman... (and we both know how fun that is going to be).
I had a quick look at it and I think I see a simple solution that would get it to work on 3.8. I'll try to test it out today and get a PR up.

Fix released in 0.1.1, thanks! One of these days, I’ll get around to adding tests, but if you’d like to try, that would be great!

Thanks! Appreciate the prompt response on this one. I was tempted to have a go at adding a test to cover this but unfortunately I don't really have the spare time at the moment.


Fix minor drawing order glitch in polygon 2D editor

Fixes a minor glitch, where the handle gets partially overdrawn by the polygon line:
https://user-images.githubusercontent.com/11859538/32533960-b750e87c-c453-11e7-8fce-028721c4a631.jpg
Partial follow up of https://github.com/godotengine/godot/pull/12740.

Hum, seems a quite a complex workaround... Why not just run a first loop drawing the lines and a second one to draw the textures ?

@groud I didn't want to duplicate the code calculating the vertex position. I also disliked transforming the points twice. Anyway, just pushed another variant using a loop that doesn't duplicate code.

@groud I didn't want to duplicate the code calculating the vertex position

It's ok duplicating this code, especially because it's not at all performance critical.
You're doing premature optimization. Writing a code that is easy to understand and to maintain is a lot more important in this situation. :)
Just do a first pass drawing the lines, then a second one drawing the handles, even if it needs to duplicate two lines. It's a lot simpler to understand even if not optimal.

We surely have very different ideas of maintainable code, but here you are :)


NK3: After having set a password in otp app, nitropy does not ask for password and get/register operation fail

I am currently testing the OTP feature of a NK3 A. Using nitropy nk3 otp register or nitropy nk3 otp get works well unless a password is set:
$ nitropy nk3 otp register --experimental Test 4IHNQYUXMAQDJCYBOGLQI53XM433DS6T
Command line tool to interact with Nitrokey devices 0.4.31
$ nitropy nk3 otp show
Command line tool to interact with Nitrokey devices 0.4.31
b'Test'
$ nitropy nk3 otp get --experimental Test
Command line tool to interact with Nitrokey devices 0.4.31
Timestamp: 2022-12-10T13:55:40<PHONE_NUMBER>), period: 30
840880
$ nitropy nk3 otp set-password --experimental
Command line tool to interact with Nitrokey devices 0.4.31
Password:
Repeat for confirmation:
Password set
$ nitropy nk3 otp get --experimental Test
Command line tool to interact with Nitrokey devices 0.4.31
Device returns error: CTAP error: 0x01 - INVALID_COMMAND. This credential id might not be registered.
$ nitropy nk3 otp register --experimental Other 4IHNQYUXMAQDJCYBOGLQI53XM433DS6T
Command line tool to interact with Nitrokey devices 0.4.31
Critical error:
An unhandled exception occurred
  Exception encountered: CtapError('CTAP error: 0x01 - INVALID_COMMAND')
...

Problem seems to be that nitropy does not detect a password is set, as it does not ask for one. This is checked this way with algorithm and challenge set in a SELECT response.
However, the algorithm seems to not be set in the response, as can be seen in this test
>>> nitrokey = Nitrokey3Device.list()[0]
>>> app = OTPApp(nitrokey, logfn=print)
>>> resp = app.select()
Sending '00a4040007a0000005272101'
Received '79030404047108e457a08a0392e046740811f6df6f9445eec3'
>>> resp
SelectResponse(version=b'\x04\x04\x04', name=b'\xe4W\xa0\x8a\x03\x92\xe0F', challenge=b'\x11\xf6\xdfo\x94E\xee\xc3', algorithm=None)
>>> import tlv8
>>> import codecs
>>> resd: tlv8.EntryList = tlv8.decode(codecs.decode('79030404047108e457a08a0392e046740811f6df6f9445eec3', 'hex_codec'))
>>> for x in resd:
...     print(x.type_id)
...     print(x.data)
...
121
b'\x04\x04\x04'
113
b'\xe4W\xa0\x8a\x03\x92\xe0F'
116
b'\x11\xf6\xdfo\x94E\xee\xc3'

No entry with TLV id 7b (123) has been received.
I am not sure if this is a problem in the firmware, in the set_code command or in the authentication_required (like no algorithm means sha1), so I create my ticket here.
nitropy.txt

Hi! Thank you for the report!
The oath-authenticator app in this alpha release is outdated (v0.3.0), and the required changes are already introduced. Hopefully this will be released in the next alpha.
See details of the releases here:

https://github.com/Nitrokey/oath-authenticator/releases

I do not know, why this information was missed in the blog announcement. @daringer Can you update the article please?

https://www.nitrokey.com/blog/2022/nitrokey-3-alpha-firmware

Either way, nothing to do for pynitrokey. Closing.