Horizontal Scaling Scripts

As a part of deployment config, user should be able to specify number of read replicas they want and requests should be automatically load balanced over read repicas.
User, at any point, should also be able to update number of read replicas and accordingy system should adjust.
Future Scopes:
Dynamic Scaling Configuration, where in user can specify minimum and maximum replicas and system should auto scale.
Reference: https://severalnines.com/blog/comparing-load-balancers-postgresql/

Hello @singhalkarun, can you provide further information regarding this issue. It would be helpful to know the specific orchestration we are targeting and any crucial project requirements that need to be addressed. Thank you!

Hi @PiyushRaj927 we are specifically targeting to scale read replicas horizontally as a first step where in user should be able to specify number of read replicas in the config itself and the requests should be automatically load balanced over those read replicas.

Hello @singhalkarun, can you provide further information regarding this issue. It would be helpful to know the specific orchestration we are targeting and any crucial project requirements that need to be addressed. Thank you!

Hi @PiyushRaj927 we are specifically targeting to scale read replicas horizontally as a first step where in user should be able to specify number of read replicas in the config itself and the requests should be automatically load balanced over those read replicas.

Hello @singhalkarun which orchestration tool are we using and can you provide some more details regarding this .
thanks.
looking forward

Hey @singhalkarun , I can take this up. Shall we go ahead using Pgpool-II for configuring load balancing ?

@singhalkarun Check out the Comparison matrix here https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling


Updat-2 searchtools.js DOM text reinterpreted as HTML

Additional Description: By using innerText, it will avoid the risk of HTML injection, as these properties automatically escape any HTML special characters in the provided text. This helps prevent cross-site scripting (XSS) vulnerabilities by treating the input as plain text rather than interpreted HTML.

Hii @phlax Could You Please Review This PR
Thanks

Hii @phlax
Thanks For Reviewing this PR From Your Time :)
Instead of replacing innerHTML with innerText, could we use DOMPurify here?
It sanitizes the content and renders the HTML without modifying the original HTML structure.
Let me know your thoughts!

Hii @phlax Thanks for your suggestion. I’ll try to raise this with the Sphinx project as you recommended. I understand the priority and will focus on suggesting a fix for new content moving forward.


Update guide to use v4.0.0 [CI SKIP]

Merging right away so the website can pick up these changes.


Generate comprehensible usage guide in the README

The README is generally the first encounter with a Github project. Here we need to explain, how the code generator is used. So far none of the possible input JSON arguments are explained in detail. Please provide documentation on the possible structure and arguments of the input JSON files. Pointing to the example directory does not suffice.

Done. #f9871e


make whole datasheet read-only

Hi,
after reading the documentation I'm able to discover that there are only the columns/cells disable possibility.
There is a way to have a props named readonly in order to make the whole datasheet in read-only mode (just possible copy data in this way)?
Thanks a lot!

That is true, good point. A workaround would be to set disabled to true for each column. You should also set lockRows to true on the grid.
You could also change some CSS variables to make the UI look "normal"


Add support for Google Protocol Buffers when viewing a key...

https://developers.google.com/protocol-buffers/
Original issue: https://github.com/uglide/RedisDesktopManager/issues/3756

It's hard to implement generic way to view protobuff data because it depends on proto files.


Added hover effect in dark mode

Hover effect in dark mode#97

Close #<issue_no>

Checklist:

[] I have mentioned the issue number in my Pull Request.
[] I have commented my code, particularly in hard-to-understand areas
[] I have created a helpful and easy to understand README.md

Can you apply same effect in light mode also?

Ok, will work on it.


dirty flag of listField is wrong when initial value is set to current value via useFieldInitialValue

Describe the bug
In my form, the user shall stay on the form page after form submit.
When the submit button is clicked, the form data is sent to the backend and returns the updated values.
useFieldInitialValue is used to update the initial value of all form fields after the updated values are
This works for e.g. textField, but not for listField.
When the initial value of a  listField is set to the current value via useFieldInitialValue, the dirty flag of a listField is still true while it should now be false.
To Reproduce
I created a reproducer at https://github.com/schiller-manuel/form-atoms-field-bug/blob/main/src/App.tsx
Here the backend request/response communication is replaced by a simple useState.
https://github.com/form-atoms/field/assets/6340397/9fa5120a-a03e-4025-a3ef-108b1994b55f
The Foo labeled field is a simple textField. When its value is changed, the form state switches to dirty.
After submit, the form state is not dirty anymore.
The First Name labeled field is inside of a listField. When its value is changed, the form state switches to dirty.
After submit, the form state is STILL dirty.
Expected behavior
dirty flag of listField should be false in this case
versions

form-atoms v3.2.3
@form-atoms/field v4.0.11

There is a passing test for this case
https://github.com/form-atoms/field/blob/901fb645236e66054e54f652bc10632e8498f579/src/atoms/list-atom/listAtom.test.ts#L337
Maybe its related to the changes in the useFieldInitialValue

The thing is that the set(valueAtom) is not called, as the useFIV calls it only for pristine field:
https://github.com/form-atoms/form-atoms/blob/608e42c7f8f223fe3d36585770ae5a2a6cfb5575/src/index.tsx#L1055
and the listAtom currently cannot return to pristine, once it's dirty.
What needs to be done is to handle the write into initialValueAtom of the listAtom, so it will recursively write into the nested inputs. That way, the dirty will all return to false, after the submit.
But this is simplistic and correct only for the case, where we update the already existing items in the list. In case items were reordered, or added/removed, this could potentially mix data on the background.
E.g. we can't assume anything, about how the initialValue is obtained, yes in most of our happy scenarios its the new data returned from the BE after the save. But also it could be from initial query, which gets refetched after becoming stale and could return potentially different data updated by another user.
Bad scenario:

change items locally
go AFK, initial query becomes stale
return back, focus browser window
query re-fetches, and initialValues are updated in the background
a single item could have touched+dirty and untouched fields
the untouched fields which got reinitialized could be from a reordered item, now mixed with the touched+dirty inputs of another reordered item

So potentially, the listAtom could get keyField property as not to merge reordered items. The key would be something like the id from your other issue, where you have languages.
Other options I thought about:

reinitializing manually
E.g. after the successful submit, the form will be reset, so the initial data will behave like fresh render

hydrating atoms with the dangerouslyHydrate flag.
Like the above, we could use the useHydrateAtoms hook with the flag, to force rehydration. The flag would depend solely on the submit status of the update query, e.g. submitStatus === "success". Here we would have to after the rehydration reset the query somehow so it won't rehydrate again... perhaps when any of the fields is changed.

Make the useFIV behave like the useSetFieldValue, so basically, once you change the initialValue for the listAtom, its value would be recalculated. Here you could change the local changes, in case the refetched query (from the scenario above) reinitializes the input.

I like this, as I think that often the <List /> component is used on a separate page, used often to configure something, value of which is changed rarely, and even less concurrently (multiple users changing the value).

change the dirtyAtom evaluation?
Perhaps do deepEquals compare instead of watching the nested field's dirty state. Not sure how this would work, when the created items are returned from BE with new ids...

@schiller-manuel I went with the option 3 from "other options" above.
It uses special useFIV hook, that only sets the valueAtom which also clears the dirty flag.
Solved for me the case, where my submit button returned to disabled state, just after the new initialValue was returned from the server render.
If somebody would use this with the client data fetching, like in useQuery() and would face the issue mentioned above, then the initialValue must be deeply compared with the query value as to keep the referential identity.


When not unwrapping quotes, a quotted token includes all the subsequent tokens

    #[test]
    fn test_splitty() {
        let printme: Vec<&str> = splitty::split_unquoted_whitespace("\"one\" two").unwrap_quotes(false).collect();
        println!("{:?}", printme);
        let mut token = splitty::split_unquoted_whitespace("\"one\" two").unwrap_quotes(false);
        assert_eq!(token.next(), Some("\"one\""));
        assert_eq!(token.next(), Some("two"));
        assert_eq!(token.next(), None);
    }

This results in:
---- tests::test_splitty stdout ----
["\"one\" two", "two"]
thread 'tests::test_splitty' panicked:
assertion `left == right` failed
  left: Some("\"one\" two")
 right: Some("\"one\"")

Thanks for the report.
I made a PR but I'll probably add more tests before merging it. Your review and test suggestions would of course be welcome.

version 1.0.2 pushed to crates.io


"update existing share link for this project" updates the original project link even when we are using a copy of that project

