 I'm using MySQL on Azure, and I can build the connection string using OptsBuilder, and if I switch "off enforce SSL" from the Portal in Azure I can connect and read information from the database.
 Any ideas?
Thank you,
Ashley

Hi.
Well, i can say, that SSL is supported (see here and here) and that the support itself is tested. However there is no way to setup ssl using connection string, you should use OptsBuilder::ssl_opts for this.
Could you please share more details, e.g. debug-print of your OptsBuilder? (⚠ do not forget to cover sensitive data ⚠)

First of all, thank you for your kind response to my question. As requested, please find my OptsBuilder below:
Let mut opts = mysql::OptsBuilder::new();
otps.ip_or_hostname(Some(“myDatabase.mysql.database.azure.com”))
.tcp_port(3306)
.db_name(Some(“myDatabase”))
.user(Some(“itsmelook”))
.pass(Some(“somestrongpassword”))
Let pool = mysql::Pool::new(opts).unwrap();
But I can’t figure out how to add the option that will allow the client to negotiate the SSL with the server, thus allowing me to enable the “enforce SSL” on my Azure database portal.
Thank you for your time and effort to answer my question,
Ashley
From: Anatoly I<EMAIL_ADDRESS>Sent: Tuesday, February 25, 2020 00:37
To: blackbeam/rust-mysql-simple<EMAIL_ADDRESS>Cc: Ashley S. Buss<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [blackbeam/rust-mysql-simple] Azure Enforce SSL connection (#206)
Hi.
Well, i can say, that SSL is supported (see herehttps://docs.rs/mysql/17.0.0/mysql/struct.OptsBuilder.html#method.ssl_opts and herehttps://docs.rs/mysql/17.0.0/mysql/struct.SslOpts.html) and that the support itself is testedhttps://travis-ci.org/blackbeam/rust-mysql-simple/jobs/653778006#L967. However there is no way to setup ssl using connection string, you should use OptsBuilder::ssl_optshttps://docs.rs/mysql/17.0.0/mysql/struct.OptsBuilder.html#method.ssl_opts for this.
Could you please share more details, e.g. debug-print of your OptsBuilder? (⚠ do not forget to cover sensitive data ⚠)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/blackbeam/rust-mysql-simple/issues/206?email_source=notifications&email_token=ANAZXIULH3C7DKDYJCR5MADRETDCXA5CNFSM4K2U4O6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM24KDY#issuecomment-590726415, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANAZXITCHEU6QSDMIMOY2JTRETDCXANCNFSM4K2U4O6A.

Looks like it's impossible to create Azure subscription from Russia ATM 😔
Have you tried to enable SSL using the default SslOpts?
let mut opts = mysql::OptsBuilder::new();
otps.ip_or_hostname(Some(“myDatabase.mysql.database.azure.com”))
        .tcp_port(3306)
        .db_name(Some(“myDatabase”))
        .user(Some(“itsmelook”))
        .pass(Some(“somestrongpassword”))
        .ssl_opts(mysql::SslOpts::default());  // <- enable SSL with default options

let pool = mysql::Pool::new(opts).unwrap();

Perfect!
Thank you, thank you.
The addition of the: . ssl_opts(mysql::SslOpts::default)) allows me to select the enforce SSL in the Azure portal.
Take care,
Ashley
From: Anatoly I<EMAIL_ADDRESS>Sent: Tuesday, February 25, 2020 21:13
To: blackbeam/rust-mysql-simple<EMAIL_ADDRESS>Cc: Ashley S. Buss<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [blackbeam/rust-mysql-simple] Azure Enforce SSL connection (#206)
Looks like it's impossible to create Azure subscription from Russia ATM 😔
Have you tried to enable SSL using the default SslOpts?
let mut opts = mysql::OptsBuilder::new();
otps.ip_or_hostname(Some(“myDatabase.mysql.database.azure.com”))
    .tcp_port(3306)

    .db_name(Some(“myDatabase”))

    .user(Some(“itsmelook”))

    .pass(Some(“somestrongpassword”))

    .ssl_opts(mysql::SslOpts::default());  // <- enable SSL with default options

let pool = mysql::Pool::new(opts).unwrap();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/blackbeam/rust-mysql-simple/issues/206?email_source=notifications&email_token=ANAZXIQ464MU5CEWDNYRFZLREXT3NA5CNFSM4K2U4O6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM6XCYQ#issuecomment-591229282, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANAZXIQVKSTKSPQOPFBMA3DREXT3NANCNFSM4K2U4O6A.


Docker container Restart Policy

Background and Motivation
I have a containerised go application which connects to a websocket service and because of that might fail every once in a while, this is why I need an option to specify the restart policy for any and all containers in the project.
Proposed API
IResourceBuilder<ContainerResource>.WithRestart(RestartPolicy)

Usage Examples
var builder = DistributedApplication.CreateBuilder(args);

var catalogDb = builder.AddMySql("mysql").WithRestart(RestartPolicy.OnFailure);

Risks
The container might end up in a restart loop if the it is faulty and will need to be killed from the shell.
Implementation
A draft PR with implementation is #5001

Thoughts @mitchdenny @DamianEdwards @karolz-ms ?

I think it would be good to have this. I'm not sure about IResourceWithRestartPolicy vs just having an annotation.

I'm assuming this is intended to be run mode only? I still have some concern over the proliferation of "unbounded" With methods where it isn't clear what they apply to, e.g. WithRestartPolicy vs. RunWithRestartPolicy.

If we are talking about local run only, one can work around the lack of restart support today by using WithContainerRunArgs() and --restart Docker option (which Podman also supports).
Going forward I think we should revisit this once we have health checks in place. "Restart when unhealthy" (after some time, after health probe(s) fail N times) seems more useful than any existing Docker/Podman restart mode.
I also have a concern about target environment (local run, vs Azure Container Apps, vs vanilla Kubernetes, vs...) supporting different functionality for automatic restarts. If we decide to add a restart notion to the app model, I'd love it to be applicable not just to local run, but to deployment environments too, but we need to be able to account for different level of restart support between them.

This is, at the moment, local only feature I was thinking.


[WIP] Add zebrafish label projection task

Checks failing. Fix this in Travis and then we'll merge


WIP: new delegation window

Make progress against #1219.
Description:
Implements the new design for staking to a validator.  It does not remove the old one.
Still to be done:
Jordan

[ ] add X and Cancel buttons to design

David & Fede

[ ] write "Atoms" within Amount field
[ ] allow selection of previously-staked validators in From field
[ ] close window when clicking outside of it
[ ] don't change layout when invalid amount error message is displayed

❤ Thank you!

@faboweb Why hasn't the code coverage test run?  Is it being blocked by Fede's changes request?

@NodeGuy I don't. You can always go to CircleCI to rerun the workflow, which I did now. Let's see if it works.

Coverage is failing because of main.js.  It's not clear to me why, though I did add this new code:
directives: {
  focus: {
    // directive definition
    inserted: function (el) {
      el.focus()
    }
  }
}

It's straight out of the Vue manual and is an integration so I don't think it needs to be tested.
@faboweb What would you like to do?

Apparently PageValidator is not fully covered. Clicking on the CodeCov report shows you which lines are missing coverage.

It's strange—I tried clicked on PageValidator before but it read File not found in report.  I was able to see the problem in the diff, however.
I added another test to coverage a missing branch but it's also complaining about this function not being covered:
    closeCannotStake() {
      this.showCannotStake = false
    },

I don't think it makes sense to require 100% coverage, or always increasing coverage, unless we adopt the functional core/imperative shell paradigm I referenced in my talk.  What do you think?

How about making a rule to always use backquotes then?

I would be tempted but there are a few edge cases in which they don't work, e.g.,
const objectLiteral = {
  "unusual-key": value
}


WRONG supports for images largest that 4095 pixels

When I try to load a Sprite Texture image largest that 4095 pixels, GoDot shows it bad, as if corruption of out-of-memory occurred.
See the attached screenshot.
PS: thanks a lot for the really GREAT WORK! :P

most devices (low end PC, mobile) do not support textures this big. Try
creating a Large Texture (Import -> Large Texture)
On Tue, Jun 23, 2015 at 7:20 AM, neos-eureka-srl<EMAIL_ADDRESS>wrote:

When I try to load a Sprite Texture image largest that 4095 pixels, GoDot
shows it bad, as if corruption of out-of-memory occurred.
See the attached screenshot.
PS: thanks a lot for the really GREAT WORK! :P
[image: screenshot]
https://cloud.githubusercontent.com/assets/13015536/8303952/2005ec28-19a2-11e5-8663-8d62df706917.png
—
Reply to this email directly or view it on GitHub
https://github.com/okamstudio/godot/issues/2163.

I use tilemap for background with big picture size, just slice the big image (in image editor by percent) then import them into godot. create new tilemap resource, add new item and fill all item with all part of image. dont forget the cell size is should be fit with image size (part size)


GitHub error 403 undefined

I'm getting the following error:
👩🏭 Creating new GitHub release for tag latest...
⚠ GitHub release failed with status: 403
undefined
retrying... (2 retries remaining)
👩🏭 Creating new GitHub release for tag latest...
⚠ GitHub release failed with status: 403
undefined
retrying... (1 retries remaining)
👩🏭 Creating new GitHub release for tag latest...
⚠ GitHub release failed with status: 403
undefined
retrying... (0 retries remaining)
❌ Too many retries. Aborting...
Error: Too many retries.

https://github.com/CryZe/game-maker-auto-splitter/actions/runs/7301685228/job/19899026066#step:5:10
This is how I invoke the action:
      - name: Release
        if: github.ref == 'refs/heads/master'
        uses: softprops/action-gh-release@v1
        with:
          files: target/wasm32-unknown-unknown/release/game_maker_auto_splitter.wasm
          name: Latest
          tag_name: latest
          body: This contains the latest version of the auto splitter.

Same error :(

Same here:

Here is one solution. Or look into one of the other open 403 Error issues in this repo.

Hey, i found the solution.
In te repository settings, go to Actions -> General

Allow Read and Write Permissions for Github Workflows and save changes.
If your repository is from an organization you will have to do an extra step, go to Organization Settings -> Actions -> General

You should also be able to specify that in the job with permissions such as
create-release:
    name: Create draft release
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Create Release
        uses: softprops/action-gh-release@v1

# rest of code here

Can confirm that adding this to YAML is enough:
    permissions:
      contents: write

It is not necessary to manually edit the permissions in the GitHub UI.


Add 'showcmd' statusline item

This statusline item is mostly intended for use with cmdheight == 0 in Neovim. Nevertheless, users have expressed interest in displaying showcmd in their statusline and even tabline.
Just checking if you are open to including this to avoid future naming conflicts of the statusline item. The item name is still up for debate, @justinmk suggested dot. instead.
I assume potential users of this item would set noshowcmd, therefore I decoupled the showcmd routines from p_sc, except for the actual drawing in the cmdline.
I tried adding a non-screendump test to Test_statusline() but only the visual mode test passes. The pending operator test yields an empty statusline. Does the call assert_match() clear the showcmd buffer? That's what it seems like atleast:
  " %S: 'showcmd' content.
  set statusline=%S
  call assert_match('^\s*$', s:get_statusline())
  call feedkeys("\<C-V>l", "xt")
  call assert_match('^1x2\s*$', s:get_statusline())
  call feedkeys("\<Esc>1234", "xt")
  call assert_match('^1234\s*$', s:get_statusline())
  call feedkeys("\<Esc>", "xt")
  " result:
  " RunTheTest[44]..Test_statusline line 130: Pattern '^\\[1234\\]s*$' does not match '\[  occurs 80 times]'

Therefore I grouped them as 2 screendump tests instead. It works as intended in practice.
Redrawing the statusline upon command input caused a test failure in Test_aa_terminal_focus_events(), updated the dump files to reflect the statusline update.

feedkeys() with x flag needs to cancel pending operator to finish, so it is not possible to stop at op-pending mode after that. I guess it may be possible to check the screen in op-pending mode using timers, but that may make the test confusing.

updated the dump files to reflect the statusline update.

Did you forget to git add the updated dump files?

Please first add documentation.  Reverse engineering the code to guess what it's supposed to do isn't the right way to add a new feature.
One problem I can spot is that it's redrawing the status lines even when the showcmd item isn't in there.
Also, what happens when 'showcmd' is off is unclear.

Please first add documentation.

Right, completely forgot sorry.

One problem I can spot is that it's redrawing the status lines even when the showcmd item isn't in there.

True, should 'statusline' be parsed for this item? Is there precedent for this?

Also, what happens when 'showcmd' is off is unclear.

When 'showcmd' is off, we still fill the showcmd_buf, because the user might have the item in use. If we parse the status/tabline we could set a global and avoid unnecessary work I guess.

If we parse the status/tabline we could set a global and avoid unnecessary work I guess.

I guess there's no reason not to, latest commit sets a global boolean when the 'showcmd' item is encountered. Status line will only be redrawn when TRUE, so reverted the terminal focus testdump change.

Please first add documentation.

Right, completely forgot sorry.

One problem I can spot is that it's redrawing the status lines even when the showcmd item isn't in there.

True, should 'statusline' be parsed for this item? Is there precedent
for this?

I don't think so.  Currently there is no item that changes on every key
stroke, AFAIK.
Parsing the option only works when when it doesn't start with "!%".
I think the only way would be to draw the status line, and set a flag if
the "showcmd" value is used.  But then perhaps it isn't always called
(e.g. if there is not enough room), that makes it unreliable.

Also, what happens when 'showcmd' is off is unclear.

When 'showcmd' is off, we still fill the showcmd_buf, because the
user might have the item in use. If we parse the status/tabline we
could set a global and avoid unnecessary work I guess.

If 'showcmd' would have been a number or string option we could have
done something, but since it's a boolean we can't change it.
We could tackle both problems with a 'showcmdwhere' option (better
name?), to tell Vim where the command will be displayed, thus knowing
when to update status lines.  Since the user has to switch 'showcmd'
off, setting another option isn't really a problem.
--
MAN:     You don't frighten us, English pig-dog!
He puts hands to his ears and blows a raspberry.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Parsing the option only works when when it doesn't start with "!%". I think the only way would be to draw the status line, and set a flag if the "showcmd" value is used.

Yeah I realized, the latest commit does just that.

We could tackle both problems with a 'showcmdwhere' option (better
name?), to tell Vim where the command will be displayed, thus knowing when to update status lines.

Right, let me know if that is a route you want to take to include this feature. I can update accordingly. Do we want to facilitate displaying this item in both the status line and tabline? Or even multiple(status/tab/cmdline) at the same time? In which case I suppose it should be a comma separated string option.

Since the user has to switch 'showcmd' off, setting another option isn't really a problem.

I guess in theory they don't have to but it would make the most sense yeah.

Parsing the option only works when when it doesn't start with "!%".
I think the only way would be to draw the status line, and set a
flag if the "showcmd" value is used.

Yeah I realized, the latest commit does just that.

We could tackle both problems with a 'showcmdwhere' option (better
name?), to tell Vim where the command will be displayed, thus knowing
when to update status lines.

Right, let me know if that is a route you want to take to include this
feature. I can update accordingly. Do we want to facilitate displaying
this item in both the status line and tabline? Or even
multiple(status/tab/cmdline) at the same time? In which case I suppose
it should be a comma separated string option.

Would someone really want it in multiple places?  That sounds unusual.
I would not implement that at first, but make the option value in a way
that it's possible in the future.
When you say "status line" it doesn't say where it shows up.  Only the
status line for the most bottom-right window?  Otherwise it's specified
by the 'statusline' option.  But it could also be done when 'statusline'
is empty.
I find it hard to imagine showcmd showing up in the tabline.  I suppose
some space would need to be reserved for it.  Then the choice is on the
far left or the far right.

Since the user has to switch 'showcmd' off, setting another option
isn't really a problem.

I guess in theory they don't have to but it would make the most
sense yeah.

With the extra option, probably 'showcmdloc', then 'showcmd' would still
be on.  If it is off then it won't show anywhere.  That's simple.
'showcmdloc' would now be one word, such as "statusline",
"tablineright", etc.  If we ever would want to show it in more than one
place the option can become a comma separated list of these words.
I still have the feeling that very few users are going to use this, thus
consider it low priority.
--
ARTHUR: (as the MAN next to him is squashed by a sheep) Knights!  Run away!
Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd
cow or goose hitting them still.  The KNIGHTS crouch down under cover.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Would someone really want it in multiple places?  That sounds unusual.
I would not implement that at first, but make the option value in a way
that it's possible in the future.

When you say "status line" it doesn't say where it shows up.  Only the
status line for the most bottom-right window?  Otherwise it's specified
by the 'statusline' option.  But it could also be done when 'statusline'
is empty.

I find it hard to imagine showcmd showing up in the tabline.  I suppose
some space would need to be reserved for it.  Then the choice is on the
far left or the far right.

Yes showing it in multiple places would be unusual. The way I implemented it currently and what seems to make the most sense to me is to redraw the status line for curwin. Whether it shows up is not our concern I don't think. It would indeed be up to the user to reserve space, if they find the item high enough priority.

With the extra option, probably 'showcmdloc', then 'showcmd' would still
be on.  If it is off then it won't show anywhere.  That's simple.

'showcmdloc' would now be one word, such as "statusline",
"tablineright", etc.  If we ever would want to show it in more than one
place the option can become a comma separated list of these words.

I still have the feeling that very few users are going to use this, thus
consider it low priority.

Very possible, again I only made the PR here to avoid future naming conflicts with Neovim, and get a feel for what item-symbol you would choose. But if we are going to add the feature here we have to add it in a way that makes sense. I think we may not need the 'showcmdloc' option. Since we now pass the option name to build_stl_str_hl(), we can simply set a flag for status/tabline and redraw accordingly in display_showcmd().

Yes showing it in multiple places would be unusual. The way I
implemented it currently and what seems to make the most sense to me
is to redraw the status line for curwin. Whether it shows up is not
our concern I don't think. It would indeed be up to the user to
reserve space, if they find the item high enough priority.

It does make sense to show it in the current window.  That's closest to
where the user is looking.
When 'statusline' is empty it should still show up.  Left of the ruler
would be good.

Very possible, again I only made the PR here to avoid future naming
conflicts with Neovim, and get a feel for what item-symbol you would
choose. But if we are going to add the feature here we have to add it
in a way that makes sense. I think we may not need the 'showcmdloc'
option. Since we now pass the option name to build_stl_str_hl(), we
can simply set a flag for status/tabline and redraw accordingly in
display_showcmd().

In my opinion we do need to add the 'showcmdloc' option.  Without it,
the user would have to reset 'showcmd' and add the item to the
'statusline' option.  This would black adding 'showcmdloc' later,
because then 'showcmd' would remain on, thus it can't be backwards
compatible.
--
In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975
of them are to be found in the United States.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I wrote:

Yes showing it in multiple places would be unusual. The way I
implemented it currently and what seems to make the most sense to me
is to redraw the status line for curwin. Whether it shows up is not
our concern I don't think. It would indeed be up to the user to
reserve space, if they find the item high enough priority.

It does make sense to show it in the current window.  That's closest to
where the user is looking.
When 'statusline' is empty it should still show up.  Left of the ruler
would be good.

Very possible, again I only made the PR here to avoid future naming
conflicts with Neovim, and get a feel for what item-symbol you would
choose. But if we are going to add the feature here we have to add it
in a way that makes sense. I think we may not need the 'showcmdloc'
option. Since we now pass the option name to build_stl_str_hl(), we
can simply set a flag for status/tabline and redraw accordingly in
display_showcmd().

In my opinion we do need to add the 'showcmdloc' option.  Without it,
the user would have to reset 'showcmd' and add the item to the
'statusline' option.  This would black adding 'showcmdloc' later,

s/black/block/

because then 'showcmd' would remain on, thus it can't be backwards
compatible.

--
press CTRL-ALT-DEL for more information
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

When 'statusline' is empty it should still show up.  Left of the ruler would be good.

Latest commit adds the 'showcmdloc' option. Will need to figure out how to add this to the default statusline if 'showcmdloc' == "statusline".

Will need to figure out how to add this to the default statusline if 'showcmdloc' == "statusline".

Done in the latest commit, as well as for the default tabline. (I don't see it being all that useful in the tabline, I just added it because I came across https://vi.stackexchange.com/questions/16857/showcmd-on-first-line-instead-of-last-line).
I think the attributes for the showcmd text in the default tabline should be attr_nosel without underline. I tried attr_nosel & ~HL_UNDERLINE but that also changed the color. Any way I can use attr_nosel but remove the underline?

Any way I can use attr_nosel but remove the underline?

I guess it doesn't make sense to forcefully remove the underline from a highlight group (didn't actually figure out how to do that). This is finished then as far as I'm concerned. Tests for the default status/tabline are still missing. If you are open to including this in it's current form I could add additional tests.

I thought I had already mentioned this: when 'showcmd' is off then the command should not be displayed anywhere.
It is too surprising that with 'noshowcmd' and then 'showcmdloc' set the command shows anyway.
The default value for 'showcmdloc' should be "last".  Currently you could replace it with "statusline" or "tabline".
If we ever decide to show it in multiple places, it could be "last,statusline", for example.
Coding style: Please put the opening curly on the next line.

I thought I had already mentioned this: when 'showcmd' is off then the command should not be displayed anywhere.
It is too surprising that with 'noshowcmd' and then 'showcmdloc' set the command shows anyway.

The default value for 'showcmdloc' should be "last". Currently you could replace it with "statusline" or "tabline".
If we ever decide to show it in multiple places, it could be "last,statusline", for example.

Coding style: Please put the opening curly on the next line.

Done and additional tests added.

Should the tests be in test_normal.vim instead? Existing showcmd test is in there.

Should the tests be in test_normal.vim instead? Existing showcmd
test is in there.

test_normal.vim is already very big.  Perhaps we have enough testing for
this feature to justify a new test file?  In the past we thought the
overhead of starting a new Vim instance would matter, but now it matters
more that if a test fails, e.g. there is a memory leak, it is limited in
what might cause it.
Otherwise, test_statusline.vim would also be related.
--
E  M  A  C  S
s  e  l  o  h
c  t  t  n  i
a  a     t  f
p        r  t
e        o
l
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

test_normal.vim is already very big. Perhaps we have enough testing for this feature to justify a new test file? In the past we thought the overhead of starting a new Vim instance would matter, but now it matters more that if a test fails, e.g. there is a memory leak, it is limited in what might cause it. Otherwise, test_statusline.vim would also be related.

Yeah depends on whether you want to group these tests under 'showcmd', in which case a test_showcmd.vim might be warranted. Currently I have placed the showcmdloc=statusline test in test_statusline.vim and the showcmdloc=tabline in tabline.vim, your call.

I wonder if adding a builtin showcmd() function, analogous to e.g. mode() and searchcount() will be more useful/idiomatic than adding a statusline item?


style: font differences within a page

It appears like we have font differences between various elements on a page:

Close 😄

Looks like a small size difference still (my browser reports a 1px diff)
The alignment of the numbers also looks a bit weird?

The second of these points is, however, very minor

Found the problem withe the font size. Couldn't find the reason for the misalignment, will check tomorrow!


Un-XFAIL Vapor

Goes with https://github.com/apple/swift/pull/9847

@swift-ci test

@shahmishal This won't pass tests on its own; it needs to be tested with apple/swift#9847.

apple/swift#9847
@swift-ci test

That's redundant since I triggered it from the other PR, neh?
Sent from my moss-covered three-handled family gradunza

On May 23, 2017, at 10:42 AM, Mishal Shah<EMAIL_ADDRESS>wrote:
apple/swift#9847
@swift-ci test
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

You need to remove the comma at the end of:
"configuration": "release",

apple/swift#9847
@swift-ci test

apple/swift#9847
@swift-ci test

Looks good! Thanks.


Dancing Lady showing wrong level

The creature Dancing Lady from Kingmaker is showing as level 6, while on nethys and demiplane its listed as level 8.

As a note, we never use AoN or demiplane as a reference for the system. The PDF is the source we turn to. But, in this case she is 8 in the PDF.

Got it, I'm just a player, so can't check the pdf, but will keep in mind if something like that happens again.


Additional error information when device verification fails

A 1xx error will return a 400 status, 2xx error will return a 500 status. Errors are as follows:

100 - Unsupported verification method
101 - Error validating JWT, or token invalid (test/android)
102 - Could not verify the JWT certificate chain (android)
103 - Nonce does not match expected value (android)
104 - APK name does not match expected value (android)
105 - APK hash does not match expected value (android)
106 - APK certificate does not match expected value (android)
107 - Network error validating token (ios)
108 - Timestamp out of expected threshold (ios)
109 - Invalid verification token (ios)
200 - SafetyNet CA in config is missing or invalid
201 - DeviceCheck credentials in config are missing or invalid

I think I duplicated functionality here: https://github.com/project-vagabond/covid-green-backend-api/pull/12


Service object Load Balancer clarification

I've been taking a look at getting Istio working well on bare metal (including the gates) as a background effort, but have run into a snag.  The approach I am using is basic - using externalIPs to expose the external IP address of both grafana and prometheus and use nodeport for ingress as shown below in this diff against (more or less) master:
https://da.gd/5kh3g
Unfortunately in this model, prometheus does not seem to capture "request_count" which is used all throughout grafana.  I recognize this model is not documented nor supported, however, curious if anyone has any idea in the code to get this moving?
I recognize the proper way to handle these cases is to expose grafana and prometheus via a LoadBalancer Service object type (as well as ingress).  This requires an external cloudprovider for bare metal.  I have found an upstream solution for providing LoadBalancer via an external cloud provider, however, I believe this might be unsuitable for running in prow and circleci.  I have also verified using GKE's LoadBalancer for ingress/grafana/prometheus properly displays metrics using the same container artifacts.
Screenshot of Prometheus (no request_count):

Screenshot of Grafana (no metrics reported):

Would appreciate any pointers to getting this moving or a "this will not work" response.
  Know everyone in the core team is super busy prepping for CloudNativeCon.  Would you mind offering your thoughts on this issue?
Thanks!
-steve

I am not sure I understand the issue. (also somehow I only see this @ now... I need to figure out how to not miss GitHub tags... my apologies for the delay)
request count should come to mixer through each envoy, it shouldn't relate or matter how prometheus or grafana themselves are reached (assuming you get any data at all into them - maybe that's the issue you get nothing at all ? check the mixer logs ?)

@ldemailly thanks - thats enough to work from.  Let me see what I can find out.  github is noisy - no worries on delay.
Cheers
-steve

@ldemailly not sure how to decipher this:
https://da.gd/SmrwM -> https://paste.fedoraproject.org/paste/UpuNf5OBFWXsQvk6WtaoyA/
This looks problematic:
W1211 04:22:32.983232       1 descriptor.go:183] quotas missing
W1211 04:22:32.983250       1 descriptor.go:183] attributes missing
W1211 04:22:32.983256       1 descriptor.go:183] logs missing
W1211 04:22:32.983263       1 descriptor.go:183] metrics missing
W1211 04:22:32.983268       1 descriptor.go:183] monitoredResources missing
W1211 04:22:32.983284       1 descriptor.go:183] principals missing

