Fire WinNew for popup windows

Is your feature request related something that is currently hard to do? Please describe.
I have set showbreak=>\  in my vimrc, but I want to reset it for popup windows since it is space-consuming for small windows.
However I can't because WinNew autocmd (or any?) is not fired on opening popup windows.
Describe the solution you'd like
Fire WinNew on opening popup windows.
Describe alternatives you've considered

Add new autocmd event like PopupNew. Firing WinNew on popup may break some plugins that assume WinNew is for normal windows.
Clear 'showbreak' for popup windows. The similar option 'breakindent' (which is local to window) is reset for popup windows.

Additional context
If WinNew is not meant to be fired for popup windows, I think :help WinNew should note about that.

I don't know how to solve this issue, but just to give some additional information:

However I can't because WinNew autocmd (or any?) is not fired on opening popup windows.

AFAICT, no event is fired when creating a popup window.

Clear 'showbreak' for popup windows. The similar option 'breakindent' (which is local to window) is reset for popup windows.

The fact that 'breakindent' is reset is documented at :h popup-buffer:
- all other buffer-local and window-local options are set to their Vim default value.

OTOH, I didn't expect 'showbreak' not to be reset.  I guess that's because 'showbreak' is not window-local but global or window-local, contrary to 'breakindent' which is just window-local.  So Vim probably keeps using the global value in a popup window.

One way to solve this without adding a new PopupNew event is to use setwinvar().
If you're writing a plugin that opens a popup window, your plugin function could return the winid of the created popup window. Users of your plugin can then override any popup window settings.
For example:
" Plugin code
function! plug#show_info()
    " set text and options...
    return popup_create(text, options)
endfunction

" User code
function! s:show_info()
    let winid = plug#show_info()
    call setwinvar(winid, '&showbreak', ' ')
   " Set buffer-local options and variables for the buffer shown in the popup window
    call setbufvar(bufwinnr(winid), 'foobar', 1)
endfunction

nnoremap <KEY> :call <SID>show_info()<CR>

One problem with &showbreak is that when you set it to an empty string, Vim will use its global value. This is explained under :h global-local. So, setwinvar(winid, '&showbreak', '') doesn't work as intended if you have set showbreak=>\ in your vimrc.

I thought the issue was about any popup window, including one created by a third-party plugin, in which case setwinvar() can't be invoked; but indeed, for your own popup windows, setwinvar() is the way to go.

I thought the issue was about any popup window, including one created by a third-party plugin, in which case setwinvar() can't be invoked; but indeed, for your own popup windows, setwinvar() is the way to go.

Yes. I don't want to send patch to every plugin authors.

One problem with &showbreak is that when you set it to an empty string, Vim will use its global value. This is explained under :h global-local. So, setwinvar(winid, '&showbreak', '') doesn't work as intended if you have set showbreak=>\ in your vimrc.

Oh, I didn't know that. So, do I rather have to keep global 'showbreak' empty, and :setlocal showbreak=>\  for every normal windows?
Now I'm thinking 'showbreak' should be local to window rather than global-local.
Anyway, I think an autocmd for opening popup windows would be useful.

I thought the issue was about any popup window, including one created
by a third-party plugin, in which case setwinvar() can't be invoked;
but indeed, for your own popup windows, setwinvar() is the way to
go.

Why would you want to change the popup window of another plugin?
You can't possibl know what it might contain and what window-local
options it intends to use.
--
A computer program does what you tell it to do, not what you want it to do.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

If vim fires a WinNew for popup window, many plugins rely on it may break because they are not designed for popup window and many commands are restricted in popup window.

I thought the issue was about any popup window, including one created by a third-party plugin, in which case setwinvar() can't be invoked; but indeed, for your own popup windows, setwinvar() is the way to go.
Why would you want to change the popup window of another plugin? You can't possibl know what it might contain and what window-local options it intends to use.

There are several WinNew autocommands defined in my setup despite the fact that I have plugins which open regular windows. Popup windows are not really any different in that regard. I have before used autocommands to influence plugin-opened windows and buffers, and I can think of a few reasons I would want to be able to do that with popup windows as well.
If a person has plugins which would be broken by writing PopupNew (if we use that for example) autocommands, then that person should not use all-encompassing PopupNew autocommands, just like they should not write any other type of autocommand that breaks a plugin, including regular WinNew for regular windows. That does not mean that vim should not have a PopupNew event. It would be extremely useful, it would be in line with other events, and adding PopupNew rather than using WinNew for popups would prevent it from being a breaking change.

I thought the issue was about any popup window, including one created by a third-party plugin, in which case setwinvar() can't be invoked; but indeed, for your own popup windows, setwinvar() is the way to go.
Why would you want to change the popup window of another plugin? You can't possibl know what it might contain and what window-local options it intends to use.

There are several WinNew autocommands defined in my setup despite
the fact that I have plugins which open regular windows. Popup windows
are not really any different in that regard. I have before used
autocommands to influence plugin-opened windows and buffers, and I can
think of a few reasons I would want to be able to do that with popup
windows as well.
If a person has plugins which would be broken by writing PopupNew
(if we use that for example) autocommands, then that person should not
use all-encompassing PopupNew autocommands, just like they should
not write any other type of autocommand that breaks a plugin,
including regular WinNew for regular windows. That does not mean
that vim should not have a PopupNew event. It would be extremely
useful, it would be in line with other events, and adding PopupNew
rather than using WinNew for popups would prevent it from being a
breaking change.

Could you be more specific about what you would do with these
autocommands?
--
From the classified section of a city newspaper:
Dog for sale: eats anything and is fond of children.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Yeah, I think I can provide a couple ideas.
Establishing a default style for popups is one. Having all popups default to a highlight other than Pmenu would be easy with an autocommand, but much more difficult without it. Similarly setting scrollbar to always be 0 in popup windows would be easy and it could be applied to any popup without affecting its functionality, even ones produced by plugins. close, drag, and resize are also properties one might wish all popups to have regardless of what made them.
Another is setting a filter function for all popups which don't have one already. If a popup is created without any filter set, one might want x to close it by default.
Checking to ensure a certain spot is still visible after any popup opens would be useful in situations I could think of.
These may not the most compelling examples, but they demonstrate the point. Whether the effort to add this/these event(s) is worth it right now I cannot say; however all things being equal, adding them is useful and in line with existing design.

Yeah, I think I can provide a couple ideas.
Establishing a default style for popups is one. Having all popups
default to a highlight other than Pmenu would be easy with an
autocommand, but much more difficult without it. Similarly setting
scrollbar to always be 0 in popup windows would be easy and it
could be applied to any popup without affecting its functionality,
even ones produced by plugins. close, drag, and resize are also
properties one might wish all popups to have regardless of what made
them.

I don not think it's a good idea to do this in general, since you have
no idea what the popup is doing.  Each plugin should offer parameters to
tune when needed, but the default should already work pretty well.  It
might be useful to overrule certain plugins that don't have sufficient
parameters.

Another is setting a filter function for all popups which don't have
one already. If a popup is created without any filter set, one might
want x to close it by default.

This might very well mess up the functioning of the plugin.

Checking to ensure a certain spot is still visible after any popup
opens would be useful in situations I could think of.

That makes sense, if a plugin notices a popup covers some text or
another plugin, it might want to move it out of the way.

These may not the most compelling examples, but they demonstrate the
point. Whether the effort to add this/these event(s) is worth it right
now I cannot say; however all things being equal, adding them is
useful and in line with existing design.

--
hundred-and-one symptoms of being an internet addict:
233. You start dreaming about web pages...in html.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

We can all agree that interfering with plugins should not regularly be done, both because it can cause problems and because good plugin design means it should not be necessary in the first place. As you point out though, it might be useful anyway. I use a fair share of plugins, but at the moment only maybe three produce popups, and I know which they are. I don't worry about "interfering" with these specific plugins because I know what they do and how they do it. Were I to use more or larger plugins with popups I would need more caution.
It seems to me that any argument one uses to demonstrate how a PopupNew autocommand could break a plugin also applies to the existing WinNew autocommand. Applying any settings in a WinNew event could certainly break plugins, but the event still exists. Without it many things would be more difficult, and probably even some impossible. Ultimately my point is that while a new autocommand could be abused, that is true of existing autocommands as well. The responsibility to ensure nothing breaks is each individual's.
Last, while my examples generally concerned altering plugin-produced popups, that does not imply PopupNew autocommands would only alter only those popups. All current WinNew autocommands in my setup were made to apply to all new windows I create, and they mostly do not alter those windows, but perform other necessary due to the event.


Install fails if UOPZ extension is loaded

This is because by default UOPZ disables the exit opcode, so the desired exit code does not get passed from installer.php to the installer process (and installer.php may continue executing when it should have exited).
I guess a solution might be to call uopz_allow_exit if the function exists.  Or add a note that the installer is not compatible with the UOPZ extension, or perhaps bail out somehow (without using exit) with an informative error message if extension_loaded('uopz').
FWIW, I have attached a log file.

Thanks for the report. I'll think about what the best option is (probably for the installer PHP script to bail out)

Fixed in https://github.com/composer/windows-setup/commit/0f41ed858a3d538b71da621fdbe607f0dcc0675c


Support Diktat 2.x in Spotless

will be resolved by https://github.com/diffplug/spotless/pull/1972


Update to Cadence v1.0.0-M3

For contributor use:

[ ] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Code follows the standards mentioned here.
[x] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

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

Comparison is base (6cc9934) 62.30% compared to head (92c6caf) 62.30%.

Additional details and impacted files
@@                   Coverage Diff                   @@
##           feature/stable-cadence     #562   +/-   ##
=======================================================
  Coverage                   62.30%   62.30%
=======================================================
  Files                          24       24
  Lines                        2966     2966
=======================================================
  Hits                         1848     1848
  Misses                        994      994
  Partials                      124      124

Flag
Coverage Δ

unittests
62.30% <ø> (ø)

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

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


proposal: io,net: add WriteMany interface

