I've been browsing this repo a lot, looking for a solution/guide on how to install it on Windows CMD. By the way, I'm using Oh-My-Posh and CLink for both my CMD and PowerShell. There seems to be no proper solution/guide on this topic, but I'll list out all the issues that I've read so far:

https://github.com/nvbn/thefuck/pull/1329
https://github.com/nvbn/thefuck/issues/626
https://github.com/nvbn/thefuck/issues/1035

I've also read this manual: https://github.com/nvbn/thefuck/wiki/Shell-aliases and have successfully installed it on PowerShell. The manual doesn't seem to include installation for CMD. However, I can't get it to work on 'CMD`. Perhaps I've just overlooked the proper documentation, I'd appreciate it if someone were to direct me to the solution 😇

Why are you using cmd instead of powershell?????

Is it a cardinal sin to use CMD over Powershell? Anyways, it doesn't answer my question

Succeed at https://github.com/nvbn/thefuck/issues/626#issuecomment-1238907493


Adding Integrations Test.

Adding integration testing to the project. Using best practises around integration testing.

Work in progress.


shell: Move default terminal width and height to Kconfig

Default values were fixed in the code. Moved to Kconfig to allow
customized configuration. Custom configuration may be used to prevent
line breaking injected on terminal width.
Fixes #25246.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

@jakub-uC I'm also wondering if terminal_hei should not be removed at all. I noticed that it is nowhere used, only assigned. What do you think?

@nordic-krch  You are correct. I think that it might be used in future if we will implement some sophisticated ASCII art :) Until then it will be obsolete because the shell internally calculates lines count.


Add a helper function for instantiating templates that have many bool parameters.

Implemented the CreateBoolInstantiatedInstance function for alleviating the tedious work of instantiating templates that have many bool parameters (say >= 4).
This helper function will be used in the upcoming string pattern matching PR.
The scenario for using this helper function is that, suppose we have a class where all template parameters are bools:
template <bool c1, bool c2, bool c3>
class SomeClass : BaseClass {
  // This simple function will be invoked in computationally-intensive loops.
  inline SomeType someSimpleFunction(...) {
    if (c1) {
      doSomeThing1();
    }
    if (c2) {
      doSomeThing2();
    }
    if (c3) {
      doSomeThing3();
    }
  }
};

Typically, this bool-parameterized template is for performance consideration.
That is, we would like to make a copy of code for each configuration of bool values, so that there will be no branchings in someSimpleFunction().
The problem is that, to conditionally instantiate the template, given bool variables c1, c2, c3, we have to do something like this:
if (c1) {
  if (c2) {
    if (c3) {
      return new SomeClass<true, true, true>(some_args...);
    } else {
      return new SomeClass<true, true, false>(some_args...);
    }
  } else {
    if (c3) {
      return new SomeClass<true, false, true>(some_args...);
    } else {
      return new SomeClass<true, false, false>(some_args...);
    }
  }
} else {
  ...
}

Then there will be power(2,N) branches if the template has N bool parameters, making it tedious to do the instantiation.
Now, this helper function can achieve the branched instantiation in one
statement as:
return CreateBoolInstantiatedInstance<SomeClass,BaseClass>(
    std::forward_as_tuple(some_args...), c1, c2, c3);

Nice @jianqiao! LTGM a soon as Travis comes back green.

Merging.

@jianqiao Sorry for the late comments, but there are style issues to fix.

@zuyu Thanks! Will send a new PR to fix the style issues.


Should Flask-Admin use Flask-WTF?

I'd like to suggest that flask-admin uses flask-wtf by default for its forms. Primarily, this would mean that flask-admin gets CSRF support out the box and is secure by default, which is a good thing.
Flask-WTF does all the hard work to make CSRF work, flask-admin (or users) shouldn't have to duplicate that work.
I know there were some issues blocking adoption of WTForms 2 but those appear to be resolved. I'm using wtforms==2.0.2, flask-admin==1.1.0 and flask-wtf==0.11 without any hassles. Is there anything technically stopping flask-admin from doing this?
I currently use this code block to ensure that I get CSRF support from flask-wtf:
# Our base form extends flask_wtf.Form to get CSRF support,
# and adds the _obj property required by Flask Admin
class BaseForm(flask_wtf.Form):
    def __init__(self, formdata=None, obj=None, prefix=u'', **kwargs):
        self._obj = obj
        super(BaseForm, self).__init__(formdata=formdata, obj=obj, prefix=prefix, **kwargs)

class MyModelView(ModelView):
    form_base_class = BaseForm

Btw, I'm happy to help make the required code changes, I wanted to check with the community before doing so.

Originally flask-admin was built on top of flask-wtf, but there were some significant changes to the flask-wtf API (it stopped exporting fields, etc).
Instead of building on top of flask-wtf, decision was made to make them coexist together. There's property called form_base_class http://flask-admin.readthedocs.org/en/v1.0.9/api/mod_model/#flask.ext.admin.model.BaseModelView.form_base_class which can be used to override form class. All templates automatically spit out CSRF fields, if they're defined in the form.

I'm interested in making flask-admin secure by default, with the goal that a user should need to do as little as possible to ensure that it runs securely.
The only step that seems to be required is to change the Flask-Admin's BaseForm base class to inherit from Flask-WTF's Form class. The use of wtforms fields can remain unchanged, so they wouldn't be tightly bound at all.
That said, the only reason I had to make the change that I did (described above) was because the inline delete form doesn't get csrf otherwise tokens. I can look into that and see if there is an elegant fix.

This was fixed - if Flask-WTF CSRF protection is enabled, Flask-Admin will inject csrf_token hidden field automatically.


Updated the tool projective_transformation_points

Input file can now contain extra columns for labels of the points.

Still no idea why the checks failed...

@bgruening Thank you so much! Could you please also give me some comments about your commits. How they made the automatic checks dramatically working and getting passed?

Hi @qgao-hd!
The first commit was just updating the current CI integration, we currently use TravisCI. The older version was using python2-7 and several old stuff that is not working anymore with latest planemo and Galaxy. (However, we need to move on and change to GitHubActions CI at some point).
The second commit removed flake8 testing, as ... mh... all script here in this repo would need to be adopted :) So this is probably a task when we are bored. Imho pep8 compliant Python code is good so we should do this at some point.
The third commit was needed as Conda had problems to install those package combination. This can happen when the combination of packages are not compatible ... e.g. different boost version, or different combilers used ....
Thanks for your contribution!
Do you want to add more stuff to this PR?
Ciao,
Bjoern


Two-way <input v-model> binding loses downstream sync in child component

Vue version
3.4.15
Link to minimal reproduction
https://play.vuejs.org/#eNqNVF1v2jAU/St3eQlIJNHa7YVR1LWrtE5bN7VsfclLSC7ExbEt20lAiP++a4dSoB8qDyS5n+f6nOt18FWpuKkxGAYjk2umLBi0tRqnglVKagtr0DgbQJvZvIQNzLSsIKSMcBdxWTJeXMpKbZ1xsrO40uGXVKQil8JYqMwczlzBXvgdOZdwLzUvPoR9F5IkQDkVCguytmBLZoAzgWAlgaJHK6M2W4FZiRx8eCv1AqaY1ZbNas5X0DJbwlTSHxOqtiYVHneP+g6g14ezsYMQNxmvkYCErvEo6QankenDYqV4ZpG+AEblx/GEut5T11EuCxw3UUUPPkr8F1wwUTAxh1tUWo4SCndpXerJ+CazrEGYSBX9xAY5XDtQFHbSVXenDPS7WirMLRY0Spk1TOoYJiuFUKJGyETRTV9mFoSEDnvLOAeF2jBjY18s6aqN/OCwxXmWBjRvGkByAMzz4w5bSeGO+xVcfwW+G1m2D4yGFbbOHCNbjNAzSBIoYIErY7VcYP8Qdu4gRblT0UvYH5F/w2k9f0LqWdhndL32Gttstgw5evcoDQaBNYRjxubxg5GCZL/2BxO4zoyj/q0sI6mmwRC8x/loENn+8Daraxw82vMS88UL9gezdLY0+KPRoG4wDXY+m+k52s59dXeDS3rfOWnumlP0G85bNJKT3qXowi5qURDsvTiP9tqvJklzYq6WFoV5HMoBdZEbH58GtKBOB6+N/gT3ND71eanY0CkebPgLl8d23R2P/7bUFDijZf7lTL3wyRMOYG1JU0O4s5oAb/p0X7y1k88EviuVBk4qx4R3t1RUZeqI8s5xOC9N051raa0ywyTJC0Fp1IE1OhZoE6Gq5JzCEl0LyyqMClmdn8af4o+fk4KUvm+P0VTRVMuWVEBV9khyBbw0dKRRFLROROH7+h6lHfQ+8j3rv2Nw8x8zAQb5
Steps to reproduce

Create a parent Vue component with a ref, a watcher that mutates that ref every time it changes, and a native HTML <input> bound to that ref with v-model
Add a child Vue component <input> bound to that same ref through a v-model at the child and parent level
Type in child input and watch child input value lose sync with ref

Sample code:
ParentComp.vue
<script setup>
import { ref, watch } from 'vue'
import ChildComp from './ChildComp.vue';

const msg = ref('Hello World!')
watch(msg, () => msg.value = '')
</script>

<template>
  <input v-model="msg" />
  <ChildComp v-model="msg" />
</template>

ChildComp.vue
<script setup>
const modelValue = defineModel('modelValue', {type: String});
</script>

<template>
  <input v-model="modelValue"/>
</template>

What is expected?
Child input behaves the same as parent input. It keeps sync with ref and its value is always "" after keyboard input.
What is actually happening?
Child input breaks sync with ref after multiple keyboard strokes.
System Info
No response
Any additional comments?
This issue seems fairly elementary, so I apologize if this has already been addressed. I did the obligatory Googles and searched through GitHub issues/discussions and came up empty-handed, but admittedly the search terms for this issue are a bit generic.
What seems to be happening, which I could imagine is a known limitation of the underlying sync mechanism, is values only get propagated down to child components when the primitive value changes. However, I don't feel like I'm doing anything unprecedented, so perhaps a note in the v-model docs would be warranted.
A use case here is an input mask, where something like +15555555555 gets formatted to<PHONE_NUMBER> as a user types. This works fine under normal circumstances, as each keystroke corresponds with a formatted change, but once invalid characters are entered (e.g. no letters are allowed), the second invalid character that is entered will "break through" the v-model binding.
An obvious workaround is reaching into the DOM and manually setting an input's value, but I would like to avoid that if at all possible.

If you want to access the owner component's DOM in a watcher callback after Vue has updated it, you need to specify the flush: post

You can define msg as prop in the Child component and emit the value like the example below :
`