Note prometheus does get some data (see screenshot above) - envoy is recording global telemetry but not per-service telemetry.  I'll dig into the code a bit and see if I can find the root cause.  If you have any suggestions, would love to hear.
Cheers
-steve

I pulled master and was able to get a better set of logs.  I'll ping on this issue if I need further help.  Still not getting stats into grafana from prometheus, although prometheus has a whole lot more data now and the above warnings no longer exist.

@sdake istio's grafana dashboard expects from Prometheus specific variables otherwise it will not display anything. As a first step I would suggest to check Prometheus to see if it is actually  generating  expected variables.

@sbezverk here are two screenshots.
Working:

Not working:

Note the working version has simply "request_count" as the variable and this is used all throughout the grafana dashboard.  The not workinng version uses istio_request_count which doesn't match with the grafana dashboard.  More info coming soon.
This has nothing to do with externalIP usage - which is good 👍

The root cause of this problem was that the web client's time in some way affects what is displayed in grafana.  Grafana has all of the data, however, it doesn't show it on 1m sum intervals in the current json.  if 1m is changed to 1h, the data is shown.
The exact scenario was something like this:
My server was set to 12:20
My client was set to 12:26
This results in no output from grafana.
This occurred because NTP, while enabled, was firewalled in my lab and I wasn't aware of that fact.  This might be a good subject for  the troubleshooting guide.