Proposal Details
This proposal aims at making a user-implementable version of net.Buffers.
Add a new interface to io and implement it on net.* which implement net.buffersWriter:
type ManyWriter interface {
 // WriteMany has the same semantics as appending the buffers back to back into one buffer and calling [Writer.Write] method,
 // but it allows to remove the need to allocate and copy all the buffers in one contiguous memory region.
 // The implementation cannot write to any of the passed buffer or buffers slice.
 WriteMany(...[]byte) (n int64, err error)
}

note: this return int64 because it would be easy to build let's say 16GiB buffer on a 32bits pointer architecture by having the byte arrays alias each other.
(*net.Buffers).WriteTo would also check if the underlying implementation supports io.ManyWriter as well as net.buffersWriter.

Related Issues and Documentation

proposal: io: add interface type StringBytesWriter #25464 (closed)
net: export writeBuffers() and buffersWriter #21756 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

opening as a formal proposal to solve #21676, feel free to close a dup

And in case of rehashing arguments from #21676 the problem I am seeing:
I have protocol with <small header> | <big payload> and a method like this:
func (*T) WritePayload(b []byte) error

Here are the possible solutions today and why they are not that good:

Nagle's algorithm
add latency in the pipeline, plus does not solve the double syscall overhead (with double digit Gbit/s TCP I have many profiles with >60% of time spent in syscall.Syscall6 doing TCP)
net.Buffers
it is not composable, in most of my usecases I have a TCPConn wrapped in TLS, HTTP or yamux and .
bufio.Writer
still do two .Write call, the header is small enough to be fully buffered, then the payload is written to, it does not fit into the buffer, so bufio.Writer flushes the header and then pass the payload as-is in a second .Write call.

note: if we had such interface it would be useful to optimize this codepath so it use .WriteMany to write the buffered portion and the inbound payload in one call, would be done conditionally with a conditional type assertion but that would be a future proposal if something like this one passes.

manually doing t.underlying.Write(append(header, payload...))
generate garbage
do solution 4 but store buffers in a receiver field and recycle them
this double the memory usage of this one implementation / consumer pair and does not remove the cost of copying bytes around (worst CPU cache utilization)
re-architecture the code to do dma style buffer access in callbacks (func (*T) WritePayload(n uint, func(dest []byte) error) error)
create callback hell when composed and is not always possible (I don't always know the maximum size of the payload ahead of time)

@jfrech ManyReader ¿ not ManyWriter ?
Idk this is not this proposal feel free to open an other one.


Fix CSS alignment of social share buttons

Solved Issue: #3
Description:

Social button's won't overlap on desktop view.

Social Icons fixed on scrolling blog content on desktop view.

You want to keep my current change but place at bottom initially  ?

@Ckbhatia PR updated.

Well, I've tested using Devtools. May I know what particular device doesn't showing it as expected?

No, it's not about any device. It has fixed top position where it requires dynamic value as per article text, cover image and title heading.

Well, I have a single blog under 'Demo' credentials. Can you add a few more so I can create that case on local ?

I will update you
On Wed, 13 Oct 2021 at 10:21 PM, Amandeep Singh @.***>
wrote:

Well, I have a single blog under 'Demo' credentials. Can you add a few
more so I can create that case on local ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Ckbhatia/Ck-gatsby-blog/pull/35#issuecomment-942498653,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI2SGUJIZCC7QVT3SOB6P5LUGW2IPANCNFSM5FYDFBHQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Am I able to add blog from local space ?

I will update you
…

Any update ?


MLflow and modeling notebook refactoring and documentation improvements

Sorry, I only saw this now, is a review still needed?
On Tue, 17 Dec 2024, 6:51 pm AMarzoll, @.***> wrote:

@AMarzoll https://github.com/AMarzoll requested your review on: #15
https://github.com/phr-dev/Project__Wildlife_Images/pull/15 MLflow and
modeling notebook refactoring and documentation improvements.
—
Reply to this email directly, view it on GitHub
https://github.com/phr-dev/Project__Wildlife_Images/pull/15#event-15690395548,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2JFCMRT6GMVNQ47TA5O2G32GBQAZAVCNFSM6AAAAABKADJ7DKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJVGY4TAMZZGU2TIOA
.
You are receiving this because your review was requested.Message ID:
@.***
com>


NIFI-2874: Ensure that when reading more data from an InputStream the…

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
… StreamDemarcator appropriately updates the max index that can be read from the buffer

reviewing

Looked great to me, merged to 0.x.


Removed open parenthesis

Title
On the title describe
what you've fixed (or created) with this Pull Request (PR).
Summary
Insert a short (one or two sentence) summary here.
Fixes #Issue_Number

Note: The "Fixes #nnn" syntax in the PR description causes
GitHub to automatically close the issue when this PR is merged.
Remove that line if you don't have issues associated with this
PR. Click on the Guidelines for Contributing link above for details.

Details
Explain your changes, and why you made them. If that
information is already available in the issue referenced
above, just referencing the issue is preferred to copying
the text.
This may not be necessary depending on the scope of the PR
changes. For example, "fix typo in introduction.md" is
sufficient to describe that PR.
Suggested Reviewers
If you know who should review this, use '@' to request a review.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

The partial examples on lines 42 and 48 also have this issue. I think those should be fixed too.

but this was done as a patch

You can add a commit to a patch by editing the file in the patch branch using the GitHub UI. Though doing that is fairly unintuitive, so I'm fine if the policy is "additional improvements to patch PRs are generally done in a separate PR".

additional improvements to patch PRs are generally done in a separate PR

Correct ... this was recently explained to me after I asked someone to make an additional minor change that wasn't required to accept a community PR. The general rule is that if a patch from a community member is good to go ahead and :shipit: ... then if we need a small touch-up for some new little thingy to just shoot in a follow-up PR. I opened it on #2475.


PMM: Work with Services - Part 2

NPSP Documentation: https://help.salesforce.com/s/articleView?id=sfdo.PMM_Create_Svcs_and_Svc_Dels.htm&type=5
Script Document: (https://docs.google.com/document/d/1lkcLdH8UPuGhywwCmSVaS5V3bWtFbYAI0nuxsG90buc/edit?usp=sharing)
Script Writer: @jenncarneiro
Script Reviewer: @

Split into Part 2 from PMM: Work with Services
Part 2 to focus on the Service Schedule, and resulting Sessions, Participants & Deliveries

Looks great!


Qs 72 - add event rule to trigger deletion of old job_status rows

Need

a way to remove old jobs (+90 days) from the db

approach

lambda triggered by an AWS event calls job_status.delete_old_rows()

Tests

[x] tested in predev env, successfully deleted only old jobs

Questions

generalize delete_all_rows to take a number of days as an argument to make it more flexible/reusable?

@MDunitz could you please give this PR a more descriptive title?

@MDunitz looking like a clean PR. Just a couple neat and tidy things here.

@MDunitz looks good, seems that you have a linter error, though. I'm good with merging these changes once you get this green.


WIP - Optional support advancements

Closes #99

It seems your forward declaration in the exporter header is not quite the same as the original one.

Yea I realized that was wrong. I've fixed it locally along with a few other changes. I'm using the new Draft PR feature of github to be able to run the appveyor checks without really saying its ready for review

Is this really off base? I'm comparing to the other PR where the PreserveStorage class was inherited from, but am a bit out of my depth.

It still doesn't work right. This always returns NULL for out
// [[Rcpp::depends(xtensor)]]
// [[Rcpp::plugins(cpp14)]]

#include <xtensor-r/rarray.hpp>
#include <xtensor-r/roptional.hpp>
#include <xtensor/xio.hpp>
#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
SEXP optional_int(SEXP x) {
  xt::rarray_optional<int> x_rarray(x);

  // doesnt work
  SEXP out = SEXP(x_rarray);

  return out;
}

Okay upon further review, I think that your original solution is best. We should just let the rcontainer type handle the special behavior with inheriting from StoragePolicy, and then with the rcontainer_optional SEXP() method we just call out to the SEXP() method of rcontainer. All good.
That makes the example above work fine.
However, things like this still fail:
// [[Rcpp::depends(xtensor)]]
// [[Rcpp::plugins(cpp14)]]

#include <xtensor-r/rarray.hpp>
#include <xtensor-r/roptional.hpp>
#include <xtensor/xio.hpp>
#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
SEXP optional_int(SEXP x) {
  xt::rarray_optional<int> x_rarray(x);

  xt::rarray_optional<int> res = xt::sum(x_rarray);

  return x_rarray;
}

# error: cannot convert 'xtl::xoptional<int, bool>' to 'int' without a conversion operator

Would love to get this merged in too, I'm itching to add missing value support to rray. Note that there is still a bug that will probably be handled in another PR (but I don't think I know what the solution is)
https://github.com/QuantStack/xtensor-r/pull/102#issuecomment-477654127

Would love to get this merged in too, I'm itching to add missing value support to rray. Note that there is still a bug that will probably be handled in another PR (but I don't think I know what the solution is)
#102 (comment)

Yes! I just enabled the support for non-vendored xtensor-r in Xtensor.R's CI. I have another PR to test against xtensor-r master.
We should be able that your extra tests pass against master very soon.


Implementing .where_or method to Neo4j::Core::Query

Fixes #
This pull introduces:

introducing .where_or method to Neo4j::Core::Query

eg.
Neo4j::Core::Query.new.where_or(q: {age: 30, name: 'Chunky'})
would generate cypher like
WHERE (q.age = {q_age} OR q.name = {q_name})
Pings:
@klobuczek

Closing the as this does not sound like a viable option.


donejs init generator

remove short name
why do we ask project url?
can we merge if package.json already exists?

what does Ynaxdh mean?

once generator is done ... can it start a server and open the main page?


Why can't I activate benefit

I'm a MS FTE and try to activate my 150$ Azure benefit, but got this:

Then sign in Azure portal with the email used in activating, can't see any subscription there.
Do you have any idea?
[Enter feedback here]

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

ID: 73356ab4-87d3-09fb-557f-4533fc133156
Version Independent ID: ce5ed4b4-1406-9126-832a-ddcdc5cf25bc
Content: Microsoft Azure benefit
Content Source: subscriptions/vs-azure.md
Product: visual-studio-family
Technology: vs-subscriptions
GitHub Login: @evanwindom
Microsoft Alias: lank

@AshleyYang25 - Thanks for your report.  I'm going to investigate this and get back to you.