`


DSL quantifier types -> quantifier functions

Change quantifiers in the DSL from structure types to top-level functions.  This allows for a lot more flexibility with overloading a quantifier based on the input Match type.  The immediate benefit of this is getting rid of void and nested void types (see example below), and as a result eliminate the need for void-filtering within concatenation.  A more important benefit (IMO) is being able to get rid of nominal tuples and switch back to Swift tuples, as Swift tuples enable strongly typed named captures and eliminates the complexity that comes with nominal tuples.
This PR is based on #114.  Please review commit b14a85b.

Before:
let r0 = OneOrMore(.digit) // => `.Match == Tuple2<Substring, [()]>`
let r1 = Optionally(.digit) // => `.Match == Tuple2<Substring, ()?>`
let r2 = OneOrMore(Repeat(Optionally(.digit))) // => `.Match == Tuple2<Substring, [[()?]]>`
"123".match(r2) // => `RegexMatch<Tuple2<Substring, [[()?]]>>?`

After:
let r0 = oneOrMore(.digit) // => `.Match == Substring`
let r1 = optionally(.digit) // => `.Match == Substring`
let r2 = oneOrMore(many(optionally(.digit))) // => `.Match == Substring`
"123".match(r2) // => `RegexMatch<Substring>`

Before:
/(?<number>\d+)/ // => `Regex<Tuple2<Substring, Substring>>`

After:
/(?<number>\d+)/ // => `Regex<(Substring, number: Substring)>`

@swift-ci please test Linux

@swift-ci please test linux platform

@swift-ci please test Linux


Fix the coordinates: We don't use spaces in YML

New version supports it! For readability.

I recommend it too.

Okay, nice to know spaces will work. :dancer:


Remove addfilter function from Series

Codecov Report

Merging #191 into master will decrease coverage by 1.39%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #191     +/-   ##
=========================================
- Coverage   66.92%   65.53%   -1.4%
=========================================
  Files          19       19
  Lines        1297     1294      -3
=========================================
- Hits          868      848     -20
- Misses        429      446     +17

Impacted Files
Coverage Δ

dpemu/problemgenerator/series.py
96% <ø> (+3.14%)
:arrow_up:

dpemu/filters/sound.py
0% <0%> (-100%)
:arrow_down:

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 c122d1b...0fea808. Read the comment docs.


Add Invocation API and multi-threading support

This PR adds initial support for the Invocation API (https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html) with focus on enabling support for multi-threaded applications.
Changes:

add JavaVM type to wrap (currently) a subset of the invocation API.
add get_java_vm method to JNIEnv which returns the JavaVM interface.
add DetachedGlobalRef and corresponding GlobalRef::detach to allow sending global refs across threads.
extend the example to show how to write multi-threaded functions.

Limitations:

Only AttachCurrentThread, AttachCurrentThreadAsDaemon and DetachCurrentThread are implemented of the Invocation API
The JavaVMAttachArgs (last argument of AttachCurrentThread and AttachCurrentThreadAsDaemon) is not supported yet
Only threads attached via AttachCurrentThread can be detached currently (this is implemented implicitly via RAII pattern. There is no explicit detach_current_thread method).
DetachedGlobalRef leaks the global reference if dropped (must be converted to GlobalRef via attach to prevent this).
Error handling could be improved (possibly involves adding new Error variants).
Documentation could be more detailed.

@madadam I'm happy to see this pull request, because we need this functionality too. :smile:
Still, I have several concerns:

Ideally AttachGuard shouldn't be Send (I'm not sure if it is) because  DetachCurrentThread must be called from the same thread that called AttachCurrentThread.
I'm not sure to what lifetime AttachGuard is bounded. It seems that it is JavaVM lifetime which isn't correct (and convenient).

Hi @DarkEld3r , thanks for the feedback.

AttachGuard isn't Send, because it contains JNIEnv which itself isn't Send.
AttachGuard's lifetime is indeed bounded to JavaVM. Why do you thing it isn't correct and/or convenient? What would you want it to bind to?

You are probably right about AttachGuard: everything is OK with its lifetime. :smile: But I have one more thought: JavaVM interface is thread-safe itself, so perhaps it should be Sync in Rust too?

You are right. I added the Sync impl.

Hey, thanks for the PR! Can you update it to exclude the whitespace changes? It's easy for things to get overlooked when they're buried in whitespace.

Hey @jechas01 , just wanted to let you know that I reverted the formatting changes. I also rebased the PR against master while I was at it.

Hey @jechase , sorry for the delay. I finally got to address your review comments.

Cool, looks good! I like the error-code-to-result pattern. Might be worth using it in some of the other jni methods where we're ignoring return codes in favor of checking for a java exception. Could make the actual error a bit clearer in those cases.


Set Passwords for Default Users: Admin & App

Fixes #87
This feature is intended to provide an easy way to set the default admin and app user credentials with MQ 9.4 which no longer includes default passwords for these users. Thank you to @arthurbarr for sharing the relevant documentation on the issue: https://github.com/ibm-messaging/mq-container/blob/master/docs/developer-config.md#using-secrets-to-set-passwords-for-app--admin-users
Changes:

Added new template Secret YAML for storing the passwords
Mounted the new Secret in the MQ StatefulSet at the appropriate location
Added new section of values.yaml to set the passwords
Updated READMEs and default values.yaml image tag to latest version of MQ container <IP_ADDRESS>-r3

Signed all commits and rebased.

TODO: Rework to utilize existing secret. Do not create a secret for the user.

Remove secret template yaml
Update readme with steps to create a secret with the app and admin passwords
Modify values.yaml to accept a secret name, rather than the passwords themselves.


Update init_params to initial_params

Ref: https://github.com/TuringLang/Turing.jl/pull/2153

@sunxd3, can you update the environment file to allow the most recent releases of Turing?

I triggered a clean rerun of the UpdateManifests action for a more general update (which might require a few minor fixes in the tutorials though, given that the last update was a while ago): https://github.com/TuringLang/TuringTutorials/pull/434

Sure, my comment was not intended as a blocker for the PR, just an additional comment related to outdated environments.


Add playstore.coffee to hubot-scripts

@siminm @Nextdoor/engineering-opensource-collaborators

:+1:

:shipit:


BrEditor should accept custom looks

We should be able to set the look of a BrEditor.

This works now:
BrEditor new
	look: BrGlamorousRegularEditorLook new;
	text: '42' asRopedText


capdctl help messages are out of sync

/kind bug
What steps did you take and what happened:
💰 capdctl setup --help
Usage of setup:
  -cluster-name string
    	The name of the management cluster (default "kind")

however
💰 capdctl --help | grep setup -A1
  setup - Create a management cluster
    example: capdctl setup --name my-management-cluster-name

What did you expect to happen:
The help messages should have been in sync
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Cluster-api-provider-docker version:
Kubernetes version: (use kubectl version):
OS (e.g. from /etc/os-release):

/assign
/lifecycle active


Is there a way of validate paths?

First, thank you a lot for gjson. I  import gjson to my project and use path syntax to standardize input, but I'm wondering if  there is a way to validate path string?

There's no path validation function. Sorry.

There's no path validation function. Sorry.

Is the any planning to such function? I think it can be really helpful with error handling

@erenming This is something I'm looking in to. But I don't have an ETA.


Construct Lasair 3.0 release plan

Make wiki page that describes background, and sets out a plan for achieving the release

February 3rd: made wiki planning page as child of main  Lasair Phase B page


Add py.typed file

Closes #9

Codecov Report

Merging #17 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #17   +/-   ##
=======================================
  Coverage   93.84%   93.84%
=======================================
  Files           7        7
  Lines         276      276
=======================================
  Hits          259      259
  Misses         17       17

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 055a1c3...c3bacec. Read the comment docs.


piping a line to xclip with ex evil commands freezes emacs

What did you expect to happen?
the current line would be piped to the X11 clipboard, and I would continue editing my files normally.
What actually happened?
the current line was indeed piped, but emacs froze, and did not respond to any command. Emacs had to be sigtermed and started manually.
Additional details:
the command was :.!xclip, using evil mode. No warnings were issued, no errors either.

Steps to reproduce:
open any file with default configuration and evil
go to any line
run :.!xclip
see emacs freeze.
System information:
https://pastebin.com/h2yWVfPr

to anyone who has this same problem: xsel -bio behaves as expected. So xclip interacting with emacs is the problem.
from an ex command, run:
:.!xsel -bio
and the line will be copied to the x-clipboard, and piped back to the line.


Typings for Network Information API

Search Terms

Network
Network Information
Network API
netinfo

Suggestion
There are no types for the current draft Network Information API yet. Since it already landed in some browsers, I'd like to change that.
Use Cases
For use cases please take a look at MDNs example here.
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
[ ] This could be implemented without emitting different JS based on the types of the expressions
[ ] This isn't a runtime feature (e.g. new expression-level syntax)

Are you open for a PR?
Cheers

Any news on my proposal? :)

APIs have to leave experimental state before we add them to lib.d.ts.

@aneeven As a temporary solution, I've created a type definition package. If you still want the types, it may help you. Thanks
https://github.com/lacolaco/network-information-types

@RyanCavanaugh are these APIs still classed as experimental? MDN has put a "living standard" status on these now

It would be really nice to have an official solution !

It looks like navigator.connection and NetworkInterface was introduced to TypeScript (hence the deprecation of the repo mentioned above) but removed again in this commit: 6004b35ce4c9ed1c9e8c1e450068ef3f9c4cbd5c
The value is available to more than 75% of web users according to Can I use, so I expected it to stick around. Will it make a comeback?

Really sad to have to rely on an outdated package for the types to a 77% supported navigator feature...


[Refactoring] - Table 39 "Qty. to Ship" OnValidate

There are two very hard to read if conditions in this trigger.
if ((("Qty. to Ship" < 0) xor (Quantity < 0)) and (Quantity <> 0) and ("Qty. to Ship" <> 0)) or
   (Abs("Qty. to Ship") > Abs("Outstanding Quantity")) or
   (((Quantity < 0) xor ("Outstanding Quantity" < 0)) and (Quantity <> 0) and ("Outstanding Quantity" <> 0))
then
   Error(Text007, "Outstanding Quantity");

if ((("Qty. to Ship (Base)" < 0) xor ("Quantity (Base)" < 0)) and ("Qty. to Ship (Base)" <> 0) and ("Quantity (Base)" <> 0)) or
   (Abs("Qty. to Ship (Base)") > Abs("Outstanding Qty. (Base)")) or
   ((("Quantity (Base)" < 0) xor ("Outstanding Qty. (Base)" < 0)) and ("Quantity (Base)" <> 0) and ("Outstanding Qty. (Base)" <> 0))
then
   Error(Text008, "Outstanding Qty. (Base)");

If I'm correct, this equates to the logical term (¬(P ↔ Q) ∧ R ∧ S) ∨ T ∨ (¬(Q ↔ U ) ∧ R ∧ V ), which can be translated to DNF as (Q ∧ ¬P ∧ R ∧ S) ∨ (P ∧ ¬Q ∧ R ∧ S) ∨ T ∨ (U ∧ ¬Q ∧ R ∧ V) ∨ (Q ∧ ¬U ∧ R ∧ V).
This can be used as a template for an early exit style function, which makes it easier to read and during debugging see, which of the conditions was not satisfied (since the debugger tends to not show field values or even crash).
local procedure OnValidateQtyToShipCheckQuantity(): Boolean
begin
   if (Quantity < 0) and ("Qty. to Ship" >= 0) and (Quantity <> 0) and ("Qty. to Ship" <> 0) then
       exit(false);

   if ("Qty. to Ship" < 0) and (Quantity >= 0) and (Quantity <> 0) and ("Qty. to Ship" <> 0) then
      exit(false);

   if Abs("Qty. to Ship") > Abs("Outstanding Quantity") then
      exit(false);

   if ("Outstanding Quantity" < 0) and (Quantity >= 0) and (Quantity <> 0) and ("Qty. to Ship" <> 0) then
      exit(false);

   if (Quantity < 0) and ("Outstanding Quantity" >= 0) and (Quantity <> 0) and ("Qty. to Ship" <> 0) then
      exit(false);

   exit(true);
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


Invalid XML is generated when Permissions are initially added to a User

A User with no existing permissions to a tree is granted some permissions
The logging generates a Before block with an empty Permissions element, which is invalid according to the schema.
The schema is expecting there to be one or more Permission elements

Perms were added to the root system entity which has no initial perms

Fixed in > beta.199


How to use CPU for inference on GPU supported end.

I installed it on windows  pip install modelscope
and it has been activated：os.environ["CUDA_VISIBLE_DEVICES"] = "-1,"
run：res = pipeline(Tasks.image_face_fusion, model=self.ModelFile, device="cpu")
error：Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

https://modelscope.cn/models/iic/cv_unet_face_fusion_torch/file/view/master/ms_wrapper.py?status=1  line94~97


Add Sending / Error UI for messages in chat

> when messages are hanging on send, showing a “sending...” indicator could help manage expectations. What do you think?
Absolutely let’s add this UI (and its related error states, etc.) I’ll create a ticket and let’s sync on the states <@U066TU07XT4>
Slack Message

@covrter Can you help link this figma?

Yes! In general we'll be adding functionality to the Message Status area over time.
Here are example treatments for

sent
sending (maybe this has some min threshold before appearing)
no connection (bubble gets a style that shows that it was not sent)

Here's the design system component
Would plan for this area to accommodate addl states like

delivered (curious if we can do this today)
seen
etc.


Tree Data Provider: Tree item actions are not screen reader compatible

Forgot to respond and got closed due to inactivity.
@roblourens - We don't necessarily need them to read each item, but at the minimum screen reader users need to know that these buttons exist. Even a small announcement along the lines of "tree items actions available on tab" would suffice.
Repost of: https://github.com/microsoft/vscode/issues/141329
Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.63.2
OS Version: Win11

Steps to Reproduce:

Launch a debug session in VSCode
Turn on Narrator
Use keyboard and navigate focus to the debug target

Expected Result:
Narrator should announce all context, including action items associated with the treeitem
Actual Result:
Narrator announces just the tree item text and associated action buttons

I am not convinced this should be announced.
As Rob already mentioned on that issue the user can just press tab and focus onto the toolbar. We do not do this in other places that the parent element mentions all the children element inside it. Or the element that is about to get navigated to next.
Let's leave this open for now to see if there is some feedback from users regarding this. For now I suggest no action.

Not announcing anything does violate accessibility standard guidelines as people who rely on screen readers wouldn't know that there are buttons associated with each tree item.
I am filing this issue on behalf of the Edge DevTools for VS Code project where we require our products to meet accessibility standards and this component has been flagged as an accessibility violation. I understand if this still does not meet your bar to be acted upon, but I wanted to give some context behind the issue.

Agreed that "they could just hit tab and find them" is neither valid to fulfil our accessibility needs nor is it something we can expect from users who rely on navigating without seeing. As a quick fix, is there a chance to add an aria label to elements like these that announces "more functionality available" to explain to people that hitting tab will get them there?

@isidorn - Instead of adding extra announcements, we could also change the type of the component to be a tree grid/tree grid item. Screen reader users should expect more content on tab if they are on a tree grid item.
https://www.w3.org/TR/wai-aria-practices/#treegrid
Any thoughts on this solution?

@mliao95 thanks for your creative suggestion, but a treegrid is something that is like a table and might not fit here. Check out the example here https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html
@joanmarie @marcozehe does it make sense that VS Code trees start using a treegrid role because each element might have extra content inside. How do Screen Readers treat treegrid vs tree?

The suggestion came from the Edge Accessibility team. The core idea is that the existence of interactive buttons/content should be inherent based on the role of the element which is true for a tree grid item but not a tree item.
As for screen reader behavior, treegrids are announced like tables, but they also state item position and level similar to a tree item.  For instance, when you enter the grid, it will say:
"Entering table, 5x2... etc {contents of the row} expanded 1 of 3 level 1"
From this, the user will understand that there are additional cells with content to the right (maybe just one extra cell containing the toolbar with buttons) and also that they are in a tree structure.

@mliao95 Thanks for clarifying. Also are you suggesting that all trees in vscode have the treegrid role? Since every tree could have additional actions inside. What's the downside of using the treegrid role?
Let's see what @joanmarie thinks when she finds time to reply. She is the author of Orca screen reader.

tl;dr I think Tree Grid might be appropriate here.
Long form:
@isidorn I definitely wouldn't expect interactive elements inside a normal tree view item. The two interaction models I've seen on those are:
a) Put these items in the context menu.
b) Have the user press Enter on the item to enter into a secondary layer where one would then tab through interactive elements. I first saw this in the old FireBug developer tools extension for Firefox, and later, while I was working at Mozilla, we also took this approach in the built-in developer tools in the HTML tree inspector.
A tool bar with buttons etc. inside a tree item is certainly not Windows-Standard, and Windows standard is what most ARIA specs and authoring guidelines primarily derive from. Tree grids come more from the Linux side, where this is at least I saw them first in GNOME Nautilus. So yeah, I would lean towards a tree grid model where one would right arrow into the buttons for an item, if available, or tab to the toolbar, etc. We'd have to play with the aria-readonly property on this tree table, since some screen readers sometimes think they're editable when they're actually not, or vice versa.

@MarcoZehe thanks for chiming in, I really appreciate your expertise. In VS Code it is pressing tab to get into the toolbar that is inside the tree element.
Some follow up questions for everybody on this thread so we decide how to proceed further:

What about the Breakpoints view? This has the list role and also has interactive elements inside each listitem?
Is there some unintended consequences of going with the treegrid instead of the tree in all our trees? Or should we use the treegrid only if there are interactive elements inside? Example: Explorer does not have interactive elements, but Search does.

We need to have a consistent experience across VS Code, thus these questions.
fyi @jvesouza

That is a good question. I'll consult with our Accessibility team, but my initial thoughts are that we would need to change the role from a listitem. I'm not entirely sure if the best fit is a tree grid element or another role.

I wouldn't change all trees to treegrids as each role has its own set of implications and ignoring that would confuse screen reader users.  If all these trees are derived from the same base class, I would add a constructor argument to differentiate treegrids and trees.

Looping back for the first question - I believe a grid role would be best for that kind of component.

Let's assign to May as I would like to experiment with these changes at the start of a milestone

I have changed the role for the whole CALLSTACK to be a treegrid for this use case and for each item to be a row. So now as you say users should expect more content when they press tab.
If users get delighted by this change I would be open to do this in more views.

Hey @isidorn -
I appreciate the fix! Unfortunately, the component that we're using in our extension is the vscode.TreeDataProvider.  Would it be possible to port the same fix over to this component considering this is the actual component our accessibility team is flagging up?

@mliao95 every tree item has an accessibilityInformation field which your extension can use to manipulate the role or the label of each tree property. I suggest you try using that. For example you could try different roles, or to make the label more verbose as Christian Heilmann suggested here https://github.com/microsoft/vscode/issues/146210#issuecomment-1086167202
Allowing extensions to change the role of the whole custom tree is currently not possible, and if that is what you would need then I would have to discuss with Alex Ross who is currently on vacation and this would require API changes.


Dragonbane: v1.3 - more calc fixes and increased functionality

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[X] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Bug Fixes

The agility/strength damage bonuses are now calculated correctly
Age is now a text field instead of a number field

New Features

Ability to set a weapon to not use a damage bonus
Improved initiative rolling form party sheet

Swap initiative
Hold initiative card between turns
Pseudo card initiative draw button with count of remaining intiative cards
Mark turn as used
Remove a turn

Character Sheet Info Roll20 Internal Use only.


Error when starting an express server

Hi! I would like to ask about this Error i'm currently having on my project.
const validateFunctions = Object.keys(options).map(function (requestProperty) {
                                                      ^

TypeError: Cannot convert undefined or null to object
    at Function.keys (<anonymous>)
    at Validator.validate (C:\xampp\htdocs\siakad-new\node_modules\express-json-validator-middleware\src\index.js:24:42)
    at Object.<anonymous> (C:\xampp\htdocs\siakad-new\routes\users_route.js:25:54)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
[nodemon] app crashed - waiting for file changes before starting...

I tried to do exactly the same approach like in the README, but still got this Error.
const { validate } = require('../config/validator');

router.get('/:id', validate({ params: UsersSchema.getUsersById.params }), validate(UsersSchema.getUserById), UsersController.getUserById);

Am i missing something here actually?
Any replies would be helpful.

I'm sorry, this was my fault actually...
i called the validate() function 2x on the route
Thanks for this great library


Corrupted overflow in long mixed localized text in RTL direction

Steps to Reproduce

Use Text Widget, and use Arabic and English text in RTL direction
Execute flutter run on the code sample

Expected results:
Using 1.22.3 SDK

Actual results:
Using 3.3.10 SDK

Code sample

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp() : super();

  @override
  Widget build(BuildContext context) {
    const doneByAr = 'تم بواسطة:';
    const nameEn = 'Splits the string, converts its parts, and combines them into a new string.';
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        body: Container(
          alignment: Alignment.center,
          width: 200,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: const [
              Text(
                '$doneByAr$nameEn',
                style: TextStyle(backgroundColor: Colors.red),
                maxLines: 1,
                textDirection: TextDirection.rtl,
                overflow: TextOverflow.ellipsis,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Logs

[✓] Flutter (Channel stable, 3.3.10, on macOS 13.0.1 22A400 darwin-arm, locale en-EG)
    • Flutter version 3.3.10 on channel stable at /Users/hossameldin/fvm/versions/3.3.10
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (3 weeks ago), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
    • Android SDK at /Users/hossameldin/Library/Android/sdk
    • Platform android-33, build-tools 32.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.74.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.56.0

[✓] Connected device (6 available)
    • sdk gphone64 arm64 (mobile)    • emulator-5556                        • android-arm64  • Android 13 (API 33) (emulator)
    • Hossam Eldin’s iPhone (mobile) • 00008120-0016099A36D8C01E            • ios            • iOS 16.2 20C65
    • iPhone 14 Pro (mobile)         • B45F4816-3680-4CF1-B9D5-1C9E235CCBFF • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • iPhone 14 Pro Max (mobile)     • 5F33B8FB-0F05-4AF8-84C9-63442AE3C917 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • macOS (desktop)                • macos                                • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm
    • Chrome (web)                   • chrome                               • web-javascript • Google Chrome 108.0.5359.124
    ! Error: Hossam Eldin’s iPhone is busy: Fetching debug symbols for Hossam Eldin’s iPhone. Xcode will continue when Hossam Eldin’s iPhone is finished. (code -10)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

@hossameldinmi It seems the sample code is missing textDirection: TextDirection.rtl, right? After adding textDirection, I can see the difference between two Flutter versions as below:

2.10.5
3.3.10 and 3.7.0

Please also check issue #113453 if it's similar to this.

@huycozy You are right, the sample is updated now.

@huycozy The mentioned issue is not the same, As this issue

Reproducible in iOS also.
Reproducible in SDK 3.0.5.
The text here is mixed Arabic and English.

@hossameldinmi Thanks for the update. Labeling the issue for further investigation from the team!

Android
iOS
Web
MacOS

❌
❌
❌
❌

✅: No Issue ❌: Issue reproduced
There are also assertion logs when running on Web and macOS:

Logs (on Web)
ASSERT: 15.572266 != 168.977539
ASSERT: 15.572266 != 168.977539
ASSERT: 12.893951 != 168.531830
ASSERT: 12.893951 != 168.531830

Logs (on macOS)
ASSERT: 14.208862 != 175.799316
ASSERT: 14.208862 != 175.799316

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.3.10 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 135454af32 (13 hours ago), 2022-12-15 07:36:55 -0800
    • Engine revision 3316dd8728
    • Dart version 2.18.6
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 108.0.5359.124

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.7.0-14.0.pre.27, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.0-14.0.pre.27 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 63653e8272 (2 hours ago), 2023-01-03 17:13:21 -0800
    • Engine revision 2213b80dd9
    • Dart version 3.0.0 (build 3.0.0-77.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.56.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 108.0.5359.124
    ! Device R9JT3004VRJ is not authorized.
      You might need to check your device for an authorization dialog.

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Any update on this?

This is similar to https://github.com/flutter/flutter/issues/113453
TextLine::createEllipsis is calling iterateThroughClustersInGlyphsOrder(reversed = true) and moving backwards through the clusters until finding a place where the ellipsis can fit.
But in the case of RTL text the clusters at the end of the reversed glyph order would be at the start of the text.  So if createEllipsis truncates all text after that cluster, then most of the text will be truncated, causing the results above.
TextLine::createEllipsis does a scan with iterateThroughClustersInGlyphsOrder(reversed = false) for text that is entirely RTL in order to place the ellipsis at the left side.  But this will not apply for text that is mixed LTR and RTL.
@Rusino

@chinmaygarde This issue affects many applications that used by Arabian users, The priority should be higher than P4, Especially there is no any workaround fix

this issue has exist for long time
like this problem has exsit in text and textfield
for example you never show this message in textfiled for flutter web canvas or html render mode :      مبلغ (تومان)
These problems will never go away
You can see a lot of issues like this issue that have been automatically closed and the issues have never been fixed by the flutter team

Still not fixed?!!

The fix is ready and is being tested right now.

@Rusino Can you please mention the Pull request here?

@Rusino Any updates?

@Rusino @huycozy  It's been 3 months, no fix yet?

@Rusino Any updates?

Has this issue been fixed? If it has been fixed, in which version was it fixed?

It's definitely been fixed by some time (you may not like the results though - we are not going to put the ellipsis in the middle of the text)

Closing based on the comment above.


Code formatting issue

I didn't explore into which library you're using to highlight your code, but it seems like your PHP code isn't highlighted properly because the highlighter expects your code to be full and valid PHP, with a <?php tag.
See http://blog.falkirks.com/setting-huge-areas-of-blocks for example.

Yeah, I just imported from Ghost without checking anything. I will look at that when I get a chance.


Configurable notification sound

Currently the only way to change the notification is replace the sound file after installation. I propose the file path be configurable via an environment variable and config file. Additionally, it would be nice to make it configurable via the Web UI.

I'm sure we want to crawl before we walk, but having several customizable sounds at certain amounts (like the row of ducks boost if 2222 or 22222 etc comes in, as an extreme example) I think should be an option to aim for long-term, as well as a silence option for boosts below a certain amount and maybe a range trigger for anything not specified (for example the Moe Facts "baller" jingle at anything 50k+, and a pew for anything between the silence maximum and the baller minimum)
Just my 2 sats 😉


Endurance Test 1 and 2 failed due to a change from sb.append to sb.appen...

...dBuffer in the function createOneShortTest
When we launch Endurance Test, the first tests stuck gets stuck on this trace is display in the console:
CONSOLE: ErrorType: "Undefined" is not a function. Evaluating 'sb.append(xhr.getResponseData()')
There are 2 issues in this test:

Variable 'sb' is a SourceBuffer and there's effectively no function 'append()' on such object; it's either 'appendBuffer()' or 'appendStream()'. The test seems completely outdated.
Solution : the call to append() is replaced by appendBuffer().
There are and issue with util.Round(sb.buffered.end(0), 2); It is necessary protecting that call with something like if (sb.buffered.lenght > 0) .

I wasn't able to find a signed CLA on file for bluestreak. Can you please login to https://cla.developers.google.com/ and confirm that your CLA is listed.

Did you means that I need to use a github account create with the email account use to signed the CLA?
We have a corporate CLA signed and my email adress is in the list of Schedule A.
When I connect to the link https://cla.developers.google.com/  I can see :
Agreement	                Name	                                                Date Signed
Google Corporate CLA	Bluestreak Technology Canada Inc  	Feb 18, 2015 09:37 PST

I found the signed CLA under Bluestreak Technology Canada Inc. Thanks for that.
This change is going to break older versions of the test suite and I don't think this is the correct fix for this particular test. Really we should be waiting for an 'update' event to know when the appendBuffer operation is complete. I'm working on a fix for this right now and in the process branching the endurance tests so we don't break older versions of the test suite.


Update README.md - Adding "Differences between Ethereum and Linea"

Update README.md - Adding "Differences between Ethereum and Linea"

Thanks for the contribution @eloi010


Discover how to Pan a visualization to left or right (via multiple means?)

If selection of elements in the visualization is possible, then panning needs similar approach as zoom #330:

Visible affordance in UI for pan
Discoverable keyboard shortcuts
Keypress+drag operations

Issue source: @ssmagula's user tests + brainstorming with TC and tool team members, other users emphasized discoverable navigation as a priority

Select to zoom is currently the most valuable navigation feature and it needs to be made more discoverable (ex. changing the key it's bound to, tutorializing it, etc.)


[dattri.func] Re-implementation of Arnoldi projector

Description

1. Motivation and Context
Re-define the arnoldi projector as 1.0 / sqrt(eigvals) * eigvecs.T * features

2. Summary of the change

fix the arnoldi_project
add transform_train_rep inside arnoldi attributor
fix a slight typo found in dattri/benchmark/datasets/mnist/mnist_mlp

3. What tests have been added/updated for the change?

[x] Application test: If you wrote an example for the toolkit, this test should be added.

Tested on influence_function_noisy_label task
Checked Data Sample      Found flipped Sample
--------------------------------------------------
0                        0
100                      69
200                      100
300                      106
400                      108
500                      108
600                      108
700                      108
800                      108
900                      108

We may remove dattri.func.hessian.ihvp_arnoldi and dattri.func.hessian.ihvp_at_x_arnoldi later? Currently only the old IFAttributor is using it and we are defining arnoldi as a projector now. @jiaqima

We may remove dattri.func.hessian.ihvp_arnoldi and dattri.func.hessian.ihvp_at_x_arnoldi later? Currently only the old IFAttributor is using it and we are defining arnoldi as a projector now. @jiaqima

Good point! I think we could remove them when we get rid of the old IFAttributor.

Another point is that we might have to handle negative eigen values if we want to do this sqrt thing.
We can definitely cope with complex numbers but it might be a bit messy.

Another point is that we might have to handle negative eigen values if we want to do this sqrt thing. We can definitely cope with complex numbers but it might be a bit messy.

How about we project to min(proj_dim, # positive eigvals)? If # positive eigvals < proj_dim, throw out a warning about that. In this case, we are always projecting to eig space with positive eig vals. I believe in practice, # positive eigvals should usually be larger than proj_dim?

Another point is that we might have to handle negative eigen values if we want to do this sqrt thing. We can definitely cope with complex numbers but it might be a bit messy.

How about we project to min(proj_dim, # positive eigvals)? If # positive eigvals < proj_dim, throw out a warning about that. In this case, we are always projecting to eig space with positive eig vals. I believe in practice, # positive eigvals should usually be larger than proj_dim?

I am pretty unsure about this, I indeed use quite large proj_dim (close to param size actually) during some experiments during dattri rebuttal.
now the newest version can handle complex numbers with minimal modification.

Another point is that we might have to handle negative eigen values if we want to do this sqrt thing. We can definitely cope with complex numbers but it might be a bit messy.

How about we project to min(proj_dim, # positive eigvals)? If # positive eigvals < proj_dim, throw out a warning about that. In this case, we are always projecting to eig space with positive eig vals. I believe in practice, # positive eigvals should usually be larger than proj_dim?

I am pretty unsure about this, I indeed use quite large proj_dim (close to param size actually) during some experiments during dattri rebuttal. now the newest version can handle complex numbers with minimal modification.

I'm afraid that this would mess up some subsequent computation as everything is complex type after the projection?

Another point is that we might have to handle negative eigen values if we want to do this sqrt thing. We can definitely cope with complex numbers but it might be a bit messy.

How about we project to min(proj_dim, # positive eigvals)? If # positive eigvals < proj_dim, throw out a warning about that. In this case, we are always projecting to eig space with positive eig vals. I believe in practice, # positive eigvals should usually be larger than proj_dim?

I am pretty unsure about this, I indeed use quite large proj_dim (close to param size actually) during some experiments during dattri rebuttal. now the newest version can handle complex numbers with minimal modification.

I'm afraid that this would mess up some subsequent computation as everything is complex type after the projection?

we just need to convert it back to float since there will be no imaginary part after inner product. So I guess as long as we are still under BaseInnerProductAttributor, then we should be ok.

Now we will throw a warning if proj_dim is larger than the number of positive eigvals and will automatically adjust proj_dim to be equal to this number if that happens. Test case will be adjusted accordingly


Feature/salaboy 1524 remove abstract types

Codecov Report

Merging #2 into develop will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             develop       #2   +/-   ##
==========================================
  Coverage      90.33%   90.33%
  Complexity         7        7
==========================================
  Files             35       35
  Lines            362      362
  Branches           8        8
==========================================
  Hits             327      327
  Misses            35       35

Impacted Files
Coverage Δ
Complexity Δ

...ud/services/query/app/repository/EntityFinder.java
100% <100%> (ø)
5 <0> (ø)
:arrow_down:

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 4788831...e3aa6f5. Read the comment docs.


Cannot "make up" the node >> EROR: Get https://quay.io

Pulling chainpoint-node (quay.io/chainpoint/chainpoint-node:6cb123963feecd8dad9ed9cb5b95a9b8195ed81f)...
ERROR: Get https://quay.io/v1/_ping: dial tcp: lookup quay.io on <IP_ADDRESS>:53: no such host

This is all I get after typing "make up"

Solved


client-go v0.21 leaking go routines when using SPDYExecutor

When running the following program on the control-plane Node of my K8s cluster, I observe a large amount of goroutines and therefore memory being leaked:
package main

import (
	"bytes"
	"flag"
	"fmt"
	"net/http"
	_ "net/http/pprof"
	"path/filepath"

	corev1 "k8s.io/api/core/v1"
	"k8s.io/client-go/kubernetes"
	"k8s.io/client-go/kubernetes/scheme"
	restclient "k8s.io/client-go/rest"
	"k8s.io/client-go/tools/clientcmd"
	"k8s.io/client-go/tools/remotecommand"
	"k8s.io/client-go/util/homedir"
)

const (
	podNamespace  = "default"
	podName       = "test"
	containerName = "test"
)

func runCommandFromPod(clientset kubernetes.Interface, kubeConfig *restclient.Config, cmd []string) (stdout string, stderr string, err error) {
	request := clientset.CoreV1().RESTClient().Post().
		Namespace(podNamespace).
		Resource("pods").
		Name(podName).
		SubResource("exec").
		Param("container", containerName).
		VersionedParams(&corev1.PodExecOptions{
			Command: cmd,
			Stdin:   false,
			Stdout:  true,
			Stderr:  true,
			TTY:     false,
		}, scheme.ParameterCodec)
	exec, err := remotecommand.NewSPDYExecutor(kubeConfig, "POST", request.URL())
	if err != nil {
		return "", "", err
	}
	var stdoutB, stderrB bytes.Buffer
	if err := exec.Stream(remotecommand.StreamOptions{
		Stdout: &stdoutB,
		Stderr: &stderrB,
	}); err != nil {
		return stdoutB.String(), stderrB.String(), err
	}
	return stdoutB.String(), stderrB.String(), nil
}

func main() {
	var kubeconfig *string
	if home := homedir.HomeDir(); home != "" {
		kubeconfig = flag.String("kubeconfig", filepath.Join(home, ".kube", "config"), "(optional) absolute path to the kubeconfig file")
	} else {
		kubeconfig = flag.String("kubeconfig", "", "absolute path to the kubeconfig file")
	}
	flag.Parse()

	// use the current context in kubeconfig
	config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig)
	if err != nil {
		panic(err.Error())
	}

	// create the clientset
	clientset, err := kubernetes.NewForConfig(config)
	if err != nil {
		panic(err.Error())
	}

	go func() {
		fmt.Println(http.ListenAndServe("localhost:8080", nil))
	}()

	cmd := []string{"true"}
	i := 0
	for {
		fmt.Printf("Running command - %d\n", i)
		_, _, err := runCommandFromPod(clientset, config, cmd)
		if err != nil {
			panic(err.Error())
		}
		i++
	}
}

After a couple minutes of running the program (a couple thousands of exec's), we get this memory profile:
(pprof) top
Showing nodes accounting for 449.64MB, 97.71% of 460.18MB total
Dropped 42 nodes (cum <= 2.30MB)
Showing top 10 nodes out of 69
      flat  flat%   sum%        cum   cum%
  337.59MB 73.36% 73.36%   417.53MB 90.73%  compress/flate.NewWriter
   77.44MB 16.83% 90.19%    77.44MB 16.83%  compress/flate.(*compressor).initDeflate (inline)
   19.08MB  4.15% 94.33%    19.08MB  4.15%  compress/flate.(*dictDecoder).init (inline)
    6.02MB  1.31% 95.64%    25.10MB  5.46%  compress/flate.NewReaderDict
    4.51MB  0.98% 96.62%     4.51MB  0.98%  compress/flate.(*huffmanEncoder).generate
       2MB  0.44% 97.06%        3MB  0.65%  crypto/x509.parseCertificate
    1.50MB  0.33% 97.38%     2.50MB  0.54%  compress/flate.newHuffmanBitWriter (inline)
       1MB  0.22% 97.60%     2.50MB  0.54%  crypto/tls.(*Conn).readHandshake
    0.50MB  0.11% 97.71%     3.50MB  0.76%  k8s.io/client-go/transport.TLSConfigFor
         0     0% 97.71%     4.51MB  0.98%  compress/flate.(*Writer).Flush
(pprof)

A surprising amount of memory consumed, which tends to show that the SPDY connections are not closed properly. If we look at the goroutines at the same time, we get a lot of these:
goroutine 66487 [chan send]:
github.com/moby/spdystream.(*Connection).shutdown(0xc04e647600, 0x0)
	/Users/abas/go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:743 +0x2b5
created by github.com/moby/spdystream.(*Connection).Close
	/Users/abas/go/pkg/mod/github.com/moby/spdystream@v0.2.0/connection.go:769 +0x135

About a thousand of them to be precise, and the number keeps growing:
curl -sK -v http://localhost:8080/debug/pprof/goroutine?debug=2 | grep "Close" | wc -l
1104

All these goroutines are stuck at https://github.com/moby/spdystream/blob/dbc715126c0e3fa07721879c6d265b2b82c71e5b/connection.go#L743. They are stuck there because:

some error occurred during connection shutdown
there was no consumer for this error (client-go calls Close() and not CloseWait(), in which case the behavior is to wait for 10 minutes for a consumer before dropping the error. In other words one would have to wait 10 minutes for these goroutines to be destroyed and all the memory they use to be released. But during that time window, it is possible for a lot of gouroutines to get stuck, explaining the high memory consumption for the program.

During testing, I added a debug log statement for this error: https://github.com/antoninbas/spdystream/blob/99cf4e950e5d71cdf3e940bfa866bd10313f1862/connection.go#L770. What I got was a lot of "broken tcp pipe" messages, so the underlying TCP connection used by the SPDY streams was closed (prematurely?).
I went further and captured the TCP packets between the test program and the apiserver. What I saw was hundreds of TCP RST packets, which explains the "broken TCP pipe message". Zooming in on one specific connection, we get:

This shows that a FIN-ACK is received from the apiserver (which we ACK!), yet we still try to send data after that, which is why we get a TCP RST and a "broken pipe error".
A few interesting notes:

this only happens if I run the test program on one of my K8s Nodes (in this case the control-plane Node where the apiserver is running). It doesn't happen from a server which is not part of the cluster for some reason.
this only happens with client-go v0.21. Why? Because spdystream was updated as part of that release: https://github.com/kubernetes/client-go/commit/b8b770f6b787159db35290cdb615f3300147a69d. Before that, the same old version of spdystream was used for years, and it didn't include this bug fix: https://github.com/moby/spdystream/commit/1d9fc660edd8230d3ea261cda2759b994bb3f455. This looks like a legitimate bug fix, but before it was merged errors during connection closing were dropped instead of causing a goroutine to be spawned.

More info:

I am using a v1.21.2 K8s cluster created with kubeadm
The test program is on Github (https://github.com/antoninbas/spdystream-test) if someone wants to work on this issue and reproduce it locally

@liggitt any thoughts?

/remove-lifecycle stale
@sarroutbi I spent a couple of hours looking into this issue at the time, but couldn't find the root cause. I was hoping someone knowledgeable about that code would be able to help. I am honestly surprised that this doesn't affect more people...
My workaround was to revert to an older version of moby/spdystream (more info in my original post) using a replace directive in my go.mod. This is not ideal, but it works for us as we only use this for tests.

@dims it seems that issues created in this repo don't get attention. Is that expected? Should client-go issues be reported in another place (the main kubernetes repo)?

/transfer-issue kubernetes


Pandas version support

What Pandas versions do we want to support?  Do we want to restrict users to very recent releases?
#487

We regularly get issues with pandas  0.17 causing segfaults, so perhaps restrict to >= 0.18.0? That's a bit recent, but I think many people using pandas are also capable of upgrading to recent pandas.

While fixing version incompatible issues in #1314, I found several issues that resulted from bugs in various version of pandas. This is adding a bit of a maintenance burden. Since the current release has known issues for pandas < 0.18.0, and 0.17 had the segfault issues, I'm seriously pushing for only supporting 0.18 >.

I'm comfortable requiring pandas 0.18.0

The segfault issues alone are reason to require this I think

Agreed. Should we wait for more consensus, or should I just make the change?

This is a significant enough decision that I'd like to switch out of open source / community mode for a moment.  I've pinged @teoliphant and @pzwang off list to make sure that they're ok with this decision.  Lets wait for their call.

I think that we're good to go.  I say that we drop support for anything below 0.18.0.

Fixed by #1314. Closing.


Clicking upgrade more than once in Ops Manager results in 500 error

When trying to add/upgrade a new version of a tile, clicking the add/upgrade button on the package more then once some times result in a 500 server error.
this is due to trying to launch the add/upgrade job twice before the button is disabled.

Will forward this issue to the Ops Manager team

Hi there. I am the product manager for Ops Manager. I have created a bug for this in our tracker. I also want to comment on the severity of the issue given our current concerns and close the issue based on my judgement of that severity. While we would like to live by the principle that 500 errors never appear under any circumstances, our team is hard pressed to deliver valuable infrastructure features and flexibility in our integration points with BOSH. After, and during, this work we will be rethinking our UX, and many of the interaction patterns we currently employ. This bug will disappear without being addressed directly as the current interaction for adding / upgrading tiles will disappear.

Closing this tile-generator issue it will be tracked in Ops Manager per mreider above.


Subscript Refactor 4/x

Current dependencies on/for this PR:

main

PR #11

PR #12

PR #13

PR #15   👈

This comment was auto-generated by Graphite.

⏳ This pull request is set to merge as part of a Graphite merge job
Job ID: HF0hLEJvLnryAecWSRnL.
See details on graphite.dev


error

Does this occur consistently?
Repro steps:

Action: appService.Deploy
Error type: Error
Error Message: fatal: not a git repository (or any of the parent directories): .git
Version: 0.24.7
OS: darwin
OS Release: 22.3.0
Product: Visual Studio Code
Product Version: 1.75.1
Language: zh-cn

Call Stack
extension.bundle.js:2:2208177
rejected extension.bundle.js:2:2206767

To fix this issue, you can either:

Initialize your local project to be a git repository using git init
Configure deployment source as None (zip deploy)

Thanks, what you said is correct.


adding arabic language to javafx-8-tutorial

this is the first arabic commit I add i will add more if this one get published

Sorry, I will first have to migrate to Hugo by fixing #132.


Issue 41 new way to resume coming soon

Pull-request

[x] I have read the code of conduct.
[x] I have created a relating issue.

Changes

[x] Existing code
[x] New feature

Closes Issue: #41
Description

Codecov Report

Merging #43 (9194ad1) into master (c113a82) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master     #43   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         250     250
  Lines        4798    4816   +18
  Branches      596     596
======================================
- Misses       4798    4816   +18

Impacted Files
Coverage Δ

...ub/realyusufismail/websocket/WebSocketManager.java
0.00% <0.00%> (ø)

...usufismail/ydwreg/handle/handles/ReadyHandler.java
0.00% <0.00%> (ø)

...ufismail/ydwreg/handle/handles/ResumedHandler.java
0.00% <0.00%> (ø)

...ismail/ydwreg/rest/callers/SlashCommandCaller.java
0.00% <0.00%> (ø)

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@all-contributors please add @RealYusufIsmail for infrastructure, tests and code


Avoid pip ssl-errors

Currently, when trying to create the environment from environment.yml, one sometimes gets a ResolvePackageNotFound for the pip packages. When out commenting the ‘pip-part’ everything works (in other words: For the conda packages everything seems to work fine but not for the pip packages). However, this breaks the logic as the user then has to install the pip packages in their environment using install_pip_packages.sh
This is the current workaround for install_pip_packages.sh
https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi), parse_packages

I cannot reproduce this error on Ubuntu. Everything works fine, as long as you specify a .pem file for both pip and conda:
  conda config --set ssl_verify /home/johannes.wiesner/work/certs/certificates.pem
  pip config set global.cert /home/johannes.wiesner/work/certs/certificates.pem


<EMAIL_ADDRESS>postinstall... reverts back all the installations.

I tried doing it in many ways but i cannot go past this error.
Tried: 'npm i -g ... ', 'npm init .... npm install --save react', also reconfigured the npm cmd.exe path using 'npm config set script-shell "C:\windows\system32\cmd.exe"' as mentioned in issue#8441
Microsoft Windows [Version 10.0.18363.900]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\windows\system32>cd..

C:\Windows>cd..

C:\>cd Users/Hp/Desktop

C:\Users\Hp\Desktop>mkdir testapp

C:\Users\Hp\Desktop>cd testapp

C:\Users\Hp\Desktop\testapp>npx create-react-app myapp

Creating a new React app in C:\Users\Hp\Desktop\testapp\myapp.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

><EMAIL_ADDRESS>postinstall C:\Users\Hp\Desktop\testapp\myapp\node_modules\babel-runtime\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"

Aborting installation.
  npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed.

Deleting generated file... node_modules
Deleting generated file... package.json
Deleting myapp/ from C:\Users\Hp\Desktop\testapp
Done.

I tried doing it in many ways but i cannot go past this error.
Tried: 'npm i -g ... ', 'npm init .... npm install --save react', also reconfigured the npm cmd.exe path using 'npm config set script-shell "C:\windows\system32\cmd.exe"' as mentioned in issue#8441
Microsoft Windows [Version 10.0.18363.900]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\windows\system32>cd..

C:\Windows>cd..

C:\>cd Users/Hp/Desktop

C:\Users\Hp\Desktop>mkdir testapp

C:\Users\Hp\Desktop>cd testapp

C:\Users\Hp\Desktop\testapp>npx create-react-app myapp

Creating a new React app in C:\Users\Hp\Desktop\testapp\myapp.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

><EMAIL_ADDRESS>postinstall C:\Users\Hp\Desktop\testapp\myapp\node_modules\babel-runtime\node_modules\core-js
> node -e "try{require('./postinstall')}catch(e){}"

Aborting installation.
  npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed.

Deleting generated file... node_modules
Deleting generated file... package.json
Deleting myapp/ from C:\Users\Hp\Desktop\testapp
Done.

Same error!

`npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn pwsh
npm ERR! file pwsh
npm ERR! path pwsh
npm ERR! errno -4058
npm ERR<EMAIL_ADDRESS>postinstall: node -e "try{require('./postinstall')}catch(e){}"
npm ERR! spawn pwsh ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:`
I have the same problem, haven't been able to solve it all day long. :-/


Rainy-1

Wallpaper Location
Nature/Rainy-1
Report Reason
Other
Report Description
Not Working on my desktop

Were you unable to download the theme, or did it not work on your computer? I would appreciate it if you could provide more details.


Google calendar was running fine on magic mirror but now i have an issue

Hi,
I am getting an issue called 'Error in the MMM-GoogleCalendar module. check logs for more details'.
What might be the error and how can I resolve this.
Thanks in advance.

hi @getchethanbr, usually you just have to authenticate again, have you tried deleting the old token and running node authorize.js again?

Also, you might want to look for the logs for more details, it might show a more specific error

hi @randomBrainstormer, I am frequently running into invalid_grant issue which usually goes away with regenerating token ? Is there a way to fix this problem permanently?

@getchethanbr were you able to get the module running?

Hey @randomBrainstormer, yes issue is resolved after authenticating again like you said. Thanks for the help.

👍 👍


Support closure extra_annotation_name parameter

Hi,
We are using ngdoc which is an extension of jsDoc for angularjs.
During the minification by google closure, there are a lot of warnings like this: "WARNING - Parse error. illegal use of unknown JSDoc tag "ngdoc"; ignoring it"
This can be turned off by using the command line switch --extra_annotation_name ngdoc --extra_annotation_name anyOtherAnn etc.
Can you please add a new configuration parameter so we can configure extra parameters to be sent to the compressor engine?
Thanks

Has there been any progress on this?  Using angular spawns a wall of parse error warnings.

PR #117 merged into master.


cook-cli: init at 0.7.0

Description of changes
Adds new package: cook-cli.
Cook-cli is a command line tool for the Cook markup language, a language for expressing recipes and shopping lists. See more information here: https://cooklang.org/
Closes #280586
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[x] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Hi! @piegamesde @Janik-Haag, would you be able to review please? Looks like CI has passed.

Hey, @emilioziniades, please mark the resolved review points as resolved so they don't take up unnecessary space in the PR.

I'll try to review this in the next few days, still have a high double digit count of nixpkgs pings

Hi @Janik-Haag, thanks for the heads up.

Hi @Janik-Haag, just a reminder about this PR. Any chance we can get it merged? I've just bumped the version from 0.7.0 to 0.7.1. Thanks!

Hi @Janik-Haag, just a reminder about this PR. Any chance we can get it merged? I've just bumped the version from 0.7.0 to 0.7.1. Thanks!

Finally got to reviewing it, sorry that it took so long I was sick for the last week or so.

No problem, thanks so much for taking a look. I've made the requested changes and re-requested a review.


Unable to copy dynamic link in React

Hello,
I am in trouble while copying dynamic text. Actually I want to copy the link which is generated dynamically, but got no success.
I have created minimal reproduction on github as well. Here is the github link -
https://github.com/deepupathak/test
Please check and advice.
Thanks.

I can't help since you're not actually using clipboard.js here.


Minor Fixes

Bunch of minor fixes including:

Add necessary lines
Remove unnecessary white space
Add Copyrights
Remove unnecessary packages

/cc @ryanbrandenburg

Please let me know if there's anything else before I squash the commits

Hmm, is your branch up-to-date? The CI checks should not be failing.

Yes the branch up to date, I already fetched the latest commits, also i'm surprised why CI is failed :thinking:

Unable to connect to the remote server https://ci.appveyor.com/project/aspnetci/localization-r5928/build/1.0.704#L2434
any idea @dougbu

@hishamco in addition to reverting changes as mentioned here, please rebase. dev is different enough that the CI checks can't succeed.

@dougbu I update the PR, regarding the CI checks I'm already rebase the dev branch so the commit underneath mine is https://github.com/aspnet/Localization/commit/ed9a0d28bfe7ef0f2c019c408f236b80e018d172

I'll get this in once the CI checks succeed. Something strange going on if the checks fail (again).

Yep!! But I'm surprising from AppVeyor it failed long long time back while Damian commit

Strange!! @dougbu can I know why this failed :thinking:

The problem is real and specific to this PR. The functional tests use command-line arguments (specifically --server.urls http://localhost:5080/  --server Microsoft.AspNetCore.Server.Kestrel) when starting the LocalizationSample project. Put another way, there are no "unnecessary packages".
Revert all changes to that sample.

Let me try ..

It should pass now 😄

40e54bf

Thanks


Document the samplers

In this PR I add some documentation to the existing gibbs samplers, and minor simplifications to the API.

Looks good, aside from the error in lambda's exponent in the model specification docstring.

Thank you for the review. I included the changes you suggested. Ready to merge on my end.

Thank you for the review. I included the changes you suggested. Ready to merge on my end (I need an approving review to be able to merge the PR).

done, in case you didnt see the approval.

Yes thank you, I don't have merging rights on this repo unfortunately.

Yes thank you, I don't have merging rights on this repo unfortunately.

Cc @brandonwillard
I'll merge it myself in the meantime.

Thanks @rlouf


If title, source, and destination options are included, apple-maps may fail to display directions

When I include source and destination lat/lng along with a title as options, apple-maps attempts to lookup the title as the destination. If the title is a custom name and apple-maps is unable to find it as a location, a "no results found" state is reached, and no directions are displayed.
I believe this is caused by line 72 within src/index.js:
url += `&q=${title ? `${encodedTitle}&address=${encodedTitle}` : 'Location'}`

It seems as though the title is being treated as an address.

I believe there's some history behind this, but I don't really remember what.
So feel free to submit a PR to fix this behaviour!

@tschoffelen, sounds good! I'll create a fork and see what I can come up with :)

@acoulon99 did you manage to find a solution? I also just came across this bug - when all four lat/long parameters are set, Apple Maps will use the title variable if it is set, as opposed to the lat/long variables. The only solution I have right now is to remove the value for title, which is not ideal
cc: @tschoffelen

Google Maps also seems to use the title.

Possibly, removing the address parameter will resolve this, as @acoulon99 in the issue description, but I haven't had time to verify this yet, and am unsure how this might impact current users of the library.
If anybody could do some testing or find some documentation related to the parameter, that would be super helpful.

Hey guys...maybe a simple low-risk solution would be to add appleForceLatLon since we already set that precedent  with googleForceLatLon?
It's really a bad experience for google maps to suffer because we can't specify title without screwing up Apple... lol

Google Maps also seems to use the title.
EDIT: I guess that's why googleForceLatLon exists 🤦

Alright...I did some research:
https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
It's actually super confusing,
For "q":

The query. This parameter is treated as if its value had been typed into the Maps search field by the user. Note that q=* is not supported
The q parameter can also be used as a label if the location is explicitly defined in the ll or address parameters.

For "address":

The address. Using the address parameter simply displays the specified location, it does not perform a search for the location.

I did some testing without having a source destination...and seems to be working without address.

@tschoffelen my PR is approved...but how does it actually get merged in?


Possible issue in Converter classes for @Constr

I'm not sure if I'm doing something wrong, but
Given an interface and two class implementations, one empty class and one class w/ one property (as per MyOptional example) https://github.com/bloxbean/cardano-client-lib/blob/fix/blueprint-sum-type-annotation/annotation-processor/src/test/java/com/bloxbean/cardano/client/plutus/annotation/processor/model/MyOptional.java
The code that is autogenerated has error.

@nemo83 Currently @Constr annotation can only be applied to a class not interface. So in this case, you need to do something like this.
public interface MyOptional {
}

@Constr
public class Some implements MyOptional {
    private BigInteger value;

    public BigInteger getValue() {
        return value;
    }

    public void setValue(BigInteger value) {
        this.value = value;
    }
}

@Constr(alternative = 1)
public class None implements MyOptional {
}

What if you MyOption appears in another model object?


Wrong plot of data in Line Chart

Did I do wrong when setting the chart? All I did is put my data in the chart component, as you can see the data in y value is 1 and the highest is 2 which my data has no 0 value, its 1 and 2s only. Why does it do this, is it my setup fault or is it a bug? Anyone can help me? Thanks
@Composable
private fun getLineChartData(pointData: List<Point>, yScale: Int): LineChartData {
    return LineChartData(
        linePlotData = LinePlotData(
            lines = listOf(
                Line(
                    dataPoints = pointData,
                    LineStyle(
                        color = MaterialTheme.colorScheme.onTertiaryContainer,
                        width = 6f,
                        lineType = LineType.SmoothCurve(isDotted = false)
                    ),
                    IntersectionPoint(
                        color = MaterialTheme.colorScheme.onTertiaryContainer,
                        radius = 4.dp
                    ),
                    SelectionHighlightPoint(color = MaterialTheme.colorScheme.onTertiaryContainer),
                    ShadowUnderLine(
                        alpha = 0.5f,
                        brush = Brush.verticalGradient(
                            colors = listOf(
                                MaterialTheme.colorScheme.onTertiaryContainer,
                                Color.Transparent
                            )
                        )
                    ),
                    SelectionHighlightPopUp()
                )
            )
        ),
        backgroundColor = MaterialTheme.colorScheme.tertiaryContainer,
        xAxisData = getXAxisData(pointData = pointData),
        yAxisData = getYAxisData(yScale = yScale),
        gridLines = GridLines(
            color = MaterialTheme.colorScheme.onTertiaryContainer,
            enableVerticalLines = false
        ),
        paddingRight = 0.dp
    )
}

Same issue here. When you start the y-axis with 0 but there's no 0 correlated value in your data points, the axis ie either pushed further down to compensate for that "missing" point in your data points and assigns the lowest value to the 0 value on the y-axis.
This needs fixing. I haven't found a way to circumvent it.

Same issue here. When you start the y-axis with 0 but there's no 0 correlated value in your data points, the axis ie either pushed further down to compensate for that "missing" point in your data points and assigns the lowest value to the 0 value on the y-axis.
This needs fixing. I haven't found a way to circumvent it.

Did you find any work around for this problem?

I haven't, unfortunately. Let me know if you find any workaround.

On looking at the source code.. found out the cause of this issue.. They are setting the min and max values for x and y axis based on the data that we set to plot the charts.
For example, in your case, the data set consists of only 1 and 2.. so here the min and max value for your y axis will be taken as 1 and 2 respectively. Instead the min and max value for the y axis should be from the label that you set to the axis which is 0 and 2.
Either the the sdk has to give the user to set the min and max values explicitly or the min and max values should be calculated from the axis data that the user provides instead of the points data that is used to plot the points in the chart.


How to use ->idle() method when trying to check for new messages through ajax request ?

Im trying to check for new messages using ajax request.
When im just trying to listen to new messages on backend only with php, everything works fine.
public function tracingNewMsg()
    {
        $client = MailIMAP::connection();
        $folder = $client->getFolderByPath('INBOX');
        $client->disconnect();
        $m = $folder->idle(function($message){
           $msg = $message->subject;
            dd($message->subject);
        },$timeout = 1200, $auto_reconnect = true);
    }

But if im trying to send ajax request from frontend to backend, my request is pending.
public function tracingNewMsg()
    {
        $client = MailIMAP::connection();
        $folder = $client->getFolderByPath('INBOX');
        $client->disconnect();
        $m = $folder->idle(function($message){
           $msg = $message->subject;
            return response()->json($msg);
        },$timeout = 1200, $auto_reconnect = true);
    }

I also tried
public function tracingNewMsg()
    {
        $client = MailIMAP::connection();
        $folder = $client->getFolderByPath('INBOX');
        $client->disconnect();
        return $folder->idle(function($message){
           $msg = $message->subject;
            return response()->json($msg);
        },$timeout = 1200, $auto_reconnect = true);
    }

Its the same, pending...
Looks like ->idle() is just infinitely repeating itself, i would like to check for messages once and get a responce
Is there any way to achieve what im trying to do ?

Hi @eXCom ,
many thanks for your question. The Folder::idle() command is exactly designed to do just this - idle and call the callback as soon as a new message arrives. Its not supposed to ever "finish"..
If you want to fetch new messages, you'll have to use the Folder::query() method - or implement a websocket and combine it with the idle method. Take a look at the implemented event / subscriber support https://www.php-imap.com/frameworks/laravel/events - they might help you as well :)
Best regards,
P.s.: if you have any questions regarding the core webklex/php-imap, please head over to the core repository https://github.com/Webklex/php-imap and create an new issue there.

Thank you @Webklex very much for such a quick responce, i'll look into it!


Stack overflow in recursive type

TypeScript Version:  playground<EMAIL_ADDRESS>Code
type Recur = () => Recur.B;

Expected behavior:
Compile error.
Actual behavior:
Stack overflow.
.../node_modules/typescript/lib/tsc.js:59609
                throw e;
                ^

RangeError: Maximum call stack size exceeded
    at resolveEntityName (.../node_modules/typescript/lib/tsc.js:20834:35)
    at resolveEntityName (.../node_modules/typescript/lib/tsc.js:20859:33)
    at resolveTypeReferenceName (.../node_modules/typescript/lib/tsc.js:25382:20)
    at getTypeFromTypeReference (.../node_modules/typescript/lib/tsc.js:25481:30)
    at getTypeFromTypeNode (.../node_modules/typescript/lib/tsc.js:26360:28)
    at getSignatureReturnTypeFromDeclaration (.../node_modules/typescript/lib/tsc.js:24997:24)
    at getSignatureFromDeclaration (.../node_modules/typescript/lib/tsc.js:24964:34)
    at getSignaturesOfSymbol (.../node_modules/typescript/lib/tsc.js:25062:37)
    at resolveAnonymousTypeMembers (.../node_modules/typescript/lib/tsc.js:24311:38)
    at resolveStructuredTypeMembers (.../node_modules/typescript/lib/tsc.js:24458:25)

Doesn't show up until TypeScript 2.5. This is probably my fault from #17459.

But actually, this is a symptom of a different issue, so it's really a good thing I did that.
type Recur = () => Recur['B']

Fixed by #20400
Structured type resolution did not previously care about recursive type resolution; it was only handled in specific cases. Recursive resolution can happen almost anywhere now, so #20400 changes  resolveStructuredTypeMembers to handle it.


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2075

Questions ?
Please refer to the Backport tool documentation


ODS-5607 updated assembly version to <IP_ADDRESS>

See also: https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/