[basisu] Update the source of the port

Fixes https://github.com/microsoft/vcpkg/issues/34064 https://github.com/microsoft/vcpkg/issues/30936

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

Compile test pass with following triplets:
x86-windows
x64-windows
x64-windows-static

Thanks!


Export LINUX_KERNEL_VERSION extern variable

In order to take full advantage of BTF/CORE and support a large variety of systems with the same static build, it is useful for the eBPF program to know the kernel version.
libbpf exports this information alongside the host system Kconfig variables.
https://nakryiko.com/posts/bpf-core-reference-guide/#linux-kernel-version
It would be useful to have the same feature in aya.
For context, we're currently using aya only for the userspace and sticking to C for the eBPF program.

One can use a workaround using loader's set_global function such as:
BpfLoader::new().set_global("LINUX_KERNEL_VERSION", version).load(...)


Fix for BeagleBoardXM USB Gadget running Ubuntu core 11.10

Fix via
http://marc.info/?l=linux-usb&m=132091252718281&w=2

Thanks Timothy,
This looks good and looks like it mainline so the rc3 kernel has it too, pulling..
Regards,
Robert Nelson


route is error in Chrome (chrome version is the latest)

i try the example app in chrome, i click the left navigation, the page does not change,but it runs well in Firefox. the rekit protal is also error, the page cannot open.
the error infomation is 'Cannot assign to read only property 'getDisplayName' of object '#''.

I can't reproduce the issue. Do you mean there is error when access http://rekit-portal.herokuapp.com using Chrome ?

yes, react-route is also error using Chrome. The Chrome version is  59.0.3071.109

Got it. But I still can't reproduce, anyone who has the same issue could leave a comment here.

Close it since not reproducible.


Update harness.js

minor changes

Thanks, but almost all the things being changed are intentional and this would likely break things.


Improve SQLParseException to include query and approximate position of the error.

Problem Statement
Currently whenever a SQLParseException is returned to the client, we only return the line:column, this is often confusing as the user might just ignore this information as counting lines and characters is annoying.
In some scenarios, like using the admin ui, this is even a worse experience, e.g.