Same problem again (https://github.com/microsoft/pxt-arcade/issues/5866)
Describe the bug
I made "project 1" and shared the URL of it.
Later I duplicated "project 1" in my project list, creating "project 2":

If inside "project 2" I check the option "update existing share link for this project" it will update the link of "project 1" even though it is inside "project 2":

To Reproduce
Steps to reproduce the behavior:

Go to homepage and click in '+ New Project', name it as "Project 1":

Share the project:

Copy the URL: https://arcade.makecode.com/S83493-32957-50912-49085 (in this example)

Back to homepage, and click on "View All":

Select the "project 1" and duplicate it:

Give the name "project 2"

Open the "Project 2":

Share the project again, but this time checking the "Update existing share link for this project":

Get the same link of "project 1":
https://arcade.makecode.com/S83493-32957-50912-49085

Expected behavior
I would expect it not to overwrite "Project 1", but create a new link to a new project. As despite being a copy, the 2 projects are different projects.
Screenshots
(placed in the step by step above)
Desktop (please complete the following information):

OS: Windows 11
Browser: Chrome
Version: 116.0.5845.141 64 bits

Smartphone (please complete the following information):

not tested in smartphone

Additional context

I was writing classes on makecode with some projects, and saving the link to the finished projects for students and other teachers to check out. I unknowingly put the same link in 3 derivative projects, and I realized later that it was the same link, I already adjusted it using different links, but that prevents me from updating the first project because the link would change for example, and I wouldn't be able to use those links to classes in printed material without a redirector if I think to change or correct any errors later.
If the duplication of a project was not linked with the original project it would be much better.

Good contribution, @KevynTD!


macOS app signing fails on prepush hook and "npm run pack"

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: macOS Sierra 10.12

Hyper.app version: git master version (Latest commit 27a20e0)

Issue
Packing the app fails on signing stage with Error: No identity found for signing. README encourages you to try packing it as a way of testing that things work as a whole.
According to electron docs though (https://github.com/electron-userland/electron-osx-sign/wiki/1.-Getting-Started) you have to setup a Mac Developer Profile to get it working (which is kind of expected, although I thought nowadays you don't have to pay for enrollment to codesign dev versions. Maybe that only applies to iOS apps).
Also prepush hook has packing stage so this interferes with pushing to a forked repo.
I've got a feeling that I might be missing something though. If I'm not, maybe we should at least mention this in README.

I can relate:
> @ build /Users/ppot/DEV/Contrib/hyper
> cross-env NODE_ENV=production webpack

Hash: 323238cb2b5e4e916f5a
Version: webpack 2.1.0-beta.25
Time: 4943ms
           Asset     Size  Chunks             Chunk Names
       bundle.js  1.64 MB       0  [emitted]  main
   bundle.js.map  2.04 MB       0  [emitted]  main
assets/icons.svg  2.81 kB          [emitted]
    + 296 hidden modules
Rebuilding native production dependencies for arch x64
Packaging for darwin x64 using electron 1.4.5 to dist/mac
⚠  App is not signed: cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate, see https://github.com/electron-userland/electron-builder/wiki/Code-Signing

I'm getting the same thing.

Same here :\


fix: Node.of(construct).uniqueId is not strictly compatible with the K8s labels

Node.of(construct).uniqueId is bound to CloudFormation's resource logical ID rule, which is not strictly compatible with the K8s label rule. It might lead to invalid K8s manifests.
I've changed all Node.of(construct).uniqueId with Node.of(construct).path, or Names.toDnsLabel(Node.of(construct).path) if needed.
Since K8s DNS label rule are subset of label key name segment/value rule, I've added Names.toLabelValue and used it for selector labels.
fixes: #323
BREAKING CHANGE: cdk8s-plus's value of a label cdk8s.deployment of Pods are changed
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

Rebase to resolve merge conflict.


[Question] After ejecting and using testEnvironmentOptions, how do you propagate back CLI commands?

Senario:
I needed to eject the jest config because I needed to add a launch argument to get my fonts to render correctly in chromium on ubuntu.
const { getJestConfig } = require("@storybook/test-runner");

module.exports = {
  // The default configuration comes from @storybook/test-runner
  ...getJestConfig(),
  /** Add your own overrides below
   * @see https://jestjs.io/docs/configuration
   */
  testEnvironmentOptions: {
    "jest-playwright": {
      launchOptions: {
        args: [
          "--font-render-hinting=none",
        ],
      },
      collectCoverage: true,
    },
  },
};

However now some CLI commands arguments aren't passed into testEnvironmentOptions like --browsers or --coverage. I worked around coverage by setting that to always-true but I don't know how to deal with the browsers. I could create environment variables and pass them in, but it seems like the solution should either be that the launchOptions are merged with the CLI commands or that there's another way.
I might be missing something like that the CLI command already environment variables. :)

Well duh, you go look at what getJestConfig is doing and replicate it :)
/* eslint-disable @typescript-eslint/no-var-requires */
const { getJestConfig } = require("@storybook/test-runner");

module.exports = {
  // The default configuration comes from @storybook/test-runner
  ...getJestConfig(),
  /** Add your own overrides below
   * @see https://jestjs.io/docs/configuration
   */
  testEnvironmentOptions: {
    "jest-playwright": {
      browsers: process.env.TEST_BROWSERS.split(",")
        .map(p => p.trim().toLowerCase())
        .filter(Boolean),
      collectCoverage: process.env.STORYBOOK_COLLECT_COVERAGE === "true",
      launchOptions: {
        args: ["--font-render-hinting=none"],
      },
    },
  },
};

Hey @VickyKoblinski thanks for opening this issue! Sorry you went through it, but I'm happy you managed!
Although it's great you found that solution, it wasn't trivial and we can possibly do better on our side. One could either fully override the configuration, or merge it so they get everything from the original config + only certain custom bits.

Well duh, you go look at what getJestConfig is doing and replicate it :)
/* eslint-disable @typescript-eslint/no-var-requires */
const { getJestConfig } = require("@storybook/test-runner");

module.exports = {
  // The default configuration comes from @storybook/test-runner
  ...getJestConfig(),
  /** Add your own overrides below
   * @see https://jestjs.io/docs/configuration
   */
  testEnvironmentOptions: {
    "jest-playwright": {
      browsers: process.env.TEST_BROWSERS.split(",")
        .map(p => p.trim().toLowerCase())
        .filter(Boolean),
      collectCoverage: process.env.STORYBOOK_COLLECT_COVERAGE === "true",
      launchOptions: {
        args: ["--font-render-hinting=none"],
      },
    },
  },
};

Ideally you should not just replicate the code because it might change over time, so what you can do is:
/* eslint-disable @typescript-eslint/no-var-requires */
const { getJestConfig } = require("@storybook/test-runner");

const originalConfig = getJestConfig()
module.exports = {
  // The default configuration comes from @storybook/test-runner
  ...originalConfig,
  /** Add your own overrides below
   * @see https://jestjs.io/docs/configuration
   */
  testEnvironmentOptions: {
    "jest-playwright": {
      ...originalConfig.testEnvironmentOptions["jest-playwright"],
      launchOptions: {
        args: ["--font-render-hinting=none"],
      },
    },
  },
};

Or, because it might be tricky always having to spread bits of the config, you could use a deepMerge library (or maybe we can provide this function from the test runner itself):
/* eslint-disable @typescript-eslint/no-var-requires */
const { getJestConfig } = require("@storybook/test-runner");
const merge = require("deepmerge");

