Formatting device with luks1 always

@Pavan, @raunakkumar Please review
Fix for https://nimblejira.nimblestorage.com/browse/ESC-8915
Resize for encrypted volumes on Redhat-8 is failing since the LUKS type is LUKS2 and key location: keyring which requires the passphrase.
Currently there is no option to pass the passphrase to stage volume.
If we format the device with LUKS1 instead LUKS2 the key location will be always dm-crypt .
[root@c3-sy480g10-20 ~]# cryptsetup status -v /dev/mapper/enc-mpathbcw
/dev/mapper/enc-mpathbcw is active and is in use.
type:    LUKS1
cipher:  aes-xts-plain64
keysize: 512 bits
key location: dm-crypt
device:  /dev/mapper/mpathbcw
sector size:  512
offset:  32768 sectors
size:    39813120 sectors
mode:    read/write
Command successful.

You probably have the wrong person on this. Though my GitHub handle is @pavan I am not aware of working on this project. You are probably looking for another pavan.
Pavan
On Apr 25, 2022, at 6:02 AM, bhagyashree-sarawate<EMAIL_ADDRESS>wrote:
[External Email]
@pavanhttps://github.com/pavan, @raunakkumarhttps://github.com/raunakkumar Please review
Fix for https://nimblejira.nimblestorage.com/browse/ESC-8915
Resize for encrypted volumes on Redhat-8 is failing since the LUKS type is LUKS2 and key location: keyring which requires the passphrase.
Currently there is no option to pass the passphrase to stage volume.
If we format the device with LUKS1 instead LUKS2 the key location will be always dm-crypt .
@.*** ~]# cryptsetup status -v /dev/mapper/enc-mpathbcw
/dev/mapper/enc-mpathbcw is active and is in use.
type: LUKS1
cipher: aes-xts-plain64
keysize: 512 bits
key location: dm-crypt
device: /dev/mapper/mpathbcw
sector size: 512
offset: 32768 sectors
size: 39813120 sectors
mode: read/write
Command successful.

You can view, comment on, or merge this pull request online at:
https://github.com/hpe-storage/common-host-libs/pull/171
Commit Summary

ab10c35https://github.com/hpe-storage/common-host-libs/pull/171/commits/ab10c353644b3424d17dde7066f629ca778bc5bb Formatting device with luks1 always