Latest versions of modern languages made special advancements in this developer experience part, for example Python, where errors are typically underlined in ^ chars, e.g.
>>> with open('file.txt' as f: f.read()
  File "<stdin>", line 1
    with open('file.txt' as f: f.read()
                         ^^
SyntaxError: invalid syntax

Possible Solutions
Include the query with the offending token underlined with ^ characters, perhaps under a flag? ie: http://localhost:4200/_sql?verbose_errors=true
I tested the modification myself in my Python parser of CrateDB.
class ExceptionErrorListener(ErrorListener):
    """
    Error listener that raises antlr4 errors as a Python exceptions.
    """

    def syntaxError(self, recognizer, offendingSymbol, line, column, msg, e):
        query = offendingSymbol.source[1].strdata
        offending_token_text: str = query[offendingSymbol.start: offendingSymbol.stop + 1]

        query_lines: list = query.split('\n')
        offending_line: str = query_lines[line - 1]

        # White spaces from the beginning of the offending line to the offending text, so the '^'
        # chars are correctly placed below the offending token.
        newline_offset = offending_line.index(offending_token_text)
        newline = offending_line + '\n' + (' ' * newline_offset + '^' * (offendingSymbol.stop - offendingSymbol.start + 1))

        query_lines[line - 1] = newline

        msg = msg + "\n\n" + "\n".join(query_lines)
        raise ParsingError(f'line {line}:{column} {msg}')

These are some examples:
    raise ParsingError(f'line {line}:{column} {msg}')
cratedb_sqlparse.parser.parser.ParsingError: line 1:0 mismatched input 'SLECT' expecting {'SELECT', 'DEALLOCATE', 'FETCH', 'END', 'WITH', 'CREATE', 'ALTER', 'KILL', 'CLOSE', 'BEGIN', 'START', 'COMMIT', 'ANALYZE', 'DISCARD', 'EXPLAIN', 'SHOW', 'OPTIMIZE', 'REFRESH', 'RESTORE', 'DROP', 'INSERT', 'VALUES', 'DELETE', 'UPDATE', 'SET', 'RESET', 'COPY', 'GRANT', 'DENY', 'REVOKE', 'DECLARE'}

SLECT * FROM SYS.SHARDS
^^^^^

    raise ParsingError(f'line {line}:{column} {msg}')
cratedb_sqlparse.parser.parser.ParsingError: line 1:89 no viable alternative at input 'SELECT ended FROM "sys"."jobs_log" WHERE classification['type'] = 'INSERT' AND stmt LIKE %'

SELECT ended FROM "sys"."jobs_log" WHERE classification['type'] = 'INSERT' AND stmt LIKE %%table_schema.%table_name%'
                                                                                ^

  File "/home/surister/PycharmProjects/cratedb-sqlparse/cratedb_sqlparse/parser/parser.py", line 61, in syntaxError
    raise ParsingError(f'line {line}:{column} {msg}')
cratedb_sqlparse.parser.parser.ParsingError: line 19:12 no viable alternative at input 'SELECT\n        repos.name,\n        repos.type,\n        repos.settings,\n        (\n          SELECT\n            ARRAY_AGG(\n              {\n                "name" = snaps.name,\n                "state" = snaps.state,\n                "concrete_indices" = snaps.concrete_indices,\n                "failures" = snaps.failures,\n                "started" = snaps.started,\n                "finished" = snaps.finished,\n                "table_partitions" = snaps.table_partitions,\n                "tables" = snaps.tables,\n                "version" = snaps.version\n              \n            )'

      SELECT
        repos.name,
        repos.type,
        repos.settings,
        (
          SELECT
            ARRAY_AGG(
              {
                "name" = snaps.name,
                "state" = snaps.state,
                "concrete_indices" = snaps.concrete_indices,
                "failures" = snaps.failures,
                "started" = snaps.started,
                "finished" = snaps.finished,
                "table_partitions" = snaps.table_partitions,
                "tables" = snaps.tables,
                "version" = snaps.version

            )
            ^
          FROM
            sys.snapshots snaps
          WHERE repos.name = snaps.repository
        ) as snapshots
      FROM
        sys.repositories repos

I think having these literal pointers to where the error might be is a great help.
The antlr4 compile targets are extremely similar between languages, I would say it would be fairly easy to just port this to our Java implementation of the error listener or serve as inspiration for a solution.
Considered Alternatives
No response

I tried something like this a couple years back but discarded it, because I felt the long error messages are actually reducing the readability.
Putting it behind a flag may be a an option, but also increases product complexity.
Throwing in some alternatives:

Standalone Linter or integrated linter in the admin-ui & crash to highlight syntax errors already in the query before submitting them to the server.
A CrateSQL language server for editor integration

I'm totally fine with adding these improvements js/python parsers


Script stuck on VMKernel Warnings

Not sure how long this part is supposed to take but it seems to always hang up on calculating VMKernel Warnings.  Does this part typically take a while or is something else going on? Its not a large environment.

Add a progress indicator to the engine + indicator where code is at


Update OM blog for latest async payments parlance

We don't want to assume that async payment channel counterparties are necessarily LSPs.
cc @moneyball

ACK copy looks good.
Only question I have is what the policy should be for edits. Should we include an "Updated to improve description of ..." ? @ConorOkus @haleyberkoe

We automatically render when the last update for a given post was. See below screenshot.

If we want something more explicit we can add a note to the bottom of the post with ::: tip describing the specific change.
@valentinewallace @moneyball


eth0 can be renamed during elevate process leading to reboot issues

We can see that elevate renamed the eth0 device
/var/log/leapp/leapp-upgrade.log:2023-01-02 20:45:01.254 DEBUG    PID: 19104 leapp.workflow.FactsCollection.udevadm_info: E: DEVPATH=/devices/pci0000:00/0000:00:12.0/virtio3/net/eth0
/var/log/leapp/leapp-upgrade.log:2023-01-02 20:45:01.384 DEBUG    PID: 19104 leapp.workflow.FactsCollection.udevadm_info: E: INTERFACE=eth0
/var/log/leapp/leapp-upgrade.log:2023-01-02 20:45:01.399 DEBUG    PID: 19104 leapp.workflow.FactsCollection.udevadm_info: E: SYSTEMD_ALIAS=/sys/subsystem/net/devices/eth0
/var/log/leapp/leapp-upgrade.log:2023-01-02 20:45:22.58  INFO     PID: 19448 leapp.workflow.FactsCollection.persistentnetnamesdisable: Single eth0 network interface detected. Appending 'net.ifnames=0' to RHEL-8 kernel commandline
/var/log/leapp/leapp-upgrade.log:2023-01-02 22:53:08.842 WARNING  PID: 698 leapp.workflow.Applications.persistentnetnamesconfig: Detected interface rename eth0 -> ens18.
/var/log/leapp/leapp-upgrade.log:Jan 02 20:39:37 localhost kernel: virtio_net virtio3 ens18: renamed from eth0

We should at minimum raise a warning at the end of the elevation process when detecting interface renamed like above.
As this could lead to some issues while rebooting the server later.
No suitable device found for this connection (device ens18 not available because profile is not compatible with device

Internal Ticket: #94525318

What could go wrong if the interfaces are NOT renamed?

What we think is happening:
When leapp detects a single eth0 it does:
2023-01-02 20:45:22.58  INFO     PID: 19448 leapp.workflow.FactsCollection.persistentnetnamesdisable: Single eth0 network interface detected. Appending 'net.ifnames=0' to RHEL-8 kernel commandline

which leads to this:
2023-01-02 22:54:30.39  INFO     PID: 3 leapp.workflow.Finalization: Executing actor kernelcmdlineconfig
2023-01-02 22:54:30.271 DEBUG    PID: 1489 leapp.workflow.Finalization.kernelcmdlineconfig: External command has started: ['grubby', '--update-kernel=/boot/vmlinuz-4.18.0-425.3.1.el8.x86_64', '--args=net.ifnames=0']

We think this may be insufficient and according to grub documentation, you actually ALSO need to update GRUB_CMDLINE_LINUX or net.ifnames=0 will not persist into the following upgrade unless you accidentally had this setting in 7 already.

seems to come from the fact that grub is not set correctly
here is the grub settings after an elevation process
[root@elevate-it ~]# /scripts/elevate-cpanel --status
success
[root@elevate-it ~]# cat /etc/default/grub
GRUB_ENABLE_BLSCFG=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 consoleblank=0 crashkernel=no nosplash nomodeset rootflags=uquota"
GRUB_DISABLE_RECOVERY="true"

noticed that net.ifnames=0 is missing in GRUB_CMDLINE_LINUX


Is this a potential bug of SetWriteDeadline?

Hi , I have read the source code of stompngo and find something hard to understand.
Here's a reader go routine  which can be set read timeout by conn.ReadDealLine
func (c *Connection) setReadDeadline() {
	if c.dld.rde && c.dld.rds {
		_ = c.netconn.SetReadDeadline(time.Now().Add(c.dld.rdld))
	}
}

The reader use c.dld.rde && c.dld.rds to check if read deadline will be set.
Buf a writer use c.dld.wde && c.dld.dns to check if write deadline will be set.
Should it use c.dld.wde && c.dld.wds instead ?
func (c *Connection) wireWrite(d wiredata) {
	f := &d.frame
	// fmt.Printf("WWD01 f:[%v]\n", f)
	switch f.Command {
	case "\n": // HeartBeat frame
		if c.dld.wde && c.dld.dns {
			_ = c.netconn.SetWriteDeadline(time.Now().Add(c.dld.wdld))
		}

Looking forward to your reply

Agreed, it is  bug.
Repeated numerous times in writer.go.
If you give me a PR, I will accept it.
Watch line 242, it requires some extra care.

@gmallard new pull request has been submitted, plz check it out

Closing this per:
cc91367
cc91367


blade {{ }} echo escape behavior

I decided to do a composer update today and ran in to a odd issue. I'm wanting to see if this is suppose to be this way or if it is a unexpected result of a code change.
I am using the setContentTags to remove the "auto escape content tags" that was introduced some time ago.
The function is setContentTags($openTag, $closeTag, $escaped = false)
I was doing this
Blade::setContentTags('{{', '}}', false);

However, after digging in to the code I found a change at, https://github.com/laravel/framework/commit/deb0a3259d34e0246703ff48871b7993c224e325 which added in the setEchoFormat function.
In order to disable the auto escape I have to change
Blade::setEchoFormat('%s');

The third option, $escape, in the setContentTags appears to be ignored completely.

Not an issue, we changed the tags that do the escaping.

@GrahamCampbell Are you referring to the change of the {{ }} being escaped by default or something other tags that do escaping?
When I look at the code behind the function Blade::setContentTags('{{', '}}'). I see the third option as $escape  = FALSE, I read that as if it is false then do not escape the variable contents. Unless you are planing to change the meaning of false, the code needs to be adjusted. That doesn't even touch the usage of the setEchoFormat('%s') vs the default of e(%s).
Care to elaborate on your reply, instead of what feels like a brush off ?

{{ }} - html entities applied
{!! !}} - raw output.
If you want to change that look at the Blade Compiler on which ones to override.


Add tests using AbortSignal

Add test cases showing that an AbortSignal cancels all segment requests

Node 16 now has an AbortSignal implementation that should make this easier to test

Node 16 introduced in #45


Add workload for focal

Add Ubuntu 20.04 support
Signed-off-by: Mark Ryan<EMAIL_ADDRESS>

Coverage remained the same at 68.916% when pulling 850e8b1e2ab7fe2d9615d61d7b0e627ce1e9bff0 on markdryan:focal into 30af1a9574420ca08a42aecfb0fda7eab823bcbe on intel:master.

@ganeshmaharaj Does this look okay to you?

@markdryan i think you need to approve and merge this piece yourself.

@markdryan i think you need to approve and merge this piece yourself.


Cloudpods self management (纳管 cloudpods 平台)

What would you like to be added:

[ ] manage other cloudpods platform resource

/close #11987


Fixes for setTags() and empty tags

FIX: setTags() did not call loadTags(). Furtheron, neededSave() would
re-save even though no tags had changed, or not save when empty
setTags(array()) was called.
FIX: in for loop while saving in afterSave(), when empty tag was found,
continue instead of aborting.
CHG: remove empty tags before handling

@samdark It seems you only merged changelog.txt and not ETaggableBehavior. Could you merge it again and make a new release?

Done.

Thanks!


[AMBARI-25586] File/Directory Permission can't be auto refreshed after modified

What changes were proposed in this pull request?
In the Files View page in Ambari, select a directory or file to modify its permission. After the operation was finished, the permission didn't  automatically refresh, which often makes users confused and mistakenly believed that the operation was not successful.
How was this patch tested?
manual tests

@hapylestat  CI got a build error:
======failed to add link to jira

        Ooops, no jira id found :(

        =============================

No such property: pullRequest for class: groovy.lang.Binding

How can I solve this problem？

Just a simple pr, @pidhaietsdp can you help to review this? thanks!

@akiyamaneko it is a result of missing jira issue number in the PR summary. But seems it is fixed now


group query over union all subquery result

CrateDB version: 4.1.1
Environment description: Ubuntu 18.04.4 LTS

Problem description:
I've the following subquery:
SELECT
    id_asset,
    sum(fields['contador_total:dx']) AS hora,
    0 AS dia,
    0 AS mes
FROM
    zmx.metrics
WHERE
    id_asset IN ('1580233926786', '1580233906413')
    AND name = '_0_state'
    AND tags['tml'] = date_format ('%Y%m%d-%H', CURRENT_TIMESTAMP - 3600000)
GROUP BY
    id_asset
UNION ALL
SELECT
    id_asset,
    0 AS hora,
    sum(fields['contador_total:dx']) AS dia,
    0 AS mes
FROM
    zmx.metrics
WHERE
    id_asset IN ('1580233926786', '1580233906413')
    AND name = '_0_state'
    AND tags['ymd'] = try_cast (date_format ('%Y%m%d', CURRENT_TIMESTAMP) AS integer) - 1
GROUP BY
    id_asset
UNION ALL
SELECT
    try_cast (id_asset AS bigint) AS id_asset,
    0 AS hora,
    0 AS dia,
    sum(sum_contador_total_dx) AS mes
FROM
    zmx.t0_state
WHERE
    id_asset IN ('1580233926786', '1580233906413')
    AND ym = try_cast (date_format ('%Y%m', CURRENT_TIMESTAMP) AS integer) - 1
GROUP BY
    id_asset

the result is OK:
id_asset       | hora    | dia    | mes
1580233926786  | 0       | 0      | 1442
1580233906413  | 0       | 116    | 0
1580233906413  | 0       | 0      | 0
1580233906413  | 0       | 0      | 1330

but if I do a group by over that subquery, result is not as expected:
SELECT
    id_asset,
    sum(hora),
    sum(dia),
    sum(mes)
FROM (
    SELECT
        id_asset,
        sum(fields['contador_total:dx']) AS hora,
        0 AS dia,
        0 AS mes
    FROM
        zmx.metrics
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND name = '_0_state'
        AND tags['tml'] = date_format ('%Y%m%d-%H', CURRENT_TIMESTAMP - 3600000)
    GROUP BY
        id_asset
    UNION ALL
    SELECT
        id_asset,
        0 AS hora,
        sum(fields['contador_total:dx']) AS dia,
        0 AS mes
    FROM
        zmx.metrics
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND name = '_0_state'
        AND tags['ymd'] = try_cast (date_format ('%Y%m%d', CURRENT_TIMESTAMP) AS integer) - 1
    GROUP BY
        id_asset
    UNION ALL
    SELECT
        try_cast (id_asset AS bigint) AS id_asset,
        0 AS hora,
        0 AS dia,
        sum(sum_contador_total_dx) AS mes
    FROM
        zmx.t0_state
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND ym = try_cast (date_format ('%Y%m', CURRENT_TIMESTAMP) AS integer) - 1
    GROUP BY
        id_asset) AS subquery
GROUP BY
    id_asset

result:
id_asset      | sum(hora) | sum(dia) | sum(mes)
1580233906413 | 0         | 1330     | 1330
1580233926786 | 0         | 1442     | 1442

Steps to reproduce:

I tried to reproduce this, but wasn't able to. Could you post the output of the following query?

EXPLAIN
EXPLAIN SELECT
    id_asset,
    sum(hora),
    sum(dia),
    sum(mes)
FROM (
    SELECT
        id_asset,
        sum(fields['contador_total:dx']) AS hora,
        0 AS dia,
        0 AS mes
    FROM
        zmx.metrics
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND name = '_0_state'
        AND tags['tml'] = date_format ('%Y%m%d-%H', CURRENT_TIMESTAMP - 3600000)
    GROUP BY
        id_asset
    UNION ALL
    SELECT
        id_asset,
        0 AS hora,
        sum(fields['contador_total:dx']) AS dia,
        0 AS mes
    FROM
        zmx.metrics
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND name = '_0_state'
        AND tags['ymd'] = try_cast (date_format ('%Y%m%d', CURRENT_TIMESTAMP) AS integer) - 1
    GROUP BY
        id_asset
    UNION ALL
    SELECT
        try_cast (id_asset AS bigint) AS id_asset,
        0 AS hora,
        0 AS dia,
        sum(sum_contador_total_dx) AS mes
    FROM
        zmx.t0_state
    WHERE
        id_asset IN ('1580233926786', '1580233906413')
        AND ym = try_cast (date_format ('%Y%m', CURRENT_TIMESTAMP) AS integer) - 1
    GROUP BY
        id_asset) AS subquery
GROUP BY
    id_asset

Does the same issue also occur if you reduce the inner query to one UNION ALL instead of two?

Thanks for the quick response.
I have simplified the query:
Subquery:
cr> SELECT
id_asset,
sum(fields['contador_total:dx']) AS hora,
0 AS dia,
0 as mes
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset
UNION ALL
SELECT
id_asset,
0 AS hora,
sum(fields['contador_total:dx']) AS dia,
0 as mes
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset limit 100;
+---------------+------+-----+-----+
|      id_asset | hora | dia | mes |
+---------------+------+-----+-----+
|<PHONE_NUMBER>413 |  834 |   0 |   0 |
|<PHONE_NUMBER>413 |    0 | 834 |   0 |
|<PHONE_NUMBER>786 |    0 | 137 |   0 |
|<PHONE_NUMBER>786 |  137 |   0 |   0 |
+---------------+------+-----+-----+
SELECT 4 rows in set (0.058 sec)
as expected.
With the group by:
SELECT
id_asset,
sum(hora),
sum(dia),
SUM(mes)
FROM (
SELECT
id_asset,
sum(fields['contador_total:dx']) AS hora,
0 AS dia,
0 as mes
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset
UNION ALL
SELECT
id_asset,
0 AS hora,
sum(fields['contador_total:dx']) AS dia,
0 as mes
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset
) AS subquery
GROUP BY
id_asset limit 100;
+---------------+-----------+----------+----------+
|      id_asset | sum(hora) | sum(dia) | sum(mes) |
+---------------+-----------+----------+----------+
|<PHONE_NUMBER>413 |       834 |        0 |        0 |
|<PHONE_NUMBER>786 |       137 |        0 |        0 |
+---------------+-----------+----------+----------+
SELECT 2 rows in set (0.018 sec)
so sum(dia) is not OK.
Explain plan:
{"UnionExecutionPlan": {"left": {"Merge": {"mergePhase": {"MERGE": {"distribution": {"distributedByColumn": 0, "type": "BROADCAST"}, "executionNodes": ["CBqjkzoZTy-1EBnVBhXu6A", "q2DoY5JxQF6mb2Eau_oEXQ"], "id": 1, "projections": [{"aggregations": "Aggregation{sum, args=[IC{1, bigint}], filter=true}", "keys": "IC{0, bigint}", "type": "HashAggregation"}, {"outputs": "IC{0, bigint}, IC{1, bigint}, 0, 0", "type": "Eval"}], "type": "executionPhase"}}, "subPlan": {"Collect": {"collectPhase": {"COLLECT": {"distribution": {"distributedByColumn": 0, "type": "MODULO"}, "executionNodes": ["CBqjkzoZTy-1EBnVBhXu6A", "q2DoY5JxQF6mb2Eau_oEXQ"], "id": 0, "projections": [{"aggregations": "Aggregation{sum, args=[IC{0, bigint}], filter=true}", "keys": "IC{1, bigint}", "type": "HashAggregation"}], "routing": {"CBqjkzoZTy-1EBnVBhXu6A": {"zmx.metrics": [0, 2, 3]}, "q2DoY5JxQF6mb2Eau_oEXQ": {"zmx.metrics": [1]}}, "toCollect": "Ref{zmx.metrics.fields['contador_total:dx'], bigint}, Ref{zmx.metrics.id_asset, bigint}", "type": "executionPhase", "where": "Ref{zmx.metrics.name, text} = _0_state AND op_not(op_isnull(Ref{zmx.metrics.id_asset, bigint}))"}}, "type": "executionPlan"}}, "type": "executionPlan"}}, "mergePhase": {"MERGE": {"distribution": {"distributedByColumn": 0, "type": "BROADCAST"}, "executionNodes": ["W0o0eqKCSXCBWTb-ZeAxjA"], "id": 4, "projections": [{"aggregations": "Aggregation{sum, args=[IC{1, bigint}], filter=true}, Aggregation{sum, args=[IC{3, bigint}], filter=true}", "keys": "IC{0, bigint}", "type": "HashAggregation"}, {"limit": 100, "offset": 0, "outputs": "IC{0, bigint}, IC{1, bigint}, IC{2, bigint}", "type": "TopN"}, {"outputs": "IC{0, bigint}, IC{1, bigint}, IC{2, bigint}, IC{2, bigint}", "type": "Eval"}], "type": "executionPhase"}}, "right": {"Merge": {"mergePhase": {"MERGE": {"distribution": {"distributedByColumn": 0, "type": "BROADCAST"}, "executionNodes": ["CBqjkzoZTy-1EBnVBhXu6A", "q2DoY5JxQF6mb2Eau_oEXQ"], "id": 3, "projections": [{"aggregations": "Aggregation{sum, args=[IC{1, bigint}], filter=true}", "keys": "IC{0, bigint}", "type": "HashAggregation"}, {"outputs": "IC{0, bigint}, 0, IC{1, bigint}, 0", "type": "Eval"}], "type": "executionPhase"}}, "subPlan": {"Collect": {"collectPhase": {"COLLECT": {"distribution": {"distributedByColumn": 0, "type": "MODULO"}, "executionNodes": ["CBqjkzoZTy-1EBnVBhXu6A", "q2DoY5JxQF6mb2Eau_oEXQ"], "id": 2, "projections": [{"aggregations": "Aggregation{sum, args=[IC{0, bigint}], filter=true}", "keys": "IC{1, bigint}", "type": "HashAggregation"}], "routing": {"CBqjkzoZTy-1EBnVBhXu6A": {"zmx.metrics": [0, 2, 3]}, "q2DoY5JxQF6mb2Eau_oEXQ": {"zmx.metrics": [1]}}, "toCollect": "Ref{zmx.metrics.fields['contador_total:dx'], bigint}, Ref{zmx.metrics.id_asset, bigint}", "type": "executionPhase", "where": "Ref{zmx.metrics.name, text} = _0_state AND op_not(op_isnull(Ref{zmx.metrics.id_asset, bigint}))"}}, "type": "executionPlan"}}, "type": "executionPlan"}}, "type": "executionPlan"}}
But if I remove the "mes", then result is OK:
cr> SELECT
id_asset,
sum(hora),
sum(dia)
FROM (
SELECT
id_asset,
sum(fields['contador_total:dx']) AS hora,
0 AS dia
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset
UNION ALL
SELECT
id_asset,
0 AS hora,
sum(fields['contador_total:dx']) AS dia
FROM
zmx.metrics
WHERE
name = '_0_state' and id_asset is not null
GROUP BY
id_asset
) AS subquery
GROUP BY
id_asset limit 100;
+---------------+-----------+----------+
|      id_asset | sum(hora) | sum(dia) |
+---------------+-----------+----------+
|<PHONE_NUMBER>413 |       834 |      834 |
|<PHONE_NUMBER>786 |       137 |      137 |
+---------------+-----------+----------+
SELECT 2 rows in set (0.017 sec)

Thank you for trimming down the example, that made it easier to reproduce.
We merged a fix (https://github.com/crate/crate/pull/9736) which we release as part of 4.1.3


The typo in the word "Sciences" and the incorrect spelling of "EPAM" inside the section "About"

Steps to Reproduce

Launch "Ketcher"
Click on the "About" button on the header
Verify the "EPAM Life Sciences" phrase

Actual behavior
"Epam Life Sciencies"
Expected behavior
"EPAM Life Sciences"
Screenshots

Desktop (please complete the following information):

OS: Windows 10 Pro (version 22H2) x64
Browser: Сhrome
Version: (114.0.5735.199) x64

Ketcher version 2.13.0-rc.1 (Remote, Standalone)

Preview. No comments


Added linera project test

Motivation
Users need an easy way to unit test their applications.
Solution
Add linera project test which:

Tries to find the linera-test-runner binary, if it cannot find it downloads it using cargo install
Runs the tests with the runner piping stdin and stdout.
Fails if the underlying tests fail.

Note
Strictly speaking this is waiting on the crate linera-test-runner to be installed. But I tested it out without the linera-test-runner and by putting it manually in ~/.cargo/bin and both have the desired behaviour.
Integration tests will be added as soon as the crate is available, otherwise they will fail.

Looks good! It would be nice to also run integration tests (i.e., cargo test for the host architecture target), but I'm not sure if it would be best to do that in this PR or a separate PR later on :thinking:


Error: Bad credentials

https://github.com/beucismis/beucismis/actions/runs/5266598153/jobs/9520826650

You probably have to regenerate the token, see https://github.com/teoxoy/profile-readme-stats/blob/master/README.md#token


DO NOT MERGE

proof that the encryption tests pass

/hold

/test e2e-aws-operator-encryption

/test e2e-aws-operator-encryption

/close


paramiko 3.5.0

paramiko 3.5.0 (CVE-2023-48795 SSH Protocol (Terrapin))
Destination channel: Defaults
Links

PKG-6075
dev_url:        https://github.com/paramiko/paramiko//tree/3.5.0
conda_forge:    https://github.com/conda-forge/paramiko-feedstock
pypi:           https://pypi.org/project/paramiko/3.5.0
pypi inspector: https://inspector.pypi.io/project/paramiko/3.5.0

Explanation of changes:

new version number
no pytesting as tests/conftest.py requires icecream -- which we don't have

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_38p6k_evmb/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:41: invalid_url: https://www.paramiko.org/ : Not reachable: 403
clone/recipe/meta.yaml:49: invalid_url: https://docs.paramiko.org/ : Not reachable: 403
===== Final Report: =====
0 Errors and 2 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_2e5dxnhsn5/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:54: invalid_url: https://docs.paramiko.org/ : Not reachable: 403
clone/recipe/meta.yaml:46: invalid_url: https://www.paramiko.org/ : Not reachable: 403
===== Final Report: =====
0 Errors and 2 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_ec3p65ywjm/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:54: invalid_url: https://docs.paramiko.org/ : Not reachable: 403
clone/recipe/meta.yaml:46: invalid_url: https://www.paramiko.org/ : Not reachable: 403
===== Final Report: =====
0 Errors and 2 Warnings were found


Scaden simulate ValueError: low >= high

Hi,
Thanks for your great work on scaden.
I've been recently trying to use scaden to recognize cell fractions.
With the newly released Scaden v1.1.2, I tried to run the 'scaden simulate' command but resulted in the same error showing
File "/home/mhagiwara/Programs/anaconda3/envs/scaden/lib/python3.9/site-packages/scaden/simulation/bulk_simulator.py", line 305, in create_subsample
cells_fraction = np.random.randint(0, cells_sub.shape[0], samp_fracs[i])
File "mtrand.pyx", line 747, in numpy.random.mtrand.RandomState.randint
File "_bounded_integers.pyx", line 1254, in numpy.random._bounded_integers._rand_int64
ValueError: low >= high
My command for 'scaden simuate' is:
scaden simulate  -n 100 --data ./scanpy --pattern "_counts.txt"
The count data file '_counts.txt' has been generated following the normalization steps of your example in jupyter script, containing 19770 genes (column) and 83085 cells (row). Formatted as follows.
count

celltype

I checked row number & column number in both data.
I suppose something is wrong with the format, but have tried several times and couldn't figure out the reason.
May I have your suggestion on this issue? Thanks a lot!
Masaki

Hi @mHagiw ,
thanks for reporting this issue!
I will try to have a look at it as soon as possible - hopefully this weekend :)
Best,
Kevin

Thanks for quite quick response!
I am waiting expectantly.
Best regard,
Masaki

Hi,
Sorry, I found my problem of my df.
Celltypes df have some NaN.
I solve problem. I'm able to try the next steps with Scaden now!
Thanks.
Masaki


Caching of results using mongoDB.

Fixes #380
Checklist

[x] I have read the Contribution & Best practices Guide and my PR follows them.
[x] My branch is up-to-date with the Upstream master branch.
[x] I have added necessary documentation (if appropriate)

Changes proposed in this pull request:
-made changes to server.py
added db.save() so as the results of the query are saved in case they are not found in the db. so that they can be used next time.

@AnshulMalik @vaibhavsingh97 @raju249 @cclauss anything else required?

My take on this one is that we need to:

When someone makes a new query then we should see if that URL is already in the database.
If it is and the timestamp is < one week old we should return the links from the DB
If it is not then we should store a timestamp, the URL and the links that come back from every query.

@cclauss what changes should i make?

@cclauss the change i have made saves the query in the DB right?(without the timestamp). basically t does the 3rd step among the steps you told right?

Think of the URL as the question and the links as the answer.  You need to save BOTH.

Closed by #399 ?


Parameterize the repository locations of the bazel based dependencies

The repository locations are now stored in a external file, allowing sites to provide
alternate sources for the referenced code, without introducing merge conflicts

@mattwoodyard LGTM please sign CLA

Signed

This only parameterizes the location, but keep the SHA / tag and repository types in bazel/repositories.bzl.
When you have to change location for dependencies, now you have to change the location in the new file, and SHA / tag in bazel/repositories.bzl, just added the complexity.
cc @htuch

I'm not sure I understand the objection? Is there an alternate method better suited for pointing bazel at internal mirrors for the 'repositories'?

@mattwoodyard For example, if you want to change envoy-api to your own fork, then you need to modify the location of the repo, in bazel/repository_locations.bzl, but you still have to modify bazel/repositories.bzl, to change the SHA of envoy-api specified in that file. If you're using same SHA, then you don't need change the location since it is same.
Having SHA together with the repo location in bazel/repository_locations.bzl is better, though IMO it is still not good enough. Happy to discuss on Gitter, etc. I'm not very clearly understand what you're trying to solve here.

@mattwoodyard I think @lizan is suggesting we can make your PR more general by also including version info alongside URL info.

Fair enough, I was not originally anticipating the need to swap out the SHA. I'll send over another PR.


Unit tests for registered media query callbacks.

Is there a way to trigger(invoke) registered media query callbacks via JS unit tests?
I have multiple media queries / callbacks registered with 'enquire' and I am looking for a way to trigger the registered callbacks to meet unit testing requirements.

Something like enquire.queries[yourMediaQuery].asses()?
In any case, I'm closing this to clean up issues. Please comment here if you're still having problems


Update go toolchain to cover cve CVE-2024-34156

Reason for Change:

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] relevant PR labels added

Notes:

/azp run Azure Container Networking PR


Just a little visual bug.

https://puu.sh/zmOAE/d158f4efcc.jpg
from setting this->idHovered to -1 the highlight will show where the combobox text is.  im just setting it to 0 when the combo is toggled. not perfect but works for me.

Fixed


require 'zeromq' -> 'zmq'

The samples in the readme still point to (possibly?) old naming?
Replacing require 'zeromq' to 'zmq' makes them work again.

my bad, yeah those were from my fork


Paused auto refresh no longer has an update button

this is how the auto refresh dropdown on a dashboard behaved in beta-1:

This is how it behaves in the latest master: 7761c99818b31bb596914a848208fb1317545957

Is this issue happening only in the Dashboard Header?


Running Epsilon Exceeds the Max Epsilon in the Create Statistic Popup Window

In my Jan 12th test, Count generally worked, except when I got to the last variable on the list in the Create Statistics popup.   I got an error message saying the running epsilon exceeds the max epsilon by 0.00000000000000006.
The instructions on the Create Statistics page (not the popup window) say that by default the total Epsilon will be distributed evenly between the statistics created, so I didn't expect to see the overage in the popup window.

fixed


Support for 'useMaxVersion' jgitver paramter

with jgitver/jgitver#53 I think this PR becomes obsolete. I think we do not need maxVersion property.


SignalBundle derive macro

Adds a derive macro for SignalBundle, closing #2042.

@gbj I would like your feedback on a couple of things:
What do you think of the name SignalBundle?
I like it a bit more as opposed to using something relating to solid's store, as it might confuse users thinking it has more to do with StoredValue.
Attribute arguments
Currently, I have the macro accepting 3 parameters, signal, rw_signal, store, and any combination of the above.
signal
This would be:
#[derive(SignalBundle)]
#[bundle(signal)]
struct Bundle {
  a: usize,
  b: usize,
  c: usize,
}

// generates

struct BundleRead {
  a: ReadSignal<usize>,
  b: ReadSignal<usize>,
  c: ReadSignal<usize>,
}

struct BundleWrite {
  a: WriteSignal<usize>,
  b: WriteSignal<usize>,
  c: WriteSignal<usize>,
}

// Can be used like:

let (read, write) = Bundle::default().into_signal_bundle();

// ...

rw_signal
#[derive(SignalBundle)]
#[bundle(rw_signall)]
struct Bundle {
  a: usize,
  b: usize,
  c: usize,
}

struct BundleRw {
  a: RwSignal<usize>,
  b: RwSignal<usize>,
  c: RwSignal<usize>,
}

store
This is the one I'm not sure about if we should even have as an option. since storing the entire struct might yield the same semantics. What do you think? Here's how it would expand:
#[derive(SignalBundle)]
#[bundle(store)]
struct Bundle {
  a: usize,
  b: usize,
  c: usize,
}

struct BundleStore {
  a: StoredValue<usize>,
  b: StoredValue<usize>,
  c: StoredValue<usize>,
}

@gbj any thoughts on this PR?

Yeah, sorry for being so slow. I've started to write out a response a couple times and had to go back and think more.
There are a few reasons it is really useful to have something like a SolidJS "store," i.e., an object that supports nested reactivity:

Reactive structs, where you can track fine-grained updates to individual fields rather than the struct as a whole
Reactive collections, where you can have a Store<Vec<Todo>> and track access to, say, todos.get(0)
Data diffing: i.e., you have a Store<SomeData> and you can give it a new SomeData from the server and it will only notify on the fields that have actually changed

Unless I'm misunderstanding, this PR is a derive macro to do Part 1 by generating a separate struct with signals for each field. To me, this feels like a bandaid around the problem of not having real reactive stores.
Granted, a bandaid is very useful if you are bleeding. And this does solve the issue of "how do I make a struct of signals easily."
But in an ideal world I'd like to get to a place where it's possible to have a proper store which can do all of 1, 2, and 3. And so I'm a little hesitant to bring this into the core library, and then immediately break it. On the other hand, clearly I haven't actually built a true reactive store yet, so the alternative is totally hypothetical. It's just a matter of limited time for me right now.
I'd love to have feedback from others, and am very willing to yield to the wisdom of the community if merging the partial solution here sounds like a good idea to people.
(Also, if you rebase and run cargo fmt on leptos_macro that will help the CI.)

@gbj no problem!
You bring up some really good points, although I'm not entirely sure how something like what you're describing would work in Rust. The only real blocker for doing so is not having good proxy types...one can simulate them with Deref and DerefMut, but it's a far cry from ideal. Especially when thinking of generic, non-specialized collection data structures.
Do you have anything in mind?

@jquesada2016 The key thing is that if we create a getter/setter model for store fields, each field can be uniquely identified by the getter function's address. We can then create a table of internal signals of type () that are used to track subscription and updates to each field.
Here's a (working) example in 0.6:
#[derive(Store, Clone, Default)]
struct SomeStoreStruct {
    pub name: String,
    pub count: usize,
}

pub fn app() -> impl Render<Dom> {
    let store = Store::new(SomeStoreStruct {
        name: "Bob".to_string(),
        count: 37,
    });

    // effects are canceled on drop; TODO better API here
    mem::forget(Effect::new(move |_| {
        log(&format!("count is {:?}", store.at().count().get()));
    }));

    view! {
        <button on:click=move |_| {
            store.at_mut().count().update(|n| *n += 1);
        }>
            {move || store.at().count().get()}
        </button>
        {move ||  store.at().name().get()}
    }
}

(Ignore the weirdness of forgetting the effect, will iron that part out later)
Basically, at().name().get() says

is there a signal identified with the count field yet?
a) if not, create it
b) track that signal
c) give me the value of that field

And at_mut().name().update() says

is there a signal identified with the count field yet?
a) if not, create it
b) notify that signal
c) update the value of that field