// The default configuration comes from @storybook/test-runner
module.exports = merge(getJestConfig(), {
  /** Add your own overrides below
   * @see https://jestjs.io/docs/configuration
   */
  testEnvironmentOptions: {
    "jest-playwright": {
      launchOptions: {
        args: ["--font-render-hinting=none"],
      },
    },
  },
};

We could also potentially change the ‘getJestConfig‘ function to receive an object and deep merge with it, this way it's even simpler.
WDYT @shilman?


[riverpod_lint] Add new lint avoid_generated_classes_as_return_type

An attempt to close #2359

This is great, but I was thinking about straight up fixing this instead. Riverpod_generator should be able to fix this (although for Freezed, that's more complex).

Sure, if it is going to be fixed, then there is no need for this lint.
Should I close the PR?

I'll investigate today the possibility of a fix and come back to you asap

I have successfully managed to support generated types. So I'll close this.
Thanks for your PR though! Your effort didn't go unnoticed :)


Version 0.2.0 proposal

This PR fixes many issues but probably creates many more. I believe these changes are necessary to reach a point where this library can be used in a production capacity.
Fixes
Fixes #4 - Scaffolding methods now cannot return null
Fixes #8 - Schematics now cannot be placed in positions which would put them outside of world bounds
Fixes #10 - MCEdit schematics now use correct block palette
Improvements

More documentation
Distribution via JitPack is supported
Use CompletableFutures wherever possible
Rewrite schematic loading to make adding new schematic formats easier
WIP wiki site
WIP WorldEdit like editor server
Many other small changes

you madman

you madman

yeah i might've gotten a bit carried away lmao

Should the server have Moulberry's WorldEdit installed by default instead of recreating a selection tool? It should allow the end user to have more editing capability.

I thought about that. I'm a bit torn on the issue. One one hand, leveraging the 10+ years of development that WE has is a smart move. On the other, I think with enough work it would be possible to surpass the capabilities of what WE has to offer.
I personally would like to go down the second route, but if you want me to cut the editor in favor of using WE I understand.

If you have the time and dedication to do that, go ahead. I'm unable to spend that time unfortunately.

Hey @DamianKocher, I am able to work on this in my free time,


How implement rbd export/import using go-ceph?

I did not found  export func on rbd.Image stuct , any idea to implement this?

Are you talking about this?

What kind of Export() interface do you expect? You already noticed you can use Read() and Write() to the image in #318.

I mean the rbd export  on linux cli
[root@nceph ~]# rbd info test/disk01
rbd image 'disk01':
	size 10GiB in 2560 objects
	order 22 (4MiB objects)
	block_name_prefix: rbd_data.10286b8b4567
	format: 2
	features: layering
	flags:
	create_timestamp: Wed Jun 17 15:40:08 2020
[root@nceph ~]# rbd export test/disk01  /tmp/disk01.rbd
Exporting image: 100% complete...done.
[root@nceph ~]# du -sh /tmp/disk01.rbd
639M	/tmp/disk01.rbd

If use Read() the size of /tmp/disk01.rbd will be 10G.

Ah, that probably uses rbd_read_iterate2() to skip writing the zero-filled areas of the image. We do not have that in go-ceph yet.
Or it could be used in combination with SeekHole and SeekData, but we do not have that yet either.

We have issue #279 filed for rbd_read_iterate2. I don't think seek style interfaces are implemented (in librdb). Where they do exist, in cephfs, the Seek(Hole|Data) whence values don't actually seek the holes or data, they're just stubs (see issue #227).
In the short term I suggest doing a simple copy loop as @nixpanic suggests with read calls and perhaps do hole detection yourself (eg. read N-size blocks and if the block is all zeros seek forward in your destination file). In the future, when rbd_read_iterate2 or other hole sensitive calls are available use it as an optimization. It's not pretty but that's today's situation AFAICT.

Hi @nixpanic, @phlogistonjohn, the export command in rbd cli does not only dump the sparse contents. It produces a file in a special format that also contains the image metadata and diffs.
https://docs.ceph.com/en/pacific/dev/rbd-export/
Is it withinbgo-ceph's scope to have a full implementation of export/import?


Create connect webview with client session token

I think this should be working with the current ConnectAccountButton.

@dawnho Closing this, but if there is something missing we can reopen it.


Avoiding Unexpected Session Termination

Is your feature request related to a problem? Please describe.
I am using Detox to test on devices in a self-hosted device cloud (based on digital.io aka Experitest SeeTest). I have developed my own device driver and in principle this is working fine. However, installation of apps takes significantly longer on this device cloud than on devices connected via USB. This often leads to WSS disconnect ( DetoxServer terminates the session with the #tester - I assume that this is caused by WebSocket timeouts)
Describe the solution you'd like
In order to reduce flakiness of tests, I would suggest that the websocket communication is kept alive using an heartbeat approach as described here: https://www.npmjs.com/package/ws#how-to-detect-and-close-broken-connections, i.e. sending ping/pong messages between server and all connected client sessions.
Describe alternatives you've considered
Alternatives could be

Introduce a "keep-alive" message that the app or device driver(i.e. client) could send to the Detox server. That way, I could send that message in my device driver just before installing the app and instrumtented test. Also long-running tests could send this message.

Additional context
Add any other context or screenshots about the feature request here.
detox[1] DEBUG: [WSS_CONNECTION, #47398] registered a new connection.
detox[1] TRACE: [WSS_GET_FROM, #47398] {"type":"login","params":{"sessionId":"ba7f2a06-0dab-bef0-7f52-b5216b13f85d","role":"tester"},"messageId":0}
detox[1] TRACE: [SESSION_CREATED] created session ba7f2a06-0dab-bef0-7f52-b5216b13f85d
detox[1] TRACE: [WSS_SEND_TO, #tester] {"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0}
detox[1] TRACE: [SESSION_JOINED] tester joined session ba7f2a06-0dab-bef0-7f52-b5216b13f85d
detox[1] DEBUG: [WSS_CONNECTION, #19933] registered a new connection.
detox[1] TRACE: [WSS_GET_FROM, #19933] {"messageId":0,"type":"login","params":{"role":"app","sessionId":"7129fcc8-a5f8-4e6e-9966-0eb43d018aae"}}
detox[1] TRACE: [SESSION_CREATED] created session 7129fcc8-a5f8-4e6e-9966-0eb43d018aae
detox[1] TRACE: [WSS_SEND_TO, #app] {"messageId":0,"type":"loginSuccess","params":{"testerConnected":false,"appConnected":true}}
detox[1] TRACE: [SESSION_JOINED] app joined session 7129fcc8-a5f8-4e6e-9966-0eb43d018aae
detox[1] TRACE: [WSS_GET_FROM, #app] {"messageId":-1000,"type":"ready","params":{}}
detox[1] WARN:  [DetoxConnection.js/ERROR, #app] Cannot forward the message to the Detox client.

{
  messageId: -1000,
  type: 'ready',
  params: {}
}
detox[1] TRACE: [SESSION_TORN] tester exited session ba7f2a06-0dab-bef0-7f52-b5216b13f85d

@gdoumen I'm excited to hear that Detox fits into another environment!
However I'm not yet convinced there is a problem with app installation, per se. According to your logs snippet, the disconnection takes place sometime after the app has already started running on the device.

I'm inclined to say that the app takes a long time to go idle, after launch - and this is where Detox gives up.

Hi @d4vidi I was looking at the app at the same time and had detox client running in trace mode, plus I had added some additional logs on the AsyncWebSocket.js ( methods close() and and _onClose() ) as I wanted to understand from where in the client the socket would get closed
I then was surprised that before any call to AsyncSocket.close() I saw that AsyncSocket.on_close() was called (basically just before you see "[DetoxConnection.js/ERROR, #app] Cannot forward the message to the Detox client." in the server log). Only a bit later the 2nd log appeared "...[SESSION_TORN].." .  (BTW another potential improvemts would be to add timestamps to logs ;-) )
On the device itself, I saw that the app was installed successfull, main screen was launched, but then it was not triggering any activity ( as the detox code was waiting for the first message from the Detoc Test script)
Therefore I am assuming that the Websocket is closed due to timeouts.

Do you know how long it takes for the 2nd log to appear, after the 1st? -
detox[1] TRACE: [WSS_GET_FROM, #app] {"messageId":-1000,"type":"ready","params":{}}
detox[1] WARN:  [DetoxConnection.js/ERROR, #app] Cannot forward the message to the Detox client.

Also, providing device logs will help a great deal here.


absLangURL should check for valid translation before adding the language prefix

I would love the links to only link to content that is already translated.
Say we have this setup:

The default site language is english
Some pages which are linked to from the homepage are already translated to German, but not all of them

If I get to the German home page, I want the links in menus to only point to the already translated pages, the other ones should fall back to the default language.
If I have the about page translated, its link should be /de/about/ but the untranslated blog should use /blog/.
I explained this a bit more here.

This isn't possible, I think, but please prove me wrong.

I can't think of an easy way, so thats why I was hoping for this to be included in Hugo in the not so far future.
My idea was specifically aimed at menus, so I use that as an example:
If the URL of the MenuEntry points to an internal page, Hugo would check all the available translations for that page and see if one matches with the current translation.
absLangURL already correctly ignores external links it seems, so theres no problem there.
If it really is not possible to build something "nice and easy" like this, is there a good other way?
One that comes to my mind would be to just add the language prefix to the menus directly and omit absLangURL.


chore(package): updates with security fixes

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update dependencies to resolve vulnerabilities

This is a general sweep of the package dependencies, as there were some critical and high vulnerabilities, as well as some deprecated packages (such as document-register-element and the unscoped babel libs).
Alongside these, there are some lightweight formatting changes due to SASS deprecation warnings and prettier upgrade to v3 (which is now even more opinionated 😉).
This is a BREAKING CHANGE: Node 18+ is required by rollup v4 and semantic-release v22

can we close off the dependabot PRs after this goes in?


wsl: Unknown key 'wsl2.autoMemoryReclaim'

Windows Version
Microsoft Windows [Version 10.0.22631.2715]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-1
Distro Version
Ubuntu 23.04
Other Software
No response
Repro Steps

Create .wslconfig file with the following content:

[wsl2]
memory=24GB
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

Terminate WSL using wsl.exe --shutdown
Start WSL and get the following warning message:
wsl: Unknown key 'wsl2.autoMemoryReclaim'](wsl: Unknown key 'wsl2.autoMemoryReclaim' in C:\Users\<user>\.wslconfig:3)

Expected Behavior

Actual Behavior

Diagnostic Logs
No response

the autoMemoryReclaim feature is still experimental, and not yet in the [wsl2] setting. You can access it by adjusting your existing .wslconfig like so:
[wsl2]
memory=24GB
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
[experimental]
autoMemoryReclaim=gradual


Issue deploying contract to rinkeby network

Hi Liarco, thanks for the video. When I try to deploy my contract on the rinkeby test net this is what I get: HardhatError: HH110: Invalid JSON-RPC response received: invalid project id....... error Command failed with exit code 1. Do you know the solution for this?

Note I am working on windows with node version 16.14.0 and yarn 1.22.15

Note again I have tried with both version 1.0.0 and 1.0.1 of the contract. I got it to work once as a test but now for some reason it wont work...

Hi @crakctg,
from your comment on YouTube:

Also when changing my contract name it changes the contracts but in the collectionconfig.ts file it does not change my contract name

I'm afraid you choose an invalid name and unfortunately there is no validation on the input (I should definitely add that). The contract name should be in PascalCase, no -, no ., no digits at the beginning. For example, if you run yarn rename-contract my-own-token then you end up with a broken project folder and you have to start over.
So I think that your error (HardhatError: HH110: Invalid JSON-RPC response received: invalid project id) might be related to your broken codebase. Please let me know if this is the case.

When renaming my contract I just used "Aliens" or "MyNFT" and it still gave me this broken error.
This is the full error I'm getting
HardhatError: HH110: Invalid JSON-RPC response received: invalid project id
at parseJsonResponse (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\hardhat\src\internal\util\jsonrpc.ts:47:11)
at HttpProvider._fetchJsonRpcResponse (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\hardhat\src\internal\core\providers\http.ts:173:31)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async HttpProvider.request (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\hardhat\src\internal\core\providers\http.ts:55:29)
at async GanacheGasMultiplierProvider._isGanache (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\hardhat\src\internal\core\providers\gas-providers.ts:317:30)
at async GanacheGasMultiplierProvider.request (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\hardhat\src\internal\core\providers\gas-providers.ts:306:23)
at async EthersProviderWrapper.send (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\@nomiclabs\hardhat-ethers\src\internal\ethers-provider-wrapper.ts:13:20)
at async getSigners (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\@nomiclabs\hardhat-ethers\src\internal\helpers.ts:45:20)
at async getContractFactoryByAbiAndBytecode (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\node_modules\@nomiclabs\hardhat-ethers\src\internal\helpers.ts:280:21)
at async main (C:\Users\nickm\OneDrive\Desktop\Test 2 Data\nft-erc721-collection-1.0.0\smart-contract\scripts\1_deploy.ts:15:20)

error Command failed with exit code 1.

Oh, my fault, I think I actually misunderstood your error...
invalid project id might be referring to your Infura project ID are you sure you copied the correct endpoint from the Infura dashboard? It should be in the format https://rinkeby.infura.io/v3/YOUR_OWN_PROJECT_ID.
I get your exact same error if I don't set this correctly in my .env file.

I see, I have everything formatted correctly but I will try creating another project on infura, getting the new endpoints and trying that. I will let you know if that fixes the issue. Thanks

I see, I have everything formatted correctly but I will try creating another project on infura, getting the new endpoints and trying that. I will let you know if that fixes the issue. Thanks

I'm gonna leave the issue open waiting for feedback. Please also make sure you are actually updating your configuration in .env and not in .env.example. You know, this can happen since the content will be exactly the same at the beginning.

Yes for sure, I have been updating the .env file each time, not the example file

I just did everything again, created a new infura project and used those endpoints and it still gives me the same error. Not quite sure what is happening

I just did everything again, created a new infura project and used those endpoints and it still gives me the same error. Not quite sure what is happening

I'm so sorry to hear this, unfortunately I'm not able to reproduce this unless I do one of the following:

no .env file
bad configuration in .env
bad endpoint (network or type, it must be https)

I have to close this since it seems like I'm not able to help you any further (this may be unrelated to the project itself), but please feel free to reopen the issue if you have any additional information for troubleshooting this thing.


Fix NormalMaterial with ThinInstances

https://forum.babylonjs.com/t/sandbox-display-normals-changes-position-of-thin-instance-mesh/55634

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/16028/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16028/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16028/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/16028/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/16028/merge
https://gui.babylonjs.com/?snapshot=refs/pull/16028/merge
https://nme.babylonjs.com/?snapshot=refs/pull/16028/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/16028/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16028/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/16028/merge/testResults/webgpuplaywright/index.html


NHK World - broken plugin?

Hi. My NHK World stopped working yesterday, I suspect NHK have changed how their stream works... if you click on the link to watch live it now goes to http://www3.nhk.or.jp/nhkworld/en/live/
The regex seems to match what is in the plugin but then I get an error as below:
C:\Users\Mark>livestreamer http://www3.nhk.or.jp/nhkworld/en/live/ best
[cli][info] Found matching plugin nhkworld - Copy for URL http://www3.nhk.or.jp/
nhkworld/en/live/
error: Unable to parse JSON: No JSON object could be decoded ()
Just hoping you can have a look at it.
Thanks,
Mark

Just a few notes...
XML:
http://www3.nhk.or.jp/nhkworld/app/tv/hlslive.xml

M3U8:
http://web-cache.stream.ne.jp/www11/nhkworld-tv/global/222714/live.m3u8

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1368400,CODECS="avc1.42c01f,mp4a.40.5",RESOLUTION=640x360
http://nhkwglobal-i.akamaihd.net/hls/live/222714/nhkwglobal/index_1180.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1368400,CODECS="avc1.42c01f,mp4a.40.5",RESOLUTION=640x360
http://b-nhkwglobal-i.akamaihd.net/hls/live/222714-b/nhkwglobal/index_1180.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=990000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=640x360
http://nhkwglobal-i.akamaihd.net/hls/live/222714/nhkwglobal/index_900.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=990000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=640x360
http://b-nhkwglobal-i.akamaihd.net/hls/live/222714-b/nhkwglobal/index_900.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=660000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=640x360
http://nhkwglobal-i.akamaihd.net/hls/live/222714/nhkwglobal/index_600.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=660000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=640x360
http://b-nhkwglobal-i.akamaihd.net/hls/live/222714-b/nhkwglobal/index_600.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=440000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=416x240
http://nhkwglobal-i.akamaihd.net/hls/live/222714/nhkwglobal/index_400.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=440000,CODECS="avc1.66.30,mp4a.40.5",RESOLUTION=416x240
http://b-nhkwglobal-i.akamaihd.net/hls/live/222714-b/nhkwglobal/index_400.m3u8

#EXT-X-STREAM-INF:BANDWIDTH=70400,CODECS="mp4a.40.5"
http://nhkwglobal-i.akamaihd.net/hls/live/222714/nhkwglobal/index_64.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=70400,CODECS="mp4a.40.5"
http://b-nhkwglobal-i.akamaihd.net/hls/live/222714-b/nhkwglobal/index_64.m3u8

This playlist contains two different bitrates for the same resolution. This is not implemented yet by default, so you have to add name_key=bitrate to get all available bitrates / resolutions (#962).
livestreamer "hlsvariant://http://web-cache.stream.ne.jp/www11/nhkworld-tv/global/222714/live.m3u8 name_key=bitrate" best
[cli][info] Found matching plugin stream for URL hlsvariant://http://web-cache.stream.ne.jp/www11/nhkworld-tv/global/222714/live.m3u8 name_key=bitrate
[cli][info] Available streams: 1368k (best), 440k, 660k, 70k (worst), 990k
[cli][info] Opening stream: 1368k (hls)

Additionally, there is a secondary backup server for each bitrate. Some modifications are required to handle such playlists.

Thanks so much for the quick response! I don't understand any of that really but I found that using this code livestreamer "hlsvariant://http://web-cache.stream.ne.jp/www11/nhkworld-tv/global/222714/live.m3u8 name_key=bitrate" best opens up VLC and plays - and actually looks a lot better than it used to (I think I used to only get the 660 bandwidth version).
I still think the NHK plugin might be broken though, but this gets it working again.


What are Deprecated genomes?

Greetings -
There is a group of genomes in BV-BRC from Bioproject: PRJNA745059 that all occur in 4 copies , of which 3 are flagged  "Deprecated" , while the 4th is flagged as "WGS" in this field:  Genome Status (not "Sequencing Status field).   They appear identical in Contig #, quality markers, size, etc.  Differ only by Date Inserted
I wasn't aware of this  flaw and included many of these "deprecated" genomes in several Trees.  The trees kind off worked, but poorly:  they finished when 100 protein families were requested (Job ID: 13361103), but did not finish when 500 families were requested (Job ID: 13361107).  Questions:
Are Deprecated genomes safe to use?
What is wrong with them (other than redundancy) ?
Could they have caused some Trees to fail ?
Would really appreciate your insight

Hi - these are mostly likely identical duplicates that were loaded due to issues in the data load pipeline. @mshukla1  has started marking these as deprecated.

Thank you for the clarification, Bob! Appreciate you taking the time


fix:fix retry in prefetch_reader

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (30c14e8) 98.44% compared to head (966cae3) 98.44%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #263   +/-   ##
=======================================
  Coverage   98.44%   98.44%
=======================================
  Files          37       37
  Lines        5131     5132    +1
=======================================
+ Hits         5051     5052    +1
  Misses         80       80

Files Changed
Coverage Δ

megfile/lib/s3_prefetch_reader.py
99.63% <100.00%> (+<0.01%)
:arrow_up:

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


Add cypress test that will verify booking detail with simple token

Related to #489
Store simple token in ENV variable
Set simple token as cookie and use it in index.js

closed in gitlab MR 5500


Weird issue with retry-0.7.1 package

UPDATE: sorry for my inattention, updating ticket to be more accurate
If I do stack unpack retry-0.7.1 and look at its src/Control/Retry.hs I see this logRetries function:
logRetries
    :: (Monad m, Show e, Exception e)
    => (e -> m Bool)
    -- ^ Test for whether action is to be retried
    -> (Bool -> String -> m ())
    -- ^ How to report the generated warning message. Boolean is
    -- whether it's being retried or crashed.
    -> RetryStatus
    -- ^ Retry number
    -> Handler m Bool

If I do cabal get retry-0.7.1, I see this one as well:
logRetries
    :: (Monad m, Show e, Exception e)
    => (e -> m Bool)
    -- ^ Test for whether action is to be retried
    -> (Bool -> String -> m ())
    -- ^ How to report the generated warning message. Boolean is
    -- whether it's being retried or crashed.
    -> RetryStatus
    -- ^ Retry number
    -> Handler m Bool

However! Hackage documentation shows second argument to be this: (Bool -> e -> RetryStatus -> m ()). While stackage documentation still shows (Bool -> String -> m ()).
Latest master code has (Bool -> e -> RetryStatus -> m ()).
Could this be because author re-uploaded old signature under old version number or something? How do we resolve this? Thank you.

Oh, btw, code in master shows the one like in stackage.

Closing for now.


Types section requires date example to be loaded

And the S relvar is in fact s.

Nice, thanks!
We used to allow relations of any capitalization until I decided it's easier to use the Haskell naming/parsing rules. Obviously, I missed this spot in the docs.


behavior of async code exection

Hi,
I am wondering if the Sval.run() can also be a asynchronous call, which means in playground, this log console.log('End: ' + interpreter.exports.end) will be printed after the intermiediate print in executed code ,like this
"Sval Version: 0.4.8"
1
2
3
"End: true"

If not, is there a way to get the status of the code execution? How can I easily know if the code execution is finished?

https://jsbin.com/kuzorobuqo/edit?js,console

https://jsbin.com/kuzorobuqo/edit?js,console
You should callback or emit an event to notify if an async exection finished

thanks, this will solve the issue


'AioServer.shutdown' was never awaited for kserve fastapi server

/kind bug
What steps did you take and what happened:
Create a simple kserve model:
import kserve
from typing import Dict
import argparse
import logging

logger = logging.getLogger(__name__)

class CustomModel(kserve.Model):
    def __init__(self, name: str):
        super().__init__(name)
        self.name = name
        self.load()

    def load(self):
        self.ready = True

    def predict(self,request: Dict, headers: Dict ) -> Dict:
        logger.info(request)
        return request

DEFAULT_MODEL_NAME = "custom-model"

parser = argparse.ArgumentParser(parents=[kserve.model_server.parser])
parser.add_argument('--model_name', default=DEFAULT_MODEL_NAME,
                    help='The name that the model is served under.')

args, _ = parser.parse_known_args()
if __name__ == "__main__":
    model = CustomModel(name=args.model_name)
    kserve.ModelServer().start([model])

And when you run the server:
RuntimeError: Event loop is closed
sys:1: RuntimeWarning: coroutine 'AioServer.shutdown' was never awaited

Anything else you would like to add:
What worked for me is adding this line before initializing the model:
multiprocessing.set_start_method('fork')

The above issue only happens on mac, and does not seem to happen with linux containers, this is probably something to do with how to OS defaults to creating new processes.

Since python 3.8 the default multiprocessing start method changed from fork to spawn for Mac and Windows, we are looking to fix this in the patch release 0.10.1.

Hey @yuzisun I am also running into the same issue. Just adding to the thread. The error I am also getting show this:
   File "/Users/.../lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'request_response.<locals>.app'


Xcode 14 - watchOS arm64 support

Hello, in Xcode 14 a new architecture is showing up for the Apple Watch, there will be also a "arm64" device. I have problem to generate the XCFramework including the arm64 architecture for the Apple Watch. Is there something missing in your script? Best regards.

Xcode 14 is currently beta - so no support at the moment.

Xcode 14 has been released yesterday, it would be great if your scripts would also support the arm64 architecture for the Apple Watch.

OpenSSL doesn't support watchos-cross-arm64 currently.


issue/4780-add-timestamp-to-logs (#5034)

Pull request opened by the merge tool on behalf of #5034

Merged into branches iso5 in a2e695bd44a3a0810adecdb3c5ea18d8a767dccb


chore(main): release 0.2.4

:robot: I have created a release beep boop
0.2.4 (2023-12-18)
Bug Fixes

publish (1b0f11b)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/patrickhammond/patrick_util/releases/tag/v0.2.4 :sunflower:


Adding SkipQosSamplingCounter deviation for test DP-1.14 for Cisco

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 54.484%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1847

Relevant Lines:
3390

💛  - Coveralls


implement http content-negotiation for plotly-graph

Closes #226
Check added tests for details!

[x] Return default format when HTTP accept: */* and accept: *

Nicely done :dancer:


Issue with videos

Hey,
Im adding a video to the DOM in the following way:
this.items = [h(`video#${item.id}`, {
                class: 'media-item',
                key: item.id,
                preload: 'auto'
            }, [
                h(`source`, {
                    src: item.src,
                    type: 'video/mp4'
                })
            ])];

var patches = diff(this.tree, h('div', this.items));
        this.rootNode = patch(this.rootNode, patches);
        this.tree = this.items;

I then want to start this video so i am doing a normal query selector then trying to run .play() on the element.

let el = document.getElementById(item.id)
el.play();

However the video does not play at all. Does anyone else have this issue with video?
Thanks,

Anyone know about this at all ? Thanks

Hey @peteringram0,
One way to approach this would be to use hooks. Here's a quick example:
var PlayHook = function (isPlaying) {
  this.isPlaying = isPlaying
}

PlayHook.prototype.hook = function (videoNode, propertyName, previousValue) {
  if (this.isPlaying) {
    videoNode.play()
  } else {
    videoNode.pause()
  }
}


PG::Error: ERROR: column visualizations.mapviews does not exist

Steps to reproduce:

Go to dashboard
Order by "visits"

Expected results: List ordered by map views
Actual results: 500 server-side error (see title)
E.g. https://rollbar.com/vizzuality/CartoDB/items/5816/ for more info etc.

Branch is 3616-off-db-queries


⚠ ClamAV has degraded performance

In a45b596, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 591 ms

Resolved: ClamAV performance has improved in ca2feb9.


Added item to disable battery optimizations

I wasn't sure where to put the item, so I can move it to PermissionCheckGroup if you prefer.
Note that the Android settings don't seem to be updated properly, so you have to restart your device to see the change in the "Battery Optimization" screen.
Requires https://github.com/microg/android_packages_apps_UnifiedNlp/pull/100. Hope I did everything right with the submodule.

I just added the submodule change to my commit, to make Travis happy.

Why do you split the feature across both apps this way?
Does UnifiedNlp actually require battery optimizations disabled? If not, all related code should be put into GmsCore repo. If it is, the commit in UnifiedNlp repo seems to be incomplete (permission in manifest)

Oh I just checked where other items were located, and put it in the same place. Will move it all to this project.

Okay I moved the permission into UnifiedNlp. I think the permission belongs there, but I'm not 100% sure because I don't know what exactly each project does. The reason I put it there is just because it makes sense in the code. I can also move it into GmsCore, but neither InstalledPackagesChecks nor RomSpoofSignatureChecks seem to be the right place, and I don't think it requires a new category either.

The reason I put it there is just because it makes sense in the code.

It makes sense only if it is required for UnifiedNlp standalone to work properly, which I think is not the case. The unifiednlp-base is what is present in both GmsCore and standalone UnifiedNlp, so there shouldn't be any checks that are not required for UnifiedNlp functionality.
The current Self-Check interface is not very nice anyway, so it's not a big deal to have a new category there. At some point the self-check interface should be removed and replaced with a) a setup assistant and b) notification warnings if wrong settings are detected.

I would like to still have Self-Check even after.
Settings could be made broken at every time even after installation, so installation check isn't enough.
Please do not follow the trend that remove advanced options, altough there will noob users that would be happy there will be also be advanced users that wouldn't be so happy.

Alright, I'll put it into a new category. Any idea how to name that?

I propose a category "Android settings" (for Android settings that must be changed to make microG work properly) like permissions and battery optimizations.

Right, I could add it to the permissions group, but that would be kind of ugly in the code. PermissionCheckGroup takes all the permissions it should request as parameter. Adding something that's not a permission wouldn't be obvious unless you have a really close look at the code. But I don't know the project enough, so I'll just do whatever @mar-v-in says.

Or maybe also a "General" category since this doesn't properly fit.

@mar-v-in Can you please tell me where I should put the preference? (both in the UI and in the code) Happy to finish this, but I'm not sure what's the best way.

As far as I can tell, UnifiedNlp does not require disabling battery optimizations for functionality. The only thing heavily relying on it right now is Cloud Messaging.
I suggest you put a new self-check category for this into GmsCore only. You can call the category other/misc/system/whatever.

Alright will do that :)

Moved everything into this project, rebased on master, and did a bit of cleanup in my code.

Thanks. Nice work!


Compile python requirements

Automated changes by create-pull-request GitHub action

due to known issue described here only DevDB failed to build


Flutter web with complex routing

I would like to give the following presentation;
Flutter web with complex routing
I'm qualified to do it because I have experience with Flutter, Flutter web and routing.
https://github.com/slovnicki/beamer
Talk summary

Flutter basics
Flutter web build
How routing works in Flutter
How Flutter interacts with browser's URL bar and history
What problems arise in complex routing scenarios
What can we do for better developer experience

While I don't like flutter-web I'd be really interested in hearing about this and I'm hoping to have my mind changed 😅

No one likes Flutter web 🙂

Now that I think about it, I'm not sure why I put "web" as the main focus in the title. It would be better to present entire routing and how it differs (or not) on platforms


Documentation for setting the 'profiles' element via maven::settings class

Would it be possible to get an example of setting profiles in maven::settings class?
I am trying to add the following to settings.xml
<profile>
  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>libs-release</name>
      <url>http://artifactory.mycompany/artifactory/libs-release</url>
    </repository>
    <repository>
      <snapshots />
      <id>snapshots</id>
      <name>libs-snapshot</name>
      <url>http://artifactory.mycompany/artifactory/libs-snapshot</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>plugins-release</name>
      <url>http://artifactory.mycompany/artifactory/plugins-release</url>
    </pluginRepository>
    <pluginRepository>
      <snapshots />
      <id>snapshots</id>
      <name>plugins-snapshot</name>
      <url>http://artifactory.mycompany/artifactory/plugins-snapshot</url>
    </pluginRepository>
  </pluginRepositories>
  <id>artifactory</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
</profile>

Thanks!

there's no direct support for profiles, you set the repos param, see https://github.com/maestrodev/puppet-maven/blob/master/templates/settings.xml.erb

Thanks for the response. I don't think I need to use profiles to be able to model the same functionality as in the xml above. However, there are different urls for repositories and pluginRepositories. Looking into the settings.xml.erb it looks as if it sets the repos for both repositories and pluginRepositories and there is no way to distinguish the types of repository and generate the xml correctly based on this.
Below is the best I could come up with
maven::settings { 'maven':
    repos => [
	    {
		      id       => "libs-release",
		      url      => "http://artifactory.mycompany/artifactory/libs-release",
		      name     => "central",
		      snapshots => {  enabled => 'false', }
      }, {
          id       => "libs-snapshot",
          url      => "http://artifactory.mycompany/artifactory/libs-snapshot",
          name     => "snapshots",
      },
      {
          id       => "plugins-release",
          url      => "http://artifactory.mycompany/artifactory/plugins-release",
          name     => "plugins-release",
          snapshots => { enabled => 'false', }
      }, {
          id       => "plugins-snapshot",
          url      => "http://artifactory.mycompany/artifactory/plugins-snapshot",
          name     => "plugins-snapshots",
      }
    ],
  }

but the settings.xml that is output is this. Notice the repositories and pluginRepositories are set the same.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>
    <profile>
      <id>default-repo</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <repositories>
        <repository>
          <id>libs-release</id>
          <name>central</name>
          <url>http://artifactory.mycompany/artifactory/libs-release</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>libs-snapshot</id>
          <name>snapshots</name>
          <url>http://artifactory.mycompany/artifactory/libs-snapshot</url>
        </repository>
        <repository>
          <id>plugins-release</id>
          <name>plugins-release</name>
          <url>http://artifactory.mycompany/artifactory/plugins-release</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>plugins-snapshot</id>
          <name>plugins-snapshots</name>
          <url>http://artifactory.mycompany/artifactory/plugins-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>libs-release</id>
          <name>central</name>
          <url>http://artifactory.mycompany/artifactory/libs-release</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>libs-snapshot</id>
          <name>snapshots</name>
          <url>http://artifactory.mycompany/artifactory/libs-snapshot</url>
        </pluginRepository>
        <pluginRepository>
          <id>plugins-release</id>
          <name>plugins-release</name>
          <url>http://artifactory.mycompany/artifactory/plugins-release</url>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>plugins-snapshot</id>
          <name>plugins-snapshots</name>
          <url>http://artifactory.mycompany/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

</settings>

Any change of creating a new plugin_repos parameter?

PRs welcome


Change async logic to be more amenable to non-blocking ops

The async script right now isn't truly async -- the part where the nodes and edges are built are executed in a blocking way due to the single monolithic UNWIND query. The run times for the sync and async versions are nearly identical as a result, because we're trying to build the nodes and edges together, which isn't async-friendly.
It might be possible to make the async code much more amenable to non-blocking operations by breaking the node and edge creation steps into their own async function (each type of node would be created concurrently via async sessions). It would be interesting to compare the timing of this async/bulk-merge approach vs. the sync/batch-unwind approach.

Turns out that the very nature of graph data structures makes them not (very) amenable to async data ingestion, Neo4j or otherwise. This is because, if ingesting two batches of data concurrently, Neo4j has to implement checks and balances that ensure that the correct edges are built between either batch. If batch A has nodes that connect to batch B's nodes, and conversely, batch B has nodes that connect back to A's nodes, they cannot be concurrently ingested into a graph as there will be race conditions.
Closing this as it doesn't make sense to pursue any further for now.


Improvements to caching build assets

Further fixes for #133

Thank you, I will try it out and let you know.

The caching now works, and upgrading from heroku-16 to heroku-18 works.  So it all works for me. I have now answered my SO question, so hopefully a few more people will find your buildpack.
Excellent!


Support for GitHub Packages

I haven't found a way to use PowerShellGet 2.x to publish to GitHub Packages. Please include Packages as a supported repository provider.
All permutations of passing credentials (PAT) return a 401 (Unauthorized).

Credential parameter

email and PAT
Org name and PAT

NuGetApiKey parameter

email:PAT
Orgname:PAT
PAT

I think Beta6 that was just released added publishing, and Github Packages is Nuget V3 so it may work, have you tried with beta6 yet?

I tried but ended up creating #172.

I got past authentication by doing the following:

Register GitHub Packages with nuget: nuget.exe sources add -Name GitHub -Source https://nuget.pkg.github.com/ORGNAMEORUSERNAME/index.json -Username ORGNAMEORUSERNAME -Password <PAT>
Register PSRepository: Register-PSRepository -Name https://nuget.pkg.github.com/ORGNAMEORUSERNAME/index.json -SourceLocation $source -PublishLocation https://nuget.pkg.github.com/ORGNAMEORUSERNAME/index.json
Attempt to publish: Publish-Module -Path .\ModuleName -Repository GitHub -NuGetApiKey "n/a"

This gives the error Failed to publish module 'ModuleName': 'nuget.exe failed to push Response status code does not indicate success: 400 (Bad Request). '.
If you trace with Fiddler one of the headers give a clue:

X-Nuget-Warning: No destination repository detected. Ensure the source project has a 'RepositoryUrl' property defined. If you're using a nuspec file, ensure that it has a repository element with the required 'type' and 'url' attributes.

GitHub Packages requires the RepositoryUrl element in the nuspec.
<repository type="git" url="https://github.com/org/project" commit="50af1b9788e251964deb511745dd4716beee4e2b" />

I have the same need to be able to publish pwsh modules into GHPackages.
And I can confirm @jachin84 findings, GHPackages feed requires <repository>-configuration inside .nuspec. Unfortunately right now it is not supported by PublishPSResource.createNuspec and by psd1-format.
Now I'll try to create pull request to fix this, after figuring out how to use this repo for development.

I have the same need to be able to publish pwsh modules into GHPackages.
And I can confirm @jachin84 findings, GHPackages feed requires <repository>-configuration inside .nuspec. Unfortunately right now it is not supported by PublishPSResource.createNuspec and by psd1-format.
Now I'll try to create pull request to fix this, after figuring out how to use this repo for development.

I was able to get Publish and Install working today. Publish was a three-step process.

Register-PSResourceRepository -Name nuget-local -URL C:\Nuget\publish\
Publish-PSResource -Path .\mymodule\ -Repository nuget-local
gpr push -k <PAT> C:\Nuget\publish\mymodule.0.1.0.nupkg -r https://github.com/ORG/Repo

gpr is a helper tool for pushing Nuget packages to GitHub Packages that makes it easy to provide the RepositoryURL metadata that GitHub Packages requires. You could also edit the nuspec inside the package after doing the local publish.
To install use PowerShellGet 3.0.0-beta10:

Register-PSResourceRepository -Name github -URL https://nuget.pkg.github.com/ORG/index.json
Install-PSResource -Name mymodule -Repository github -Credential (Get-Credential)

Use Username and PAT for credential

Another hiccup. If your private package depends on a public package, PowerShellGet doesn't know how to find it since GitHub Packages doesn't support feed proxies like Proget and Artifactory. It looks for all of the dependent packages in GitHub and errors out if they can't be found.

Thanks @cdhunt can you please clarify the relationship you expect from GitHub packages and Proget/Artifactory...is the package in GitHub and depends on resources in Proget/Artifactory?

@SydneyhSmith I wasn't expecting a relationship, just stating that GitHub Packages doesn't have the same repository proxy functionality as Proget and Artifactory where you can combine multiple feeds into one API endpoint. The result of that is if you define a module dependency in a private module hosted on GitHub Packages, Install-PSResource assumes the dependent package is also hosted on the same Repository and can't find it unless you publish a copy into your private repository.
In other words, I don't know of a mechanism to define module dependencies that come from different repositories with the current way they are defined in the module manifest. This is really a separate, but related issue I've been meaning to open an issue for.

@cdhunt it would be great if GitHub could address this issue.  I do have some ideas of how we can address this client side, but because this isn't a prioritized scenario it likely wouldn't get addressed until Fall.  That said if it's an issue that's a major pain point for a lot of folks we can reconsider.

I had mentioned that the dependency handling is kind of bespoke to powershell now and that it should leverage the already-established libraries for dependencies resolution in the nuget client unless theres a really strong reason not to.

@alerickson I'm.... okay... with the way GitHub Packages works. It does what we need, but without PowerShellGet client support, we have to do hacky things like copy public modules into a private feed or do dynamic install on Import-Module.
To the original issue, we have the same publish issues with GitHub Packages for other Nuget packages as well. RepositoryUrl is not part of the Nuget spec, but I don't see how to get around that. It's a requirement of how Packages is designed because feeds are global to an Org. So, unfortunately, I think all Nuget clients are going to have to adapt.
I think there are plenty of people who would be willing to work on that fix whenever you start accepting PRs, but it'll likely be a GitHub shim.

This is resolved in PR #1167


Sender produced too many continuous blocks.

Consensus validating before execution failed: Sender produced too many continuous blocks.
With this warning, it is apparently known that miner generated more blocks than expected. The thing is it cannot be noticed before broadcast. As a result this invalid block would be broadcast to other peers as normal.
While not too bad things happened, it is not good enough if cause all peers Attach and then Switch back. Is there any way to avoid this?

Another thing worth mentioned is that some blocks would be generated with invalid timestamp and then broadcasted, as a result, causing all peers execution failed and switch again.
Expect:	 2019-12-12 16.45.14,330248
Actual:
2019-12-12 16.45.16,370461
2019-12-12 16.45.16,893454
2019-12-12 16.45.17,415335
2019-12-12 16.45.17,850779
2019-12-12 16.45.18,377720


Loki tokens not showing in ios Loki wallet

Hello, I transferred Loki tokens from KuCoin to my iOS Loki wallet, but my wallet shows a 0 balance even after synchronization completed. KuCoin indicates the transfer was completed several hours ago.  Please help.  Thank you

Hi, I have experienced similar issue, though it was Win GUI wallet.
Please check if it is latest version, and switch remote nodes for some times.
After recync, my balance is recovered properly.

Thank you for responding.  I was able to load the GUI wallet on laptop and saw the tokens were received.  I restored the iOS wallet and it worked showing the tokens.


Implement initial TLS support

[x] run cargo clippy and fix all issues
[x] run cargo fmt to format all source files

With this patch one can add the linetls = true to config.toml and the tool will connect via TLS and new default port 8883 to the MQTT instance.

implements #90, #55.


EpochsArray constructor is broken if len(times) == 1

This is useful for EEG/MEG measures which reduce the time dimension in each trial. It used to work with the last release. Tried to find a fix but it seems to be deeper than I assumed.
cc @Eric89GXL @agramfort

we cuttently have this one in epochs.py:
https://github.com/mne-tools/mne-python/blob/master/mne/epochs.py#L277
It won't play nicely if shape[-1] == 1
as round((tmax - tmin) can be 0

cc @fraimondo

sorry parsed the code incorrectly, so if only 1 time sample exists, the conditional breaks.

can you share a gist that reproduces the bug?

provide a tiny test and we'll make it pass

provide a tiny test and we'll make it pass

How about this PR instead ? #2435 ;)


Add examples

Required for #55 and #64 (as training data)

Examples used for unit tests are in test/examples.js, this can be reused to test a remote server as well.


Insert NULL values issue with generated sql

The generated sql seems to be not correct (eg '<nil>') But in mysql surprisingly it still works.
My Model
type Table struct {
	Id             uint32         `gorm:"column:id; primary_key:yes"`
	CustomerId     uint64         `gorm:"column:customer_id;"`
	AllocatedGroup *string        `gorm:"column:allocated_group;"` //Nullable
	Session1       sql.NullString `gorm:"column:session_1;"`             //Nullable
	RegisteredTime *time.Time     `gorm:"column:registered_time;"` //Nullable
	Preferences    sql.NullString `gorm:"column:preferences;"`         //Nullable
	PushToken      string         `gorm:"column:push_token;"`
	Latitude       *float32       `gorm:"column:latitude;"`
	GatewayId      *uint32        `gorm:"column:gateway_id;"` //Nullable
}

My Code
tbl := Table{
		CustomerId:     123,
		AllocatedGroup: nil,
		Session1:       sql.NullString{},
		PushToken:      "abc",
		RegisteredTime: nil,
		GatewayId:      nil,
	}

db.Create(&tbl)

Generated SQL
INSERT INTO `table`
(`customer_id`,`allocated_group`,`session_1`,`registered_time`,`preferences`,`push_token`,`latitude`,`gateway_id`)
VALUES
('123','<nil>',NULL,'<nil>',NULL,'abc','<nil>','2')

You can see that Session1 is correctly NULL while AllocatedGroup is '<nil>'

Hello,
Why use *string instead of string ? Do you really need nil string assertion in your code?
https://dhdersch.github.io/golang/2016/01/23/golang-when-to-use-string-pointers.html

To send null to the database, simply omit the field
Try this
tbl := Table{
	CustomerId:     123,
	PushToken:      "abc",
}

db.Create(&tbl)

@wilsontamarozzi  Omitting the field is equivalent to the type's "zero value", which for pointers is exactly equivalent to nil.

I think I didn't explain myself clearly.
I was indicating that for sql.NullString, gorm correctly generates the sql: NULL.
For a nil pointer such as *string, gorm incorrectly generates the sql: '<nil>'.
The generated sql is incorrect for nil pointers, despite the fact that it somehow seems to work for MySQL.

Sorry about my English.
To send null to the database you must hide the fields at the time of .create .save. In the database the field should have the default set to null.
Use a sql tag in the structure: sql: "default: null"

Hi @pjebs
The generated SQL is just a formatted string for logging, not really the SQL run in database.
BTW, I have updated the logger, to fix the wrong formatted SQL, please update GORM.

Sorry to bring this topic back to life, I just wanted to point out an important detail that might have been missed.
You can use gorm:"default:NULL" but you should be careful that "", 0 and false values will be written to the database as null and that might be something you don't want


删除无效地址

关联的Issues (Related Issues)

close
改动 (Proposed Changes)

附注 (Additional Info)

自查清单 (Checklist)
在你认为本 PR 满足被审阅的标准之前，需要确保 / Before you mark the PR ready for review, please make sure that:

[ ] 符合Venus项目管理规范中关于PR的相关标准 / The PR follows the PR standards set out in the Venus project management guidelines
[ ] 具有清晰明确的commit message / All commits have a clear commit message.
[ ] 包含相关的的测试用例或者不需要新增测试用例 / This PR has tests for new functionality or change in behaviour or not need to add new tests.
[ ] 包含相关的的指南以及文档或者不需要新增文档 / This PR has updated usage guidelines and documentation or not need
[ ] 通过必要的检查项 / All checks are green

Codecov Report

Merging #148 (735726b) into master (6d53932) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #148   +/-   ##
=======================================
  Coverage   34.61%   34.61%
=======================================
  Files          41       41
  Lines        2574     2574
=======================================
  Hits          891      891
  Misses       1529     1529
  Partials      154      154

Flag
Coverage Δ

unittests
34.61% <ø> (ø)

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

又触发 CI 了。。。😂

行，我提个PR，让文档别走CI


Automator: update common-files@master in istio/istio@master

Generated by Automator - 2023-08-30T03:11:30+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-istiodremote-mc_istio
03e3f215b534bc76a3459c9dfc6cbe031b5c87de
link
unknown
/test integ-pilot-istiodremote-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Properly react to automation inputs

watch image policy objects (that are mentioned in automations)
possibly watch git repository objects -- they will signal when new commits are pulled (assuming you're running the source controller, and it's in the right namespace)
.. but also run periodically

Addressed in #9


kubectl convert -o name fails when using stdin

Is this a request for help? no
What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.):
name stdin error: list types are not supported by name printing: *v1.List

Is this a BUG REPORT or FEATURE REQUEST? BUG

Kubernetes version (use kubectl version):
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T22:29:25Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}

Environment:

Cloud provider or hardware configuration:
OS macOSX
Kernel Darwin Andreas-MacBook-Pro.local 17.6.0 Darwin Kernel Version 17.6.0: Tue May  8 15:22:16 PDT 2018; root:xnu-4570.61.1~1/RELEASE_X86_64 x86_64
Install tools: brew
Others:

What happened:
$ curl -s https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/deployment.yaml > /tmp/deploy.yaml; kubectl convert -o name -f /tmp/deploy.yaml
deployment.apps/nginx-deployment
$ curl -s https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/deployment.yaml | kubectl convert -o name -f -
error: list types are not supported by name printing: *v1.List

What you expected to happen:
$ curl -s https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/deployment.yaml > /tmp/deploy.yaml; kubectl convert -o name -f /tmp/deploy.yaml
deployment.apps/nginx-deployment
$ curl -s https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/deployment.yaml | kubectl convert -o name -f -
deployment.apps/nginx-deployment

How to reproduce it (as minimally and precisely as possible):
-o name with any stdin input manifest will do
Anything else we need to know:
Version 1.9.2 is working as expected.

I get the same error if two resources are defined in the same yaml separted by ---.
$ kubectl convert -f test.yaml -o name
error: list types are not supported by name printing: *v1.List
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"windows/amd64"}

test.yaml:
apiVersion: v1
kind: Namespace
metadata:
  name: "ns1"
---
apiVersion: v1
kind: Namespace
metadata:
  name: "ns2"

This worked with kubectl v1.10.5:
$ kubectl convert -f test.yaml -o name
namespace/ns1
namespace/ns2
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.5", GitCommit:"32ac1c9073b132b8ba18aa830f46b77dcceb0723", GitTreeState:"clean", BuildDate:"2018-06-21T11:46:00Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

this is resolved in 1.11.1
/close

/sig cli
cc @juanvallejo

/area kubectl
/kind bug
/priority P1

/remove-lifecycle stale

convert is deprecated and being removed from kubectl by 1.17, closing.
/close


Don't generate internal protocolConfig for direct reach and frequency measurement

Don't generate protocolConfig for direct reach and frequency measurement(count of dataProvider is equal to 1) so MPC computation will not be triggered
Add Laplace noise to reach and frequency result in direct measurement in EDP simulator

This change is

src/main/kotlin/org/wfanet/measurement/loadtest/dataprovider/EdpSimulator.kt line 214 at r6 (raw file):
Previously, SanjayVas (Sanjay Vasandani) wrote…
Shouldn't we be explicitly checking for whether there's no protocol config or that the protocol isn't specified rather than it not being LLv2? e.g. what if it's a new R/F protocol that this simulator doesn't yet handle?

Good point. Updated the condition


[Feature]: MILAN supported

Thanks for your contribution and we appreciate it a lot. The following instructions would make your pull request more healthy and more easily get feedback. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers.
Motivation
Please describe the motivation of this PR and the goal you want to achieve through this PR.
Modification
MILAN
linear prob and fine-tuning of the official repo: 78.9 and 85.2
linear prob and fine-tuning of mmselfsup: 78.9 and 85.3
BC-breaking (Optional)
Does the modification introduce changes that break the backward compatibility of the downstream repositories?
If so, please describe how it breaks the compatibility and how the downstream projects should modify their code to keep compatibility with this PR.
Use cases (Optional)
If this PR introduces a new feature, it is better to list some use cases here and update the documentation.
Checklist
Before PR:

[ ] Pre-commit or other linting tools are used to fix the potential lint issues.
[ ] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[ ] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[ ] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[ ] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[ ] CLA has been signed and all committers have signed the CLA in this PR.


Allow precision selection, fix trailing 0 removal

Due to the use of string and str2nr, the precision of this plugin is 6 floating point digits. By using printf, arbitrary selectable precision is allowed. This does mean that trailing 0s always need to be stripped, and the stripping can't use string(str2nr(result)), because that would reset the precision to 6. So I've replaced the if-statement with a substitute that does the stripping.
Configure using g:crunch_precision, set by default to 6 to match the old behaviour.
Input validation on that variable is something I did not do -- setting it to something weird will result in no output being generated.

Interesting. I'll take a look when I have some time. Also it looks like I need to fix my tests so they can run again, on CI.

So I've merged your changes indirectly into master now. Thanks for your contribution. Also I'll note that this changes the behavior of sometimes using scientific notation for long results so that non-scientific notation is used, which is what I'd prefer.


Geowave 829

#829 #828
Replaced the xuggler library with jcodec.  Updated files to support 4676 data ingest and display.

Reviewed


abs2

Make sure we don't use this when we can avoid it. Only comes up in a few places, so this is mostly a sanity check for new PRs.

If this is a sanity check for new prs, then it belongs in the style guide (where it is).  Otherwise, we should close it after they are gone.

OK, will close this when the others are removed.

Done.


[BUILD] Run ITs with the correct version of Spark.

The 2.4 IT runs were running with Spark 2.2.
Also update 2.3 to 2.3.3 since 2.3.2 is not mirrored anymore.

Merging to master.


qfile is not available anymore in Cargo

A package required by icy_board to work is not available on the Cargo repository anymore.
https://crates.io/crates/qfile

Ouch - good to know. I'll search for a replacement. This is a very important library used for simulating a dos like non case sensitive file system.


Error using multimerge on ios

Im using gunjs to bring data from database to asyncstorage.
when trying to store data with multimerge the app crashes.
Expected behavior
enable to store the data
Repro steps
install react-native with react-native init
install gun-asyncstorage
install gun
initialize gun
try to import data from server
Environment

Async Storage version: 1.9.0
React-Native version: 0.62.2
Platform tested: ios
Logs/Error that are relevant:

Exception '-[__NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x6000009e84e0' was thrown while invoking multiMerge on target AsyncLocalStorage with params (
(
(
"#",
""k8hdinsc02jOWiJZlWSJOkS""
),
(
".",
""k8hdinrt6bXbuxduBoDT""
),
(
":",
"{"#":"k8hdinrt6bXbuxduBoDT"}"
),
(
">",
1585748171244
)
),
1113
)

Hey,
Could you provide more details repro steps? Or better yet, without using third party libs (so we can eliminate errors that come from them)

sure, im trying to merge a single line with this:
AsyncStorage.mergeItem("#", ""antidoto"")
it gives me this error:
Exception '-[NSTaggedPointerString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0xc7b527206054eaf3' was thrown while invoking multiMerge on target AsyncLocalStorage with params (
(
(
"#",
""antidoto""
)
),
3487
)
callstack: (
0   CoreFoundation                      0x00007fff23e3dcce __exceptionPreprocess + 350
1   libobjc.A.dylib                     0x00007fff50b3b9b2 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff23e5e9f4 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132

maybe i cant use "#" as key to merge?

I guess it's because merge expect an object as a value? Why you use merge in the first place?

i found it @Krizzu , using JSON.stringify() on string like "any word" and use like this:
AsyncStorage.mergeItem("#", JSON.stringify('any word') )   trigger the error, of course, JSON.stringify its for objects. but using like that AsyncStorage.mergeItem("#", 'any word' ) works. thank you  :)


Add two initial governance templates.

One is for a self-selecting maintainer council
The second is for an elected steering committee.
TODO: create template for "subproject" governance model.
@carolynvs @geekygirldawn @thisisnotapril please review.
The idea here is not to get a perfect example of each form of governance, but rather a generic one that makes for a reasonable jumping off point for projects.

/LGTM

OK, I've made changes per @dims @carolynvs @cpretzer   Please take a look, and if it's good we'll merge it tommorrow.


No way to merge multiple schemas

v3.20.6
We got no way to merge the 3 or more schemas into 1 schema.
GiftVehicle.ts file
export const VehicleSchema = merge CarSchema, TruckSchema and SuperCarSchema

Goal:
VehicleSchema = z.object({
  authToken: z.string(),
  colour:  z.string(),
  options: z
    .object({
      giftMessage: z.string().optional(),
      isConvertible: z.boolean().optional(),
      hasHugeWheels: z.boolean().optional(),
    })
    .optional(),
})

If we use merge, for more than 2 e.g. CarSchema.merge(TruckSchema).merge(SuperCarSchema)
it doesn't copy the deeper options correctly. after test, the TruckSchema.options.hasHugeWheels disappears.
union or discriminatedUnion  is not making it due to the way it works. its not merging of object properties.
any suggestions? please help thank you...
.
.
.
.
.
GiftCar.ts file
export const CarSchema = z.object({
  authToken: z.string(),
  colour:  z.string(),
  options: z
    .object({
      giftMessage: z.string().optional(),
      isConvertible: z.boolean().optional(),
    })
    .optional(),
})

call giftCar API

GiftTruck.ts file
export const TruckSchema = z.object({
  authToken: z.string(),
  colour:  z.string(),
  options: z
    .object({
      giftMessage: z.string().optional(),
      hasHugeWheels: z.boolean().optional(),
    })
    .optional(),
})

call giftTruck API

GiftSuperCar.ts file
export const SuperCarSchema = z.object({
  authToken: z.string(),
  colour:  z.string(),
  options: z
    .object({
      giftMessage: z.string().optional(),
      isConvertible: z.boolean().optional(),
    })
    .optional(),
})

call giftSuperCar API

If you split out the options schemas then this is a much easier problem to solve.
There is no "discriminator" field for the union, so there's no way to programmatically determine the correct scenario for type validation.
I would expect to see something more like this:
const CarOptionsSchema = z.object({
  type: z.literal('car'),
  giftMessage: z.string().optional(),
  isConvertible: z.boolean().optional(),
})

const TruckOptionsSchema = z.object({
  type: z.literal('truck'),
  giftMessage: z.string().optional(),
  hasHugeWheels: z.boolean().optional(),
})

const SuperCarOptionsSchema = z.object({
  type: z.literal('superCar'),
  giftMessage: z.string().optional(),
  isConvertible: z.boolean().optional(),
})

const CarOptionTypesSchema = z.discriminatedUnion('type', [CarOptionsSchema, TruckOptionsSchema, SuperCarOptionsSchema])

export const CarApiSchema = z.object({
  authToken: z.string(),
  colour: z.string(),
  options: CarOptionTypesSchema.optional(),
})

@grcodemonkey Hey, thank you for the advise. this gave me insight and was able to do in another way.
I should've been more clearer with the title too. to request a function that can merge deep multiple schemas.
VehicleSchema = z.merge([ CarSchema, TruckSchema, SuperCarSchema ])
with the same result as javascript object, and spread operator.
const vehicle = {
...Car,
...Truck,
...SuperCar
}

Requesting to reopen this.

Can't you just use intersection/`schema.and(...)?
const VehicleSchema = TruckSchema.and(CarSchema).and(SuperCarSchema)

Can't you just use intersection/schema.and(...)?
const VehicleSchema = TruckSchema.and(CarSchema).and(SuperCarSchema)

Depends on what you want to achieve:
const s1 = z.object({ id: z.string() })
const s2 = z.object({ id: z.number(), prop: z.string() })
const totalAnd = s1.and(s2)   // { id = never }
const totalOr = s1.or(s2) // { id = number | string; prop = string }

const merged = merge(s1, s2) // { id = number; prop = string }

So, question: how would a function merge look like, that adds props from s2 to s1, overwriting props in s1 if already present?

One problem is that:
const VehicleSchema = TruckSchema.and(CarSchema).and(SuperCarSchema)

Results in a ZodIntersection, not a ZodObject, so I can't use .passthrough() on it.
Also:

So, question: how would a function merge look like, that adds props from s2 to s1, overwriting props in s1 if already present?

Yes, exactly like:
const merged = {
...s1,
...s2
}

In fact, this works for me:
const VehicleSchema = z.object({
   ...TruckSchema.shape,
   ...SuperCarSchema.shape
});

Why is this not supported yet?

I too would like this reopened please

In fact, this works for me:
const VehicleSchema = z.object({
   ...TruckSchema.shape,
   ...SuperCarSchema.shape
});

This works in some cases but not In others. It fails to work where you have a more complex zod type such as when using .optional() for example.

Will be useful, I agree. I was wondering how to do that and I got here.

I would like to see this as well.

This would be useful for my scenario, basically I have a multi-step form that has three steps, each step has its own zod and react-form-hooks validation and I wish I can combine all three validations when I try to submit to database just in case. Would be sweet. This sometimes work and sometimes doesn't:
const VehicleSchema = z.object({
...TruckSchema.shape,
...SuperCarSchema.shape
});

This would be useful for my scenario, basically I have a multi-step form that has three steps, each step has its own zod and react-form-hooks validation and I wish I can combine all three validations when I try to submit to database just in case. Would be sweet. This sometimes work and sometimes doesn't:
const VehicleSchema = z.object({ ...TruckSchema.shape, ...SuperCarSchema.shape });

I have the same usecase , have you found a better way ? you still have a problem with the current method os spreading shape?


fix(devimint): better handling of kill/terminate on subprocesses

Based on https://github.com/fedimint/fedimint/pull/2853
This PR introduces SIGKILL on drop and will leave SIGTERM for when graceful/controlled termination is required.
It will also finish earlier when exiting tmux/mprocs, sending a SIGKILL to subprocesses (through drop of DevFed/daemons).

LGTM at conceptual level.

LGTM as well. Would be nice if mprocs.sh and tmuxinator.sh would actually wait until devimint finished shutdown before exiting. If we could wait for shutdown at the end of these files that would really help the UX of using devimint -- so it's harder to re-launch it and hit port conflicts before the old instance shut down.

Investigating the tests failures

The problem seems to be the good old flaky tests like cli_test_rust_tests_bitcoind, but most of time I can't reproduce locally

Rebasing might help.

Attempt #4 seems disk space related https://github.com/fedimint/fedimint/actions/runs/5732521842/job/15555554741?pr=2873#step:9:2287

Rebased to use https://github.com/fedimint/fedimint/pull/2893 which improves things a lot


fix: Fix the incorrect parameter order

Description

Fix the incorrect parameter order
Fixes #

Checklist:

[ ] The title of the PR states what changed and the related issues number (used for the release note).
[ ] Does this PR requires documentation updates?
[ ] I've updated documentation as required by this PR.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have tested it for all user roles.
[ ] I have added all the required unit/api test cases.

Does this PR introduce a user-facing change?

Hi @cuishuang , can you please change the target branch to develop ? We are in transition to manage releases from develop branch

Thanks @cuishuang. We will consider this as part of next release

Thanks @cuishuang. We will consider this as part of next release

Thanks!


Add a warning/additional handlers for parsingsynthetic-package.

Closes https://github.com/flutter/flutter/issues/157928.
Closes https://github.com/flutter/flutter/issues/157929.

Condition
Expectation

synthetic-packages: true && --implicit-pubpsec-resolution
Generates flutter_gen with warning.

<no synthetic-packages key> && --implicit-pubspec-resolution
Generates flutter_gen with warning.

synthetic-packages: false && --implicit-pubpsec-resolution
Does not generate flutter_gen.

synthetic-packages: true && --no-implicit-pubpsec-resolution
Error.

<no synthetic-packages key> && --no-implicit-pubspec-resolution
Does not generate flutter_gen.

synthetic-packages: false && --no-implicit-pubpsec-resolution
Generates flutter_gen with warning.

reason for revert: b/377107864


Dynamically configuring hosts

I'm looking to deploy an openshift origin cluster on AWS with this cookbook.
Is there a way to dynamically configure master, etc and compute nodes?  Instead of hardcoding the hosts and IPs, it would be nice to use a role search to form the cluster.
I'm looking to have the masters in an autoscale group in case one fails, a new gets re-provisioned automatically.  The same with etcd and compute nodes.

Hi @gevorg15 and welcome to the Chef OpenShift cookbook club!
I am actually looking at this as part of work and am coming up with a design.
The high-level plan would be to assign each cluster some kind of unique identifier, and use role searches to look for details of other nodes within the cluster, eg for two separate clusters on the chef server we'd have role names like:
ose_node_cluster1
ose_etcd_cluster1
ose_master_cluster1
ose_cert_server_cluster1
ose_node_cluster2
ose_etcd_cluster2
[...]
(The cert server is a separation of the cert server endpoint, which is an outstanding PR.)
The unique ID would be stored in an attribute single role definition that would be assigned to all nodes in the cluster.
For background, we have one environment where we do not control the run list, and another (more recent one) where we do. So it was our fault we had this method originally!

You can also do the role search with environments.  So you can have one cluster per environment and re-use the same roles over and over.
For example:
ose_node
ose_etc
ose_master
ose_cert_cerver
When the recipes applied to the node role search for other nodes, they can search for them within the current environment or have an optional environment attribute you can pass in so you can set the role search to take place within a certain environment.  This can be set within the environment attributes.  That way, for whatever reason, if you have nodes across various environments but the master and etcd nodes within one environment, you can pass in a list of environment names within your environment attributes to connect the nodes to the cluster. Just a thought ¯_(ツ)_/¯

Agreed - environments are generally the way to go. Unfortunately at $WORK I can't use them as they are reserved for use by the Chef infrastructure team :/

Thanks @gevorg15 for your comments. You are right we need to be more dynamic than we are currently. Therefore, the next step is to push for handling both static and dynamic by a major code refactoring as we like it so much :-)
Keep you posted as we go.

Will, I have the possibility of working on this full-time. Will mail you
separately.
On Fri, Jul 28, 2017 at 7:14 PM, William Burton<EMAIL_ADDRESS>wrote:

Thanks @gevorg15 https://github.com/gevorg15 for your comments. You are
right we need to be more dynamic than we are currently. Therefore, the next
step is to push for handling both static and dynamic by a major code
refactoring as we like it so much :-)
Keep you posted as we go.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/IshentRas/cookbook-openshift3/issues/150#issuecomment-318725886,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGrczUJtsPviegdoyvo218rziwHbNEV2ks5sSiUdgaJpZM4Okzd1
.

--
My book on Docker in Practice: Get 39% off with the code 39miell
http://manning.com/miell/?a_aid=zwischenzugs&a_bid=e0d48f62


Update based on new distribution in the admin center (manage-tags.md)

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/8461.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

reviewed + confirmed


PHP & Hack Syntax Highlighting

It would be very much appreciated if something could be done to better support PHP and Hack (.hh) syntax highlighting. Currently prettify has some very weak PHP syntax highlighting support, and my PHP and Hack projects are less readable than others. An implementation of highlight.js or something with functioning PHP syntax highlighting, paired with recognition for .hh files, would do wonders for my repositories.

Please check out new UI here: https://try.gogs.io/gogs/gogs

Close as fixed.


Figure out how to convert .stl file to Collada programmatically

Using this website: http://www.greentoken.de/onlineconv/
Reason: obj files aren't keeping track of the normals.

That website actually relies on assimp so I'll be utilizing that on the server.


Gracefully handle requests without a Content-Type

The 0.0.x riff-cli defaulted the Content-Type to text/plain. The new 0.1 riff-cli no longer sets a Content-Type by default.
The invoker will error out for any request that does not contain a Content-Type header. Instead we can default the type to text/plain.
application/octet-stream would also be a valid default, but does not preserve the experience of the old cli.

riff 0.1 uses curl to make the request, curl defaults the content-type to application/x-www-form-urlencoded.