File Changes
(1 filehttps://github.com/hpe-storage/common-host-libs/pull/171/files)

M linux/device.gohttps://github.com/hpe-storage/common-host-libs/pull/171/files#diff-3e19c714f23e81e8db6c7ccb58e30cb6d106b580baa67215fc53ec82f3ed5cee (2)

Patch Links:

https://github.com/hpe-storage/common-host-libs/pull/171.patch
https://github.com/hpe-storage/common-host-libs/pull/171.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/hpe-storage/common-host-libs/pull/171, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAABE24BXNZMVCS7AF4NSIDVGZUUJANCNFSM5UIBFDIQ.
You are receiving this because you were mentioned.[ { @.": "http://schema.orghttp://schema.org/", @.": "EmailMessage", "potentialAction": { @.": "ViewAction", "target": "https://github.com/hpe-storage/common-host-libs/pull/171", "url": "https://github.com/hpe-storage/common-host-libs/pull/171", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { @.": "Organization", "name": "GitHub", "url": "https://github.comhttps://github.com/" } } ]
This email contains links to content or websites. Always be cautious when opening external links or attachments.
Please visit https://carleton.ca/its/help-centre/report-phishing/ for information on reporting phishing messages.
When in doubt, the ITS Service Desk can provide assistance. https://carleton.ca/its/chat

Looks good to me.


add append with space to nonemptytext

idk how this will be received, but I have to concat first and last names a bit and it would be cool to make this operation preserve typed invariants

The mwb code has (<+>) :: FixedWidthText n -> FixedWidthText m -> FixedWidthText (n + m) that does not add a space.
yeah that's a good point, I was worried about that the <+> convention doesn't seem to be followed anywhere outside of PrettyPrint.  I would be fine with a named function...  besideWithSpace (maybe makes sense infix?), or appendWithSpace maybe...  something else?

singleton :: Char -> NonEmptyText 1
singleton would break assumptions about NonEmptyText since the input is stripped of whitespace, and you could create empty nonempty text.  I think the only way you can safely add space to nonempty text is if you know you are concatenating nonempty text on either side.

I like

concatWithSpace
I switch to that


Replace "consent" with "do not sell/share with Third Parties"

Hi. Cool project : )
The GPC spec at https://globalprivacycontrol.github.io/gpc-spec/ states that the signal (only) "conveys a person's request to websites and services to not sell or share their personal information with third parties". This means that GPC should not be used to indicate 'consent', but only to indicate that the person has expressed they do not want their data shared with third parties. Expressing GPC as a consent on/off toggle is extremely misleading what it intends IMHO.
On a similar note, GPC only defines an on/set set, i.e. it is unary. For consent, we need at least a binary set given/refused or a tertiary if we include withdrawal as a separate set in given/refused/withdrawn. This means GPC on its own cannot be used to check if consent was given.
https://github.com/kasnder/gpc_android/blob/8dbb714bdabe53619a3df02fa45ab74b3a292534/Test_App/app/src/main/java/net/kollnig/consent/gpc_android/test/MainActivity.java#L38
boolean consent = data.getBooleanExtra("consent", false);
Because the wording here is consent, it means consent = true has specific legal meaning, which is not supported by the GPC implementation. Instead, it would be better to check GPCset = true which has a clear definition in the spec. And GPCset = false does not lead to any loopholes or unknown interpretations i.e. consent is no assumed to be true.

Thanks for the comment! I guess EU and California would need different wording. I've updated the README.md now to make clear that this proof of concept was trying to investigate technical feasibility rather than the exact legal wording.

Or, on further thoughts, your goal is to investigate how signals can be developed for Android? In which case, the goal is to figure out how to transmit information from one app to another, and what can be transferred and how much usefulness it can provide?

Sure, that'd be great!!

Sure, that'd be great!!

Okay, will send something tomorrow. But what's your goal here? I see three possible approachew from above.

Okay, will send something tomorrow. But what's your goal here? I see three possible approachew from above.

Since this is a proof of concept, anything that makes the most convincing case around introducing GPC on mobile. I guess this would mean to align it more with the unitary approach and the wording within the CCPA / CPRA.

Thanks. I'll work with the GPC spec wording for both CCPA and GDPR and you can review.


feat: drop dpx 0.0.6 support \n\n BREAKING CHANGE: DPH Service updated

PR summary
sdk version changes as per bump versioning.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[x] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[x] Yes
[ ] No

Other information

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


probe: Move files from tools package into probe.

"tools" has no particular meaning, so I move the files into an easy-to-understand package called "probe".

Maybe "util" would be a viable as a place for general utility functions.

Thanks for the comment!
But since this is a specialized feature and not a generic one, I think it would be better to give it some name such as "probe".
I wish I had suitable words, but my vocabulary is poor...
https://go.dev/blog/package-names

Avoid meaningless package names. Packages named util, common, or misc provide clients with no sense of what the package contains. This makes it harder for clients to use the package and makes it harder for maintainers to keep the package focused.

Oh, I see. I sometimes forget about those best practices.


File tagging for all file types

Description of the new feature / enhancement
Allow all file types to have title, topic and tagging labels editable from the file properties menu, the same way you can currently tag jpegs. Tags for currently enabled file types are already searchable through Windows search, but there's no reason it should be constrained to only images and word documents. This is similar to FileMeta, but tragically its creator died and the project stopped.
Scenario when this would be used?
Vastly improved productivity for some workflows where large amounts of files are involved, for example in music production. Also an alternative to navigating through folder hierarchies.
Supporting information
FileMeta repo
FileMeta website

More or less covered in #150? @crutkas

/dup #150


Improved PR template

Description
Removed checkboxes from items which don't all have to be checked.
Added link to code style guidelines (the wiki page should be further updated).

Codecov Report

Merging #326 into trunk will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##              trunk     #326      +/-   ##
============================================
+ Coverage     57.74%   57.75%   +<.01%
- Complexity     9913     9914       +1
============================================
  Files          1139     1139
  Lines         73051    73051
  Branches       7303     7303
============================================
+ Hits          42185    42190       +5
+ Misses        28393    28389       -4
+ Partials       2473     2472       -1

Impacted Files
Coverage Δ
Complexity Δ

...c/core/org/apache/jmeter/reporters/Summariser.java
84.61% <0%> (-0.77%)
17% <0%> (-1%)

...apache/jmeter/extractor/TestBoundaryExtractor.java
97.88% <0%> (ø)
17% <0%> (ø)
:arrow_down:

...mpler/hc/JMeterPoolingClientConnectionManager.java
30.95% <0%> (+3.17%)
11% <0%> (+1%)
:arrow_up:

...s/org/apache/jmeter/timers/PoissonRandomTimer.java
78.37% <0%> (+5.4%)
10% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f55d3ad...84c19f0. Read the comment docs.

How can this PR affect code coverage? Do we have tests which are non-deterministic and then change the test coverage each run?


Version 0.0.10

Codecov Report

Merging #31 (88fcc85) into master (64f0c7f) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##            master       #31   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           20        20
  Lines          476       476
=========================================
  Hits           476       476

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


Merging additions in ecoscope fork

Things I've added in our fork that may be worth adding/reviewing here
Things that are simple(ish) to merge

v9 bump
Add support for Deck widgets
Add mapWidth to Map
An alternative viz that returns a layer rather than a map
Surfacing deck.gl MapView in index.tsx - we're doing this to allow repeat=true
Surface controller Python side in Map

Less simple

Supporting custom widgets (non deck.gl native js components). It's easy enough to add custom components on the python side, and it's easy enough to split our custom js components into an NPM package. What's unclear to me is the best way to tie a custom js package into lonboard and if that's even a good idea.

+cc @vgeorge for visibility

See #613 in which @vgeorge started a PR to add your additions to lonboard.

An alternative viz that returns a layer rather than a map

In terms of API design, what do you think about just documenting that you can access the generated layers via
from lonboard import viz

viz_layers = viz(data).layers

Then we don't need another top-level function just to create layers.

Surface controller Python side in Map

It looks like you made this boolean? So you didn't have a use case of customizing the controller; just of turning off interaction?

Add support for Deck widgets

I see that all of your deck widgets subclass from lonboard.base.BaseWidget. For some of the widgets that don't need jupyter-based interactivity, I think it might be better if they aren't their own Jupyter widgets, but rather you just pass in props to the top-level Map.
I have to think about this a little more.

In terms of API design, what do you think about just documenting that you can access the generated layers via
from lonboard import viz

viz_layers = viz(data).layers

In a world where I already have a map with some layers, and I want to add another layer based on the output of viz (ie I have a mixed geometry GDF, but specific styling needs for each geometry type), it would be nice to not have to create another map entirely. I guess it depends if you see that being a typical use case or not.

It looks like you made this boolean? So you didn't have a use case of customizing the controller; just of turning off interaction?

Yep

Add support for Deck widgets

I see that all of your deck widgets subclass from lonboard.base.BaseWidget. For some of the widgets that don't need jupyter-based interactivity, I think it might be better if they aren't their own Jupyter widgets, but rather you just pass in props to the top-level Map.
I have to think about this a little more.

On a slightly related note, the way those are implemented also duplicates getChildModelState with getDeckWidgetModelState for updating the (deck) widget state in index.tsx.
I keep changing my opinion on whether it's better that way or to just roll everything into getChildModelState and have it figure out if childModel is a widget or layer from a traitlet or similar.

In a world where I already have a map with some layers, and I want to add another layer based on the output of viz (ie I have a mixed geometry GDF, but specific styling needs for each geometry type), it would be nice to not have to create another map entirely. I guess it depends if you see that being a typical use case or not.

Well, we could add an add_layer method to Map
def add_layer(self, layer: BaseLayer | Sequence[BaseLayer] | Map):
    if isinstance(layer, Map):
        layer = layer.layers
	...

And then you could do
from lonboard import viz

first_map = viz(...)
first_map.add_layer(viz(other_data))

Separately, we should probably store the list of layers as a tuple under the hood, so that changing the list of layers forces it to be a new object, so that traitlets knows to sync it to the frontend.

I like that. I've adopted something similar within ecoscope to manage the layers, though I didn't realise that tuples were treated that way in traitlets :exploding_head:
I've been copy()ing the list to provide a 'new' object which forces an update. There's also spectate which seems a bit heavyweight.

Well, as I understand it, traitlets can observe when a new Python object is provided, but not if the object has mutated. That is, it checks for equality using is. If you store data in mutable data types, like list, then it's easy to mutate the object instead of providing a new one. The only thing special about a tuple is that it's immutable, so you can't accidentally mutate in. We should really be storing all internal sequence traits as tuples.

#620 now stores internal sequences as lists and added a add_layer method to the map object.


矩阵的边角问题，请问OpenBlas是如何处理的？【How does OpenBLAS handle the corner cases of matrices?】

如果a矩阵大小是79；b矩阵大小是911
如果分块大小是4*4的话，请问openblas是如何处理b矩阵剩下的那3列呀？
是把b矩阵的列补成4的倍数嘛？
对于a矩阵来说，a矩阵用不用补呢？a矩阵是有专门的边角处理吗？
感谢！
——————————————————————————————————————————————————————————
If matrix A has a size of 7x9 and matrix B has a size of 9x11, and if the block size is 4x4, then how does OpenBLAS handle the remaining 3 columns of matrix B? Are they padded to a multiple of 4?
As for matrix A, does it need padding as well? Does matrix A have special handling for its corners?
Thanks!

The gemm kernel will handle the corner case.

Thanks for your prompt response！ So, you mean there’s no need to pad the matrices to specific shapes, as the kernel handles all cases, right?

Thanks for your prompt response！ So, you mean there’s no need to pad the matrices to specific shapes, as the kernel handles all cases, right?

Yes.  The OpenBLAS/GotoBLAS kernels handle the corner case.
BLIS pad the matrices before gemm micro-kernel.


System project workloads fail to come up for 1.18.4, 1.17.7 and 1.16.11 clusters

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Deploy 1.17.7 and 1.16.11 k8s version cluster on latest 2.4-head
Corends, default http backend workloads fail to come up
Logs of coredns pod

[INFO] SIGTERM: Shutting down servers then terminating
.:53
2020-06-17T23:39:26.195Z [INFO] plugin/reload: Running configuration MD5 = 68ad62e82bb7a01ce4a04dd06bd0bf2c
2020-06-17T23:39:26.195Z [INFO] CoreDNS-1.6.2
2020-06-17T23:39:26.195Z [INFO] linux/amd64, go1.12.8, 795a3eb
CoreDNS-1.6.2
linux/amd64, go1.12.8, 795a3eb

Expected Result:
System project workloads should come up successfully
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.4-head commit id 143066942
Installation option (single install/HA): single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): RKE do
Kubernetes version (use kubectl version):

1.17.7 and 1.16.11

compared the addon template and service options passed for 1.17.7 with 1.17.6 to make sure there wasn't anything missing there.
this issue reproduces with RKE standalone as well, so can isolate out KDM
any user workload also fails to comes up (runs, crashes in a loop) so checked kubelet logs and kubelet was complaining about ip command not found ... after installing and restarting kubelet, they start working
seems like only coredns and metrics-server are the 2 deployments that are crashing. they're not able to reach out to api-server. In case of coredns, it gives me a plugin loop error
[FATAL] plugin/loop: Loop (<IP_ADDRESS>:52028 -> :53) detected for zone ".", see https://coredns.io/plugins/loop#troubleshooting. Query: "HINFO<PHONE_NUMBER>390867276.347750676145298530."
I checked the coredns configmap and kubelet resolv.conf param, but both seem to be ok. Need to look more into what's missing

1.18.4 cluster also fails to come up with a similar behavior
Logs of coredns pod
.:53
[INFO] plugin/reload: Running configuration MD5 = 7b85fbe9b4156cf64b768261d4ea6e3b
CoreDNS-1.6.9
linux/amd64, go1.14.1, 1766568
[FATAL] plugin/loop: Loop (<IP_ADDRESS>:57249 -> :53) detected for zone ".", see https://coredns.io/plugins/loop#troubleshooting. Query: "HINFO<PHONE_NUMBER>240673956.7286356585950878771."

@galal-hussein's comments:
I must mention that i think the issue is related to the upgrade happened to hyperkube image, since there was some tools missing, we should compare the upstream images and see what got changed

Yep, we got the new Debian 10 bubstder
~$ docker run -ti --entrypoint bash gcr.io/google_containers/hyperkube:v1.17.6 -c 'cat /etc/os-release'
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
~$ docker run -ti --entrypoint bash gcr.io/google_containers/hyperkube:v1.17.7 -c 'cat /etc/os-release'
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

PRs incoming to fix all the changes in the image

Reopening this issue as this was reverted.

Verified on 2.4.5 and 2.4.4 pointing to dev-v2.4

Deployed clusters (all network providers) with K8s Versions - 1.18.6, 1.17.9 and 1.16.13 and run network related test cases- on 2.4.5 pointing to dev-v2.4 (1 etcd, 1 control plane and 2 worker nodes)

Upgrade Testing

- Deploy clusters (all network providers) with K8s Versions - 1.18.3, 1.17.6 and 1.16.10 on 2.4.5
- Run pre upgrade checks
- Upgrade (change KDM 2.4.5 pointing to dev-v2.4)
- Upgrade K8s versions to new versions
- Run post upgrade checks
- Checks were all good.

Deploy Windows 1903 clusters - 1.18.6, 1.17.9 and 1.16.13 (3 linux nodes, 3 windows worker nodes); Flannel version on windows v0.12.0-rancher1-dirty
CIS scan works fine on all clusters

On 2.4.4 and 2.3.8 similar checks ^^^ were done.  For 2.3.8 - dev-v2.3 was used to checks the latest k8s versions.


Organize Labels

Issue labels must be organized by creating custom labels. The grouping should be done by using the same color and label titles should be in a pattern to easy understanding.

There was some advice from the instructor about how to organize labels in a more efficient way, I especially liked the idea of using labels as words and combine them for constructing something like a sentence. For example, instead of new-feature-request, new, feature and request may be separate labels. And this solves a lot of problems with filtering or re-arranging labels.
So I decided to apply this idea.
Therefore I should re-create labels and update the wiki associated with it.

I applied all changes to label organization and ı reently updated the related wiki.


Use db query limit gem for custom query matchers

Our custom query matchers could be replaced by the db-query-matchers gem. We were going to want to pull this out somehow, I expect.
The related PR for the virtual_attributes side is https://github.com/ManageIQ/activerecord-virtual_attributes/pull/73

once again, sorry Keenan ...
@miq-bot assign @kbrock

mmm no how about not with that label thing after all
@miq-bot remove_label core/embedded ansible

@d-m-u Can you verify these matchers are not used in any other repo as well?

the only remaining use of eithermatch_query_limit_of or exceed_query_limit is confined to core now that the virtual attrs PR's been merged (thanks @kbrock)

Added jansa/yes?. This PR is needed for https://github.com/ManageIQ/manageiq-api/pull/890.

Jansa backport details:
$ git log -1
commit a3f27ec540c7ccce909f7e8708de6a00ad4cd566
Author: Keenan Brock<EMAIL_ADDRESS>Date:   Mon Jul 27 13:23:15 2020 -0400

    Merge pull request #20386 from d-m-u/use_db_query_limit_gem

    Use db query limit gem for custom query matchers

    (cherry picked from commit 3f4eed33fa0779c642698d24f4e1f0ac3b8d7cdb)


Added client credentials grant type for OAuth2

Added OAuth2 with client credentials to the REST API plugin. This change allows users to configure their endpoints with access tokens that can be added to the header or query parameters, as per configuration.

Fixes #2648
Type of change

New feature (non-breaking change which adds functionality)
This change will require documentation update

How Has This Been Tested?

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@nidhi-nair not sending the datasourceConfiguration.authentication key or sending a null does not reset the authentication data.

LGTM ✅


Update Scala to 3.0.0-RC1

I think we should not let the implementations in dotty-staging and this one diverge much.
I cherry-picked their commits, and I added a couple of more commits to clean things up.

Thanks for making a start on this ... I've got some time to move things along next week.

This looks great ... I'm going to merge as-is, then follow up with an additional tweak from @smarter, dependency updates and switch to github actions.


Fix golint errors in api

Signed-off-by: John Howard<EMAIL_ADDRESS>Found while working on another PR which touched these two files, and the golint checks failed in Jenkins.
13:14:56 Errors from golint:
13:14:56 api/client/image/build.go:427:16: should omit type io.Reader from declaration of var content; it will be inferred from the right-hand side
13:14:56 api/server/router/build/build_routes.go:172:10: should omit type io.Writer from declaration of var out; it will be inferred from the right-hand side
13:14:56
13:14:56 Please fix the above errors. You can test via "golint" and commit the result.

This PR fixes those. Looks like the changes were introduced in https://github.com/docker/docker/pull/21399 (@LK4D4), but I don't understand why it wasn't caught by that PR, or the handful of changes which have been made since in this area (unless someone recently changed the golint checks, or it's part of the go 1.7 update?)

LGTM 🐸

Cool thanks! LGTM

LGTM


Adds teams chat message list command. Closes #2860

Added teams chat message list command
The new teams chat message list can be used to list all the messages in a chat conversation of the current user. The chatId or conversationId is necessary to execute this command. This chatId has two possible setups, depending on the chatType (oneOneOne VS group or meeting). The chatId is verified if it is in the correct format before executing the command.
This pull request Closes #2860.
This is my first contribution, I hope it's all good. Any feedback is warmly welcomed.

Thank you for such a quick turnaround @martinlingstuyl! We'll review the PR asap.

Merged manually. Thank you! 👏

Fantastic Waldek! On to the next

Woot! 🚀


Serializing variant types requires static variant string

I'm trying to implement luxem and having an intermediate type-less representation like Value in JSON is useful in various workflows.  luxem has a "type" construct to represent variants and this is also explicitly representable in Value.
However, passing Value back into a serializer is a problem because the serialize_*_variant methods require the variant name be a string with static lifetime, but the Value::Typed(String, Value) element which contains the variant name is not generally static.  I presume the original intent is that the variant types would only refer to actual Rust type names which would be generated as static constants, but I'm not sure how to handle this in a way that doesn't force some un-collectable global storage.
Is there any way the variant string lifetime could be reduced to that of the serializer perhaps?  Or is there another solution that you could suggest here?

This is intentional in the serde data model. There is a tension between what we require Serialize impls to guarantee and what we permit Serializer impls to assume. Data that is "tagged" with a non-static string does not qualify as a serde enum and its Serialize impl would need to pick a different serde data model representation for that data.

Thanks for taking a look!  This explanation seems circuitous, but perhaps I missed some nuance.  Would you mind elaborating?  Is this a just sort of "this would be a breaking change and our design is finalized at this point" thing?

That isn't it. To elaborate slightly, when I say "this is intentional in the serde data model" it means those APIs require static strings on purpose. Whether there were breaking changes being made or not, we would want static strings there. When I say "there is a tension between what we require Serialize impls to guarantee and what we permit Serializer impls to assume" it means that in this aspect of the API adding freedom to Serialize impls by removing the static bounds implies taking away freedom from Serializer impls which makes some kinds of Serializers impossible to write.

First of all, thanks for engaging with me on this.
Okay, right, maybe I complicated things by suggesting reducing the lifetime "to that of the serializer."  It still seems strange to me that you'd need to hold on to the variant name for longer than it takes to write it to the stream or copy to some internal storage.
I thought you might be referring to FlatBuffers which for zero copy would require the data to live until the kernel's finished putting it on the wire, but the FlatBuffers impl copies the data to internal storage so that doesn't seem to be the case.  Do you have an example of a class of Serializer that relies on this?
I'm assuming by impossible you mean "at current speeds" because any implementation that needed a longer lifetime for the variant name could always create an owned copy.

Here is one example I found of a Serializer that leverages the static bound:
https://docs.rs/oauth2/3.0.0/oauth2/helpers/fn.variant_name.html
Your comment about "at current speeds" is reflective of the tradeoff between what Serialize impls must guarantee and what Serializer impls may assume. While it's possible to make different sets of choices which result in Serializer impls being required to run slower, or being required to drop support for no_std by allocating, but those choices wouldn't be better overall.

https://docs.rs/oauth2/3.0.0/oauth2/helpers/fn.variant_name.html

Thanks!  The original use case of that function didn't need the static bound -- AFAICT it could have been trivially changed to use the lifetime of the data itself.  Since then the use case has been deleted and I can't find evidence of it being used anywhere else (within the project or without) so it's effectively dead code.

those choices wouldn't be better overall

So basically this optimization choice is part of the design and that part of the design is final?  If that's the case, fine.
My insistence on this issue mainly revolves around the fact that rejecting a class of (already primarily supported) use cases in favor of an optimization that is not actually used seems a little strange.
Dynamic data (via Value) is a feature of almost every major Serde crate.  The YAML and RON crates have fairly visible omissions from their Value types due to this restriction, and I'm sure there are other data formats with explicit types similarly restricted.  I can't imagine you'd say "we intentionally support all first class dynamic data except variants."
Similarly it's not like serializers can't already deal with non-static strings.  Variant names are just another string data and every Serde crate I'm aware of is already able to handle non-static strings as a primary data type... using static buffers or global allocators or whatever.  So I don't believe no_std is an obstacle here either.
I realize that this is in fact an entrenched decision at this point, but I'd appreciate it if this would be seriously considered for the next major release or whatever the next opportunity for breaking design changes presents itself.

@dtolnay why not change &'static str to Cow<'static, str> it will maintain the static lifetime, but at the same time will allow serialization formats that have explicit enums (though with some overhead).


Make bot send welcome message in the default channel instead of channels[0]

make it so the bot sends the welcome message in the default (discord's welcome channel) instead of the first channel on the list

btw loving the new features

Good idea, I’ll first see if it can find channel named “general” before defaulting to first channel found.  Will add this on next commit.  Btw very nice improvements are coming to the new Context Menu commands (right click on discord messages)

I believe you can check what channel is the system message channel in the server settings and send it there

Closed by #70


Cannot remote debug on Raspberry pi

Hi,
I using VS2015 to remote debug on Raspberry pi Node server but i cannot work:

Looking at the log it looks like the server killed the connection? Can you debug using the debugging tools in Chrome?


Front-end Webpage Design

This is very simple and easy project. Totally base on HTML, CSS and Botstrape.
website 1.zip

This is only Front-end- webpage project.

@AHMADBAHAR Don't upload zip files. Create a folder called Websites and then inside create a folder with your project name inside that project upload your files uncompressed. Don't use zip, if the file size is large to upload search these topics
GitHub LFS
and using git on the command line


Feature/testing strategy #194

Description
Added a testing strategy section as well as a skeleton for the git workflow.
Testing instructions
Add a set up instructions describing how the reviewer should test the code

Review code
Check Travis build
Review changes to test coverage
build docs and read

Agile board tracking
connect to #194
connect to #186

Codecov Report

Merging #216 into version1 will decrease coverage by 3.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           version1     #216      +/-   ##
============================================
- Coverage     92.93%   89.89%   -3.04%
============================================
  Files            57       58       +1
  Lines          1259     1445     +186
  Branches        194      241      +47
============================================
+ Hits           1170     1299     +129
- Misses           81      133      +52
- Partials          8       13       +5

Impacted Files
Coverage Δ

src/malcolmWidgets/table/widgetSelector.js
50% <0%> (-50%)
:arrow_down:

src/malcolmWidgets/table/table.component.js
61.29% <0%> (-33.71%)
:arrow_down:

src/malcolmWidgets/table/simpleTable.component.js
0% <0%> (ø)

src/layout/layout.builder.js
98% <0%> (+0.63%)
:arrow_up:

src/malcolm/reducer/malcolmReducer.js
83.97% <0%> (+0.64%)
:arrow_up:

src/malcolmWidgets/method/method.component.js
98.14% <0%> (+1%)
:arrow_up:

src/layout/block/block.model.js
87.5% <0%> (+1.78%)
:arrow_up:

src/layout/layout.component.js
77.27% <0%> (+2.27%)
:arrow_up:

src/layout/blockPort/blockPortWidget.component.js
69.23% <0%> (+2.56%)
:arrow_up:

...s/attributeSelector/attributeSelector.component.js
92.72% <0%> (+6.06%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eb3a09d...e141e8f. Read the comment docs.


Failure to detect faces

face_recognition version:
Python version:3.5
Operating System: raspbian  stretch

i did everything correctly with the library .... run it and it was it was okay, it detected faces .. but after days am trying to run it again its failing , not by giving me any errors but by not detecting any face

We can't help unless you give us some sample images where faces aren't detected that should be. Otherwise I have no way to know what's happening :)

Okay , thanks for replying quickly
let me attach the sample code am trying to run but instead of detecting more that one face and do the face match it seems the face locations are returning 0 faces detected
motionState = False
picPath = "/home/pi/Desktop/iss/images/unknown_people/"
last_epoch = 0
email_update_interval = 600
def captureImage(currentTime, picPath):
# Generate the picture's name
picName = currentTime.strftime("%Y.%m.%d-%H.%M.%S") + '.jpg'
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.hflip = True
camera.vflip = True
camera.capture(picPath + picName)
print("We have taken a picture.")
return picName

def getTime():
# Fetch the current time
currentTime = datetime.now()
return currentTime
def timeStamp(currentTime, picPath, picName):
# Variable for file path
filepath = picPath + picName
# Create message to stamp on picture
message = currentTime.strftime("%Y.%m.%d - %H:%M:%S")
# Create command to execute
timestampCommand = "/usr/bin/convert " + filepath + " -pointsize 36
-fill red -annotate +700+650 '" + message + "' " + filepath
# Execute the command
call([timestampCommand], shell=True)
print("We have timestamped our picture.")
def main():
known_image = face_recognition.load_image_file("/home/pi/Desktop/iss/images/known_people/panashe.jpg")
known_face_encoding = face_recognition.face_encodings(known_image)[0]
face_locations = []
unknown_face_encodings = []

while True:
    motionState = P3picam.motion()
    print(motionState)
    if motionState:
        currentTime = getTime()
        picName = captureImage(currentTime, picPath)
        timeStamp(currentTime, picPath, picName)
        filepath = picPath + picName

        unknown_image = face_recognition.load_image_file(filepath)
        face_locations = face_recognition.face_locations(unknown_image)
        print("Found {} faces in image.".format(len(face_locations)))
        unknown_face_encodings = face_recognition.face_encodings(unknown_image, face_locations)

        for unknown_face_encoding in unknown_face_encodings:
            results = face_recognition.compare_faces([known_face_encoding], unknown_face_encoding)
            name = "<Unknown Person>"

            if results[0] == True:
                name = "Panashe Ngorima"
                print("I see someone named {}!".format(name))
            else:
                print("Alert!! THERE IS AN UNRECOGNIZED FACE IN THE PARKING BAY")

                try:
                    if(time.time() - last_epoch) > email_update_interval:
                        last_epoch = time.time()
                        print ("Sending email and Sms...")
                        send_an_email(unknown_image)
                        send_an_sms()
                        print ("done!")

                except:
                    print ("Error sending email: ")

while True:
main()
  the above code is what am trying to run am facing the above problem i tuned

Can you simplify the problem?
Take one of your timestamped image files that you have already captured and saved to disk. Verify that the captured image looks correct with an image viewer. Then just write a 3 line test program:
unknown_image = face_recognition.load_image_file("the_image_you_verified.jpg")
face_locations = face_recognition.face_locations(unknown_image)
print("Found {} faces in image.".format(len(face_locations)))

If that still returns 0, then share the test image so we can help you figure it out.
The issue might be that you are using hflip and vflip with picamera. I wonder if that flag rotates the actual image data or if it only sets the EXIF rotation flags and you need to rotate the image data yourself. But the best place to start is with a test image we know doesn't work.

so i have tried to use different images , others taken by the camera ,some from my phone storage and others i have downloaded from the internet
unknown_image = face_recognition.load_image_file("the_image_you_verified.jpg") face_locations = face_recognition.face_locations(unknown_image) print("Found {} faces in image.".format(len(face_locations)))
so the pictures are as following ,
pictures taken by the raspberry pi cam

2people and panashe are recognised but panashe1 is not ..meaning nt all images taken by the pi are located
second batch is from my phone only 2 are detected that is chibabe1.jpg and timetime.jpg

I'll add my 2c to this. It couldn't detect my face in this image:

I'm guessing because of the hat casting a shadow over the right eye?

i had the same issue when trying to detect face of my picture which is captured by my phone but it didn't work , i tried with another camera of another phone it worked .

this package seems has low accuracy in detecting faces... getting same problem also


ORC-343 Enable C++ writer to support RleV2

Port RleV2 implementation from Java to C++
Add RleV2 relevant tests to C++

C:\projects\orc\c++\src\RleEncoderV2.cc(187): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) [C:\projects\orc\build\c++\src\orc.vcxproj]
C:\projects\orc\c++\src\RleEncoderV2.cc(203): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) [C:\projects\orc\build\c++\src\orc.vcxproj]
C:\projects\orc\c++\src\RleEncoderV2.cc(334): warning C4244: 'argument': conversion from 'int64_t' to 'long', possible loss of data [C:\projects\orc\build\c++\src\orc.vcxproj]
C:\projects\orc\c++\src\RleEncoderV2.cc(735): warning C4244: 'initializing': conversion from 'int64_t' to 'long', possible

@xndai  and @yuruiz  thanks for contributing this code. I will take a look at this.

benchmark.xlsx
RleV2 benchmark

The PR looks overall good to me apart from a minor change requested. This is an important patch to align the C++ and Java implementations. Thanks again for working on this!

+1 LGTM

Thanks everyone for reviewing this!
Does anyone have any comment? If not, I will merge tomorrow.


Mass signal in MQTT bridge using templates

This is a stacked PR upon these:  #428  #429 . So when those are merged some of these files will disappear.
AVEVA seemingly doesn't support templating types, however, more information on this subject might be necessary to fully conclude this.

This is a stacked PR upon these: #428 #429 . So when those are merged some of these files will disappear.
AVEVA seemingly doesn't support templating types, however, more information on this subject might be necessary to fully conclude this.

AVEVA does support this with very specific parameters for topic names, implemented but yet to be tested.

AVEVA doesn´t understand the NBIRTH and provides no error logs to debug why.

@magni-mar should we change this to an issue and reference this PR? Seems like it does not work on Aveva side?

@magni-mar should we change this to an issue and reference this PR? Seems like it does not work on Aveva side?

Sounds good, I don't see the need for this as of now.

Changed to an issue


Build system overhaul.

This PR switches every build task to a NPM script, except saucelabs (this is surprisingly non-trivial, and I'm pushing it to a later PR as this has taken way too long as it is). Closes #20332.
List of tasks that need to included. A ticked checkbox indicates that the task has been tested.

[x]  CSS

[x] Linting (scss-lint)

[x] Core
[x] Docs

[x] Compile (node-sass)

[x] Core
[x] Docs

[x] Prefix (postcss)

[x] Core
[x] Docs

[x] Minify (cleancss)

[x] Core
[x] Docs

[x] JavaScript

[x] Linting (eslint)

[x] Core
[x] Docs

[x] Concatenate + Transpile (Babel)

[x] Bundle
[x] Individual plugins

[x] Minify (uglifyjs)

[x] Core
[x] Docs

[x] Test (qunit + PhantomJS)

[x] Local
[x] SauceLabs (punting conversion to npm)

[x]  Docs

[x] Clean (cp -r dist/* docs/dist/)
[x] Linting (htmlhint + htmllint)
[x] Compile (Jekyll)

[x] Local
[x] GitHub

[x] Serve (Jekyll)
[x] Push to GitHub (punting)

[x] Maintenance

[x] Update dependencies (npm-check-update)
[x] Shrinkwrap (npm)

[x] Release

[x] Change version number (custom node script)
[x] Package zip file (GNU zip)
[x] Push to npm, etc. (punting)

How best can I give feedback on this @bardiharborow? Do you have a checklist of remaining todos, or specific things that need testing?

@mdo I've added a list of task and their review status. A local npm test now works (finally!). I have to work on replacing grunt-stamp, grunt-saucelabs and grunt-build-control, and then we might actually be done!

grunt-build-control can probably go away. I don't use it right now and just manually copy-pasta our generated docs and stuff :). I'd love something that actual worked, but in the spirit of moving this forward, we can do that later.

Pls consider using stylelint over scss lint as it offers far more control and flexibility in code control with plugin support for additional control

@hanakin We'll be shipping that after this PR merges. It's just going to require a lot of config wrangling, and I'm juggling enough changes in this PR as it is.

Preparing to ship this. I have every expectation that something will go wrong and I'll be thoroughly trouted for it, but anyway...
I'll ship this at 2:00am UTC on 20th of April 2017, when I'll be awake and able to fix any incidents. Please ping me on GitHub and email me if I fail to respond.

not sure if it's something broken at my end, but: i fetched and rebased my fork on my machine, did a new npm install...but now when i try to run grunt i simply get Warning: Task "default" not found. Use --force to continue.

They are just one task on our Gruntfile.js the other are in package.json
And for example to run the css task you have to do :
npm run css

so forgive me being thick, but...what's the equivalent now of the old grunt which built everything, followed by bundle exec jekyll serve

It seems it's test task and after you can call docs-serve task which will call bundle exec jekyll serve

tried npm run test on a hunch, and it errors out with "Could not find jekyll-sitemap-1.1.1 in any of the sources". joys of running this on windows...

Yes it seems they are several bugs on Windows (I'm on Windows too) a PR is open here #22477 we should report any issues here

Awesome to see this merged! You're amazing @bardiharborow. Super happy to see things consolidated :). Only hiccup has been some Sauce failures with running the Sauce grunt task. See #22395 and #22496. Unsure what's going on there just yet.

Would it make sense to have a npm run dist? I've been using the old grunt dist to just build CSS+JS, and found this to be roughly equal in the new build system (thought it does not do parallelism):
npm-run-all css-compile css-prefix css-minify js-compile-bundle js-compile-plugins js-minify


Firmware update instructions do not include or explain where to get the firmware image from

On this page:  https://github.com/Xinyuan-LilyGO/LilyGO-T-A76XX/blob/main/docs/update_fw.md
Step 5 has a screenshot of someone selecting a firmware .zip image to update with.
There is no explanation of where that comes from, and is is not included in the "A76XX_A79XX_MADL V1.13 Only for Update.rar" linked package.
Firmware update is needed, because the GPS has a critical bug in it: locations have leading zeros truncated from after the decimal point, and are missing their sign:   e.g.  -26.0043 gets reported as 26.43  ... which makes the GPS useless in most situations.
NOTE: I am talking about updating the firmware on the T-A7608SA GPS/LTE module, not the ESP32 firmware

What version are you using now?
Please send AT+SIMCOMATI inquiry

I get this:-
CGSM,+FCLASS,+DS\r\nDeviceInfo:\r\n\r\nOK\r\n'
AT+SIMCOMATI
Manufacturer: INCORPORATED
Model: A7608SA-H
Revision: A50C4B08A7600M7
A7600M7_B08V02_220929
QCN:
IMEI:<PHONE_NUMBER>95479
MEID:
+GCAP: +CGSM,+FCLASS,+DS
DeviceInfo:

OK

by the way - I am writing an open-source micropython driver for this

Hi @gitcnd
The following upgrade files are only applicable to A7608SA-H, please do not flash other versions.
Driver&Firmware
Recording

Understood - thanks heaps !!


Adding JsonFormatter Support to Monolog Handler

In the current iteration $record['formatted'] is a string, which is then used later used in an attempt to access message from. I can only imagine this was typo, or an oversight.
I have tested locally and this works now.

Hi! Issues can be created over in our main repo, https://github.com/open-telemetry/opentelemetry-php
It's not a typo, but it could be a bug, depending on which Monolog formatter you are using. We assume the default formatter: https://github.com/Seldaek/monolog/blob/main/src/Monolog/Handler/FormattableHandlerTrait.php#L42 and I guess you're not using that?

It's not a typo, but it could be a bug, depending on which Monolog formatter you are using. A formatter must be used: https://github.com/Seldaek/monolog/blob/main/src/Monolog/Handler/FormattableHandlerTrait.php#L42 and we configure NormalizerFormatter as the default, I am guessing you've chosen a different formatter?

That's correct, we're using the JsonFormatter. Our exact setup is in the context of Laravel of looks like this.
'otel' => [
    'driver' => 'monolog',
    'handler' => \OpenTelemetry\Contrib\Logs\Monolog\Handler::class,
    'with' => [
        'loggerProvider' => \OpenTelemetry\API\Globals::loggerProvider(),
        'level' => env('LOG_LEVEL', 'debug'),
        'bubble' => true,
    ],
    'replace_placeholders' => true,
    'formatter' => Monolog\Formatter\JsonFormatter::class,
],

Okay I've tested the following formatters

LineFormatter
HtmlFormatter
NormalizerFormatter
ScalarFormatter
JsonFormatter
WildfireFormatter
ChromePHPFormatter
GoogleCloudLoggingFormatter

The others listed here aren't relevant as far as I can tell.
The most recent commit will decode the JSON before populating the LogRecord. This is probably :100:% the desired behaviour, but it's notable that in my case using Loki that I am not required to use the Loki JSON Formatter. If folks really want to have a JSON being received by Loki they can do that in the Otel collector with the Loki exporter I believe.

@Spittal hi, sorry for the slow response. The build is failing on this PR, and it looks like the issue that Ago mentioned above

ping @Spittal


Create 3D pie chart markers

Is there any option to create 3D pie chart markers on leaflet map?

@TharaCJ At the moment there is not.  Hopefully that's not a deal-breaker for your project.  Would always be open to contributions if you feel that might be a useful feature.

Thanks for the update
On Thursday, February 1, 2018, Scott Fairgrieve<EMAIL_ADDRESS>wrote:

@TharaCJ https://github.com/tharacj At the moment there is not.
Hopefully that's not a deal-breaker for your project. Would always be open
to contributions if you feel that might be a useful feature.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/humangeo/leaflet-dvf/issues/123#issuecomment-362403445,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKOAJ0XDc949eNPFpUc0W8zG0EVWzH2qks5tQijygaJpZM4R05Y2
.


Using raw_id_fields for a ForeignKey to Page.

The popup when I click the search icon on a raw_id_field that is a foreign key to a mezzanine Page, directs me to: http://localhost:8000/admin/pages/page/?_to_field=id&_popup=1. If I click on a page, it doesn't close the popup and fill in the id, instead it opens the admin interface for the page inside the popup window.

Not something I've used myself, feel free to submit a PR if you get it working.


WebGL Lost Context

I am seeing the tool seemingly randomly crash with an WebGL context lost error.

This issue also only seems to occur on Chrome and does not occur on Firefix


Rename active subscription to current, everywhere

You mean the other way round (current_subscription -> current_subscription_vw)? Because else it conflicts with the method. (I was also thinking about renaming the method 'active_subscription' -> 'running_subscription' , but finally dropped the idea)


Argument for @NotNull parameter 'project' of com/jetbrains/php/completion/PhpCompletionUtil.createNamespacePredicate must not be null

Describe the bug
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'project' of com/jetbrains/php/completion/PhpCompletionUtil.createNamespacePredicate must not be null
Environment (please complete the following information):

PhpStorm version 2021.1.2
Plugin version 1.1.2

To Reproduce
Steps to reproduce the behavior (or attach video):
always write to latte file
Screenshots

@ViPErCZ try 1.1.3-RC1 - How to install EAP - https://github.com/nette-intellij/intellij-latte#testing-eap-versions

1.1.3 is released. In 1-2 business days will be available for download from PhpStorm


Refactor how resources are generated in Rust

This commit is aimed at refactoring the internals of resources in Rust to achieve a few goals:

Abstract the underlying representation of Box<T> into a library-defined representation rather than codegen-defined. This helps generate less code and makes it easier to read/test/understand in isolation.

Reduce the amount of resource-specific logic throughout the code generator by trying to stick to "iterate over this list of functions" with minor handling here and there for when the functions turn out to be resource-related methods/etc.

Move resource-related bits together in the code generator, for example type_resource now generates impls/etc for resources as one central location.

For now both imported and exported resources are using a new Resource<T> type where T contains the implementation of the intrinsics for the component model. In the future I'd like to change resources to internally use RefCell<T> to enable methods to take &mut self instead of &self which is part of the motivation for this change, but that's not done yet.
Additionally some of the refactorings in the code generator reflect the new structure of generated code. For example the type for a resource export may be imported twice now instead of just once -- once for the type itself (pub use'd under a well-known name) and once for export implementations (under a private _*Impl name).

cc @dicej


parsers/70-HTML.js - node html extract encoding problems

Current Behavior
When we extract an html containing accent characters, we receive from cheerio, an encoding html .
è -> é
Solution :
Adding an option for decodeentities Y/N (for cheerio.load() options)
change in code :
cheerio.load($(this).html().trim(),null,false).xml()

by
cheerio.load($(this).html().trim(),{ decodeEntities: false },false).xml()

more info about cheerio options: https://stackoverflow.com/questions/31574127/node-js-cheerio-parser-breaks-utf-8-encoding
Expected Behavior
Expected behavior could be to not change the original encoding
Steps To Reproduce
Scrap an html with accent charaters
extract an outerhtml from an element
Example flow
No response
Environment
all version

It looks like this probably should be against the node-red-nodes  repo


Count digit & Sum of Digit

Count digit & Sum of Digit

please star this repo so more people can reach out


Create a CLI for HAXcms

be able to ship a site totally via CLI, do theme development, make a new site, all the things needed to get tooling based workflows up to snuff. We'll need to do some additional abstraction and ensuring paths are all happiness in order to help do this. Also a node refactor would be nice but ya take what you can get for now..

alias haxcms="bash /var/www/html/scripts/haxcms.sh"
haxcms sitename deleteSite will execute the command against the site in question.

this now exists and can handle CLI commands. While not yet accepting all arguments, it can accept the ones required to run just any site based command. All the wiring is there to do all operations via CLI, we just need a way of lazy defining additional arguments or functions declaring what they need as valid input.


[BUG] ParticleContainer's shader never used scale & always use  uvs

When create ParticleContainer , there are some options :
     * @param {boolean} [properties.scale=false] - When true, scale be uploaded and applied.
     * @param {boolean} [properties.position=true] - When true, position be uploaded and applied.
     * @param {boolean} [properties.rotation=false] - When true, rotation be uploaded and applied.
     * @param {boolean} [properties.uvs=false] - When true, uvs be uploaded and applied.

But whatever  the values of  properties.uvs & properties.scale , in the ParticleShader ,  scale never be used ,   and uvs is always used. ( so properties.uvs must be true?)

Read the source code. Its about uploading into STATIC buffers and DYNAMIC ones. If you add element at index 0, everything will be re-uploaded. If you just change some props of elements, only dynamic properties will be re-uploaded.

I've update this issue. Please review this one again, thanks.

suggestion :

remove attribute vec2 aScale; in the shader source. it's needless. because scale has been compute in  ParticleRenderer's uploadVertices().

update the document about properties.scale in ParticleContainer.
in fact , when sprite's scale/frame/orig changed , users have to set  scale:true .
though that option  named scale , but it's not only about sprite.scale.

Closing as looks like there were a couple of commits that fixed this


KAFKA-17336 Add IT to make sure the production MV does not use unstable version of LIST_OFFSET

Jira: https://issues.apache.org/jira/browse/KAFKA-17336
Due to the server config UNSTABLE_API_VERSIONS_ENABLE_CONFIG is true, so we can't test the scenario of ListOffsetsRequest is unstable version. We want to test this case in this PR
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

If ListOffsetRequest latestVersionUnstable is true, the testResponseIncludesLeaderEpochWithUnstableAPIs should be fail,  This is my local test result

Thanks for @junrao, @chia7712, @jolshan, I already addressed these comments on this PR.

@m1a2st could you please check the following usage?

https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/log/LogManager.scala#L593
https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/server/KafkaApis.scala#L2531
https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/server/KafkaApis.scala#L1901
https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/server/KafkaApis.scala#L1802
https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/server/KafkaApis.scala#L458
https://github.com/apache/kafka/blob/65786fecbf6b466182e9daba7c27bd6a3e13d45c/core/src/main/scala/kafka/server/KafkaApis.scala#L1832

I don't list other usages belonging to zk broker, but it would be great that @m1a2st you can do double-check :)

Hello @chia7712, If modify KafkaApis, some tests in KafkaApisTest will be fail.

shouldThrowUnsupportedVersionExceptionOnHandleTxnOffsetCommitRequestWhenlnterBrokerProtocolNotSupported
shouldThrowUnsupportedVersionExceptionOnHandleAddPartitionsToTxnRequestWhenlnterBrokerProtocolNotSupported
shouldThrowUnsupportedVersionExceptionOnHandleWritelxnMarkersRequestWhenlnterBrokerProtocolNotSupported
rejectSyncGroupRequestWhenStaticMembershipNotSupported
rejectHeartbeatRequestWhenStaticMembershipNotSupported
shouldThrowUnsupportedVersionExceptionOnHandleAddOffsetToTxnRequestWhenlnterBrokerProtocolNotSupported
rejectJoinGroupRequestWhenStaticMembershipNotSupported
shouldThrowUnsupportedVersionExceptionOnHandleEndTxnRequestWhenlnterBrokerProtocolNotSupported
rejectOffsetCommitRequestWhenStaticMembershipNotSupported

Are the 14 test failures related to this PR?

tests with JDK 11 are not completed. @m1a2st Could you please rebase code to run CI again? the other failed tests pass on my local.
./gradlew cleanTest :streams:test --tests QueryableStateIntegrationTest.shouldBeAbleQueryStandbyStateDuringRebalance :tools:test --tests MetadataQuorumCommandTest.testDescribeQuorumStatusSuccessful --tests TopicCommandIntegrationTest.testDescribeWithDescribeTopicPartitionsApi :storage:test --tests TransactionsWithTieredStoreTest.testSendOffsetsToTransactionTimeout :connect:mirror:test --tests DedicatedMirrorIntegrationTest.testMultiNodeCluster :core:test --tests DelegationTokenEndToEndAuthorizationWithOwnerTest.testNoConsumeWithoutDescribeAclViaSubscribe --tests TransactionsBounceTest.testWithGroupId --tests ShareGroupHeartbeatRequestTest.testPartitionAssignmentWithChangingTopics --tests DynamicBrokerReconfigurationTest.testTrustStoreAlter --tests TransactionsTest.testSendOffsetsToTransactionTimeout

the other failed tests pass on my local.

These tests passed on my local exclude ShareGroupHeartbeatRequestTest.testPartitionAssignmentWithChangingTopics, It's a flaky test, I ran about 150 times on this PR and trunk that all pass.

These tests passed on my local exclude ShareGroupHeartbeatRequestTest.testPartitionAssignmentWithChangingTopics, It's a flaky test.
I pass this test about 150 times on this PR and trunk.

I will take a look later.

ShareGroupHeartbeatRequestTest.testPartitionAssignmentWithChangingTopics is flaky on trunk too. I have filed jira: https://issues.apache.org/jira/browse/KAFKA-17359

The other failed tests pass on my local.
./gradlew cleanTest :streams:test --tests StreamsAssignmentScaleTest.testStickyTaskAssignorLargePartitionCount :tools:test --tests MetadataQuorumCommandTest.testDescribeQuorumStatusSuccessful :streams:streams-scala:test --tests StreamToTableJoinScalaIntegrationTestImplicitSerdes.testShouldCountClicksPerRegionWithNamedRepartitionTopic :metadata:test --tests QuorumControllerTest.testFenceMultipleBrokers :core:test --tests ConsumerBounceTest.testConsumptionWithBrokerFailures --tests DelegationTokenEndToEndAuthorizationWithOwnerTest.testProduceConsumeViaAssign --tests SslConsumerTest.testCoordinatorFailover --tests ZkMigrationIntegrationTest.testMigrateTopicDeletions

https://issues.apache.org/jira/browse/KAFKA-16636
https://issues.apache.org/jira/browse/KAFKA-16174
https://issues.apache.org/jira/browse/KAFKA-17408
https://issues.apache.org/jira/browse/KAFKA-15146
https://issues.apache.org/jira/browse/KAFKA-16634
https://issues.apache.org/jira/browse/KAFKA-8250
https://issues.apache.org/jira/browse/KAFKA-15146
https://issues.apache.org/jira/browse/KAFKA-16024
https://issues.apache.org/jira/browse/KAFKA-16045


[FLINK-18301][e2e] Backup kafka logs on failure

Java e2e tests backup kafka logs on failure, similarly to what we do with the Flink logs.
There is a fair amount of duplication with the Flink resource, and we may want to look into ways to reduce this. I would still like to merge it already, because this could be really helpful for debugging the kafka instabilities we have at the moment.

@rmetzger You can see it in action here; i caused the test to fail on purpose.

Very nice, thanks.


Examples with rest services

I have trying to use Eureka to deploy rest services, but then the current examples are standard main method eureka-examples ones. Are they are neat tricks so that deploying rest services are easy. Would appreciate if an example is shared for the benefit of all users.
Cheers !!
DareUrDream
P.S - I know spring integration can do it but am trying to achieve this without using the integration projects.

We don't have guidelines for that, use whatever you're most comfortable with. We internally leverage Spring for Java services, see https://www.youtube.com/watch?v=mln3_o6qlBo


Reverse Rotary Encoder direction

SOLVED
Hello,
Thx for the firmware that I've just implemented on my ATS20 (USB C version).
I'd like to reverse the rotary encoder direction like it was suggested by SV2HZT
"To reverse Rotary Encoder direction in arduino IDE line 235 should be g_encoderCount = (encoderStatus == DIR_CW) ? -1 : 1;"
Can someone explain me how to modify the .hex to  re-flash my device with the proper values ?
Regards
Angel

So I've downloaded Arduino IDE 2.3.4
Created a folder named ATS_EX inside which is ATS_EX.ino
Now I can open the .ino and change the values...
How do I recompile this now ???

Compilation error: SI4735.h: No such file or directory

It works !
There were just libraries missing !
I followed this tuto
https://github.com/patomoi/ATS-20-Starter-Pack

download release
extract ...(and modifiy as suggested above for the rotary encoder to behave well)...
install CH341 Driver
open Arduino ide and update libraries (pu2clr/SI4735, Tiny4kOLED, TinyOLED-Fonts)
open sketch of you interest (the examples included here [with-without bat mod] or the original included in library -update: this sketch is now in the library exemples-) ...(and modifiy as suggested above for the rotary encoder to behave well)...
verify and upload
if a memory issue happens, go to bandtable section and comment (//) the bands that you not use ( pick 1 FM band and 1 MW band )

I'm very happy to have helped myself :)
Issue solved hope this will help newbies as me !
Merry Christmas

Hello folks.
Any chance someone would share the modified .hex file for reversed encoder?
Thanks in advance, and Season's Greetings to all.

Hello
I don't know how to compile the Hex file to reverse the encoder but uploading the modded file on the ATS is easy with Arduino IDE. I've followed this tuto https://github.com/patomoi/ATS-20-Starter-Pack
To summarise

 Install CH341 driver and look in the device manager (right click) if your radio is COM 3 or COM 4 ... when you connect it.

 Install and open Arduino IDE
   1. In Tools/Manage Libraries Search and install (pu2clr/SI4735, Tiny4kOLED, TinyOLED-Fonts)
   2. In Tools/Board Choose your board (Mine is Uno) like the manual said (https://github.com/goshante/ats20_ats_ex)
      - Identify your board as described here There are two types of ATS-20 receivers: Those on Arduino Nano and those on
      - Arduino Uno. They are quite easy to  distinguish. You need to disassemble... This is important to know before flashing...
   3. In Tools/Port choose the port COM 3,4,etc... that you've seen in the device manager

 Download the release file (https://github.com/goshante/ats20_ats_ex/archive/refs/tags/v1.18.zip) and unzip it

 In Arduino IDE/File/Open Open ATS_EX.ino from the zip file you've unzipped
  Then In the ATS_EX.ino tab modify line 235 from "g_encoderCount = (encoderStatus == DIR_CW) ? **1 : -1**;" to **-1:1**

On the upper left corner click Verify button (V) then power ON your Radio, when it is ON click on Upload (the right Arrow)

Reset EEPROM memory. To do this just hold the Encoder Button while turning receiver ON.

Enjoy
Angel

Thanks. The .hex file is found in a subfolder of %TEMP% after compilation.
I wanted to avoid going through the installation of the Arduino IDE and learning it. Hence my asking for the .hex file.
My ATS20+ is one of the batches with a defective USB COM port, so I have to use an USBasp programmer. Your scenario still mostly applies anyway.
I'll go with the IDE then.
All the best
Alain

https://github.com/goshante/ats20_ats_ex/releases/tag/v1.18
In the source code zip you've got all the necessary so when you open ATS_EX.ino from the unpacked archive all the dependencies are open together. You can see the tabs and modify the code you want. Then if you've updated the 3 libraries and chosen the right platform and the right COM port, all should be ok.
The .hex and .zip formats aren't supported...
Alain sounds like a Francophone name... Peut être pouvons nous échanger en Français ;)
Angel

Here it is
ATS_EX.ino.hex.zip
Hope this is what you're looking for
Angel

Merci. Oui nous pourrions échanger en Français, mais pour que tout le monde puisse profiter de ces échanges, c'est sans doute mieux de rester en Anglais.
I think that I have everything set up correctly. The sketch compiles with quite a few errors, none fatal: redefinitions, ISO C++ not compliant code, default arguments etc. Ends up with:
Sketch uses 30708 bytes (99%) of program storage space. Maximum is 30720 bytes.
Global variables use 1245 bytes (60%) of dynamic memory, leaving 803 bytes for local variables. Maximum is 2048 bytes.

Do you get the same values?
Just saw your download link. I'll check against mine. Thanks again.
I think I might be better opening a new issue for this discrepancy in hex files instead of polluting this one.

I've got this

Le croquis utilise 30708 octets (95%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 1245 octets (60%) de mémoire dynamique, ce qui laisse 803 octets pour les variables locales. Le maximum est de 2048 octets.

The only difference is the 95% vs 99% you have... Maybe a memory issue ???
Yes opening a new issue should be a better choice.
@+
Angel

I've got this

Le croquis utilise 30708 octets (95%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 1245 octets (60%) de mémoire dynamique, ce qui laisse 803 octets pour les variables locales. Le maximum est de 2048 octets.

The only difference is the 95% vs 99% you have... Maybe a memory issue ??? EDIT or the bootloader ?

No. That's because you've probably set Board = Arduino Uno instead of Arduino Nano. I just checked with that setting and I now get the same message as yours (language set aside):
Sketch uses 30708 bytes (95%) of program storage space. Maximum is 32256 bytes.
My ATS-20+ definitely has an Arduino Nano. I don't know about yours and I don't know how critical it is to have it set correctly.
Merci pour ces échanges et bonne année
Alain


Add handlers to the group-component

Add handlers to the group-component, wich influence the children within,  so you don't have to declare the same property handler for each specific children, for example:
good:
Symbol(name: "folder-fill")
    .foregroundColor(.yellow)
Text {
    "Text"
}
.foregroundColor(.yellow)

better:
Group {
    Symbol(name: "folder-fill")
    Text {
        "Text"
    }
}
.foregroundColor(.yellow)

Add a role-handler with roles like 'nav', 'toolbar' etc. for accessibility reason.


Single left click on folder to display subfolders, in left pane.

Left clicking on a folder displays the folder contents and sub folders in the right pane.
Double left clicking the same folder displays the subfolders in the left pane.
As much as this might sound like Heresy/breakign with tradition etc :
A single left click on a folder can display the sub folders!
Why would you want this? Speed.
It is much faster to browse through folders that have sub folders if you
do not have to double click every single time you open one.
( No "expand branch" is not useful here. It opens all folders etc = Chaos. this is very bad. )
In win 7 etc  you can do this by clicking on the -+ next to the folder.
But this is actually annoying as the -+ is quite small and you have to
snipe it with the mouse.  No good!
Obviously this would have to be a toggle able feature.
Or an option in WinFile.Ini
Thanks!
Ps. To close a folder you simply single left click on it again. Too easy!

The current behavior is standard for Winfile and many other other filemanagers on Windows since ages, so I doubt we will change this.

https://user-images.githubusercontent.com/7418603/184587854-5e73c081-6954-44b8-8f8b-e4cd023972ca.mp4

The current behavior is standard for Winfile and many other other filemanagers on Windows since ages, so I doubt we will change this.

Yes that is it but I am not sure how you are doing it.
I can do it by expanding the windows folder then scrolling down a bit, then closing the windows folder.
The tree snaps back to the top and the windows folder is not under my mouse pointer...
What I would like to see happen is the widows folder closes and stays under the mouse pointer.
Like it does IF you do not scroll down ..
The "tweaking" of the GUI to make it perform better is not heresy. MS were particularly bad at making
mature designed UI and still to this day are fumbling around like idiots.
Here is a design ideal:
Things do not visually jump around.
( it is visually disturbing AND causes loss of focus on the thing at hand )
As I have already mentioned:
Some people would consider you a hero for attacking these abominations.
( I am happy to casually bath in the reflected glory etc )
People who have to deal with extreme foldering will be impressed.
You have made a good assault on this issue, now finish the job!
My warmest regards,
: - )


Python gRPC client could not connect to server with a proxy through gateway

What version of gRPC and what language are you using?
grpcio 1.44.0 installed by pip
What operating system (Linux, Windows,...) and version?
Linux, kernal 5.16
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.6
What did you do?
I start a gRPC server by add_insecure_port('[::]:8980') and use gRPC client with grpc.insecure_channel("localhost:8980")
On my PC, I have set http_proxy and https_proxy, the code works.
But on company server (connect should be performed through gateway), the client could not connect to server and error message is failed to connect to all addresses. And the proxy environment variable is also set. And after I unset them by export http_proxy= the code works.
However, the Java gRPC does not has this issue.
What did you expect to see?
I think the proxy has nothing to do with the gRPC connection through localhost? The gRPC Python should work with or without the proxy setting, or gateway config. And Java gRPC works well, Python behavior should be the same?
Also, there is an issue almost the same with mine: https://github.com/grpc/grpc/issues/15942

@yashykt Can you please take a look?

I'm not sure what Java is doing here but it looks like all you want here is to set no_proxy or no_grpc_proxy to include localhost so that the proxy is not used there.


Change Tor identity (IP address)

It would be great if node-ths included an API method to change the Tor identity (IP address), like what is in this gist https://gist.github.com/estliberitas/4448496 (linked from http://stackoverflow.com/questions/19498796/how-to-let-tor-change-ip-in-nodejs), so you could do something like ths.changeIdentity().

Hi rightaway,
Just to clarify.  The NEWYM control port command tells your tor client to rebuild new circuits.  The command is documented here: https://gitweb.torproject.org/torspec.git/tree/control-spec.txt#n414
When you are referring to 'tor identity', I believe you mean the IP address for your exit node, is this correct?  If so, yes you would very likely have a different exit node (with its corresponding IP) after rebuilding circuits.  Circuits are rebuilt automatically every 10 minutes by default.
I'm not sure how the NEWYM command relates to Tor hidden services.  It seems to me that it would only affect outgoing connections.
You could use the code from the gist you referenced to communicate with the tor instance that node-ths has started for you.  I feel that the cookie authentication being used by your gist is overly complicated, and node-ths sets up the control port to use a password.
You can use ths.controlPass() to determine the current password.  The default control port number is 9998.
Also, I have created this module as a companion to node-ths for sending arbitrary control port commands: https://github.com/mattcollier/tor-control

Yes I believe the NEWYM command relates to outgoing connections and doesn't have much to do with hidden services. Thanks for creating this!


Add native support for twoslash comment queries

Suggestion
const hi = "Hi"
const msg = `${hi} world` as const
//    ^?

Should add an inline recommendation to editors what the type is at msg.
I think there are a significant amount of new TypeScript users who are learning the language through video tools/tutorials. Probably much more than we expect. Lots of the folks teaching use this syntax via a vscode extension I wrote a few years back.
I initially punted on discussing internally about upstreaming it into TSServer, but I've slowly turned around on the idea as it feels like the teaching community is changing to be more video focused. So, I think it's worth the complexity, at least to bring it up.
🔍 Search Terms
inline comments show types messages print types twoslash
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
TSServer already has inlay hint support for other features, so it would be expanding support, perhaps that means at parse/bind time checking comments for  // ^? and caching their locations, then printing the results when an editor asks for hints in a particular range.
The current code simply uses the same kind of regex as the TSC tests
export function activate(context: vscode.ExtensionContext) {
  const provider: vscode.InlayHintsProvider = {
    provideInlayHints: async (model, iRange, cancel) => {
      const offset = model.offsetAt(iRange.start);
      const text = model.getText(iRange);
      const results: vscode.InlayHint[] = [];

      const m = text.matchAll(/^\s*\/\/\s*\^\?/gm);
      for (const match of m) {
        if (match.index === undefined) {
          return;
        }

        const end = match.index + match[0].length - 1;
        // Add the start range for the inlay hint
        const endPos = model.positionAt(end + offset);
        const inspectionPos = new vscode.Position(
          endPos.line - 1,
          endPos.character
        );

        if (cancel.isCancellationRequested) {
          return [];
        }

        const { scheme, fsPath, authority, path } = model.uri;
        const hint: any = await vscode.commands.executeCommand(
          "typescript.tsserverRequest",
          "quickinfo",
          {
            _: "%%%",
            file: scheme === 'file' ? fsPath : `^/${scheme}/${authority || 'ts-nul-authority'}/${path.replace(/^\//, '')}`,
            line: inspectionPos.line + 1,
            offset: inspectionPos.character,
          }
        );

        if (!hint || !hint.body) {
          continue;
        }

        // Make a one-liner
        let text = hint.body.displayString
          .replace(/\\n/g, " ")
          .replace(/\/n/g, " ")
          .replace(/  /g, " ")
          .replace(/[\u0000-\u001F\u007F-\u009F]/g, "");
        if (text.length > 120) {
          text = text.slice(0, 119) + "...";
        }

        const inlay: vscode.InlayHint = {
          kind: 0,
          position: new vscode.Position(endPos.line, endPos.character + 1),
          label: text,
          paddingLeft: true,
        };
        results.push(inlay);
      }
      return results;
    },
  };

📃 Motivating Example
I think there are 2 main uses for this, and I've framed the initial part of this issue as being about education because that's what changed my opinion. The other part is that it is genuinely useful to pull out types while you are working on a more complex type, in which case twoslash comments act like a way of seeing your work in progress on complex types.
For example when I built a "wordle" in the type system, each type I created I would create an example of it in use and print it in order to see how types flow through the system. You can see a few left in here:  https://t.co/OmXoSdi1Y1
Downsides
There are a few interesting downsides to the syntax, which I think are fine but at east worth highlighting:

Hard to copy them https://github.com/orta/vscode-twoslash-queries/issues/21
Can't highlight an identifier on the first 2 chars

Extensions
We could also add support for drilling into the types:
type Person = {
  name: string;
  address: {
    line1: string;
    country: string;
  }
}

const person = bob;
//     ^?['address']  { line1: string; country: string }

VSCode and Rust has "inline typehints"

They show the types in gray (even though you haven't typed them). That could work for Video tutorials as well, but I prefer those in normal coding as well.

I just found out that VSCode TypeScript supports inline type hints:

It doesn't work for const for some reason but it does for let... It of course works if you use only VSCode during your video lectures.

It doesn't work for const for some reason

If you write e.g. const foo = "bar" then the type is "bar" so the inlay hint isn’t shown since it would be redundant.  Outside of that you should still get inlay hints for const.

the teaching community is changing to be more video focused

I’m probably in the minority on this but I always felt like video was the wrong medium for teaching programming, because there’s very little temporal component to it.  Sure, it takes time to enter code, but that’s entirely mechanical; if I could beam all the code I need into the computer at once with just my thoughts, I would.  Thus why AI tools like GitHub Copilot are successful.
Then again, I’ve always learned better from API references than coding tutorials (which tend to just make me impatient), so yeah.

Yep, the inlay hints feature in editors is what this feature on the playground and the vscode extension linked, the current support doesn't handle the types of sorts of features I was showcasing though (and for me are mostly noise).
Hah, everyone trying to drag my proposal off-topic! I also prefer text, but the availability + accessibility of youtube (and maybe tiktok? though I struggle to imagine it's a great learning tool for depth) have changed what its like at the beginning of expertise even if it's not really doing much for the intermediate to experts for a topic!

Hah, everyone trying to drag my proposal off-topic!

Yep, sorry about that. 😅

For written content, it’d be great to state the inferred type and have a tool check that it’s correct – e.g.:

I just used the Playground and it’s neat that the ^? syntax already works there.
For written content (printed books, blog posts, etc.), I’d love to additionally be able to state the inferred type and have a tool check that it’s correct – e.g.:
const str = "Hello" as const;
//     ^? const str: "Hello"

Alternative 1 – shorter:
const str = "Hello" as const;
//     ^? "Hello"

Alternative 2 – prefix:
// @inferred-type: "Hello"
const str = "Hello" as const;

There is support for that as an eslimt plugin, https://github.com/JoshuaKGoldberg/eslint-plugin-expect-type/pull/47

This would be a VS Code or other editor thing, since there's (AFAIK) nothing TS Server could tell the editor to do here that would make this happen automatically.

VS Code would need a minor change to always ask for inlay hints, but I'd expect the core of the support to live in provideInlayHints in TSServer which is what does all the heavy lifting for this in here

My vscode seems to be working already, version 1.75.1:

++ to improving the extension discoverability && adding additional language support -- a simple step could be TS-ish languages like Astro components :)
comment queries for rust-analyzer when 👀

comment queries for rust-analyzer when 👀

With the linked code:
return vscode.commands.executeCommand<vscode.Hover[]>(
	'vscode.executeHoverProvider',
	editor.document.uri,
	editor.selection.active);

The extension generalizes to any language which has a hover provider. The trick is just finding the comments.

comment queries for rust-analyzer when 👀

With the linked code:
return vscode.commands.executeCommand<vscode.Hover[]>(
	'vscode.executeHoverProvider',
	editor.document.uri,
	editor.selection.active);

The extension generalizes to any language which has a hover provider. The trick is just finding the comments.

Is there an LSP version of this that generalizes to use in other editors like Neovim, etc? Something that @Erika was thinking of as an approach.

Every editor has its own way of hooking into LSP, so, every editor will have (or not have) a way to call the language servers its interacting with. I can't really offer any recommendations to that end.

err I'm thinking of it more from the "if I, the LSP, see a comment with this structure, I'll add an inline hint that shows the type of the identifier the comment "points" to"

That's basically what this issue was asking for (though, TS does not use LSP), with the caveat that there is no LSP API which allows you to arbitrarily tell the client to render inlay hints; only an API where the client can request them and the server answers (which TS already implements).

It's a request that tsserver implement a new feature that does (or does something like) inlay hints for // ^?, and that VS Code supports it, however that might work. This issue has nothing to do with the LSP as TypeScript's tsserver does not implement the LSP.

comment queries for rust-analyzer when 👀

With the linked code:
return vscode.commands.executeCommand<vscode.Hover[]>(
	'vscode.executeHoverProvider',
	editor.document.uri,
	editor.selection.active);

The extension generalizes to any language which has a hover provider. The trick is just finding the comments.

Now I have implemented support for both Golang and Python using this feature.

It is true that the current TypeScript LSP cannot provide more structured data, which is a difficult point for plugin development. Providing more support in this aspect would be very helpful for me.

@NWYLZW where can I find this implementation? (esp for Golang)

@NWYLZW where can I find this implementation? (esp for Golang)

https://marketplace.visualstudio.com/items?itemName=YiJie.vscode-comment-queries
https://github.com/NWYLZW/vscode-comment-queries/blob/main/langs/golang/main.go


Add information on using pre-built / contributed dashboards.

The docs don't currently mention this possibility, leaving new users to either assume this doesn't exist or begin googling on how to do this...

Some spelling nits commented upon.
@grobie as our Grafana expert, please check the content.

Reworked based on suggestions.  Partially rewritten for clarity (hopefully).

:+1: besides last nits. Thanks!

Thanks!


Position of infowindows is not correct when the time slider widget is present

Infowindows are not showing up in the right position when the time slider "widget" is present. For some reason, there's some vertical offset (approximately the height of the times slider widget).

Resizing the window seems to fix the issue.

Seems the map is not well positioned the first map the page is rendered. If you slightly resize the window it is repositioned and tooltips are well located.
Looking for the issue.

Also, it seems to work fine when using cartodb.createVis with the gmaps_base_type: 'satellite' option.

At least for Leaflet, map is rendered before widgets are added to the page, that means the map is initially rendered taken the whole window size to compute its center. Later widgets are added, which borrows some space, but the map is not notified about that.
We need a way to recompute (or invalidate) the map size so it must re-render again.

See #815. Solved in https://github.com/CartoDB/cartodb.js/commit/b2fef44f804731c0cb38f8ea3a687d6aac2fd40e


Maneuvers + Weapons

Maneuvers for killing weapons do not factor the STR requirement for a weapon and give more damage than should.  If there's a way we can make it so a maneuver uses a weapon for it's base.

I'll add equipment STR minimum to the list of things to work on.  Not sure how I'm going to handle maneuvers with equipment, never used or seen that before.

https://docs.google.com/spreadsheets/d/1LfdumPBq2jiX2cA1qdowwzuFxxdQ1scalss8DnxEfGs/edit?usp=sharing


Support non-global author configuration

Hi there,
Firstly, thanks very much for providing this tool - I've been pairing a lot more recently, and it's been really handy.
Frequently I would like to specify git-pair configuration that differs on different laptops or projects. To achieve this I use local or included git configuration as appropriate, editing them manually rather than using git-pair's --add flag.
To support this, I've queried the configured authors from all applicable configuration, instead of just the --global scope (this now matches the approach taken for fetching the pattern config). I haven't touched the setter options - these still write to the global scope as before.
Hope this is of use - no worries whatsoever if you'd rather not accept modifications to a long-stable gem, though. :smiley:

Hi,
thank you for your contribution. This is very much appreciated.


[worker-loader] window is not defined

Version
3.0.1
Reproduction link
https://github.com/screendriver/vue-cli-worker-loader-bug
Node and OS info
Node 10.9.0 / yarn 1.9.4 / macOS high sierra
Steps to reproduce
Just do a yarn serve and open http://localhost:8080 in your browser. You can see the error immediately.
What is expected?
Should not throw Uncaught ReferenceError: window is not defined.
What is actually happening?
Throws the error and doesn't work.

I ran into similar issues in a worker-loader + webpack-worker-wrapper setup. You can work around it by adding this to your vue.config.js :
module.exports = {
  chainWebpack: config => {
    config.output.globalObject('this')
  }
}

... and doing something like this in your worker.js files :
import workerGlobals from './workerGlobals.js'

and in workerGlobals.js
//Comment the lines you don't need.
global.process = process
window = undefined

this work for me, add to vue.config.js
  configureWebpack: {     output: {       globalObject: 'this',     },   },

Oh it works. Great!
Maybe it would be a good idea to include that webpack loader directly into vue cli? 🤔

Take a look to #2286!

@Kocal that "just" fixes the issue where I have to add configureWebpack: { output: { globalObject: 'this', }, } manually to my project but not that worker-loader will be add by vue-cli automatically (or via propmt) 😉


Patched version of Qt5Core cannot be signed for MacOS

From version 1.0.0b3 (1.0.0b1 works, 1.0.2b2 not tested) Qt5Core cannot be signed using macdeployqt for MacOS. I assume it's because of patching as I see the changelog and history of the repository.
Error:
ERROR: "/Applications/Xcode_11.3.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: the __LINKEDIT segment does not cover the end of the file (can't be processed) in: /bin/App.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore\n"

Command used: macdeployqt App.app -hardened-runtime
Qt Version: 5.14.2
macOS: 10.14
XCode: 11.3.1

On discussions at  https://github.com/miurahr/aqtinstall/issues/100#issuecomment-623913628 patching QtCore is introduced. After 1.0.0b2, patching is done for all platforms.
The discussion tell us Qt version 5.14.0 and later are relocatable.  https://www.qt.io/blog/qt-is-relocatable
Should not be Qt 5.14.2 on Mac  patched?

It seems regression that patching QtCore is necessary for < 5.14.0 but v1.0.0b2 and later do it for all versions.

#212 handle the case.
@Aksem could you help us to produce a regression test case to detect same regression?

@miurahr , yes it works again!
What info do you need for a regression test case or how can I help with it?

There are github actions test cases.
You may be able to add some command to it to reproduce the case, for example,  running macdeployqt.

This also manifested itself as:

./Mudlet-4.10.1-testing-pr4746-c87b784c.app: main executable failed strict validation
In subcomponent: /Users/runner/work/Mudlet/b/ninja/Mudlet-4.10.1-testing-pr4746-c87b784c.app/Contents/Frameworks/QtCore.framework

Thanks for fixing it!


Allow setting context of status

https://developer.github.com/v3/repos/statuses/

Statuses can include a context to indicate what service is providing that status. For example, you may have your continuous integration service push statuses with a context of ci, and a security audit tool push statuses with a context of security. You can then use the combined status endpoint to retrieve the whole status for a commit.

implemented in #3

closed by https://github.com/jquast/ghstat/pull/3


⚠ Jenkins Plugins Artifactory has degraded performance

In 42e2df7, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1068 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 55f5935 after 1 hour, 9 minutes.


minifier: odd auto-definition in 1.2.74

This one is harder to isolate for now.
The result i get is:
var Ua
S.exports = (_defineProperty(Ua = (_createClass(Ua, [{
				key: "init",

Uncaught TypeError: Cannot read property 'prototype' of undefined
at _createClass (site.min.js:2)

I attach the source (bundled by another tool). It's messy...
Likely comes from that part:
module.exports = class BlockView {

however i tried to isolate it and couldn't reproduce.
bundle.js.gz

Did you use transform? What was your .swcrc?
_createClass  is injected by swc or babel, so I couldn't reproduce it.

{
	"sourceMaps": false,
	"jsc": {
		"loose": true,
		"parser": {
			"syntax": "ecmascript",
			"classPrivateProperty": true
		},
		"target": "es3",
		"minify": {
			"compress": true,
			"mangle": true
		}
	},
	"minify": true
}

i'll check with 1.2.76 if this happens again, and close or report further info accordingly.

Nailed it !
Using swc 1.2.76
class ClassA {}

module.exports = class ClassB {
	static MyA = ClassA;

  it() {
    this.bb = new ClassB.MyA();
  }
}

and .swcrc as the one above.

Thank you a lot! Reducing a test case is the most hard part :)


Key support of mode change

Implement key support to change the current state.
This is currently not possible because if the value of the RadioButtons is set, the on command is not executed. Consequently, a switch with the different states is required again what is to avoid.
Maybe it is possible to invoke the oncommand event externally.

Switching the state is not necessary that often so key support would not add much to the usability.


Update readme to improve "using in production"

Following this Issue: https://github.com/hoodiehq/hoodie-log/issues/40#issuecomment-368702007
In addition to this merged PR: https://github.com/hoodiehq/hoodie-log/pull/41
Includes information about how to access process.env.NODE_ENV in code.

@gr2m I was wondering whether it would be better to include more info about NODE_ENV in the Readme. Not sure how you guys at Hoodie feel about it.

yeah I was wondering about it, I thought maybe instead of adding more information about that, we should avoid it in the first place.
Maybe just remove the if statement altogether and just leave
log.level = 'error';

Deciding whether an app is running in production or not is out of scope of hoodie.log

@gr2m yeah I think that's sensible, let me fix.

else we could use some pseduo code
if (isProduction) {
  log.level = 'error';
}

that way people won't accidentally disable for all environments

sounds good, let’s do that


refactor: Chat options

Overview

Added and exported 2 new interfaces, ChatOptions, TranslateOptions.
Made ChatOptions parameters optional.
Made TranslateOptions interface to replace the object type what was there before.

Oo! Tysm for the PR :)

I'll merge it in.