The "signals" created and notified there have type (), and the .with() and .update() are applied to the subfield.
This should be able to basically replace the create_slice pattern, and also to serve the use case of SignalBundle.
I still have some work to do on Part 2 (reactive collections built on this) and part 3 (data diffing built on this) but I have a pretty clear sense of how to do each of those.
The Store derive macro here expands to a couple extension traits which it implements on ReadStoreField and WriteStoreField types, with a method per struct field.
trait SomeStoreStructReadStoreFields<OriginTy> {
    fn name(self) -> ReadStoreField<OriginTy, String>;
    fn count(self) -> ReadStoreField<OriginTy, usize>;
}
impl<OriginTy> SomeStoreStructReadStoreFields<OriginTy>
for ReadStoreField<OriginTy, SomeStoreStruct>
where
    OriginTy: 'static,
{
    fn name(self) -> ReadStoreField<OriginTy, String> {
        self.subfield(
            ReadStoreField::<
                OriginTy,
                SomeStoreStruct,
            >::name as usize,
            |prev| &prev.name,
        )
    }
    fn count(self) -> ReadStoreField<OriginTy, usize> {
        self.subfield(
            ReadStoreField::<
                OriginTy,
                SomeStoreStruct,
            >::count as usize,
            |prev| &prev.count,
        )
    }
}
trait SomeStoreStructWriteStoreFields<OriginTy> {
    fn name(self) -> WriteStoreField<OriginTy, String>;
    fn count(self) -> WriteStoreField<OriginTy, usize>;
}
impl<OriginTy> SomeStoreStructWriteStoreFields<OriginTy>
for WriteStoreField<OriginTy, SomeStoreStruct>
where
    OriginTy: 'static,
{
    fn name(self) -> WriteStoreField<OriginTy, String> {
        self.subfield(
            ReadStoreField::<
                OriginTy,
                SomeStoreStruct,
            >::name as usize,
            |prev| &mut prev.name,
        )
    }
    fn count(self) -> WriteStoreField<OriginTy, usize> {
        self.subfield(
            ReadStoreField::<
                OriginTy,
                SomeStoreStruct,
            >::count as usize,
            |prev| &mut prev.count,
        )
    }
}