@AshleyYang25  - Since you're internal, let's take this out of GitHub and work through it internally.  I will email you directly.

#please-close


Cannot override template on dev branch

File "/home/vagrant/.virtualenvs/someproject/lib/python2.7/site-packages/crispy_forms/bootstrap.py" in render
  185.         template = self.template % template_pack

Exception Type: TypeError at /login/
Exception Value: not all arguments converted during string formatting

I get the above mentioned exception when overriding the template attribute on the helper.
It seems that the code always expect a template_pack placeholder to be present in the string which shouldn't always be the case, one should be able to completely override the template path.
Before submitting a PR I think its needed to have a design decision on what this should be doing, should we allow bare replacement of the template or should we document that the template_pack being used should be provided as a placeholder in the string...
anyone ?

I can say I've hit this challenge just now myself. Am looking at the issue, though I am erroring out at crispy_forms/layout.py in render, line 439 which is also template = self.template % template_pack

As I see it, the basic problem is that the render line assumes that the template value will still be the pre-set string with expects a string value to be inserted (i.e. is template = "%s/field.html"). When you specify your own template override, this breaks the assumption.
My current workaround is to wrap the render string with:
        if '%s' in self.template:
            template = self.template % template_pack
        else:
            template = self.template

Also hit this bug.

Just updated to crispy 1.5 from 1.4 and got bitten with this. Now I get to decide whether to roll back to 1.4 or try to temporarily fork 1.5 to patch the bug (so I have a reproducible deployment process) using @marshalc fix.

There are multiple instances of this problem in crispy_forms/layout.py.

@damienjones first off, if it works with 1.4 rollback to that — that one is easy.

there are multiple instances...

That's not helpful. I need specifics. Preferably with test cases and maybe fixes in pull requests.
This has been in the Dev branch for 2 years. It's a shame no one ran it against their app to find the problem before now. However, let's get it fixed for a quick 1.5.1

@carltongibson I was not intending to be unhelpful; I'm actually very appreciative of crispy-forms. I was going to submit a PR but I'm not set up to run the test suite and can't really stop what I'm doing at the moment to address that, and I wasn't comfortable submitting a PR that I hadn't personally tested. On top of that, it was @marshalc who suggested the fix that worked for me. I just applied it to my installed code so I can keep working on my main project today. If I get time tonight I'll see about replicating (and testing) the fix and submitting a PR.

Good man! 👍🏽

Have opened #493 to address. Please review.


Make socket Windows-proof

What type of PR is this?
/kind bug
What this PR does / why we need it:
Opening a socket on a portforward with the python kubernetes client on Windows fails with the exception: module 'socket' has no attribute 'AF_UNIX'. See https://github.com/kubernetes-client/python/issues/1558
Which issue(s) this PR fixes:
Fixes #1558
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/cc @yliaog

/lgtm
/approve


SampleGen: add attribute for parameter description

I would like to update the snippets to look like this (in the future – out of scope for this issue *)
# [START language_sentiment_text]
from google.cloud import language
from google.cloud.language import enums
from google.cloud.language import types

def analyze_sentiment_text(text_content='I am happy and joyful'):
    """Analyze sentiment of text
    Args:
        text: Text to analyze, e.g. 'Hello, world!'
    """

    client = language.LanguageServiceClient()

    document = types.Document(
        content=text_content,
        type=enums.Document.Type.PLAIN_TEXT)

    # ....

In this example, you'll notice a few things about this method parameter

(a) it's mapped to a request field (implemented!)
(b) it has a custom parameter name name (implemented!)
(c) it has a default value (implemented!)
(d) it has a docstring parameter description

I was thinking we could add this to the structural schema of samples:
parameters:
  defaults:
  - document.type=PLAIN_TEXT
  - document.content="I am so happy and joyful."
  attributes:
  - parameter: document.content
    sample_argument_name: text_content
    description: "Text to analyze, e.g. 'Hello, world!'"  # <~~~ <~~~

=> @hzyi-google

Whenever you have time, can you give an example showing how these descriptions should be in other languages?  A link to an existing sample should be more than enough!


Should tanka deploy test charts by default?

Hi team!
It seems like when I run tk apply it automatically deploys test charts as well. Is that intended behaviour? I feel like it should only run tests if we explicitly tell it to.
I put together a small repo reproducing this: https://github.com/gassiss/tanka-issue-example

How does Helm handle this? Tanka simply renders the chart with helm template, this output can be modified in jsonnet.


Make it possible to use urls for config files

Currently, and especially once #1726 is merged, the overall functioning of ctapipe-stage1 and later ctapipe-process is driven by configuration files that are increasingly complex.   To support reproducible analysis, it is clear we need a repository for configurations used for CTA studies in the CTA-GitLab.  It would be nice for ctapipe to support accessing configurations from such a repo directly, without the need to check out the repo and switch to the requested version.
I suggest we add a URL scheme (using what is already possible in get_dataset_path()) and support using urls in the --config option of Tools.  Not sure if we need a specific git:// or config:// URL scheme, or if we can just use the GitLab/GitHub API urls to access the files via https://.
Requirements:

should be able to specify the repo location (not tied to CTA's repo specifically)
should be able to specify which config file to use
should be able to specify the version tag or hash

This should now be as simple as using the Path trait for the config file


Misc issues in Nistats reports

Here are some  issues I have encountered using nistats reports.

Does not seem to take into account use-provided parameters for thresholding
the contrast maps only have the positive part displayed
multi-dimensional contrasts do not display well.

the contrast maps only have the positive part displayed

That's due to issue #362

Does not seem to take into account use-provided parameters for thresholding
multi-dimensional contrasts do not display well.

Examples/code to reproduce?

Some of my comments are wrong. Let me correct them:

there is a slight inconsistency in the default parameters. default alpha should 0.001 not 0.01, to match the default threshold (3.09)
#362
the display of multi-dimensional contrasts is not good.

Clearly these 3 things are distinct and thus should be handled in separate PRs. I Can work on it.

I've also encountered an issue with the reports. If the inputs to your second-level analysis are a list of  FirstLevelModel instances, there is no way to define first-level contrasts of these models. In this case, defining first-level contrasts are necessary, otherwise SecondLevelModel.compute_contrasts will throw an error:
ValueError: If second_level_input was a list of FirstLevelModel, then first_level_contrast is mandatory. It corresponds to the second_level_contrast argument of the compute_contrast method of FirstLevelModel
```.

It seems to me that if you pass in a second-level model, it only accepts second-level contrasts. Not sure whether or not to make a separate issue with the impending nilearn merge.

Thx for reporting.
I think that this is a sepaarte issue, that should be addressed any how.

Not sure whether or not to make a separate issue with the impending nilearn merge.

I've made a separate issue. It can be worked on in nilearn.stats after the merge.

Thanks @kchawla-pi, I'd be happy to work on it once the merge is done!


Xcode Build gets Cancelled when using sourcery in Build Phase for test target

So, I trying to use sourcery to generate mocks for my project but unfortunately every time I try to run the tests Xcode automatically cancels the build.
What version of Swift are you using (swift --version)?

Xcode Version 10.1 (10B61)
Apple Swift version 4.2.1 (swiftlang-1000.11.42 clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin18.2.0

What did you do?

Run tests with a buildPhase that runs sourcery and add the files to the testTarget

What did you expect to see?

Test being executed normally

What did you see instead?

Xcode cancels build

Sample Project: https://github.com/SunDog/CancelBuildExample

Unfortunately it's still not working for me :(
I updated the sample CancelBuildExample with your suggestion in case you want to see it but the result is still the same, however, I must say that rate of success increased. Maybe you have other scripts running after Sourcery gives the compiler time to finish this linking.
So far I'm tracking generated file on git but sometimes it get's very inconvenient for code review and specially for CI.
Thank you very much!

Sorry for necroposting :) Maybe someone has this problem too: I solved it by using $(SCROOT) instead of $(PROJECT_DIR)


Precompute serialized symbols

When a symbol has no formal sort parameters, we can directly look up its name in the interpreter's data tables and use a faster path for serialization (instead of parsing every symbol and doing a lookup in a hash table to get the sort arguments and name).
Fixes https://github.com/runtimeverification/llvm-backend/issues/974

Yes, that's correct - for the sake of recording it here, it's not possible to do this optimisation for inj symbols specifically because they rely on the actual run-time sort being threaded through the serializer. Treating other parameterised symbols the same as injections keeps the code clean while - as you identify - making the common case faster.


Integrate game server

Adds game server back. Pulls in a new dependency to handle websockets.

Fixed our disconnect issue.


Add ignore_non_running_query option to abort_query method

Currently, a race is possible when you try to abort a query, but query finishes between get_state and abort:
>>> client.get_query('8afed27-c66b620d-f4e2d5dc-89661f2b', attributes=["state"])
{'state': 'completed'}
>>> client.abort_query('8afed27-c66b620d-f4e2d5dc-89661f2b')
Traceback (most recent call last):
# ...
    params          {
                      "suppress_transaction_coordinator_sync": false,
                      "query_id": "8afed27-c66b620d-f4e2d5dc-89661f2b",
                      "stage": "production"
                    }
    transparent     True
Query 8afed27-c66b620d-f4e2d5dc-89661f2b not found or is not running

Something like ignore_non_running_query will be very convenient since 99.9% of the time you don't care about the result of the query when you decide to call abort.

Also I got this error when trying to retry abort request:
yt.common.YtResponseError: Cannot abort query e1970c13-8965a635-5d2ca50-9d52d4dd which is in state "aborting"


Designate doc comments

closes #88

My first attempted implementation was using regular expressions. Unfortunately, the examples were not passing. https://travis-ci.org/github/tree-sitter/tree-sitter-rust/builds/753422004#L413. My regular expressions had trouble capturing the pattern / / \n, it seemed, and using \/\/[^/]? did not work in my favor; the third character in the streak is what's decides between one token or the other, so I thought it made more sense to use externals for this, which allows for lookahead probes.
Therefore, I've reworked the approach to use externals (commented in https://github.com/tree-sitter/tree-sitter-rust/pull/99/commits/be26083df01c81079aa706bf06ffd511825c6011).

My first attempted implementation was using regular expressions. Unfortunately, the examples were not passing. https://travis-ci.org/github/tree-sitter/tree-sitter-rust/builds/753422004#L413. My regular expressions had trouble capturing the pattern / / \n, it seemed, and using \/\/[^/]? did not work in my favor; the third character in the streak is what's decides between one token or the other, so I thought it made more sense to use externals for this, which allows for lookahead probes.
Therefore, I've reworked the approach to use externals (commented in https://github.com/tree-sitter/tree-sitter-rust/pull/99/commits/be26083df01c81079aa706bf06ffd511825c6011).

Since doc comments are generally multi-line, I've made the /// contiguous lines be parsed as a group instead of a node per line. That should make it easier to extract the whole block.
It'd be useful to have a node without the leading ///, leaving only the inner content, so that the Markdown parser could be injected... I don't know if it's possible to do that currently.

@resolritter
Is there any update on this one?

What's the current status on this? Is any help needed?

Ping ?

What about # within doc comments code blocks?

I do not have merge access to this repository. This is not the only PR in review limbo right now.

@dcreager is there someone maintaining tree-sitter-rust at github right now?

It would be great if the rust grammar had more maintainers (for example tree-sitter-haskell has been doing great since tek took the reigns). Both this, #105 and #85 are PRs I've been looking forward to.

@resolritter can you rebase on the latest and I'll approve the PR.

FYI https://github.com/tree-sitter/tree-sitter-rust/issues/126

The current implementation is incomplete because Rust requires strictly three slashes for doc comments, any more than that and it turns back to a normal line comment. This is explained in the current documentation for comments: https://doc.rust-lang.org/reference/comments.html#examples.
Moving this to Draft while I try to fix that.

need to rebase, because I've merged your other PR. Having those parser.c in the repository is annoying.

Rebased and also added support for //! as per https://github.com/tree-sitter/tree-sitter-rust/pull/99#discussion_r780672464

This PR seems to have introduced a bug where the scanner can get into an infinite loop. I'm seeing the Tree-sitter test suite hang after updating tree-sitter-rust to the latest master. I guess the test coverage in this repo wasn't sufficient to protect against this. I'm going to revert this for now.

It looks like the infinite loop was happening during some randomized mutation of the Doc comments test.  Maybe an unterminated doc comment at the end of the file or something?
@resolritter Feel free to do a new PR if you can get this to avoid an infinite loop.
I also have questions about the need to do this using the external scanner. Couldn't you just do this in the grammar?
grammar({
  // ...

  rules: {
    // ...

    doc_comment: $ => token(choice(
      // exactly three leading slashes
      seq('///', optional(/[^/].*/)),
      seq('//!', /.*/),
    )),

    // any number of leading slashes other than three, which would produce a doc comment.
    line_comment: $ => token(seq(
      '//', optional('//'), /.*/
    )),
  }
});

Of course, this would not join all of the adjacent doc comments into one continuous node - you'd get one node per comment. I think this might be better though: I think it would make it easier to determine what ranges of text contain the documentation itself, because you wouldn't have to deal with leading whitespace. I also just think that it retains more information to provide a node for each comment, and it's somewhat "lossy" to group them all into one node.
I'm still open to the other approach though, if people have strong feelings that it's more useful to get a single node.

Whatever happens, I promise we won't wait a year to merge this time.

@maxbrunsfeld

I also have questions about the need to do this using the external scanner. Couldn't you just do this in the grammar? Of course, this would not join all of the adjacent doc comments into one continuous node - you'd get one node per comment

Having the whole text in a single node is why it was done this way. What would be the alternative for highlighting the code below?
/// ```
/// use foo::Foo;
/// let bar = Foo::new("foo");
/// ```

I can only infer the following steps:

Collect all the consecutive doc comment nodes in the same nesting level
Join their slices from the source code into a buffer
Remove the leading comment markers
Reparse the text as markdown

Having the text in a single node gets rid of steps 1 and 2. Or do you see a more efficient way to go about that? Or do you think having to traverse the tree in order to collect the text is not a problem?

It looks like the infinite loop was happening during some randomized mutation of the Doc comments

How can I try this randomization when testing locally?

I also just think that it retains more information to provide a node for each comment, and it's somewhat "lossy" to group them all into one node.

This is a good point. It is definitely "lossier" than other nodes since it also includes the leading whitespace for contiguous lines.
What's being gained by this approach is the ease of fetching the whole content directly, at the cost of less precision for the ranges. Feel free to close #128 if you feel like it isn't a good tradeoff.

What would be the alternative for highlighting the code below?

I think there are challenges either way, but it is more straightforward if you have a separate node for each comment.
Copying the doc comments' text into a separate buffer is not an option - we need to parse the code in place so that the positions of the nodes in the nested syntax tree correspond correctly to the original file. So what we need to do is to retrieve a list of ranges from the original file that should be parsed, together, in a nested language (markdown). We can then   parse the contents of those ranges using Tree-sitter's set_included_ranges API.
If we have a separate node for each comment, then we need to

Find each run of consecutive doc comments. This can be done with a query like this:((doc_comment)+ @doc)

Take the ranges of those nodes
Advance the start of those ranges by 3 characters (for /// or //!)

If, on the other hand, we have one giant node, then we need to:

Take the node's range and split it into lines
For each of those lines, re-examine the source code:

Find the column where the doc comment begins
Find the end of the line

Generate range between those two positions

I was not aware that (query)+ existed. This seems to work:
> ./node_modules/.bin/tree-sitter query <(echo -e "((line_comment)+ @doc)") <(echo -e "// foo\nfoo;\n// foo\n// foo")
/dev/fd/61
  pattern: 0
    capture: 0 - doc, start: (0, 0), end: (0, 6), text: `// foo`
  pattern: 0
    capture: 0 - doc, start: (2, 0), end: (2, 6), text: `// foo`
    capture: 0 - doc, start: (3, 0), end: (3, 6), text: `// foo`

Since this use-case is supported by the query API, I am fine with closing #128.

What are those tree-sitter test suites that catch the regression? Could we run them in the CI of tree-sitter-rust?


ProjectDB serialization

Support reading and writing the ProjectDB from memory from/to files. Just do a straight port of the C++ version with reasonable variation due to the projectDB implementation being different this time around.

Update:
Might be using the bon library for this. It's pretty capable and extendable. Works for most data out of the box with a few caveats:

Doesn't seem to work on appended fields
Requires adding [Reflect(.All)] to some types like structs and enums to get full output.
Doesn't work on "tree-like" types like ZoneObject.Children since it tries to serialize the whole tree. Can create loops if writing child or parent since it doesn't know when to stop.

Things to do to get it working:

[ ] Hook it into NF error handling so we know when types aren't being serialized correctly. Say if we forgot to add [Reflect(.All)] to an enum or struct.
[ ] Try to fix serialization for append fields. Would like to be able to use them on editor objects.
[ ] Change serialization of List<> containing editor objects. Should only write a UID of the object in the list, then serialize the object as a separate entry afterwards. Will need custom deserialization code to convert UIDs back to object references too. This is required to fix objects with circular references like the parent/child properties causing a stack overflow.
[ ] Try to fix union fields like Vec3 and Mat3 writing all the accessors. I'd rather they just write one for shorter file length and easier hand editing of projectDB files.
[ ] See if bon has an option to write to binary format. Don't need to implement now, just curious what it'd take to add that later. I've seen serialization libraries in other languages that support multiple formats.

Completed by a78b0c251e144d84c496c4ce8258e6c36fe9b8d2


Bug 1898373: Fix the HiveTable status.partitions schema definition

Update the charts/metering-ansible-operator/templates/crds/hive.crd.yaml HiveTable CRD schema definition, and ensuring that the status.partitions property can be nullable.
During the effort to migrate from v1beta1 to v1 apiextensions.k8s.io CRDs in the 4.6 release, all possible properties in the HiveTable CRD need to be defined in the schema definition, else the apiserver would prune those undefined fields. The status.partitions field was defined as an array of objects, which is problematic in the case of existing HiveTable custom resources that had status.partitions: null being set. During an upgrade from a supported release to the 4.6 channel, the upgrade failed as OLM couldn't apply the new HiveTable CRD version against the existing set of HiveTable custom resources defined in the metering namespace due to the following error:
error validating existing CRs against new CRD's schema: hivetables.metering.openshift.io: error validating custom resource against new schema &apiextensions.CustomResourceValidation{OpenAPIV3Schema:(*apiextensions.JSONSchemaProps)(0xc0058f6400)}: [].status.partitions: Invalid value: "null": status.partitions in body must be of type array: "null"

If we instead update that status field schema definition to allow that field to be nullable (e.g. nullable: true is specified) and preserve any unknown fields that get defined during a custom resource, we can retain backward compatibility with previous versions of the Metering Operator.
These changes were tested using the following steps:

Built and pushed a bundle image containing the changes made in this PR and an index image containing that bundle.
Created a custom CatalogSource containing a reference to that index image that was pushed to quay.
Deployed a metering instance using the 4.4 redhat-operators CatalogSource.
Waited until that instance has populated data in the ReportDataSource status.tableRef tables.
Updated the subscription in the namespace where metering was deployed to reference the custom CatalogSource metadata.name and the 4.7 channel.
Monitored the various OLM-related custom resources (e.g. CSV, InstallPlan, Subscription) to ensure that OLM had no problem with applying these changes to an existing, previous version of Metering.

/retest

Hit a timeout again
/retest

/retest

/cherrypick release-4.6

/retest


refactor: I refactored for more code redeability

I am using prettier for auto-formatting, so it replaces all the single quote to double codes and apply semi-colon to the files I modified. If you don't link the semi-colon I will go ahead and remove it.
Another thing setTimeout is used a lot in the codebase, I was thinking if we could create a utils folder and move the function there. What do you think?
I make use of the node async/await syntax to refactor the code for more readability.
Next:

More refactor is this PR is approved
Cover the codebase with static typing using flow.

@ebouJ,
The PR looks good especially the async/await implementation. However regarding prettier I've been following: StandardJS for formatting code. You should give it a look as it definitely helps write really clean and readable code and is simple to follow even manually.
You can still use prettier by making necessary modifications to your .prettierrc file to respect StandardJS rules.
About the setTimeout, yes it is really repetitive and need some better way or refactoring. Ideally it should be taken care by messageShow by passing another param (time), for example: messageShow('This message will disappear in one second.', 1000).
If you can use single quotes and no semicolons, I can go ahead and merge (as the rest of the codebase uses this style). Thank you for your hard work, I really appreciate :)
Also, don't forget to add yourself as an author under Authors section in the README.md. Looking forward to your updated PR.


CONTRIBUTING.md outdated link

CONTRIBUTING.md outdated link
https://github.com/sss63232/CopyUrlToMD/blame/master/CONTRIBUTING.md#L36
link to https://code.likeagirl.io/useful-tips-for-writing-better-git-commit-messages-808770609503 get 410.

Would you like to add https://www.conventionalcommits.org/ as commit reference ?

Yeah! sure.
Beside update the document, could you also help add the badge to the repo.
see * conventional-commits/conventionalcommits.org: The conventional commits specification


Update app to work from single superdataset

The current assumption was that the data browser has a main page from which several superdatasets could be searched, filtered and accessed. The assumption should rather be that a data browser frontend is always rendered from a single superdataset. This requires changes to the generator and UI aspects of the application:
Generator:

update code to work with assumption of 1 superdataset

UI:

main page should be same as dataset page, but default to main superdataset attached to the app instance
add search/filter functionality for subdatasets (new issue: )

Initially addressed with 9618e39b96666fdaba4a532ce64496217ecf8b7f by rerouting the main page to the superdataset page, with super dataset specified statically.
After that, the generator was changed to write superdataset details to a single file, which is now read from on application startup: 862e6e4c296bf3960005bf7934ed7b31bc6cbfd6


feat: WASM build based on edge-agent

Creates wasm build based on edge-agent usage. Creates an npm package and publishes it.
Signed-off-by: Andrii Soluk<EMAIL_ADDRESS>

@rolsonquadras I removed REST.


Function adapter.get_columns_in_relation doesn't work if model is materialized as Ephemeral

Bug Description
I created macro and used function adapter.get_columns_in_relation(model) to get all columns in model, when model is materialized as ephemeral, macro doesn't return any rows, when I change materialization of model to view or table, macro correctly returns all columns in model.
Steps To Reproduce

Create model and define its materialization as ephemeral

Create macro with function adapter.get_columns_in_relation in for cycle to return full list of column of model

{# macros name is no_nulls_in_columns - its used in step 3 #}
{% macro no_nulls_in_columns(model) %}
    SELECT * FROM {{ model }} WHERE
    {% for col in adapter.get_columns_in_relation(model) -%}
        {{ col.column }} IS NULL
        {%- if not loop.last %} OR{% endif %}
    {% endfor %}
{% endmacro %}

Create sql that uses macro and verify generated code, its should contain all columns

{{ no_nulls_in_columns(model) }}

Expected behavior
I expect fuction adapter.get_columns_in_relation(model) return returns full list of column of model no matter if model is materializes as view, table or ephemeral
Screenshots and log output
If applicable, add screenshots or log output to help explain your problem.
The output of dbt --version:
Core:
  - installed: 1.8.7
  - latest:    1.8.8 - Update available!

  Your version of dbt-core is out of date!
  You can find instructions for upgrading here:
  https://docs.getdbt.com/docs/installation

Plugins:
  - teradata: 1.8.1 - Up to date!

The operating system you're using:
Win 10 Enterprise, Version 22H2
The output of python --version:
Python 3.11.0

The issue was raised as per the behavior of ephemeral models in Snowflake.
But Snowflake employs dynamic tables behind the scenes for ephemeral, which is not similar to teradata.
As ephemeral models are not materialized in database, we cannot fetch the metadata for that model from database.
Closing this Issue.


cache videos from url

I want to cache videos from url, videos are playing while is connected with internet, but videos are not playing in offline mode

[<IP_ADDRESS>02 ] Toro version.

I used your facebook sample, and passed video URL instead of uri in MediaUrl
`public enum MediaUrl {
TEARS_OF_STEEL("http://xxxxxxxx.com/uploads/153634027269703.mp4", 2.4f), //
BIG_BUCK_BUNNY("http://xxxxxxxx.com/uploads/MOV_0003.mp4", 1.7777777778f), //
COSMOS_LAUNDROMATY("http://xxxxxxxx.com/uploads/153634027269703.mp4", 2.4f), //
;
private final String url;
private final float ratio;
MediaUrl(String url, float ratio) {
this.url = url;
this.ratio = ratio;
}
MediaUrl(String url) {
this(url, 1.7777777778f);
}
public String getUrl() {
return url;
}
public Uri getUri() {
return Uri.parse(this.url);
}
public float getRatio() {
return ratio;
}
@Override
public String toString() {
return name() + "{" + "url='" + url + ''' + ", ratio=" + ratio + '}';
}
}`

@imran-samed You can construct your Cache instance without limit of the storage. See this line but instead of using LeastRecentlyUsedCacheEvictor you can use NoOpCacheEvictor. But make sure to read the javadoc in that class for the warning.

@eneim  i tried that demo also, but  didn't work for me.

See this line but instead of using LeastRecentlyUsedCacheEvictor you can use NoOpCacheEvictor.

while trying that, I'm getting  error.
See the ScreenShot

@imran-samed About the error, it says you may have more than accepted number of parameter. The "NoOpCacheEvictor" doesn't have a parameterized constructor ...

Let me check the NoOpCacheEvictor again on my demo.

@imran-samed Can you share with me the ViewHolder where you implement ToroPlayer? Please make sure you have the right Config in your Helper class.

I'm using user demo-exoplayer also, its same, nothing is changed.

@imran-samed Having the following works in my demo, at least for one video of length 1:41
if (helper == null) helper = ExoPlayerViewHelper(this, videoUri!!, null, DemoApp.config!!)

val cache = SimpleCache(
        File(filesDir.path + "/toro_cache"),
        // LeastRecentlyUsedCacheEvictor(cacheFile)
        NoOpCacheEvictor()
    )
    config = Config.Builder()
        .setMediaSourceBuilder(MediaSourceBuilder.LOOPING)
        .setCache(cache)
        .build()

Above is how the cache is done. Can you try that again and use Android Studio to double check the cache folder?

@eneim  ok, let me try this.

@eneim Thanks Man, its working absolutely fine.

Java code:
long cacheFile = 10 * 1024 * 1024; // 10MB

SimpleCache cache = new SimpleCache(new File(getCacheDir().getAbsolutePath() + "/media_cache"),
		new LeastRecentlyUsedCacheEvictor(cacheFile));

config = new Config.Builder()
		.setMediaSourceBuilder(MediaSourceBuilder.DEFAULT)
		.setCache(cache)
		.build();

ExoCreator exoCreator = ToroExo.with(this).getCreator(config);


Fix some typos and grammars

I've fixed typos and grammars

Could you please sign off your commits (try git commit -s) in order to pass CI checks?
https://github.com/containerd/project/blob/master/CONTRIBUTING.md#sign-your-work


download of mysql template

How can me merge in the latest RL10 base RightScripts?

We should ask Engineering how they are implementing their tests for their ST's

I have been thinking about removing them as we are not the developers of them, thoughts?


What are the requirements of the model by using these visual code?

Bug description

I have got a error, we failed to use these method to obtain a results. I have got  4D matrix, but it needs to be 2D. My model have not a fully connected layer，while consists of many convolution layers.  Should I how to deal with this problem? Thank you
Code snippet to reproduce the bug
def _backprop(self, scores: Tensor, class_idx: int) -> None:
    """Backpropagate the loss for a specific output class"""

    # Backpropagate to get the gradients on the hooked layer

    loss = scores[:, class_idx].sum()
    self.model.zero_grad()
    loss.backward(retain_graph=True)

Error traceback

Environment
Cuda 11.0
torch-gpu==1.7.0

Hello @long123524 :wave:
Sorry about this! But I'll need more information for understandable reasons :sweat_smile:
Your snippet is not runnable, could you share a minimal snippet (including imports) that would reproduce this bug please?
According to your console output , it looks like you used a UNet. Are you tried to get the CAM of a segmentation model? :thinking:

You are right. I use a encoder-decoder architecture segmentation model, like UNet. Should I how to obtain a cam? Looking forward to your reply.

Alright, so this is a much wider discussion then!
I suggest checking https://github.com/frgfm/torch-cam/discussions/150 :)
CAMs were designed to provide spatial influence at a given layer about a scalar output:

this scalar output can be the probability of a given class of a multi-class classification model, a binary classification model output, a video classification model. We want a single channel spatial representation meaning (H, W) shape for the CAM, you can simplify this to consider this as the gradient of the activation at a given layer relative to this scalar output.
now the problem is that with segmentation models, you get (C, H', W') outputs for 2D models and not (C,). So the "CAM" of a segmentation model, following the previous comparison, would be the partial derivative of the activation at a given layer, relative to both the value & location of the scalar. This means that this "CAM" would not be of shape (H, W) like previously but (H, W, H', W'), which is not exactly fit for visualization.

To make this clearer:

in the first case, you check for every spatial location in the activation map, its influence on the scalar output
in the second case, that would be checking for every spatial location in the activation map, its influence on the 2D output

So, may I ask: what are you exactly trying to achieve with this CAM? :)

I have the same problem as https://github.com/frgfm/torch-cam/discussions/150. The aim of our work to obtain a CAM of semantic segmentation model, like UNet. However, I fails to get it.

@long123524 the whole point of #150 is about the relevance of CAM for semantic segmentation
Again, there is no definition for that :sweat_smile:
So could you elaborate on "obtain a CAM of semantic segmentation model" please? :pray:

Hi @frgfm. Good job!
I wanted to know how you generated video_example_wallaby.gif using using some code.

@Harry-KIT this is a different topic than this issue but briefly: reading through the frames of a video with OpenCV, classifying the images with the model, computing the CAM, then producing the GIF with the resulting frames :ok_hand:

https://user-images.githubusercontent.com/57295863/182058122-5a53fb27-3e8b-4ba8-97ff-5183d1f2dbb5.mp4
Hi @frgfm. Thanks for your help!

Back to the main topic of the issue :)
@long123524 I think I'll close this issue if I understood you correctly because there is a need for a definition of a CAM for a semantic segmentation model. So apart from if I got everything wrong, your request is about something that doesn't have a mathematical definition yet :sweat_smile:

Closing this as per my previous comment


stm32 XiP with ospi external NOR flash

Gives example to execute an application from  the external octo NOR flash in XiP mode

build and link an application for the external NOR with sysbuild
define the external NOR flash base address
flash the mcuboot  binary file at 0x8000000 and the zephyr.signed bianry file at this external NOR flash base address

Example to build and link an application for the external NOR and execute it in XiP.
$ west build -p always -b stm32h7b3i_dk samples/boards/stm32/hello_world_xip/ --sysbuild -- -DCONFIG_FLASH_BASE_ADDRESS=0x90000000
*** Booting Zephyr OS build zephyr-v3.5.0-656-g3d152069b087 ***
I: Starting Direct-XIP bootloader
I: Image 0 Primary slot: Image not found
I: Secondary slot: version=0.0.0+0
I: Image 0 loaded from the secondary slot
I: Bootloader chainload address offset: 0x0
I: Jumping to the image slot
*** Booting Zephyr OS build zephyr-v3.5.0-656-g3d152069b087 ***
Hello World! from external flash  stm32h7b3i_dk

not relevant anymore


resolution?

Hello,
I am fairly new at this and this HX711 code has worked best for me so far.  However, is there a place that i can change the resolution? for some reason my output is only in integers, it doesnt show decimals in any amount of places (looking for atleast 2 decimal places).
Thanks