The rest of it is handled in the reactive system.

P.S. I should clarify: by "in 0.6," I mean, "inspired by you pinging me on this PR, and reusing the macro you created, I implemented this in the new reactive system over the weekend." Totally inspired by your work, not a duplicate effort.
P.P.S. This model does in fact compose really well with sub-structs, as long as they also derive Store (as is the case for any derive right?) We can update a single field of an inner struct with no real fuss and without triggering any of the other fields on either the inner or outer struct
#[derive(Store, Clone, Default)]
struct Outer {
    pub outer_field: String,
    pub inner: Inner,
}

#[derive(Store, Clone, Default)]
struct Inner {
    pub name: String,
    pub count: usize,
}

pub fn app() -> impl Render<Dom> {
    let store = Store::new(Outer {
        outer_field: "Set once".to_string(),
        inner: Inner {
            name: "Bob".to_string(),
            count: 1,
        },
    });

    // effects are canceled on drop; TODO better API here
    mem::forget(Effect::new(move |_| {
        log(&format!(
            "outer_field is {:?}",
            store.at().outer_field().get()
        ));
    }));
    mem::forget(Effect::new(move |_| {
        log(&format!("name is {:?}", store.at().inner().name().get()));
    }));
    mem::forget(Effect::new(move |_| {
        log(&format!("count is {:?}", store.at().inner().count().get()));
    }));

    view! {
        <button on:click=move |_| {
            store.at_mut().inner().count().update(|n| *n += 1);
        }>
            {move || store.at().inner().count().get()}
        </button>

{move ||  store.at().outer_field().get()}

{move ||  store.at().inner().name().get()}

    }
}