Hey,
Are you running the code just as it is? In that case, it should be printing three decimals. Let me explain.
The HX711 returns a 24 bit values everytime it is asked for the current weight. Since it is an ADC Amplifier (Analgo.to Digital Amplifier) what it actually does is change Volts to Bits. As you may know, you can make binary numbers (numbers expressed using only to digits, which are 0 and 1) from a bunch of bits you can make 10 digits based numbers (0, 1, 2, 3, 4, 5, 6, 7, 8 and 9).
So, if you convert the 24 bits (which are 24 digits which can be either 1 or 0) to a 10 digits based number, you get and integer.
In the case of my HX711 little green boards, if you don't wire any load cells and just read the hx711 by it's self, you get a value around 8385000, and it drifts from 8384700 to 8385300. Thats is a clean and raw value on which the first three digits (from the right), the ones that drift, correspond to VERY tiny fluctuations on the electricity that goes through the loadcell. Which means that we can just ignore them.
That's when you set the SCALE value. The raw value is divided by the SCALE value (1000 in the example) to remove the digits we don't need.
The REFERENCE_UNIT value is used to change the reading to a proper weight.
I'd recommend you to print hx.get_value() method and add or remove weight. Then use a little math to find out how to convert that number to your reference scale (kilos, grams, pounds, etc).
Let me.know if you meed any more help.

thanks for the reply, let me try it and get back to you on this.
currently when i run it, it is showing decimal, BUT it is constantly on "xxx.000" which essentially is only showing integers which is why i was confused.  I currently have a separate code to get_value (also tried get unit and get weight just to see what they are) and just print out the result

Great. Try to paste here some values (not less than 10) and add the code
you used to get them. Also, specify what kind of load cell you're using
(number of wires), what's its weight scale (5kg? 10kg? ...), and, if
possible, attach a picture of how it is wired to the HX711.
The more info I get, the more I can help you.
On Jun 15, 2016 09:10, "lonelysushi"<EMAIL_ADDRESS>wrote:

thanks for the reply, let me try it and get back to you on this.
currently when i run it, it is showing decimal, BUT it is constantly on
"xxx.000" which essentially is only showing integers which is why i was
confused. I currently have a separate code to get_value (also tried get
unit and get weight just to see what they are) and just print out the result
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tatobari/hx711py/issues/3#issuecomment-226168737, or mute
the thread
https://github.com/notifications/unsubscribe/AGrZ2aB31m68pnmlqLjLEb1HcBX5zWshks5qL-vMgaJpZM4I2ICV
.

i am currently running a 4 wire 150kg loadcell. each set connected to junction boxes to add them (hoping for a total of 300kg with two loadcells on one platform).  I am also using the green HX711.
do you think its possible to write to you via email at<EMAIL_ADDRESS>for further discussion? (not that i theres anything to hide, but am very new at this whole thing and semi embarrassed / dont wanna flood the forum with too tedious of a problem :))

A quick update was made to the code to address this issue.

Hi, there was a problem with the code regarding the order of the bits. I'll be updating the code so the order of the bits can be set up by configuration.


[WIP] Migrate the OAuth2 providers

Coverage remained the same at ?% when pulling b08f8296ee313e07fa9d88871299a67227cc31b7 on akkie:provider-oauth2 into 89aeec78cce7711da242142710e5775453dafabf on minutemen:master.


Larger element names reduces the icon size in variables tab

Describe the bug
When we have larger text names the icon of the actvitiy/event gets shrunk in the variables tab
Steps to reproduce

Create a activity/event with a larger name that has input/output variables
Open the variables tab
We could see that the icon size of the respective element is shrunk with the length  of the name

https://github.com/user-attachments/assets/52dc1a4d-3712-4739-9300-f3e190e891dd
Expected behavior
Larger element names could be cut short by adding ellipsis
Environment

OS: [MacOS 10.2]
Camunda Modeler Version: [5.27.0]
Execution Platform: [Camunda 8]

Additional context
No response

This needs a fix in the variable outline project.

Is ellipsis the right approach here?
If so shouldn't we display the full name on hover (with title prop for example?
Or should we simply block shrinking the icon element?

Also I can see another problem, when the name is really long, it not only overflows the element list, but also it does not fit in the element on the diagram. Is this something what should also be addressed?

Is ellipsis the right approach here? If so shouldn't we display the full name on hover (with title prop for example? Or should we simply block shrinking the icon element?

We are also doing the same in Problems tab and it doesn't display full element name on hover so imo, the variable tab should behave the same.

Also I can see another problem, when the name is really long, it not only overflows the element list, but also it does not fit in the element on the diagram. Is this something what should also be addressed?

As mentioned in the PR, this is out of scope for variable outline. This needs fix in diagram-js. Feel free to open the issue.

@abdul99ahad Let's go forth and integrate the upstream fix, closing this issue.


Looking for collaborators!

Hi guys!
I am unable to look out and maintain this project anymore (barely doing it anyway since 2020😞)
I am looking for contributors and maintainers to keep this project alive.
Please let me know if you want to be added as a collaborator here and on the npm package.
Thanks!
cc: @jstarmx @jfstephe @mholger

@rahulpsd18 Thanks, yes I'm up for it, it's a very useful package and would be happy to help keep it going :)

Added. Share your npm username and I'll add you there too.


[Remote Cluster State] Improve stale file deletion logic

Is your feature request related to a problem? Please describe
Currently, we are checking and deleting the stale files on every cluster state update. With this logic, we make a list and get calls to our remote repository in all the cluster state updates. If I have a workload, requiring adding dynamic mappings suppose, it will have lots of cluster state updates in every mapping update. This causes lots of list and get calls to repository, having substantial increase in costs for our usecase.
Describe the solution you'd like
If we move away from cleaning the remote files on every cluster state to a configurable period and number of updates after which this will be triggered, it will provide a better customer experience.
We could configure a default period of x hours and number of updates to y. We will clean up the remote files after y number of cluster state updates or x hours, whatever comes first.
Related component
Cluster Manager
Describe alternatives you've considered
If we go ahead with just a period, then if we have are having large number of cluster state updates, the number of stale files will increase significantly and stay there until the period is over.
Similarly, if we just have clean up after n updates, this also may cause stale files to stay in the repository, if updates are infrequent and state is not updated for a long time.
Additional context
No response

The change was reverted due to flaky tests, reopening the issue


feat: support esm

Support ESM module.
Fixes: https://github.com/koajs/koa/issues/1469
Refs: https://github.com/addaleax/gen-esm-wrapper

Related - #1476


User Story 20: Add a customer with partial information

As a User, I want to add a customer with partial information so that I can add a customer entry without requiring all the details.

resolved with PR #78


Any plan to support github.com/containers/storage based container runtime?

For example, crio

+1 would love support for podman

Indeed, this is the plan before 1.0.0 release.

@wagoodman do you have a status for this?
Or are you missing details etc.?
I would love to see Dive work with Podman 🥇

TLDR; status hasn't changed and I'm missing lots of details :) .
@nc-ruth I've been a bit too busy to get to this, however, it is still something I really want to get into dive (when I find a bit more time). I haven't done enough research to find the best way to integrate multiple runtime engines. Essentially, this would mean exporting image filesystems by layer, similar to the docker save command. This can be done by querying the runtime engine or the registries directly --there are different idioms for different engines. I get a feeling that the current interface for image parsing and analysis will need to change as I learn more about theses engines and their various export formats; I took an initial stab at separating out the logic to allow for more formats and processors.
One of the outstanding problems is the ergonomics of the CLI: how might one simply change the engine or source? Initially it seems that having a switch like --source <value> where value can be docker, crio, podman, etc, however, it seems a bit clunky. Maybe something akin to a connection string would suffice? (e.g. docker://<image> such as docker://ubuntu:16.04 or crio://<image>, etc). I'm still simmering on how someone would easily swap between sources without confusing folks about where the image coming from.
I'm also looking forward to working on this --I'll get to learn a lot more about podman/crio/containerd/*. (I also welcome any help for those who have the time/expertise!)

For folks following along here, checkout the latest v0.9.0 release... there is initial podman support. I have not attempted to run dive within a container and mount the necessary libpod directories, so I'd recommend using dive as a binary on your system if you're trying it out (though, if someone here is willing to figure that out, I'd welcome a README update :)


Documentation loaOf is still in the nixos manual and not marked deprecated

Describe the bug
types.loaOf is described in the nixos manual under 44.2.3 although it has been marked deprecated: https://github.com/NixOS/nixpkgs/issues/1800. I think it should be removed or marked deprecated.

If it's in the 20.03 manual which is default presented it wasn't removed yet so I guess it will still be in the manual. But now in 20.09 it has been removed https://github.com/NixOS/nixpkgs/pull/96042.


No documentation for how to use cylindrical and axisymmetric coordinates

There is no documentation on how to run simulations using cylindrical and axisymmetric coordinates. There are several intricacies to using cylindrical coordinates (and I assume axisymmetric coordinates) that I've come across when trying to run a 3D pipe flow. Perhaps an additional appendix to the case file documentation would best alleviate this? This isn't a commonly used feature, but it should be documented nonetheless. There should probably be an appendix in the flow visualization documentation detailing how to perform the coordinate transformations correctly as well as it's not as obvious as one might think.

Is this still open or no @wilfonba ?

Still open

@ChrisZYJ I cannot remember if you added documentation for this or not. Can you remind me?

I implemented 2D axisymmetric coordinates and added detailed documentation for it. For the 3D cylindrical coordinates, I wasn't able to get it working (its previous implementation was actually for 2D axisymmetric), so I removed it from the documentation. I intentionally left a few gaps in the Acoustic Supports label numbering to allow for future additions if someone manages to fix the 3D cylindrical coordinates implementation.

@ChrisZYJ I meant for 3D cylindrical coordinates without any acoustic source. These should work; they just aren't documented. I thought maybe you added documentation for them.

Sorry I didn't read the thread properly. No, I didn't manage to get it working. Was also wondering where the documentation is


Add dataset

Description

Datasets for Job and College Admission #126
Related Issues

Changes Made

Added two folders in Storehouse
1- having two datasets in Jobs
2- having four datasets in College_admission
Screenshots (if applicable)

Checklist
Please review and check the following before submitting your pull request:

[x] I have followed the project's coding conventions and guidelines
[x] I have tested my changes thoroughly
[x] I have added/updated relevant documentation
[x] My code follows best practices and is easy to understand
[x] I have added necessary test cases (if applicable)
[x] All existing tests are passing
[x] My changes do not introduce any new warnings or errors

Additional Notes

Added some datasets. Please review as I'm open to all suggestions and changes.
Thank you!!

@A-SOLO Thanks for your contribution.


Customize tick labels

can I show tick above the speedometer?
how can i  show tick 0, 100, 150, 400. I have confusion because these ticks are not at the continuous gap.

You can control of the tick positions using sv_tickPadding="0dp" attribute,
By default tickPadding = speedometerWidth.
And for custom tick label, it isn't supported yet, please follow #35 issue.

Thankyou.

since version 1.1.6 you can add Custom Ticks, simple to use:
speedometer.setTicks(0, 100, 150, 400);

if you want to change tick label, like add (m) unit, please look at Custom Tick Label to know how.


Add orcid icon

Need to make orcid icon available https://fontawesome.com/v5.15/icons/orcid

orcid icons available in updated fontawesome library, see #121


Compiling Error

I just installed react native on windows, then i typed
react-native init IslandFun
then
react-native start
in another DOS shell i typed
react-native run-android
then i get this error below, Does anybody know whats wrong???
.....
[snip]
Download https://jcenter.bintray.com/com/android/tools/jack/jack-api/0.13.0/jack-api-0.13.0.jar
Download https://jcenter.bintray.com/org/eclipse/jdt/core/compiler/ecj/4.6.1/ecj-4.6.1.jar
Download https://jcenter.bintray.com/net/sf/proguard/proguard-base/5.3.2/proguard-base-5.3.2.jar
Download https://jcenter.bintray.com/com/android/tools/external/com-intellij/uast/162.2228.14/uast-162.2228.14.jar
NDK is missing a "platforms" directory.
If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to D:\Android\sdk \ndk-bundle.
If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.
FAILURE: Build failed with an exception.
What went wrong:
A problem occurred configuring project ':app'.

Trailing char < > at index 14: D:\Android\sdk \package.xml

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
Total time: 53.315 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html

seems there is a space in the path but dont know which file has that path in it so i can fix it.

D:\Android\sdk\platform-tools\MoreFun>react-native info
Scanning folders for symlinks in D:\Android\sdk\platform-tools\MoreFun\node_modules (26ms)
React Native Environment Info:
System:
OS: Windows 8.1
CPU: x64 Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
Memory: 9.47 GB / 23.95 GB
Binaries:
Node: 8.11.4 - D:\nodeJS\node.EXE
Yarn: 1.9.4 - C:\Users\NS\AppData\Roaming\npm\yarn.CMD
npm: 5.6.0 - D:\nodeJS\npm.CMD

Can anybody hlp with this? i thought it was fix but its not, i cant compil
i just install and follow th stps but it dont work

Can you run the info command inside your actual project?


Can't SSH from WSL

Your Windows build number:  Microsoft Windows [Version 10.0.17134.1]

I have .pem file located on local disk C c/private-key.pem. And I have a soft link to it on Ubuntu subsystem ~/.ssh/private-key.pem -> /mnt/c/private-key.pem.
And when I'm trying to shh some remote machine from Ubuntu subsystem, I got :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/artur/.ssh/private-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/artur/.ssh/private-key.pem": bad permissions
Permission denied (publickey).

It was started after 1803 update for Windows.
I was trying to use chmod 400 or 600 for key on C drive and in ./ssh folder on subsystem. And was trying to set owner just to me and remove all other users from security panel on Windows for this file key. But i got Permissions XXXX for '/home/artur/.ssh/private-key.pem' are too open or Permission denied all the time.
Also I made a copy of key in Ubuntu subsystem which now located at c:\Users\<WindowsUserName>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\<UbuntuUserName>\.ssh\ and was trying to manage permissions and owners of it. And it fails too!
Can any body help me and explain how keys permissions should be configured on Windows and Ubuntu subsystem?

Yeah there have been changes with build 17134. You want to review this blog: https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/ and see if that helps.

@DarthSpock Yeap, it helps but partially. I mean now I can connect my remote machine using the ssh config file, which contains the given key to the destination machine (a soft link to a file on C drive). But can't connect from connected machine to another Permission denied (publickey). Config file contains other soft links to key files. All keys has same permissions and owners (a Windows permissions and owners and chmod on Ubuntu subsystem).
Also I can't connect to the first machine when i try ssh -i .ssh/private-key.pem remote_machine_addr Permission denied (publickey). That connection completely the same that I have in config file!?!?
Damn, I'm confused. How can I define which permissions and owners should be set on Windows and what i should do on Ubuntu subsystem (chmod, chgrp, or what ....)

@aseering might be able to provide more assistance

You might also try using pageant (from PuTTY) as your ssh keystore and then use weasel-pageant (here on github) in place of ssh-agent. This has side benefits if you also msys or Win32 Emacs.

I discovered that if my keys were in a non WSL location, I had to mount the drive it was on with -o metadata.  Once I did that, I could chmod -R og=  to get the permissions to a state where ssh accepted them.
Be sure to update wsl.conf so that the mount changes persist.

Ah ok, I see that there are multiple issues including this one that stem from a root cause: #2770

even with sudo?  intriguing!

With sudo chmod 600 or 400 I get Permission denied (publickey) trying to establish ssh connection.

Can you try wslattrb.exe from my repository here https://github.com/Biswa96/WSLInstall/releases? You've to use the real path e.g. c:\Users\<WindowsUserName>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalStat\rootfs\.......
Details are in that release page. But first try with a demo file.

I have copied keys from Windows to Ubuntu subsystem and applied chmod 400 for each key file even without sudo.
It works for me now.
But I'd like to use previous behavior, when key placed on one location on Windows and on subsystem I manipulate with soft links only.

@Biswa96 I haven't try your proposal so far...

do NOT spelunk into the Linux filesystem using Windows apps and tools. Try mounting with -o metadata and see if you can coerce it into accepting the 0400 mode.

I think I figured out why this happens. In the ssh source you can see that ssh only blocks overly permissive key files if they are owned by the current user. Since DrvFs files used to be listed as owned by root, ssh would allow any key file from a DrvFs drive. With the recent changes, the files are listed as owned by the current user, and suddenly the check applies.
Luckily, as mentioned above, you can just remount with the -o metadata option and chmod your key files to be less permissive.

Here is the blog post on how to use the -o metadata option.

Sorry to re-open this, but my Linux doesn't seem to want to set the permissions:
➜  ~ ll windat/documents/keys/
total 4.0K
-rwxrwxrwx 1 USER USER 1.7K May  4 11:40 google
-rwxrwxrwx 1 USER USER  391 May  4 11:40 google.pub
➜  ~ sudo umount /mnt/c
[sudo] password for USER:
➜  ~ sudo mount -t drvfs C: /mnt/c -o metadata
➜  ~ chmod 0600 windat/documents/keys/google
➜  ~ ll windat/documents/keys/
total 4.0K
-rwxrwxrwx 1 USER USER 1.7K May  4 11:40 google
-rwxrwxrwx 1 USER USER  391 May  4 11:40 google.pub

➜  ~ mount -l
rootfs on / type lxfs (rw,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
none on /dev type tmpfs (rw,noatime,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime,gid=5,mode=620)
none on /run type tmpfs (rw,nosuid,noexec,noatime,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,noatime)
none on /run/shm type tmpfs (rw,nosuid,nodev,noatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noatime)
D: on /mnt/d type drvfs (rw,noatime,uid=1000,gid=1000)
E: on /mnt/e type drvfs (rw,noatime,uid=1000,gid=1000)
F: on /mnt/f type drvfs (rw,noatime,uid=1000,gid=1000)
G: on /mnt/g type drvfs (rw,noatime,uid=1000,gid=1000)
C: on /mnt/c type drvfs (rw,relatime,metadata)

Here are my permissions on Windows:
D:\data\Documents\keys
λ  Get-Acl .\google | Format-List

Path   : Microsoft.PowerShell.Core\FileSystem::D:\data\Documents\keys\google
Owner  : DESKTOP-ENBN1LT\USER
Group  : DESKTOP-ENBN1LT\USER
Access : DESKTOP-ENBN1LT\USER Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         NT AUTHORITY\Authenticated Users Allow  Modify, Synchronize
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
Audit  :
Sddl   : XXXX

Any ideas?

I don't know why does @sunilmut CLOESED the issue, but I previously sad that I have tried to mount disk with -o metadata option and it DOES NOT resolving the issue!

Try configuring it in wsl.conf instead of the command-line method. Here's the blog: https://blogs.msdn.microsoft.com/commandline/2018/02/07/automatically-configuring-wsl/

Ok, setting it in /etc/wsl.conf fixed it for me.
Just create the file if its not there and enter the following code:
[automount] options = "metadata"
Then exit out of all the instances and relaunch WSL. All drives should be mounted with metadata now (see mount -l)
The blog post linked by @DarthSpock also contains other useful configs, so it's worth a look.

Just to add to what @reijn90 said: Lately WSL requires some funky killall command to be properly restarted. See https://superuser.com/q/1126721.  Unless someone here can enlighten us about the proper way of restarting, that is :D

WSL requires some funky killall command

You can use Task Manager to forcibly kill any Linux processes running includinginit to forcibly tear the sessin down. Just be sure all instances are removed before creating a new one.

I'm having this same problem, none of the above fixed it, please re-open

@acehack @donglixp
No one can help you without any additional information. Here is how a good comment to receive actual help looks like:
-Include commands and output of what you did
-include mount -l output
That way others can actually help you. "Stating it doesn't work" helps no one and just discourages help because helpers need to painstakingly gather information from you. Give information so ppl can help you.

I think I figured out why this happens. In the ssh source you can see that ssh only blocks overly permissive key files if they are owned by the current user. Since DrvFs files used to be listed as owned by root, ssh would allow any key file from a DrvFs drive. With the recent changes, the files are listed as owned by the current user, and suddenly the check applies.
Luckily, as mentioned above, you can just remount with the -o metadata option and chmod your key files to be less permissive.

This comment helped me get it working today. I was kicking myself in the face trying to figure out why it kept giving permission errors when I was only ever working just as my user, but I checked the ownership of ~/.ssh/config and ~/.ssh/id_rsa and sure enough, they were owned by root:root while everything else was as my user. So I just did sudo chown myuser:myuser ~/.ssh/config and the id_rsa and everything worked great.

I got the same issue (too open permissions for the private key file located on the drvfs mount).
The metadata option was already set, so this doesn't fix the issue for me.
What can be done? Should the private key be placed in user home (WSL) and used instead for ssh login?

@strarsis did you configure the permissions that should be used by default in the metadata option? If not, then do a chmod to 0644 and it should apply. But you need to set it in wsl.conf if you want it to persist between WSL terminal sessions.

@WSLUser: The metadata option was already set in /etc/wsl.conf.
I used chmod 0644 on the private key file, also ensured with chown myuser:myuser that
the file belongs to the terminal user.
The permissions of the private key file hadn't changed though (-rwxrwxrwx).

@WSLUser:
/etc/wsl.conf:
" Mount disks to / (besides in /mnt/) for Docker support
" Also adjust /etc/fstab and add the Windows drives!
" https://github.com/Microsoft/WSL/issues/2636#issuecomment-377567507
[automount]
enabled = true
root = /
options = "metadata,umask=22,fmask=11"
mountFsTab = true

/etc/fstab:
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
D:           /mnt/d         drvfs   rw,noatime,uid=1000,gid=1000,umask=22,fmask=11     0    0
/mnt/d  /d    none    bind

Configure fstab for both / and /mnt/c

I followed the "metadata" procedure aforementioned,
"sudo chmod 600 key",
and "sudo ssh -i key user@ip"
Solved for me...

using ssh.exe instead of ssh solved it for me

using ssh.exe instead of ssh solved it for me

hey wow this worked without needing any of the above other workarounds.  Thanks

Using ssh.exe instead of ssh is not really a solution. Ssh.exe is the
windows native implementation of ssh. Ssh is the Linux version. You are
using essentially a different program.
On Tue, 20 Aug 2019, 03:41 focalfury<EMAIL_ADDRESS>wrote:

using ssh.exe instead of ssh solved it for me
hey wow this worked without needing any of the above other workarounds.
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WSL/issues/3181?email_source=notifications&email_token=ABUQSPQJOVLCFFCIFKXSLQDQFNDTFA5CNFSM4E7N7Q7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4UY7GI#issuecomment-522817433,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUQSPWT4GV2YJN6PBNQ6RTQFNDTFANCNFSM4E7N7Q7A
.

using ssh.exe instead of ssh solved it for me

temp use it for work.

same issue
Any progress?

@iandk: It works for me now, I have reinstalled WSL 1 and now it works.
My /etc/wsl.conf:
[automount]
enabled = false
root = /
options = "metadata,umask=22,fmask=11"
mountFsTab = true

I followed this guide and succeeded in accessing my ec2 instance.

I just found that /home/me is not same folder with /mnt/c/Users/me.
I just copy .ssh folder under user folder from windows' to wsl's.
If it is not work, either. please notice that privileges of .ssh folder and files is right or not.
permissions-on-private-key-in-ssh-folder

In case anyone else comes across this with a similar issue. I was having a similar problem trying to clone from github and the real problem was trying to clone into a folder I didn't have permissions and required sudo. You can either move the keys to root or simply give your user the permissions to write to the folder and clone way.

I had the same issue.
I tried to make my own wsl.conf but an external drive mounted w/o metadata.
However, the issue was solved after I formatted the drive w/ NTFS.

This works for me!

Copy the key file to your .ssh directory e.g. cp key ~/.ssh
Change the permission on the key: sudo chmod 600 key

SSH should work now.

This works for me!
* Copy the key file to your `.ssh` directory e.g. `cp key ~/.ssh`

* Change the permission on the key: `sudo chmod 600 key`

SSH should work now.

Thank You very much. Worked for me.

I followed the "metadata" procedure aforementioned,
"sudo chmod 600 key",
and "sudo ssh -i key user@ip"
Solved for me...

Thanks, it works

I solve this issue running these commands:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/<your_key>

Yeah there have been changes with build 17134. You want to review this blog: https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/ and see if that helps.

Thanks, that actually helped, basically once I did the sudo umount /mnt/c sudo mount -t drvfs C: /mnt/c -o metadata it did fix the problem

@iandk: It works for me now, I have reinstalled WSL 1 and now it works. My /etc/wsl.conf:
[automount]
enabled = false
root = /
options = "metadata,umask=22,fmask=11"
mountFsTab = true

I had the same problem, and this is what solved it for me. Thanks!


Dockerfile build: unknown flag: link

I tried to build a image using Dockerfile and got this error.

I think adding a .dockerignore file might build better.

Please use buildx to build the docker image:
docker buildx build -t wasm:1636 .

Please use buildx to build the docker image:
docker buildx build -t wasm:1636 .

Thanks, I solved the problem of building

According to the docker-compose file, you will need to specify the platform to run it.
Ref:
https://github.com/second-state/microservice-rust-mysql/blob/main/docker-compose.yml#L10

My operating system is Ubuntu.

Have you installed the wasm-enabled runtime bundled docker, such as docker-desktop?
Also, you have to add an extra flag: export BUILDX_NO_DEFAULT_ATTESTATIONS=1
Ref: https://github.com/second-state/microservice-rust-mysql/commit/ac7bbed4db49ebdd18c044e4d3bdf6c51eebefa4

Have you installed the wasm-enabled runtime bundled docker, such as docker-desktop?
Also, you have to add an extra flag: export BUILDX_NO_DEFAULT_ATTESTATIONS=1 Ref: ac7bbed

Am I supposed to do this right?

What's your docker version?
This is mine:

This is mine:

docker-desktop

I don't have docker-desktop installed, I only have terminal.

You will need Docker Desktop.
Or
Use the 24.0.0-beta-1 or above of dockerd. You do have to activate the containerd feature, put { "features": [ "containerd-snapshotter": true ] } in /etc/docker/daemon.json).
You can download the build from http://download.docker.com (for debian for example it’s here: https://download.docker.com/linux/debian/dists/bullseye/pool/test/amd64/docker-ce_24.0.0~beta.1-1~debian.11~bullseye_amd64.deb).

You will need Docker Desktop.
Or
Use the 24.0.0-beta-1 or above of dockerd. You do have to activate the containerd feature, put { "features": [ "containerd-snapshotter": true ] } in /etc/docker/daemon.json).
You can download the build from http://download.docker.com (for debian for example it’s here: https://download.docker.com/linux/debian/dists/bullseye/pool/test/amd64/docker-ce_24.0.0~beta.1-1~debian.11~bullseye_amd64.deb).

Thanks, I'll try it later.

I built successfully with Docker Desktop on MAXOS, thanks for your help.

I have another question, is there a web framework that supports wasm better?


feat: enable markdown linter for kits

Description
This PR enables the markdown linter for the KITs.
Fixes #673
Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

Looks like all open PRs are now failing due to this new rule. How to handle this?

I don't have fundamental problems with merging despite a failed linter check. But there should be a requirement that every update to every kit fixes THEIR issues for ALL releases.

Looks like all open PRs are now failing due to this new rule. How to handle this? Should we inform now the responsible of every KIT to resolve their issues?

Exactly, @maximilianong! Every KIT has to fix its linting errors. @SebastianBezold and I are planning to create a GitHub Issue for every KIT. It is important that this will be checked during the Quality Gates.

I don't have fundamental problems with merging despite a failed linter check. But there should be a requirement that every update to every kit fixes THEIR issues for ALL releases.

The first part is correct, @arnoweiss: While the KIT developers are fixing their linting problems, merging with a failed pipeline is okay. For the second part: Since the current pipeline only checks the docs and the docs-kits folder and not the docs-kits_versioned_docs, only the current and future KIT versions need to be corrected. Fixing the old archived versions would be great, but is still optional.


NDRS-1202: Connection negotiation tasks

Note: The size of this PR is in part due to some things being moved from one file to another, or fields being renamed.
This PR extracts tasks (asynchronous functions, most run as effects) from the small networking component into a submodule. In doing so it unifies what used to be broken up steps for establishing a new connection into linear async functions.
As a result there is a noticeable complexity reduction in the component itself. Handshake handling benefits immensely from this, as the code can now be properly shared and no longer leaks into the handling of other events.
Tasks become testable as a result.

bors r+