@gbj I really like the idea of encapsulating the type in a common Store rather than having StructRead and StructUpdate directly exposed to users. The biggest, and only disadvantage I can think of, is that destructuring won't work here.

This looks great, I find myself doing this sort of stuff a lot:
    let user = create_rw_signal(NewUserForm::default());
    let (email, set_email) = create_slice(user, |u| u.email.clone(), |u, v| u.email = v);
    let (given_name, set_given_name) =
        create_slice(user, |u| u.given_name.clone(), |u, v| u.given_name = v);
    let (family_name, set_family_name) =
        create_slice(user, |u| u.family_name.clone(), |u, v| u.family_name = v);
    let (phone, set_phone) = create_slice(user, |u| u.phone.clone(), |u, v| u.phone = v);
    let (password1, set_password1) =
        create_slice(user, |u| u.password1.clone(), |u, v| u.password1 = v);
    let (password2, set_password2) =
        create_slice(user, |u| u.password2.clone(), |u, v| u.password2 = v);

and arrived at this issue googling around to see if anyone had made a macro for it. Regarding collections, here's my hacked up solution for a 'reactive list'; I am sure whatever you come up with will be much more elegant :)
use indexmap::IndexMap;
use leptos::*;
use uuid::Uuid;

pub type ReactiveList<T> = IndexMap<Uuid, RwSignal<T>>;

pub trait TrackableList<T> {
    fn tracked_push(&self, guest: T);
    fn tracked_remove(&self, uid: Uuid);
    fn tracked_insert(&self, uid: Uuid, new: T);
}

impl<S, T> TrackableList<T> for S
where
    S: SignalUpdate<Value = ReactiveList<T>>,
    T: 'static,
{
    fn tracked_push(&self, guest: T) {
        self.update(|gs| {
            gs.insert(Uuid::new_v4(), create_rw_signal::<T>(guest));
        });
    }

    fn tracked_remove(&self, uid: Uuid) {
        self.update(|gs| {
            gs.shift_remove(&uid);
        });
    }

    fn tracked_insert(&self, uid: Uuid, new: T) {
        self.update(|gs| {
            gs.insert(uid, create_rw_signal::<T>(new));
        });
    }
}

@gbj, I've not visited this in a while so not sure if somethings changed, do you need me to do anything on this PR?

@jquesada2016 Thanks for checking in. I think my feelings are still the same as December, with the caveat that we did a separate 0.6 release for new server functions, so replace everywhere I said 0.6 with 0.7. I think this seems useful in the current state of things, and I also now have a working implementation for reactive stores that can achieve the same thing in the next version, so I'm hesitant to bring this into the core of the library and then immediately replace it in the next version.
Do you think it would make sense to publish as a separate crate? Or am I just being too conservative here about adding a useful feature to the library?

Do you think it would make sense to publish as a separate crate? Or am I just being too conservative here about adding a useful feature to the library?

@gbj of course not! Having already a clear path forward, there is no need for this feature if it's going to be almost immediately replaced, nor do I see the need for this to be a seperate crate. It'll only add to technical debt of users if they decide to depend on it.
I would go ahead and close this PR. That's also why I wasn't sure if something changed; because it was still open.

Gotcha. Will close now then :smile:


fix(FloatingFocusManager): mutate internal preventReturnFocusRef instead of returnFocusRef

We ran into a problem with a Popover that uses the transition hook, the main structure was like this:
<Popover id="a">
  <Popover id="b">
  </Popover>
</Popover>
<Popover id="c">
</Popover>

The bug occurred when:

open Popover a
open nested Popover b
open Popover c, which should close both a and b with an outside press
but Popover c also closed

Since a and b closed with transition timeouts, the layout effect cleanup function also run with a timeout. This surfaced an issue where in the cleanup function, returnFocusRef.current was not false anymore, even though it was set to false in the onDismiss function. I assume this is because returnFocusRef depends on the prop value, and with the transitions, it gets rerendered and reset at some point. I think this is a bug, internally we shouldn't mutate the ref that comes from the prop. Instead, we should mutate the internal preventReturnFocusRef when necessary.
I tried writing a test for it, but failed, since this issue only seemed to happen with transition timeouts, which would need to be mocked with fake timers in tests. Hoping the change makes sense without a test/repro as well.

I pushed a repro in the playground (that I reverted as well) if you want to verify this issue/fix in more detail.

Checkout https://github.com/floating-ui/floating-ui/pull/2215/commits/c38e2878c5b953d9d967f0d5d3969b287e72f371
Go to Popover in the playground, uncheck "modal" checkbox
Click on "first button"
Click on "first second button"
Click on "second button"
Wait a second or so, so all the transition timeouts would finish.
Observe that all Popovers are closed, though it is expected that the second popover would remain open.

Thanks!


Date format issue in export to excel

Hi,
I have a json consisting of array of objects which I am able to export to the xlsx...My only problem is there a string which consists of 'dd/mm/yyyy', when I convert it to the xlsx column, i will have to change it to a date object with same value, i.e., 'dd/mm/yyyy'. Is there any option to do it...

Course Completion  Date
15/12/2016
24/06/2016
24/06/2016
These values are now coming in String...I need to change it to Date in xlsx... Please remember that I had tried to convert it to date object in my javascript & then pass it to alasql...
Which results like this...
2019-09-01T00:00:00.000Z
2019-09-01T00:00:00.000Z
2019-09-01T00:00:00.000Z
2019-09-01T00:00:00.000Z
2019-09-01T00:00:00.000Z


Customizing the Home Page!

Add the upload image section in the home page and also some details about the project!

Hi I would like to work on this.

Hello, I would like to contribute

Take a look at this issue https://github.com/kailashchoudhary11/imgman/issues/41 If you want I can assign it to you! @dasashreeya

hi, i would like to work on this

hi, i would like to work on this

@shrishti147  I have already assigned this issue to someone. Take a look at other issues!

Hello,
Yes, I'm working on issue #41.
(Creating the footer)
On Thu, Oct 20, 2022 at 10:30 PM Kailash Choudhary @.***>
wrote:

Hello, I would like to contribute
Take a look at this issue #41
https://github.com/kailashchoudhary11/imgman/issues/41 If you want I
can assign it to you! @dasashreeya https://github.com/dasashreeya
—
Reply to this email directly, view it on GitHub
https://github.com/kailashchoudhary11/imgman/issues/42#issuecomment-1285876735,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUQN23ROFRHLC2GMLAXHAODWEF3BZANCNFSM6AAAAAARKLEMAQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello, I would like to contribute

Take a look at this issue #41 If you want I can assign it to you! @dasashreeya

Yes, can you please assign issue #41 to me?

@kailashchoudhary11 Thank you!!

Hello, I would like to contribute

Take a look at this issue #41 If you want I can assign it to you! @dasashreeya

Yes, can you please assign issue #41 to me?

@dasashreeya Yeah I have assigned that one to you, you can start working!

@kailashchoudhary11 Thank you!!

Any Updates?

can you assign it to me

Hey @kailashchoudhary11 is this issue still open to work on? Can you assign it to me?

@CodeRyliCode You are working on it right?

Hi if there’s a time constraint on this, you can just assign it to someone
else . Sorry, I was trying to do it but I can’t finish it in time and I
don’t know python that well.
On Sat, Oct 22, 2022 at 9:27 PM Kailash Choudhary @.***>
wrote:

@CodeRyliCode https://github.com/CodeRyliCode You are working on it
right?
—
Reply to this email directly, view it on GitHub
https://github.com/kailashchoudhary11/imgman/issues/42#issuecomment-1288001699,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUXXOULKU5FSZ4ZDY5VMQGLWES5CHANCNFSM6AAAAAARKLEMAQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@CodeRyliCode You can take your time. Let me know if you need any help.

Actually you can assign it to someone else because I won’t have the bandwidth. Thank you!!
Sent from my iPhone

On Oct 22, 2022, at 9:43 PM, Kailash Choudhary @.***> wrote:

@CodeRyliCode You can take your time. Let me know if you need any help.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Is anyone working on the issue? If not please assign it to me.

@musavveer Yeah you can work on it! Go Ahead!


Docker process hangs on CentOS

Hello,
we are currently using the Linux Kernel version 3.14.17 with CentOS 6.6 and
running the Docker version 1.3.2, build 39fa2fa/1.3.2.
The docker process was freezing (zombie) after sending a docker stop command.
There was no chance to kill the docker process.

killall -s 9 docker
killall -s 9 docker
killall -s 9 docker

Running "zombie" processes:
ps Haxwwo stat,pid,ppid,user,wchan:25,command | grep -e "^STAT" -e "^D" -e "^Z"

D     1296     1 root     sleep_on_page             /usr/bin/docker -d --selinux-enabled --iptables=false --graph=/games/docker
Zl   12987     1 root     exit                      [docker]
Dl   12987     1 root     sleep_on_page             [docker]
Zl   32313     1 root     exit                      [docker]
Dl   32313     1 root     sleep_on_page             [docker]

Also no chance to strace the process:

strace -p 12987
attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted

Some proc output:

cat /proc/1296/syscall
162 0x0 0x0 0x0 0x0 0x0 0x0 0x7fff39701df0 0x5b8c44
cat /proc/1296/syscall
162 0x0 0x0 0x0 0x0 0x0 0x0 0x7fff39701df0 0x5b8c44
cat /proc/1296/syscall
162 0x0 0x0 0x0 0x0 0x0 0x0 0x7fff39701df0 0x5b8c44

Looks like the docker daemon was waiting for a file handle?
Only a reboot of the complete server helped me with that issue.
Process dump: https://www.dropbox.com/s/duuid5fbqey33rs/docker.dump?dl=0
Maybe anyone has an good idea. :)
Thank you very much.
Best regards,
Alexander

Hello,
I hope you guys had a great start into the new year. Is there any update on this case or do you need more informations? We are running 1000+ servers with docker and every week we have around 2-3 servers with this issue. Sadly I can`t reproduce it.
Regards,
Alexander

@BirknerAlex Kernel 3.14 isn't the kernel provided by CentOS 6, RHEL 6, nor any other distribution based on RHEL 6. Only kernel 2.6.32 is officially supported on these distributions.
This is a custom setup and we don't support such setups. The main issue is that there's no easy way to duplicate these setups, nor is there an easy way to tell how to get the exact same kernel with the exact same configuration. Providing support for such setups is also extremely difficult because of the endless number of possible setups: 1) custom built kernels vs packaged kernels from repositories 2) various kernel configs 3) various kernel versions 4) patched vs unpatched kernels
I can tell you right now that kernel 3.14 doesn't have such problems on other distributions, but those distributions weren't shipped with kernel 2.6.32. These distributions running 2.6.32 have had a lot of changes made to them to support 2.6.32 and be compatible with 2.6.32 (plus its countless backports from newer kernels).
Furthermore, kernel 3.14.17 is also old and I know there were some bugs in 3.14.16-3.14.17-3.14.18.
Should you want a modern system with a more recent kernel, please upgrade to CentOS 7 and see if you're still running into problems.
Please keep in mind that upgrading the kernel to a 3.10+ version on CentOS 6/RHEL 6 based distributions can lead to unexpected behavior due to potential incompatibilities between the system's user space tools (including their configuration and the configuration of the kernel done by these tools) and the newer kernel. This is a serious issue and I've seen similar reports from SuSE installs which had an even newer kernel by default - kernel 3.0
I'm going to close this issue now. Please comment on this issue if you manage to reproduce this with 2.6.32 on CentOS 6.6, CentOS 7 with 3.10 or another supported setup.

Correct. Currently We (CentOS) will only support docker via EPEL package on the 2.6.32-xx kernels shipped by the distribution. There are things like namespace changes which will cause issues if one decides to step outside that box and run non-distro kernel packages.

centos 7 on kernel 3.10.0-229.7.2.el7.x86_64 has the same behavior using docker 1.8.2

@tobowers if the daemon refuses to start, this could also be related to https://github.com/docker/docker/issues/16763#issuecomment-145488297

@thaJeztah the docker daemon always starts. It's when you "use docker a lot" it will end up freezing. Happens a decent amount in our system... we can replicate it by doing a "docker build" over and over again.

@tobowers thanks, just checking! Can you open a new ('fresh") issue, if possible with logs and ways to reproduce. You can add a link to this issue to explain it may be related


pre-commit not running in sub folders

When I run pre-commit run -a I always get
Terraform fmt........................................(no files to check)Skipped
Terraform validate...................................(no files to check)Skipped
Terraform docs.......................................(no files to check)Skipped

the project format is
root
->.terraform
->main.tf
ect...
I also tried pre-commit run --files .terraform/*
and i get the same. How do i configure pre-commit to run in the .terraform folder?

Files inside .terraform are excluded (see the config), and this is the right behavior.
You should think about .terraform folder as a cache folder used solely by the Terraform internally, and you should apply pre-commit to your *.tf files.

ah ok, i was beginning to think that was the case. I got handed this file structure I will discuss with the team about changing it. Thank you for the help!


[NFC][SourceManager] Rename line and column APIs for clarity

getLineAndColumn -> getPresumedLineAndColumnForLoc (respects #sourceLocation )
getLineNumber -> getLineAndColumnInBuffer (doesn't respect #sourceLocation )
This is a purely mechanical change (via Xcode refactoring) that applies some of the renaming suggested in https://forums.swift.org/t/filename-line-and-column-for-sourceloc/5463 by @rintaro . I've also been auditing calls to these methods to find incorrect uses, I'm going to split those into multiple PRs because they'd make this too hard to review.
Some of the other SourceManager API should probably be renamed too, but I think this s a good first step and will help address the most common cases of misuse.

@swift-ci Please smoke test

@swift-ci Please smoke test

@owenv lldb needs to be updated.
/home/buildnode/jenkins/workspace/swift-PR-Linux-smoke-test/branch-master/llvm-project/lldb/source/Symbol/SwiftASTContext.cpp:2644:29: error: no member named 'getLineAndColumn' in 'swift::SourceManager'
      line_col = source_mgr.getLineAndColumn(source_loc);
                 ~~~~~~~~~~ ^

https://github.com/apple/llvm-project/pull/1252
@swift-ci please smoke test

@swift-ci Please test Windows

https://github.com/apple/llvm-project/pull/1252
@swift-ci Please test Windows

https://github.com/apple/llvm-project/pull/1252
@swift-ci Please test Windows

Windows bots don't support cross repo PR testing. @owenv feel free to merge this.

@rintaro sounds good, thanks! I’m rerunning tests on the other PR now due to some CI flakiness. If those pass I may need some help merging this as I don’t have llvm-project commit access

@owenv Unfortunately it's not flakiness, the Linux bot is currently failing for all swift/master LLVM PRs :(

@hamishknight oh, thanks for the heads up, I hadn’t noticed the issue was more widespread. In that case I’ll just pick this back up next week, it’s pretty non-urgent


Linker error when building qtwebengine for am335x

Branch: dunfell
Toolchain: gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
bblayers.conf:
# file and removing the BBLAYERS section at the end.

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "5"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

# Layers configured by oe-core-setup script
BBLAYERS += " \
	/usr/local/ti/tisdk/sources/meta-stagetec-avatus \
	/usr/local/ti/tisdk/sources/meta-processor-sdk \
	/usr/local/ti/tisdk/sources/meta-ros \
	/usr/local/ti/tisdk/sources/meta-arago/meta-arago-distro \
	/usr/local/ti/tisdk/sources/meta-arago/meta-arago-extras \
	/usr/local/ti/tisdk/sources/meta-browser \
	/usr/local/ti/tisdk/sources/meta-openamp \
	/usr/local/ti/tisdk/sources/meta-qt5 \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-networking \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-ruby \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-python \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-oe \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-gnome \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-multimedia \
	/usr/local/ti/tisdk/sources/meta-openembedded/meta-webserver \
	/usr/local/ti/tisdk/sources/meta-ti \
	/usr/local/ti/tisdk/sources/meta-linaro/meta-linaro-toolchain \
	/usr/local/ti/tisdk/sources/meta-linaro/meta-optee \
	/usr/local/ti/tisdk/sources/meta-swupdate \
	/usr/local/ti/tisdk/sources/meta-swupdate-boards \
	/usr/local/ti/tisdk/sources/oe-core/meta \
"

Error:
| linking ../../lib/libQt5WebEngineCore.so.5.14.2
| /usr/local/ti/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtwebengine/5.14.2+gitAUTOINC+35aa6c30f0_6c9be50c2d-r0.arago1/build/src/core/release/obj/third_party/blink/renderer/platform/platform/platform_jumbo_55.o: In function `blink::CheckCrc(blink::FastSharedBufferReader const&, unsigned int, unsigned int)':
| platform_jumbo_55.cc:(.text._ZN5blinkL8CheckCrcERKNS_22FastSharedBufferReaderEjj+0x90): undefined reference to `crc32'
| platform_jumbo_55.cc:(.text._ZN5blinkL8CheckCrcERKNS_22FastSharedBufferReaderEjj+0x9c): undefined reference to `crc32'
| collect2: error: ld returned 1 exit status
| Makefile.core_module:77: recipe for target '../../lib/libQt5WebEngineCore.so.5.14.2' failed
| make[3]: *** [../../lib/libQt5WebEngineCore.so.5.14.2] Error 1
| make[3]: Leaving directory '/usr/local/ti/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtwebengine/5.14.2+gitAUTOINC+35aa6c30f0_6c9be50c2d-r0.arago1/build/src/core'
| Makefile:124: recipe for target 'sub-core_module-pro-make_first' failed
| make[2]: *** [sub-core_module-pro-make_first] Error 2
| make[2]: Leaving directory '/usr/local/ti/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtwebengine/5.14.2+gitAUTOINC+35aa6c30f0_6c9be50c2d-r0.arago1/build/src/core'
| Makefile:76: recipe for target 'sub-core-make_first' failed
| make[1]: *** [sub-core-make_first] Error 2
| make[1]: Leaving directory '/usr/local/ti/tisdk/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/qtwebengine/5.14.2+gitAUTOINC+35aa6c30f0_6c9be50c2d-r0.arago1/build/src'
| Makefile:48: recipe for target 'sub-src-make_first' failed
| make: *** [sub-src-make_first] Error 2

My layer setup is a bit messy, with everything except qt-layers  being based on morty-branch (with a lot of patches), which I will try to tackle in a different step. I got as far as being able to build everything except for qtwebengine, which compiles but aborts with above linker error.
Can anyone give me a hint on how to tackle this problem? Maybe there is some features that I can disable?|
Thank you ever so much in advance!

Well, morty is over 5 years old now.
Moreover, meta-qt5/morty has version 5.7 of qt modules, not 5.14.2 - please don't mix the branches if you are not prepared to solve weird issues like that...


Add attr.disk

Add a new PyTest's decorator attr.disk to mark tests that consume a huge disk space.

@yuyu2172 Could you review this PR?

LGTM.
Sorry for being late.