Fix multiple issues with indexed access types applied to mapped types

This PR fixes multiple issues related to indexed access types applied to mapped types. The fixes enable most of the problems outlined in #30581 to be solved using an approach that involves "distributive object types" created using indexed access types applied to mapped types.
First, a summary of the issue we're trying to solve:
type UnionRecord =
    | { kind: "n", v: number, f: (v: number) => void }
    | { kind: "s", v: string, f: (v: string) => void }
    | { kind: "b", v: boolean, f: (v: boolean) => void };

function processRecord(rec: UnionRecord) {
    rec.f(rec.v);  // Error, 'string | number | boolean' not assignable to 'never'
}

The UnionRecord type is a union of records with two correlated properties, v and f, where the type of v is always the same as the type of f's parameter. In the processRecord function we're attempting to take advantage of the correlation by calling rec.f(rec.v) for some record. By casual inspection this seems perfectly safe, but the type checker doesn't see it that way. From its viewpoint, the type of rec.v is string | number | boolean and the type of rec.f is (v: never) => void, the never originating from the intersection string & number & boolean. The type is basically trying to check if a v from some record can be passed as an argument to an f from some record--but not necessarily the same record.
In the following I will outline an approach to writing types for this kind of pattern. Key to the approach is that the union types in question contain a discriminant property with a type that can itself serve as a property name (e.g. a string literal type or a unique symbol type). Note that the examples below only compile successfully with the fixes in this PR.
The following formulation of the UnionRecord type encodes the correspondence between kinds and types and the correlated properties:
type RecordMap = { n: number, s: string, b: boolean };
type RecordType<K extends keyof RecordMap> = { kind: K, v: RecordMap[K], f: (v: RecordMap[K]) => void };
type UnionRecord = RecordType<'n'> | RecordType<'s'> | RecordType<'b'>;

The manual step of creating a union of RecordType<K> for each key in RecordMap can instead be automated:
type UnionRecord = { [P in keyof RecordMap]: RecordType<P> }[keyof RecordMap];

The pattern of applying an indexed access type to a mapped type is effectively a device for distributing a type (in this case RecordType<P>) over a union (in this case keyof RecordMap). We can even go one step further and allow a UnionRecord to be created for any arbitrary subset of keys:
type UnionRecord<K extends keyof RecordMap = keyof RecordMap> = { [P in K]: RecordType<P> }[K];

We can then merge RecordType<K> into UnionRecord<K>, which removes the possibility of creating non-distributed records. This leaves us with the final formulation:
type RecordMap = { n: number, s: string, b: boolean };
type UnionRecord<K extends keyof RecordMap = keyof RecordMap> = { [P in K]: {
    kind: P,
    v: RecordMap[P],
    f: (v: RecordMap[P]) => void
}}[K];

And, using this formulation, we can now write types for the processRecord function that reflect the correlation and work for singletons as well as unions:
function processRecord<K extends keyof RecordMap>(rec: UnionRecord<K>) {
    rec.f(rec.v);  // Ok
}

declare const r1: UnionRecord<'n'>;  // { kind: 'n', v: number, f: (v: number) => void }
declare const r2: UnionRecord;  // { kind: 'n', ... } | { kind: 's', ... } | { kind: 'b', ... }

processRecord(r1);
processRecord(r2);
processRecord({ kind: 'n', v: 42, f: v => v.toExponential() });

And, because everything is expressed in terms of the mapping in RecordMap, new kinds and data types can be added in a single place, nicely conforming to the DRY principle.
Fixes #30581.

@typescript-bot perf test faster
@typescript-bot test this
@typescript-bot user test inline
@typescript-bot run dt

@typescript-bot user test this inline

I'm kind of surprised at how much of this already works in TS4.5 without these fixes.  Both processRecord(r1); and processRecord(r2); are fine.  Sure, the K parameter isn't inferred, but it falls back to keyof RecordMap which is fine for a distributive object type.  Only
processRecord({ kind: 'n', v: 42, f: v => v.toExponential() }); // error

fails outright, and that's just because of unfortunate contextual typing of v as RecordMap[keyof RecordMap] .  In current TS I'd be inclined to fix that with either of these:
processRecord<'n'>({ kind: 'n', v: 42, f: v => v.toExponential() }); // okay
processRecord({ kind: 'n', v: 42, f: (v: number) => v.toExponential() }); // okay

Am I right in thinking the current fix is mostly helping inference for K succeed here so that these are not necessary?  I'm definitely interested in playing around with this. Thanks for working on it!!
Playground link

I'm kind of surprised at how much of this already works in TS4.5 without these fixes.

Yes, the nice thing is that this approach isn't really a new feature. The core capabilities were all there, they just didn't work quite right in a few cases. This in contrast to a whole new feature like existential types, which would be a very complex undertaking.

Am I right in thinking the current fix is mostly helping inference for K succeed here so that these are not necessary?

The PR has three fixes in it. Two of them relate to inference, specifically that we would fail to infer from object literals that contain contextually typed arrow functions.
The third fix relates to indexing non-generic mapped types with generic index types. For example:
type RecordFuncMap = { [P in keyof RecordMap]: (x: RecordMap[P]) => void };

const recordFuncs: RecordFuncMap = {
    n: n => n.toFixed(2),
    s: s => s.length,
    b: b => b ? 1 : 0,
}

function callRecordFunc<K extends keyof RecordMap>(rec: UnionRecord<K>) {
    const fn = recordFuncs[rec.kind];  // RecordFuncMap[K]
    fn(rec.v);  // Would fail, but works with this PR
}

The call in callRecordFunc failed to compile because we transformed type RecordFuncMap<K> into RecordFuncMap<typeof RecordMap> by constraint substitution when obtaining what we call the apparent type of fn. With the fix in the PR, we instead transform RecordFuncMap<K> into (x: RecordMap[K]) => void.
There are more examples of this pattern in the tests I just added to the PR.

Performance is unaffected by this PR and all tests look clean. I think this is ready to merge.

I have run into an oddity that might be related to this PR. Consider the following code:
enum MyEvent {
    One,
    Two
}

type Callback<T> = (arg: T) => void;

interface CallbackTypes {
    [MyEvent.One]: number
    [MyEvent.Two]: string
}

type Callbacks = { [E in MyEvent]: Callback<CallbackTypes[E]>[] };

class CallbackContainer {
    callbacks: Callbacks = {
        [MyEvent.One]: [],
        [MyEvent.Two]: []
    };

    constructor() { }

    setListener<E extends MyEvent>(event: E, callback: Callback<CallbackTypes[E]>) {
        const callbacks = this.callbacks[event];
        callbacks.push(callback); // okay
    }

    getListeners<E extends MyEvent>(event: E) {
        return this.callbacks[event];
    }
}

Thanks to this PR above code now works! But when I change const callbacks = this.callbacks[event]  to const callbacks: Array<Callback<CallbackTypes[E]>> = this.callbacks[event] the compiler throws Type 'Callbacks[E]' is not assignable to type 'Callback<CallbackTypes[E]>[]'. But when (in both versions) examining the type of callbacks.push, the Array is typed as Array<Callback<CallbackTypes[E]>>.
Why then, is Callbacks[E] not assignable to Callback<CallbackTypes[E]>[] while in the push call the Callbacks[E] is automagically converted to that very same type Array<Callback<CallbackTypes[E]>>?

I have run into an oddity that might be related to this PR. Consider the following code:
enum MyEvent {
    One,
    Two
}

type Callback<T> = (arg: T) => void;

interface CallbackTypes {
    [MyEvent.One]: number
    [MyEvent.Two]: string
}

type Callbacks = { [E in MyEvent]: Callback<CallbackTypes[E]>[] };

class CallbackContainer {
    callbacks: Callbacks = {
        [MyEvent.One]: [],
        [MyEvent.Two]: []
    };

    constructor() { }

    setListener<E extends MyEvent>(event: E, callback: Callback<CallbackTypes[E]>) {
        const callbacks = this.callbacks[event];
        callbacks.push(callback); // okay
    }

    getListeners<E extends MyEvent>(event: E) {
        return this.callbacks[event];
    }
}

Thanks to this PR above code now works! But when I change const callbacks = this.callbacks[event]  to const callbacks: Array<Callback<CallbackTypes[E]>> = this.callbacks[event] the compiler throws Type 'Callbacks[E]' is not assignable to type 'Callback<CallbackTypes[E]>[]'. But when (in both versions) examining the type of callbacks.push, the Array is typed as Array<Callback<CallbackTypes[E]>>.
Why then, is Callbacks[E] not assignable to Callback<CallbackTypes[E]>[] while in the push call the Callbacks[E] is automagically converted to that very same type Array<Callback<CallbackTypes[E]>>?

@quixot1c I agree your example should work whether you have the type annotation or not. The issue is that we aren't exploring all possible constraints of Callbacks[E]. Specifically, for indexed access types of the form { [P in K]: E }[X], where K is non-generic and X is generic, we should explore an instantiation of E where P is replaced with X. In your example, this means for Callbacks[E] we should explore the constraint Callback<CallbackTypes[E]>[], but we aren't currently doing that.

This PR is linked from TypeScript 4.6 release notes but the implementation changed soon after it here: https://github.com/microsoft/TypeScript/pull/47370


expose MaterialTabBarProps

Current behaviour
MaterialTabBarProps cannot be imported from the module.
import { MaterialTabBarProps } from "react-navigation-tabs";

gives: Module has no exported member 'MaterialTabBarProps'.
Expected behaviour
Being able to import the type from the "react-navigation-tabs" module so it can be used when creating custom tab bar components.
Code sample
import React from "react";
import { MaterialTabBarProps } from "react-navigation-tabs";

export const CustomTabBar: React.FunctionComponent<MaterialTabBarProps> = props => {
    // ...
};

What have you tried
Importing it as
import { MaterialTabBarProps } from "react-navigation-tabs/lib/typescript/src/types";

works, but seems like a hack to me.
This is similar to #187, a simple export should fix this.
Your Environment

software
version

ios or android
both

react-native
0.61.2

react-navigation-tabs
2.5.6

npm or yarn
yarn 1.17.3

The Prop is not exported in the current (2.7.0) version either.


Reaper status shows RUNNING, though the repair is successfully completed

Reaper status shows as RUNNING, though the repair is successfully completed.
Cassandra Version: 2.0.15
Couple of questions here

I tried running repair multiple times for different keyspaces, the repair state still shows "RUNNING" for more than 48 hours though the repair is completed.
The repair always runs only on the node "<IP_ADDRESS>", which is a seed node. How can we make sure repair continuous on next nodes once this is completed.
FYI:
seeds node: ./bin/spreaper add-cluster <IP_ADDRESS>

[root@test cassandra-reaper]# ./bin/spreaper list-runs
Report improvements/bugs at https://github.com/spotify/cassandra-reaper/issues
------------------------------------------------------------------------------
Listing repair runs
Found 1 repair runs
[
{
"cause": "manual spreaper run",
"cluster_name": "test",
"column_families": [],
"creation_time": "2015-12-08T06:19:39Z",
"duration": null,
"end_time": null,
"estimated_time_of_arrival": "2016-04-07T11:54:22Z",
"id": 1,
"intensity": 0.900,
"keyspace_name": "cache",
"last_event": "Triggered repair of segment 1 via host <IP_ADDRESS>",
"owner": "root",
"pause_time": null,
"repair_parallelism": "DATACENTER_AWARE",
"segments_repaired": 1,
"start_time": "2015-12-08T06:19:40Z",
"state": "RUNNING",
"total_segments": 301
}
]
Any help on this is appreciated.

Any update on this?

Any help on this?

According to job status, your repair still running. You starting repair of segment 1 on host <IP_ADDRESS> at  "2015-12-08T06:19:40Z", and it's running very slow (or stuck). It's only 1st segment, and you have another 300 to go, so, it predicts finish time at "2016-04-07T11:54:22Z" - i.e. almost 5 months from start. But I suspect ETA is not accurate because it stuck and can't repair even single node.
Try to stop and start repair again. Check Cassandra logs on <IP_ADDRESS>. Enable DEBUG and check reaper logs, what it's doing.

@deniszh Thanks for the response.
I tried it several times. It invokes the repair and completes. but the reaper status doesn't change to completed.


Upgrading from 5.8.3 to 5.9.2 show me error with passing ref prop to ButtonUnstyled

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
In version 5.8.3 I could pass ref to ButtonUnstyled
<ButtonUnstyled ref={ref}></<ButtonUnstyled>

After I upgrade to 5.9.2  I start get error
TS2769: No overload matches this call.
Overload 1 of 2, '(props: { component: ElementType<any>; } & ButtonUnstyledOwnProps & Omit<any, keyof ButtonUnstyledOwnProps>): Element', gave the following error.
Property 'component' is missing in type '{ children: ReactNode; ref: ForwardedRef<unknown>; "data-mgmtautomationid": string; classes?: (Partial<ButtonClasses> & Partial<ClassNameMap<never>>) | undefined; ... 283 more ...; value?: string | ... 2 more ... | undefined; }' but required in type '{ component: ElementType<any>; }'.
Overload 2 of 2, '(props: DefaultComponentProps<ButtonUnstyledTypeMap<{}, "button">>): Element', gave the following error.
Type 'ForwardedRef<unknown>' is not assignable to type '((instance: HTMLButtonElement | null) => void) | RefObject<HTMLButtonElement> | null | undefined'.
Type 'MutableRefObject<unknown>' is not assignable to type '((instance: HTMLButtonElement | null) => void) | RefObject<HTMLButtonElement> | null | undefined'.
Type 'MutableRefObject<unknown>' is not assignable to type 'RefObject<HTMLButtonElement>'.
Types of property 'current' are incompatible.
Type 'unknown' is not assignable to type 'HTMLButtonElement | null'.

This start since this change
export interface ButtonUnstyledOwnProps extends Omit<UseButtonParameters, 'ref'>

Expected behavior 🤔
To work as it work in version 5.8.3 which not show error
Steps to reproduce 🕹
Steps:

install MUI version 5.9.2
pass ref to ButtonUnstyled

Context 🔦
to pass ref to ButtonUnstyled
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

You need to consider the latest MUI Base version for ButtonUnstyled not Material UI version. It works for me in latest MUI Base version. Take a look at the CodeSandbox.
Please provide a CodeSandbox reproducing the issue if there is an error. The issue template is a good starting point.

@ZeeshanTamboli
I just created a CodeSandbox with my issue
And the error are exist

@ofirrifo You need to type the generic forwardRef function as shown here.

@ZeeshanTamboli  Thanks it work :)


Use a hidden name for python functions

If you define a method in Python, VOC will potentially generate three Java-side methods to represent that method:

A binding method, representing the Java interface to the method. This will be typed using the specific types annotated in the Python code
A super method, with the same prototype as the binding, but explicitly invoking the super.method()
The Implementation, representing the actual Python logic. All arguments to this method will be org.python.Object, as will the return type. All implementation methods are static; the first argument is the org.python.Object representing the instance. This largely mirrors Python's own behavior.

When you invoke a Python method from within Python, the implementation is called directly. However, if you invoke from Java, the binding is invoked; this transforms the typed arguments into Python-compatible objects, and invokes the implementation.
At present, the implementation and binding have the same method name, but different prototypes (pure Java types for the binding; static org.python.Object types for the implementation). However, if a method foobar() needs a super, the super method will be called foobar$super(). This is not a legal name in Java syntax, but it is a legal and accessible symbol name. As a result, we can create a super method without any risk of namespace clashes.
It would be desirable for the implementation method to also have a modifier (foobar$py()) to make it clear that the method should only be invoked from within a Python context.

Hi, I'm currently attempting on this.
After I added the $py suffix to the methods (not functions), all instance methods including the built-ins are affected.
Then I ran voc on the following python code:
class h:
    def __init__(self):
        pass

h()

and it yielded:
Exception in thread "main" java.lang.NoSuchMethodException: python.q.h.__init__(org.python.Object)
        at java.lang.Class.getMethod(Class.java:1786)
        at python.q.h.class$init(q.py:2)
        at python.q.__init__.module$import(q.py:1)
        at python.q.__init__.main(q.py)

By disassembling the generated class file, I confirmed that the method that was being looked for was renamed to __init__$py.
After searching in the code for more than an hour, the code which causes the exception is still not found.
Anyone who knows the internals of voc? 🤕 Any help is appreciated!

Hi, I'm currently attempting on #53.
After I added the $py suffix to the methods (not functions), all instance methods including the built-ins are affected.
Then I ran voc on the following python code:
class h:
    def __init__(self):
        pass

h()

and it yielded:
Exception in thread "main" java.lang.NoSuchMethodException: python.q.h.__init__(org.python.Object)
        at java.lang.Class.getMethod(Class.java:1786)
        at python.q.h.class$init(q.py:2)
        at python.q.__init__.module$import(q.py:1)
        at python.q.__init__.main(q.py)

By disassembling the generated class file, I confirmed that the method that was being looked for was renamed to __init__$py.
After searching in the code for more than an hour, the code which causes the exception is still not found.
Anyone who knows the internals of voc? 🤕 Any help is appreciated!

OK I have fixed it!


StreamPeer: Send a socket message without the "32 bits unsigned integer".

Godot version:

v3.1_Stable
Hello,
void put_string( String value )
Put a zero-terminated ascii string into the stream prepended by a 32 bits unsigned integer representing its size.

As the docs state, when using put_string("some data") it also sends a 32 bits unsigned integer along with "some data". I would like to know if it is possible to overide that or maybe be added in a future version of godot.
Thank you.

put_data("some data".to_ascii()) might do the trick.

Great, that worked, thank you!

Great, that worked, thank you!


max tries

it is failing if you  setup  any numeric value like 2 ..
and if is set up "2", it is failing in repo  side...
Have you guys tested it..
I am setting up  values in environment file

This should be fixed up in 3.6.2


ToggleSwitch control internally sets a MinWidth to 154, which is way larger than its default width

Describe the bug
The ToggleSwitch control template sets the MinWidth of one of its internal Grid to 154, through the following resource:
<x:Double x:Key="ToggleSwitchThemeMinWidth">154</x:Double>

Because of that, if you put a ToggleSwitch control in a column of a Grid having its ColumnDefinition width set to Auto, the column won't adjust to the size of the ToggleSwitch by default.
I tried to redefine ToggleSwitchThemeMinWidth resource in many places of my application to try to override it without success.
Note that this issue can be mitigated with one of the following workarounds, but this is not ideal:

Set the Width property of the ToggleSwitch control to a fixed value
Retemplate the whole ToggleSwitch

Steps to reproduce the bug
For instance, put the following XAML code in a sample page:
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>

    <TextBlock Text="Here is a TextBlock" />
    <ToggleSwitch Grid.Column="1" />
</Grid>

Expected behavior
I would expect the ToggleSwitch control to be aligned on the right of the grid.
Screenshots
Instead, there is a lot of wasted space on the right, as you can see in the following screenshot:

Version Info

NuGet package version:
[Microsoft.UI.Xaml 2.4.3]

Windows app type:

UWP
Win32

Yes

Windows 10 version
Saw the problem?

Insider Build (xxxxx)

20H2 (19042)
Yes

May 2020 Update (19041)

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Xbox

Surface Hub

IoT

Additional context

I tried to redefine ToggleSwitchThemeMinWidth resource in many places of my application to try to override it without success.

This is weird, overriding this resource should work from any parent of the toggle switch. Can you try doing it in your App.xaml?
The template for toggle switch does seem weird, there should probably be a setter in the style targetting the minwidth property that sets it to this and then we should template bind the toggle switches min width to this template part.
The reason that this was done is likely to maintain accessible compliant touch targets, you can see similar things with the checkbox and radio button templates, however they do the template binding thing I described above.

Can you try doing it in your App.xaml?

It also doesn't work unfortunately. Note that I've tried to perform the override before or after referencing <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" /> and it doesn't work both ways.

I would like to work on this. I think the @StephenLPeters proposed solution seems the best for this.

I would like to work on this. I think the @StephenLPeters proposed solution seems the best for this.

Is this a value affected by the localisation text for On and Off?

Is this a value affected by the localisation text for On and Off?

I don't think so.

This still appears to be an issue, setting MinWidth to 0 does resolve it. Very odd and unexpected.

@nkasco are you setting the property on toggle switch or the resource ToggleSwitchThemeMinWidth?

@nkasco are you setting the property on toggle switch or the resource ToggleSwitchThemeMinWidth?

On the Toggle Switch XAML directly:
<ToggleSwitch Name="SettingStartupBehavior" HorizontalAlignment="Right" Grid.Column="1" OffContent="" OnContent="" MinWidth="0"/>

@nkasco what version of WinUI are you using?

I've also found this issue with WindowsAppSDK v1.0.3.

I think this is still an Issue.

Still an issue in 1.3.230724000.

To not have the default larger MinWidth is better to set it to 0, you can control the value in 2 ways:

overriding ToggleSwitchThemeMinWidth resource in any parent control, like in your App.xaml  <x:Double x:Key="ToggleSwitchThemeMinWidth">0</x:Double>
or setting MinWidth directly in the ToogleSwitch <ToggleSwitch MinWidth="0"/>

Still an issue in Windows App SDK 1.4.230822000
@mibrito707 I find that ToggleSwitchThemeMinWidth has no effect, but setting MinWidth directly works OK


Add date joined field

Codecov Report

Merging #54 (8f7051b) into master (84a8d93) will decrease coverage by 0.98%.
The diff coverage is 45.07%.

@@             Coverage Diff              @@
##             master      #54      +/-   ##
============================================
- Coverage     70.70%   69.71%   -0.99%
- Complexity      406      414       +8
============================================
  Files            73       76       +3
  Lines          1287     1344      +57
  Branches        132      139       +7
============================================
+ Hits            910      937      +27
- Misses          338      364      +26
- Partials         39       43       +4

Impacted Files
Coverage Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)

...eedu/address/logic/commands/DateJoinedCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
84.21% <0.00%> (-4.68%)
:arrow_down:

.../address/logic/parser/DateJoinedCommandParser.java
0.00% <0.00%> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
25.00% <0.00%> (ø)

src/main/java/seedu/address/ui/PersonCard.java
0.00% <0.00%> (ø)

.../java/seedu/address/storage/JsonAdaptedPerson.java
90.90% <57.14%> (-5.01%)
:arrow_down:

...in/java/seedu/address/model/person/DateJoined.java
62.50% <62.50%> (ø)

...c/main/java/seedu/address/model/person/Person.java
94.23% <75.00%> (-1.52%)
:arrow_down:

...java/seedu/address/logic/commands/EditCommand.java
94.93% <87.50%> (-0.96%)
:arrow_down:

... and 5 more

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 84a8d93...8f7051b. Read the comment docs.


Added validation for number of shares = 0

Issue #: /bcgov/entity#7505
Description of changes:

added rule for required number of shares
added rule for number of shares > 0
added unit tests
updated app version

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

This implementation is similar to the one in bcrs-shared-components but not identical, so I applied the same fix here.
In the future, we should update this UI to use the shared component... I will create a new ticket.

This implementation is similar to the one in bcrs-shared-components but not identical, so I applied the same fix here.
In the future, we should update this UI to use the shared component... I will create a new ticket.

I believe there is a ticket to import the shared component already, will most likely come in with the new Create Filings?

I believe there is a ticket to import the shared component already, will most likely come in with the new Create Filings?

Yup, thanks for the hint. I found:
https://app.zenhub.com/workspaces/entity-5bf2f2164b5806bc2bf60531/issues/bcgov/entity/7397


File out.docx has zero size

Hi, I am getting following error while trying to read empty docx file created using File.new("file.docx", "w") command:
error: Zip::Error (File file.docx has zero size. Did you mean to pass the create flag?)
can anybody tell what is happening?

You must provide a valid docx file to the library, an empty file is not good enough. Let me know if anything is not clear.


Bookmarks and highlights

Does readium solution provide the ability to place a bookmark or highlight over a book while reading it ? Currently with what i have , i dont have the option to do so. Do i need to change anything ?

Hello @mahag , see:
ReadiumSDK.Views.ReaderView.bookmarkCurrentPage():
https://github.com/readium/readium-shared-js/blob/develop/js/views/reader_view.js#L959
ReadiumSDK.Views.ReaderView.addSelectionHighlight ():
https://github.com/readium/readium-shared-js/blob/develop/js/views/reader_view.js#L1202


Python version has matlab code mixed in

I cannot get the python version to start. Halfway through the class definition it switches to matlab syntax.

I didnt finish the python version. It doesnt run. Sorry :/

issue closed


Allow invocation from sub folder and reuse build, install, log folders in workspace root

This is an attempt to resolve #139 and #369, i.e. (re)using the build, install, and log folders from the workspace root even when started from a subfolder.
To this end, the first commit replaces the current get_cwd_path_resolver() with a new get_root_path_resolver(), which operates relative to the workspace root.
The workspace root is identified by a .colcon_root marker file or guessed by the existence of the log, build, and install folders.
Additionally to that, I would like to add the possibility to pretend that colcon was run from the root folder, thus allowing to trigger a full rebuild from any subfolder.
To this end, I added a --cd-root option, changing the working directory before processing a verb action.
However, that doesn't work because the get_cwd_path_resolver(), used for package discovery, operates on the original cwd:
https://github.com/colcon/colcon-core/blob/a6aef1515b946f5af47b16d55b4f9ffaaaa27126/colcon_core/argument_type.py#L30-L32
To resolve that, I could handle the --cd-root option before instantiating verb parsers (and thus resolver functions).
Alternatively, I could imagine introducing a special keyword (e.g. ROOT) to pass to the --base-paths argument.
Extensions, which should also resolve w.r.t. the workspace root, need to be adapted as well:

[x] https://github.com/colcon/colcon-test-result/pull/49
[x] https://github.com/colcon/colcon-clean/pull/38

Thanks for the PR. I have some thoughts:

As is, this constitutes a breaking change to the established behavior.
This behavior should be opt-in and not implicit.
This feature is not fundamentally necessary for colcon to function, and therefore should not be part of the core but rather a separate extension.

Was there a specific reason to not resolve default values?

This was part of my proposal for this mechanism, available here: https://github.com/colcon/colcon-top-level-workspace/tree/cottsay/implementation

Thanks for pointing out your solution to that issue, @cottsay. Unfortunately, this solution isn't yet linked in the corresponding issue #139 (or the docs), which makes it hard to find...
I experimented with your extension and found the following limitation (which was already foreseen by Dirk in https://github.com/colcon/colcon-core/issues/139#issuecomment-536781675):
The --base-paths arguments (and probably other path arguments) are resolved w.r.t. to the workspace root, which is somewhat unintuitive. In my solution, these are still resolved w.r.t. the current dir - not changing the existing default behavior.

As is, this constitutes a breaking change to the established behavior.

This is intended :wink: While colcon is operational as is, many users requested more usability comfort - particularly being able to run colcon from any subfolder within the workspace.

This behavior should be opt-in and not implicit.

I kind of agree (but I believe you should consider changing the established behavior in the long run).
I think combining your and mine solutions would be a good approach:
The PR here introduces the concept of the workspace root folder and its distinction from current working dir.
Your solution, using an argument parser extension point, allows to optionally define the root-level workspace different from the current working dir (I suggest not to chdir() anymore).

This feature is not fundamentally necessary for colcon to function, and therefore should not be part of the core but rather a separate extension.

See above. I think we need the introduction of the root-level workspace concept here in core and can define the root-folder resolution in an extension. By the way, your colcon-top-level-workspace extension also relies on an addon to the core, namely is_default_value().
What do you think? If we agree on the approach, I can try to come up with an implementation over the next weekend.
P.S.:
Please list all available extension points in the docs. The ArgumentParserDecoratorExtensionPoint and possibly other extension points are not yet listed there.

I implemented the suggested behavior in https://github.com/colcon/colcon-top-level-workspace/pull/2. No need to adapt colcon_core anymore.

Hi @rhaschke I seem to have this issue with your PR: https://github.com/colcon/colcon-top-level-workspace/issues/4
Do you encounter the same or is this intended behavior? In catkin this was possible (as far as that is still a reference).


[3.x] Solve Prettier/ESLint conflict and review other formatting features

Description
I noticed an indentation conflict with ESLint and Prettier when auto formatting in VS Code. This PR removes the conflicting rules by adding prettier to the eslint config.
A node task npm run format has been added to run Prettier from the terminal.
Also, suggesting using only phpcsfixer for PHP formatting instead of Prettier by removing options for PHP in .prettierrc.js, allowing now to have a tab width of 2 spaces for js, vue and scss and leave a tab width of 4 spaces for php. Adding a PrettierPHP fixer to run Prettier after code passed through PHP CS Fixer.
It adds a PSR2 configuration file for PHP_CodeSniffer.
Also adds a documentation block in the Contributing section to setup corresponding plugins in VS Code.
Add a GitHub action for on demand formatting (Prettier).
TODO

Run npm run format and commit the changes or test formatting action :)

Related Issues
—

Should we maybe take this opportunity to set psr12 as the standard going forward? Then I think that we can clear out the phpcs.xml config and just stick with the default psr12 rules.
I personally do not like this idea of using prettier (js) to do the formatting for PHP. But if it works well, why not.

Maybe while we are at it, we can add static code analysis with Phan or phpstan to catch bugs early as well.

Hey @ptrckvzn and @ifox,
I had another look at prettier PHP as it seemed to do a good job, however it was a bit too aggressive on some fronts so I changed it to use php-cs-fixer directly so we have more control.
I found a ruleset that leans quite well to the Laravel standards.
I also added a command php artisan twill:setup-devtools to copy these configs to the Laravel install you run it from.
Phan I will setup in a separate pr.

Looks amazing! Thanks @haringsrob !


fix make images

The internals of the make images now take four arguments:

target name
tag
file
context

/cc @sttts @tnozicka

/retest

/retest

same as https://github.com/openshift/cluster-kube-apiserver-operator/pull/551, closing


Add support for proxy settings on a per-request basis

Sometimes it is very useful to only proxy some specific requests.
Also note that I could not find any tests for proxy support and understand that it may significantly complicate the test suite. So I decided to not add them without a discussion.

Are there any objections to having this feature? What's the best venue (mailing list, irc) to discuss it?

No, there are no objections, I've been really busy, but I will take a look this weekend and get it merged in.

Thank you. I can wait longer, take your time.

Merged to master, thanks for the feature!

@dakrone thank you. Would it be possible to make a new release to clojars? (a snapshot will do)

Sure, I've released 0.3.1-SNAPSHOT to clojars, or 0.3.1-20120203.084157-1 if you need a non-snapshot version.


Available Balance Tooltip obscured by Continue button

The send BTC Available Balance Tooltip is being obscured by the Continue button

Other send flows should be audited as part of fixing this

I've opened a PR to fix this by increasing the z-index of the tooltip


imports #xxx specifiers should be always resolved locally

nodejs package.json imports field support #xxx specifier, which should be always resolved locally.
eg. package "a" has dep "b", both have imports field in their package.json: imports: { "#foo": "./foo.js" }. In the "b" package there is a file contains import "#foo" which should be resolved to b/foo.js, but currently it will be resolved to a/foo.js.

I think it's a better choice to leave alias resolution completely to the default ESM resolver of the node.js, so I've removed the part handling aliases and published a new package to the npm as  1.9.7, can you test your project setup with this new version?

I think it works now, thank you.


securing gcs static website - routing rule not working as expected

I'm trying to follow https://cloud.google.com/community/tutorials/securing-gcs-static-website
( https://github.com/xiangshen-dk/securing-gcs-static-assets-iap )
The load balancer routing rule works only as long as i have the Cloud-CDN-Cookie or if Cloud-CDN-Cookie is the first cookie that is set but if i have more than one cookie and Cloud-CDN-Cookie is not the first cookie, the routing to the bucket is never done.
Any tips on how can i solve this?
Thank you.

There is a feature request open for a regex rule match: https://issuetracker.google.com/issues/177618240, which can be a fix for the issue.
Also, as a workaround, we can use a longer path for the cookie order.
Search the following text in README for the example:
Important: The path is needed here to make sure the CDN signed cookie will be the first in the cookie header string. It takes advantage of the fact that most browsers will sort the cookies from the longest path to the shortest path.

Oh, that last part I didn't see it in the original article.
Does it matter what i put in the path?

thank you for your help!


Omitting [vm_name] didn't work when attemped to copy files from host to guest

Contrary to the documentation, omitting the guest vm_name or using the name of vm doesn't work. It only works with the vm ID. See below.
$ vagrant version
Installed Version: 1.8.1
Latest Version: 1.8.1

You're running an up-to-date version of Vagrant!

$ vagrant scp 8.3/ :/home/maven/docker-sentry/
A Vagrant environment or target machine is required to run this
command. Run `vagrant init` to create a new Vagrant environment. Or,
get an ID of a target machine from `vagrant global-status` to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.
[ye@Yes-MacBook-Pro docker-sentry-ye-forked (master)]$ vagrant global-status
id       name   provider   state   directory
-----------------------------------------------------------------------
274c90c  maven  virtualbox running /Users/ye/dev/maven

The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory.  Run `vagrant init` to create a new Vagrant environment. Or,
get an ID of a target machine from `vagrant global-status` to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.

$ vagrant scp 8.3/ 274c90c:/home/maven/docker-sentry/
Warning: Permanently added '[<IP_ADDRESS>]:2222' (ECDSA) to the list of known hosts.
config.yml                                                                                100% 1315     1.3KB/s   00:00
docker-entrypoint.sh                                                                                100%  380     0.4KB/s   00:00
Dockerfile                                                                                100%  846     0.8KB/s   00:00
Dockerfile                                                                                100%  591     0.6KB/s   00:00
sentry.conf.py

If did you run vagrant scp from a directory where the Vagrantfile exists?
If yes, how many machines is defined in the Vagrantfile?

did you run vagrant scp from a directory where the Vagrantfile exists?
I might have, I don't recall now.

If yes, how many machines is defined in the Vagrantfile?
There is only one vm machine defined in the Vagrantfile.


chore(repo): bump node version

:pencil: Description

Upgrades github-helpers to node v16 in action.yml

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


Sign release check

Our repository does not produce any artifact, only the tgz from source code  is on the assets. It is necessary to sign the source code? or only produced artifacts?

Sorry for the late response here. I would say it's useful to sign source code tgz files also along with produced artifacts.
Closing this issue for now. Feel free to re-open.


Installation Issues Mac M1

Hi, I've been trying to install spleeter on my mac m1 for over a week now and I'm a bit lost on why some have had success, and I can't seem to get it to work.  I've followed this discussion as well as this one.
I am successful in installing tensorflow-macOs 2.5 as well as 2.6 for mac, as well as metal and all the other dependencies but running spleeter always fails, with a 6 leaked semaphores issue.
I have tried various combinations of tensorflow-MacOS with different versions of python, as well as different branches of spleeter (v2.3.0 / v2.3.2 / metal branch), but nothing seems to work.
One thought I had is that tensorflow might be breaking when running poetry update, since it automatically updates numpy and some other dependencies.  However, I am able to run a test "print(tf.reduce_sum(tf.random.normal([10000,1000]))) which shows that it is working and using the metal / mps gpu on mac.
Lastly, I tried to install with rosetta, but the wheel provided in the discussion failed.  I also tried to create one using poetry in the Rosetta terminal but this also failed.
Any suggestions on how to solve this 6 leaked semaphores issue, or an environment that I might have most success with? (Python version / tensorflow-macOs version / spleeter version).  At this point, I feel like I'm just striking out in the dark hoping something hits, but haven't had any luck yet.
Thank you
-Michael

Hey,
Have you tried to run Spleeter in a Python environment? Or a poetry shell? If I remember correctly, the leaked semaphore issue does not occur in these cases.

Hi,
I tried running Spleeter in multiple conda environments, but none of them seem to work.  Most have leaked semaphore issues, others have dependency issues.  Would you recommend version of python / tensorflow / Spleeter (v2.3.0 or v2.3.2 or the Metal Fork?)?  At least if I have a starting point I can try a few more times from a good footing.  I'm not too familiar with poetry.  When I try to run poetry shell within the conda environment, it says the conda virtual environment is already activated.
Thanks for responding.

Hi, I'm just getting started with Spleeter on an M3 (same arch as M1), and I just wanted to share a setup that worked for me using tensorflow-metal, off of the master branch. Assumes you're using pyenv/virtualenv. Just need to make a 1 line change to the pyproject.toml to have it look for tensorflow-macos instead of tensorflow.
diff --git a/pyproject.toml b/pyproject.toml
index db723e6..20a5fe1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -51,7 +51,7 @@ httpx = {extras = ["http2"], version = "^0.19.0"}
 typer = "^0.3.2"
 musdb = {version = "^0.4.0", optional = true}
 museval = {version = "^0.4.0", optional = true}
-tensorflow = "^2.5.0, <2.10.0"
+tensorflow-macos = "^2.5.0, <2.10.0"
 pandas = "^1.3.0"
 norbert = "^0.2.1"

$ pyenv install 3.10.13
$ pyenv local 3.10.13
$ python -m venv spleeter-env
$ . spleeter-env/bin/activate
(spleeter-env) $ pip install tensorflow-macos==2.9.2 tensorflow-metal==0.5.0 # install tf deps explicitly
(spleeter-env) $ pip install . # install spleeter from root of the source tree

now you should be able to run commands from that env, eg. python -m spleeter separate -o audio_output -p spleeter:4stems audio_example.mp3


Change play button state

Describe the bug
Button play show play icon when buffering status. playerState = PlayerState.buffering
To Reproduce
Any video with long buffering.
Expected behavior
At the time of buffering, display the progress bar
Technical Details:

Device: iPhone7
OS: iOS13

Additional context
https://github.com/sarbagyastha/youtube_player_flutter/blob/master/lib/src/widgets/play_pause_button.dart#L73
i think to add conditions
if ((!_controller.flags.autoPlay && _controller.value.isReady && _playerState != PlayerState.buffering) ||

Couldn't get you. Can you describe a bit more clearly?

This is manifested when there is a long video launching.


攻读硕士学位期间取得的成果：发表论文 不支持会议论文

修改accomplish.bib文件后，发现“发表论文”只支持期刊论文，使用会议论文关键字@inproceedings后，发表论文中不会出现会议论文条目。
由于使用的是中文的引用格式，会有个[J]的标记，让我想用期刊论文伪装会议论文的尝试一败涂地😆。
希望学长能补上这点。

发给我一个案例啊！！！
还有，你的用的是本科生的还是研究生的

把你的成果信息（换掉一些个人信息）发给我，我测试一下，类似这样的形式：
@article{Tan.Du.ea_2021,
  title = {Investigation on the Temperature Distribution in the Two-Phase Spider Netted Microchannel Network Heat Sink with Non-Uniform Heat Flux},
  author = {Tan, Hui and Du, Pingan and Zong, Kuan and Meng, Guangyao and Gao, Xin and Li, Yang},
  date = {2021-11},
  journaltitle = {International Journal of Thermal Sciences},
  shortjournal = {Int J Therm Sci},
  volume = {169},
  pages = {107079},
  issn = {12900729},
  doi = {10.1016/j.ijthermalsci.2021.107079},
  language = {en},
  keywords = {沸腾传热,流道构型}
}

我使用的是研究生的是研究生的论文模板
以下是一个zotero导出的会议biblatex引用条目，和我使用的成果的格式是一样的：
@inproceedings{hougneCompressedSensingLearned2021,
  title = {From Compressed Sensing to Learned Sensing with Metasurface Imagers},
  booktitle = {Passive and {{Active Millimeter-Wave Imaging XXIV}}},
  author = {family=Hougne, given=Philipp, prefix=del, useprefix=false},
  date = {2021-04-12},
  volume = {11745},
  pages = {85--93},
  publisher = {SPIE},
  doi = {10.1117/12.2587774},
  url = {https://www.spiedigitallibrary.org/conference-proceedings-of-spie/11745/117450D/From-compressed-sensing-to-learned-sensing-with-metasurface-imagers/10.1117/12.2587774.full},
  urldate = {2023-08-16},
  abstract = {Reducing the latency of electromagnetic imaging is a crucial objective for applications such as security screening, autonomous driving, and touchless human-machine interaction. In that respect, a fundamental caveat with conventional compressed sensing techniques is that initially all information is indiscriminately multiplexed across a diverse set of measurement modes, and only during data processing one begins to select the information that is relevant to the task (e.g. concealed weapon detection). In order to only acquire relevant information in the first place, and hence drastically reduce the number of necessary measurements, the “learned sensing” paradigm suggests to interpret reconfigurable measurement hardware (e.g. a dynamic metasurface aperture) as a trainable physical layer. The latter can be directly integrated into the machine-learning pipeline used on the data processing side such that one can jointly optimize physical weights (measurement settings) and digital weights (processing network). We discuss our recent numerical and experimental investigations of this new approach to electromagnetic imaging. Our results show that a considerable reduction of the number of scene illuminations is possible by using learned illumination patterns as opposed to conventional patterns (random, orthogonal or principal scene components). At the same time, we find that there are no intuitive explanations for the learned patterns. We also clarify whether the resolution of sub-wavelength features in the scene is limited by the conventional diffraction limit.},
  eventtitle = {Passive and {{Active Millimeter-Wave Imaging XXIV}}},
  keywords = {},
  annotation = {2 citations (Crossref) [2024-01-15]},
  file = {E:\Zotero\storage\LN6TXDPV\2021_Hougne_From compressed sensing to learned sensing with metasurface imagers.pdf}
}
Minion
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "YanMing-lxb/GUET_Thesis_LaTeX"                                                                                @.>;
发送时间: 2024年4月17日(星期三) 晚上9:23
@.>;
<EMAIL_ADDRESS>主题: Re: [YanMing-lxb/GUET_Thesis_LaTeX] 攻读硕士学位期间取得的成果：发表论文 不支持会议论文 (Issue #26)
把你的成果信息（换掉一些个人信息）发给我，我测试一下，类似这样的形式：
@article{Tan.Du.ea_2021,   title = {Investigation on the Temperature Distribution in the Two-Phase Spider Netted Microchannel Network Heat Sink with Non-Uniform Heat Flux},   author = {Tan, Hui and Du, Pingan and Zong, Kuan and Meng, Guangyao and Gao, Xin and Li, Yang},   date = {2021-11},   journaltitle = {International Journal of Thermal Sciences},   shortjournal = {Int J Therm Sci},   volume = {169},   pages = {107079},   issn = {12900729},   doi = {10.1016/j.ijthermalsci.2021.107079},   language = {en},   keywords = {沸腾传热,流道构型} }
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

上一封邮件选的会议论文的作者显得有些奇怪，我挑了另一篇会议论文。
@inproceedings{fanInhomeDailylifeCaptioning2020,
  title = {In-Home Daily-Life Captioning Using Radio Signals},
  booktitle = {Computer {{Vision}} – {{ECCV}} 2020},
  author = {Fan, Lijie and Li, Tianhong and Yuan, Yuan and Katabi, Dina},
  editor = {Vedaldi, Andrea and Bischof, Horst and Brox, Thomas and Frahm, Jan-Michael},
  date = {2020},
  series = {Lecture {{Notes}} in {{Computer Science}}},
  pages = {105--123},
  publisher = {Springer International Publishing},
  location = {Cham},
  doi = {10.1007/978-3-030-58536-5_7},
  abstract = {This paper aims to caption daily life – i.e., to create a textual description of people’s activities and interactions with objects in their homes. Addressing this problem requires novel methods beyond traditional video captioning, as most people would have privacy concerns about deploying cameras throughout their homes. We introduce RF-Diary, a new model for captioning daily life by analyzing the privacy-preserving radio signal in the home with the home’s floormap. RF-Diary can further observe and caption people’s life through walls and occlusions and in dark settings. In designing RF-Diary, we exploit the ability of radio signals to capture people’s 3D dynamics, and use the floormap to help the model learn people’s interactions with objects. We also use a multi-modal feature alignment training scheme that leverages existing video-based captioning datasets to improve the performance of our radio-based captioning model. Extensive experimental results demonstrate that RF-Diary generates accurate captions under visible conditions. It also sustains its good performance in dark or occluded settings, where video-based captioning approaches fail to generate meaningful captions.(For more information, please visit our project webpage: http://rf-diary.csail.mit.edu)},
  isbn = {978-3-030-58536-5},
  langid = {english},
  keywords = {},
  annotation = {22 citations (Crossref) [2024-01-15]},
  file = {E:\Zotero\storage\ZUH4GVXQ\2020_Fan et al_In-Home Daily-Life Captioning Using Radio Signals.pdf}
}
Minion
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "YanMing-lxb/GUET_Thesis_LaTeX"                                                                                @.>;
发送时间: 2024年4月17日(星期三) 晚上9:23
@.>;
<EMAIL_ADDRESS>主题: Re: [YanMing-lxb/GUET_Thesis_LaTeX] 攻读硕士学位期间取得的成果：发表论文 不支持会议论文 (Issue #26)
把你的成果信息（换掉一些个人信息）发给我，我测试一下，类似这样的形式：
@article{Tan.Du.ea_2021,   title = {Investigation on the Temperature Distribution in the Two-Phase Spider Netted Microchannel Network Heat Sink with Non-Uniform Heat Flux},   author = {Tan, Hui and Du, Pingan and Zong, Kuan and Meng, Guangyao and Gao, Xin and Li, Yang},   date = {2021-11},   journaltitle = {International Journal of Thermal Sciences},   shortjournal = {Int J Therm Sci},   volume = {169},   pages = {107079},   issn = {12900729},   doi = {10.1016/j.ijthermalsci.2021.107079},   language = {en},   keywords = {沸腾传热,流道构型} }
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

已解决该问题，请下载最新的发行版


Update OkHttp to 3.3

Motivation
Fixes: #7743

Android apps can recover from a REFUSED_STREAM in HTTP/2.
A few other fixes mentioned in the CHANGELOG.md

Test plan

CircleCi
Integrate into sample project (Project)

By analyzing the blame information on this pull request, we identified @mkonicek and @bestander to be potential reviewers.

ping when it is ready

@bestander I have tested with a sample app and all seems to be fine.
The tests are failing with BUCK, but pass in the IDE and with Gradle.
I've tired changing a few BUCK config files but it doesn't seem to work. Do you have any idea?

The first exception is
FAILURE com.facebook.react.modules.network.NetworkingModuleTest testGetWithoutHeaders:
java.lang.AssertionError
	at okhttp3.internal.AndroidPlatform.isCleartextTrafficPermitted(AndroidPlatform.java:143)
	at okhttp3.OkHttpClient.<clinit>(OkHttpClient.java:73)

I wonder if it is something system specific

@AndrewJack updated the pull request.

I've updated this PR to OkHttp 3.3.1.
Still stumped on the BUCK unit test errors
Most of the failures have this error:
java.lang.NoClassDefFoundError: okhttp3.OkHttpClient

This is the error:
okhttp3.internal.AndroidPlatform.isCleartextTrafficPermitted(AndroidPlatform.java:143)
Could it be emulator based?
We could bump to another version other than 19.

Relates to this issue: https://github.com/square/okhttp/issues/2533

Good find @AndrewJack. Should we wait for a fix in OkHttp?

Upgraded Robolectric to fix the issue, but 3.1 doesn't currently work with power mock.
Waiting for 3.1.1...
https://github.com/robolectric/robolectric/issues/2429

Closing this issue. #8672 fixes the issues experienced upgrading to 3.3.1


Error processing Unit

Sometimes we get a validation error in the testing tool that concerns the Unit.
Example: Error processing Unit: 'milj/tube': The unit "milj" is unknown at character 1; The code "milj/tube" is not valid in the system http://unitsofmeasure.org; The code provided (http://unitsofmeasure.org#milj/tube) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4) for 'http://unitsofmeasure.org#milj/tube'
But the visualization of the report looks fine. Can we just ignore this error? If not, what does it mean?

@Charlottedp
This means that the unit you are using is not a valid UCUM unit. In order to be able to correctly compare and calculate with the results of tests, you have to express your result using UCUM units (if it is measurable). You can find the explanation here: https://ucum.org/ . If you give me the LOINC code of the test you are processing, I can help you to look up the appropriate UCUM unit. If there is no LOINC code for the test, post the file here or you can send me the file at<EMAIL_ADDRESS>if it contains GDPR sensitive information. I will try to debug it, and send you some suggestions.


Pop upmobile

General requirements
Make sure that there are no linter errors
Make sure that you used correct
Make sure that you documented your work in a professional way.
HTML/CSS & JavaScript requirements
Follow our list of best practices for HTML & CSS
Follow our list of best practices for JavaScript
Project requirements
You` should implement the following interactions:
When the user clicks (or taps) the button to check project details, the popup with details about the project appears.
When the user clicks (or taps) the close (X) button, the popup disappears.
In order to associate each project with the popup window details, you must refactor the project section:
You need to use a JavaScript array to store all of the information for all projects.
For each project you need to store the following pieces of data in a JavaScript object, at a minimum: name, description, featured image, technologies, link to live version, link to source.
You need to update the main page so that the projects section is created dynamically using the information stored in that JavaScript object. Remember, all of the HTML in that section is created when the page loads.
After that, you could implement the popup window.
You should implement popups for both mobile and desktop screen sizes
How do you create my project
Create a new branch.
Add my index.js.
I made the objects.
Pass the html code to javascript.
Download figma all resources.
I gave them functionality.
I gave them style.
Create functions to make it appear and disappear.
Modify the different screens.
Modify the readme.
Install linters.
Fix linter errors.
Modify css and js to give it the finishing touches.

STATUS: INVALID REQUEST
Hi @cilfonegabriel 👋,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project that isn't displaying the linters check here on GitHub 😄.
Your Code Review Request will be marked invalid in your Dashboard, so please submit a new one once ready 🙏.
Invalid requests don't count as a review, so don't worry about that 😄!
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @Gopxfs in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Configurable editor not working

Description:

The configurable editor not loading.
Steps to reproduce:
Add a config value to the code and try to run
Affected Versions:
v3.3.6-beta.3
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Outdated issue


tests/operator: Use patch package in operator

Change several lambdas in tests/operator/operator.go, to be regular functions. Also, change all patch implementation to use the patch package.
Release note

None

/sig code-qulity

/sig code-qulity

/sig code-quality

/retest-required


Compile library using latest Android Studio Preview with androidx

I made some changes that should make example compile on AS 3.2-beta2 (previous commits were meant only for the library) but It will still crash on runtime. To fix that h6ah4i/android-tablayouthelper needs to be migrated to androidx. I'm not planning to do it anytime soon.

Oh, I noticed one more issue in comment blocks. Need to correct RecyclerView's package.
-androidx.appcompat.widget.RecyclerView
+androidx.recyclerview.widget.RecyclerView

Is it solved ?

@h6ah4i, thank you for review. Please check recent changes.

LGTM :+1: :+1: :+1:


CASSANDRA-17122 trunk: Add utilities for materialized views to CQLTester

Well I can't follow down to the last detail de 1500 lines of change lol But overall lgtm. I left a nit and one I think it is important. Wdyt?

@bereng Thanks for the review, I have tried to incorporate your suggestions. CI for j8 and j11 contains more repeated runs.

+1


Rewriting files during app run is error prone, and leads to unexpected issues.

Describe the bug
When a developer runs aio app run --local we replace some of the local config while the app is being run.
.env gets backed up to .env.app.save
.wskdebug.props.tmp gets written
.vscode/launch.json gets written if it does not exist, or backed up and overwritten if it did.
There are potentially other areas where we do this also.
To Reproduce
Steps to reproduce the behavior:

with vscode open, run aio app run
modify the contents of .env file
cmd/ctrl+c in your terminal to stop running
your changes to .env are gone

Expected behavior
It should be obvious what is happening.
If a file is machine-modified, it should include a header explaining that, and informing the user not to modify it.
There should be no files that are both machine + user modified or there will always be issues.
Desktop (please complete the following information):

OS: any
Browser: any/na
Version: @adobe/aio-cli-plugin-app <= 3.4.0

Additional context
There are likely different solutions for different files here.
the vscode changes should possibly be written during app:init if they can [ACNA-712] is related.
this should likely be split into separate issues for each affected file.

WIP PR: https://github.com/adobe/aio-cli-plugin-app/pull/309


chore(ci): add 1.30/1.31 to the test-e2e framework

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

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

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
1091

Relevant Lines:
2833

💛  - Coveralls


feat: parallelize initialization of table metadata

Loading tableMetadata for lots of tables is slow because it's done in serial.  This PR parallelizes the process for faster initialization

Coverage increased (+0.0003%) to 97.073% when pulling 8486c0dcac9d7341f68cfae336c4b1a92c40bafa on rockrep:feature/parallelize-initialize into 5b76a4c1e0dee70649d32b8a59383021bb5d5927 on Vincit:master.


Convert Correlation to UDAF

Is your feature request related to a problem or challenge?
Similar to other issues in #8708  Move datafusion/physical-expr/src/aggregate/correlation.rs to datafusion/functions-aggregate/src/correlation.rs
I found CovarianceAccumulator in datafusion/physical-expr/src/aggregate/covariance.rs is not removed, we should remove it and use the one in datafusion/functions-aggregate/src/covariance.rs instead. The same with StddevAccumulator
Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

take


Download bundles concurrently (#287)

Codecov Report

Merging #294 into master will decrease coverage by 1.09%.
The diff coverage is 90%.

@@            Coverage Diff            @@
##           master     #294     +/-   ##
=========================================
- Coverage   83.96%   82.87%   -1.1%
=========================================
  Files          38       38
  Lines        1759     1793     +34
=========================================
+ Hits         1477     1486      +9
- Misses        282      307     +25

Impacted Files
Coverage Δ

hca/dss/__init__.py
88.46% <90%> (-0.43%)
:arrow_down:

hca/util/compat.py
57.89% <0%> (-36.85%)
:arrow_down:

hca/cli.py
60.86% <0%> (-6.96%)
:arrow_down:

hca/util/pool.py
88.23% <0%> (-2.95%)
:arrow_down:

hca/util/__init__.py
86.28% <0%> (-1.15%)
: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 e38364b...7e8b885. Read the comment docs.


Add more customization options

Sometimes it's hard to read the volume percentage number because the font is so small and cannot be changed. Can you please allow changing that font size?
Also allow removing the colored background or making it transparent. That's all I want. Than you so much for this small great tool.

I will look into a font size option next week. Not too sure about the background, you can already set it to white if that's preferred over the gradient or other solid colors and having it completely transparent would vastly decrease readability.

Thank you so much for taking this into consideration. Cheers bro.

The ability to configure font style has been added
https://github.com/dvingerh/TbVolScroll/releases/tag/1.91


changed behaviour of enter key during multiselection

Hi there 👋
First of all, thanks a lot for this package! tested several and this was the only one that checked all the boxes.
Only minor change that I'd like to suggest is the behaviour of the 'enter' key while doing multiple selection. In my humble opinion it's bad UX that hitting 'enter' to finish the selection also adds the current highlighted item; why? 'cause if I as user read a hint a là "spacebar to select, enter to confirm" I cannot get from this that I cannot have highlighted something I don't intend to be selected. Impact can be major if I don't get this right (using this for a production CLI).
Especially when using the preview function (amazing btw) I may want to scroll further than the items I've selected to check if there's still something that should be included, and don't want to come back on a huge list just to make sure I'm over a selected item.
With this small change only spacebar adds to the selection—unless there's nothing selected, in which case it conforms to single selection and enter selects and confirms.
Please consider it :) cheers

Hey @raulparada,
glad to hear that this project is useful for you! :slightly_smiling_face:
I didn't think about the possibility to scroll through all menu items and look for other previews without wanting to select the currently highlighted item when pressing the accept key. But this is a good point and I think we should add your change somehow. But I am not sure how to integrate it because it changes the multi-selection logic and other users are affected as well. Perhaps we could add another bool parameter to the TerminalMenu constructor to change the accept logic?

Thanks for having a look so fast @IngoMeyer441 :)
Reasonable yes, may implement during the day... would multi_select_select_on_accept be ok? a bit redundant but cannot think of something else

multi_select_select_on_accept is good. :+1: I can also help with implementing this (but not today, sorry). Things that should be considered:

[ ] TerminalMenu constructor parameter
[ ] (optional) option for the command line program
[ ] README update

(I butchered those commits but) I think I got there. When you find the time let me know, cheers!

Thanks for your changes :slightly_smiling_face:.
I have added some changes to support your new flag in the command line interface and the bool operator was missing for the Selection class:
diff --git a/README.md b/README.md
index 8b64da3..e54acfd 100644
--- a/README.md
+++ b/README.md
@@ -215,7 +215,9 @@ currently selected entry as the last item to the selection and to return from th
 multi-select mode, the `show` method returns a sorted tuple of all your selected menu indices instead of a single int.
 Use the `chosen_menu_entries` property to get a tuple of the menu entry strings instead. By setting `multi_select_key`
 you can define another key to toggle a selected item. By passing `show_multi_select_hint=True` a multi-select mode hint
-is shown in the status bar. If you don't want the `accept_key` to also select the last highlighted item you can pass `multi_select_select_on_accept=False`
+is shown in the status bar. If you don't want the `accept_key` to also select the last highlighted item you can pass
+`multi_select_select_on_accept=False` (if no menu item is explicitly selected, the last highlighted menu item will still
+be added to the selection).

 #### Multi-select example

@@ -387,6 +389,7 @@ usage: simple-term-menu [-h] [-s] [-X] [-l] [--cursor CURSOR]
                         [--multi-select-cursor MULTI_SELECT_CURSOR]
                         [--multi-select-cursor-style MULTI_SELECT_CURSOR_STYLE]
                         [--multi-select-key MULTI_SELECT_KEY]
+                        [--multi-select-no-select-on-accept]
                         [-p PREVIEW_COMMAND] [--preview-size PREVIEW_SIZE]
                         [-V] [--search-highlight-style SEARCH_HIGHLIGHT_STYLE]
                         [--search-key SEARCH_KEY]
@@ -431,6 +434,10 @@ optional arguments:
   --multi-select-key MULTI_SELECT_KEY
                         key for toggling a selected item in a multi-selection
                         (default: " ",
+  --multi-select-no-select-on-accept
+                        do not select the currently highlighted menu item when
+                        the accept key is pressed (it is still selected if no
+                        other item was selected before)
   -p PREVIEW_COMMAND, --preview PREVIEW_COMMAND
                         Command to generate a preview for the selected menu
                         entry. "{}" can be used as placeholder for the menu
diff --git a/simple_term_menu.py b/simple_term_menu.py
index c62cf45..172bec0 100755
--- a/simple_term_menu.py
+++ b/simple_term_menu.py
@@ -232,6 +232,9 @@ class TerminalMenu:
             self[menu_index] = menu_index not in self._selected_menu_indices
             return self[menu_index]

+        def __bool__(self) -> bool:
+            return bool(self._selected_menu_indices)
+
         def __contains__(self, menu_index: int) -> bool:
             return menu_index in self._selected_menu_indices

@@ -1296,11 +1299,8 @@ class TerminalMenu:
                         self._selection.toggle(self._view.active_menu_index)
                 elif next_key in current_menu_action_to_keys["accept"]:
                     if self._view.active_menu_index is not None:
-                        if self._multi_select_select_on_accept:
+                        if self._multi_select_select_on_accept or not self._selection:
                             self._selection.add(self._view.active_menu_index)
-                        else:
-                            if not self._selection:
-                                self._selection.add(self._view.active_menu_index)
                     self._chosen_accept_key = next_key
                     break
                 elif next_key in current_menu_action_to_keys["quit"]:
@@ -1463,6 +1463,15 @@ def get_argumentparser() -> argparse.ArgumentParser:
         default=DEFAULT_MULTI_SELECT_KEY,
         help=('key for toggling a selected item in a multi-selection (default: "%(default)s", '),
     )
+    parser.add_argument(
+        "--multi-select-no-select-on-accept",
+        action="store_false",
+        dest="multi_select_select_on_accept",
+        help=(
+            "do not select the currently highlighted menu item when the accept key is pressed "
+            "(it is still selected if no other item was selected before)"
+        ),
+    )
     parser.add_argument(
         "-p",
         "--preview",
@@ -1658,6 +1667,7 @@ def main() -> None:
             multi_select_key=args.multi_select_key,
             multi_select_cursor=args.multi_select_cursor,
             multi_select_cursor_style=args.multi_select_cursor_style,
+            multi_select_select_on_accept=args.multi_select_select_on_accept,
             show_multi_select_hint=args.show_multi_select_hint,
         )
     except InvalidStyleError as e:

You can save these changes to a file (multiselect-on-enter.patch for example) and run
git apply multiselect-on-enter.patch

to adopt the changes. But of course I am also open for other changes!
After committing the changes, you can squash all the commits to a single commit with an interactive rebase:
git rebase -i origin/develop

Git will open an editor with a commit overview for you. You can change all picks to squash (or simple s) except the first one to meld all commits into the first commit.

hahaha, I'll disappear to learn git properly for a while and come back eventually....
Thanks a lot for the help @IngoMeyer441! sorry to bother

@IngoMeyer441 can you make a branch with these changes and I'll test it out? I'm suffering the same UX friction as @raulparada and would love to help improve this.  Thanks

ahh, yes it helps to read more thoroughly :) multi_select_select_on_accept=False as an option does indeed work as expected.  thanks @raulparada !


Question: Have you encountered the Website Unaccessible error?

Hello, thanks for sharing your project! There isn't an issue with your repo, I'm just opening this as a way to communicate.
I'm building my own kindle infoscreen webapp for the transit service in my area. When I initially access it with the kindle browser, it works and polls every minute. But after about 20min to < 2 hours of leaving the page open in the kindle browser, this error message pops up: Website Unaccessible. Sorry, the browser cannot access this website.. It doesn't seem to me like there would be a reason for memory usage to increase/be an issue.
I'm wondering if you've encountered this error message before? Would you have an idea what it means, or how to work around it? Or if you have any tips on how to develop for and debug the kindle browser?
Thanks!

Happy to help! How are you trying to access the website? The mode I usually use is to actually access the html file on the kindle through the browser, and there I never had an issue. I also once tried a webserver on local network over http and that worked, but it may be that some updates to the kindle browser make this more difficult.

Thank you! Huh, that's interesting. I started out as you suggest, opening the file at file:///mnt/us/documents/test.html, then trying at file:///mnt/us/test.html. Those both eventually led to the Website Unaccessible error on a kindle <IP_ADDRESS>, so I tried hosting the website on github pages, and that still caused the error on two different kindles running <IP_ADDRESS> and 5.16.6.
Have you ever seen that error before? I wish I could see console logs 😅

yes, not seeing the logs is the most annoying part, it leaves you with just trial & error...
I just checked, my kindle recently updated to <IP_ADDRESS>.1 and it still works with the filepath. I have never seen this error before, at least not that I remember. Sorry

No worries, thanks for helping out a random person opening an "issue"! I think I'll try maybe a network-less long-running clock app, or hitting a different service's API, and see if I still get the error. Thanks!


Add tutorial for no-code dataset upload

This PR is for a tutorial for uploading a dataset to the Hub. It relies on the Hub UI elements to upload a dataset, introduces the online tagging tool for creating tags, and the Dataset card template to get a head start on filling it out. The addition of this tutorial should make it easier for beginners to upload a dataset without accessing the terminal or knowing Git.

Cool, love it ! :)
Feel free to add a paragraph saying how to load the dataset:
from datasets import load_dataset

dataset = load_dataset("stevhliu/demo")

# or to separate each csv file into several splits
data_files = {"train": "train.csv", "test": "test.csv"}
dataset = load_dataset("stevhliu/demo", data_files=data_files)
print(dataset["train"][0])

Perfect, feel free to mark this PR ready for review :)
cc @albertvillanova do you have any comment ? You can check the tutorial here:
https://47389-250213286-gh.circle-artifacts.com/0/docs/_build/html/no_code_upload.html
Maybe we can just add a list of supported file types:

csv
json
json lines
text
parquet

I just added a mention of the login for private datasets. Don't hesitate to edit or comment.
Otherwise I think it's all good, feel free to merge it @stevhliu  if you don't have other changes to make :)


update readme

Hi @dlanzieri I updated the readme file, what do you think? :) There is also a colab link to add a more detailed example!

yup I changed it :) #52

yes I think that I already did it in #52  but I may have forgotten one of them

What are we missing on this branch to merge?


Support arbitrary messages in testing framework

I'm writing an interceptor for applying field masks to arbitrary messages, something like this:
import typing as t

import grpc
from grpc_interceptor.exceptions import GrpcException
from grpc_interceptor.server import AsyncServerInterceptor
from google.protobuf.field_mask_pb2 import FieldMask

class FieldMaskInterceptor(AsyncServerInterceptor):

    def __init__(self, *args, field_name: str = "field_mask", **kwargs):
        self.field_name = field_name
        super().__init__(*args, **kwargs)

    def apply_mask(self, request, response):
        if self.field_name not in request.DESCRIPTOR.fields_by_name:
            # Field mask field is not defined for message type, so ignore.
            return response

        if not request.HasField(self.field_name):
            # Field mask field is defined but not set for this message, so ignore.
            return response

        mask = FieldMask()
        mask.CanonicalFormFromMask(mask=request.field_mask)

        if len(mask.paths) == 0:
            # Field mask is default/empty, so ignore by gRPC convention.
            return response

        # Mask is set so apply and return the masked response.
        masked_response = response.__class__()
        mask.MergeMessage(response, masked_response)
        return masked_response

    async def intercept(
        self,
        method: t.Callable,
        request_or_iterator: t.Any,
        context: grpc.ServicerContext,
        method_name: str,
    ) -> t.Any:
        if hasattr(request_or_iterator, "__aiter__"):
            # see: https://grpc-interceptor.readthedocs.io/en/latest/#async-server-interceptors
            raise NotImplementedError("Client-streaming not yet supported")

        try:
            response_or_iterator = method(request_or_iterator, context)
            if hasattr(response_or_iterator, "__aiter__"):
                # see: https://grpc-interceptor.readthedocs.io/en/latest/#async-server-interceptors
                raise NotImplementedError("Server-streaming not yet supported")

            # Unary => await, apply the mask, return the response
            response = await response_or_iterator
            response = self.apply_mask(request_or_iterator, response)
            return response
        except GrpcException as exc:
            await context.set_code(exc.status_code)
            await context.set_details(exc.details)
            raise

I was hoping to leverage your lovely testing setup to test this, but it looks like DummyRequest and DummyResponse are baked in to the testing setup and can't be overridden. To test the field mask interceptor I'd need a new request type with a FieldMask field. Is the request message type something that can be made configurable? I'm not familiar enough with gRPC to tell if that's even possible.

Hi Andrew. Yea the testing service and hence request / response types are currently baked in. It shouldn't be hard to allow custom types though. I'll think about what the API would look like for that. In the meanwhile I'd suggest unit testing your apply_mask method directly.


fix: scanDirs when nested modules in dirs update

Description
When use nested modules in dirs, handleHotUpdate is not re-scanDirs.
  dirs: [
    // './composables/**', // all nested modules
  ],

Linked Issues
Additional context

+1

This only solves a very specific case, We should use isMatch from micromatch to check


Support --newline ?

First off, thanks for writing this! I'm typically a go person but am trying to wade into the rust waters :).
What would the level-of-effort be to add newline support? I think it would be a great feature, especially for those of us with smaller screens.
I'm a rust noobie but I will dig in and see if this is something that is fairly painless to implement, and if so, submit a PR. Experienced rust people might be able to beat me to it though...

I don't really see the point of a newline switch because you can just execute echo afterwards. But then again, that's less efficient, so maybe you're right.

I'm a rust noobie but I will dig in and see if this is something that is fairly painless to implement

Awesome! Tell me if you change your mind and I'll do it :)

Closed by #2!

I was reminded by this issue after looking at #3, and I realized that I should probably ask:
What shell are you on @esell? In both bash/zsh you'd assign the prompt to PS1, and because of shell substitution the newline gets lost. So in a way this is only usable in fish, which might not be optimal.

 Woah, how does that work? Could you please post your prompt initialization script? :)

This is what I'm using in my .bash_profile
prompt() {
    PS1="$(powerline-rs2 --newline --shell bash $?)"
}
PROMPT_COMMAND=prompt

The powerline-rs2 is just a reference to my local copy that had these changes before they were merged in :)

Oh, guess I was mistaken about --newline not working inside a subshell :stuck_out_tongue:


Use explicit version string for CI poetry env

There's no need for the weird poetry env use python command I was using, because poetry env use understands Python version strings of the form setup-python accepts.

I was wrong. Neither this nor the way I was doing it before are correct on Windows. See #28.


Get latest version of plugman (1.0.3 with cordova-lib 5.3.2)

I've rebased our build-3.0.0+ branch onto tag 5.3.2
@Icenium/core

:+1: @Icenium/qa please check the iOS builds because the most of the changes are in there.

:+1:


Ordering Fairness

Summary

RFCs: $\emptyset$.
Categories:  protocol-units

Resolves #500
Changelog

Testing

cargo test -p memseq
cargo test -p move-rocks

Outstanding issues

Add tests back to CI.

@mzabaluev let me just trigger the labels again, then we can go ahead.


New import path breaks functionality

So the changes from this commit breaks functionality for one of my projects:
package github.com/golang/lint/golint: code in directory /go/src/github.com/golang/lint/golint expects import "golang.org/x/lint/golint"

Are we supposed to use the path golang.org/x/lint/golint?

Yes.  The official path was was updated back in February: https://github.com/golang/lint/commit/ead987a65e5c7e053cf9633f9eac1f734f6b4fe3 .
This patch just enforces it.

Is there a workaround for this issue?

Your options are to vendor an older version of lint that doesn't enforce the package path, or to upgrade your build tooling to the newer path.
What is preventing you from upgrading?

appreciate the feedback. I am using "FROM golang:1.11-alpine3.8" which is the latest alpine go image and trying to install lint using "RUN  go get github.com/golang/lint/golint" in my Docker file. I would have though this would get the latest lint. Is there something else I need to do?

Yes.  Your Docker file should use the new import path instead.
RUN go get golang.org/x/lint/golint

I did try that ( I should have mentioned) but got an error so I thought I misinterpreted the instruction at the top of this issue:
cd .; git clone https://github.com/golang/x /go/src/github.com/golang/x
Cloning into '/go/src/github.com/golang/x'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
package github.com/golang/x/lint/golint: exit status 128

aha. problem was I was using the github mirror. once I changed from   go get github.com/golang/lint/golint  to   go get golang/lint/golint It was all good.
Thanks!

The import path should be golang.org/x/lint/golint.

right. paste error above. go get golang.org/x/lint/golint is what I intended and works great.

Having the same error:
go version go1.12.4 darwin/amd64
Is there a workaround for this?

is this fixed? using 1.13beta1 and did "go get -u github.com/golang/lint/golint" and still see this

@laoshaw that import path won’t work anymore. The correct invocation is
go get -u golang.org/x/lint/golint


Getting redisReaderFeed error

Hi All,
We are currently using node-redis to connect to a ElastiCache instance.
Everything runs fine for a while.. but, we see the following error in our nodejs application..
nodejs: ../src/reader.cc:191: static Nan::NAN_METHOD_RETURN_TYPE
hiredis::Reader::Feed(Nan::NAN_METHOD_ARGS_TYPE):
Assertion `redisReaderFeed(r->reader, data, length) == 0' failed.

After this, our application crashes and needs to be restarted.
At first we thought it might be a availability issue since we were running a single instance inside a cluster.
Then referring to comments in #674 ... we thought it might be memory issue and so we upgraded our EC2 instances.
We do experience some peak in our load but that is ~4000 keys being written to ElastiCache.
ElastiCache does not show any signs of down time.
Can anyone shed some light as to what could be going on here?
We are running..
node 4.3.1
node-redis 2.4.2

This issue is happening in the hiredis-node wrapper or in hiredis itself. Please open a ticket there. There is nothing I can help you with right now but to recommend to switch to the javascript-parser and check if this works out for you. There should not be any performance difference that you can measure if you do not rely on very big SUNION/SINTER/LRANGE/ZRANGE commands.

Closing this out of the already mentioned reason. If you have any further detail, I would be interested in the outcome though.


Features

Social Media Features is fixed. Alignment and color is fixed. Only thing needed is the E-Board's info. Not sure if we need to add anything for the faculty advisor

Closed by request.


V1.4 add test

Partial testing for showcommand.

I cant seem to come up with the execute success test cases due to some errors regarding graphs, maybe it might be better if someone who is familiar with charts do it?

Codecov Report

Merging #258 (161d349) into master (12a2511) will increase coverage by 3.34%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #258      +/-   ##
============================================
+ Coverage     66.54%   69.89%   +3.34%
- Complexity      801      857      +56
============================================
  Files           106      106
  Lines          2846     3023     +177
  Branches        378      427      +49
============================================
+ Hits           1894     2113     +219
+ Misses          850      797      -53
- Partials        102      113      +11

Impacted Files
Coverage Δ

...java/seedu/address/logic/commands/ShowCommand.java
56.00% <100.00%> (+44.63%)
:arrow_up:

...va/seedu/address/logic/commands/SearchCommand.java
100.00% <0.00%> (ø)

...a/seedu/address/logic/parser/AddCommandParser.java
100.00% <0.00%> (ø)

.../seedu/address/logic/commands/AddScoreCommand.java
94.89% <0.00%> (+2.75%)
:arrow_up:

.../seedu/address/logic/commands/AddAllocCommand.java
95.90% <0.00%> (+3.49%)
:arrow_up:

...rc/main/java/seedu/address/model/ModelManager.java
100.00% <0.00%> (+5.63%)
:arrow_up:

src/main/java/seedu/address/model/AddressBook.java
87.87% <0.00%> (+12.12%)
:arrow_up:

Continue to review full report at Codecov.

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


IBL Sandcastle demo issues

http://localhost:8080/Apps/Sandcastle/index.html?src=Image-Based Lighting.html&label=All

Under Safari/Mac, the Use procedural image check does nothing. If it's not supported on some systems, we should be indicating that.
On Chrome/Linux, everything works but the Use procedural image checkbox seems to be flipped, i.e. when it's off it uses an image and when it's on it doesn't:

CC @lilleyse @IanLilleyT

I could not repro the second point on chrome/linux

On second thought, point 2 is expected behavior.

Maybe the wording should be clearer: Use procedural image -> Use procedural skybox

Or Use procedural environment lighting to not get mixed up with Cesium's actual skybox

@lilleyse I updated the wording


Request for Problem Resolution

I'm having trouble creating a virtual environment using conda. When I execute the following command on Ubuntu 20.04, I receive an error requesting Python 3.8 or higher, and it also states that codecov=2.1.12 cannot be found. I've tried different versions of anaconda3 and miniconda3, but the same error persists. Besides, I encounter errors when trying to upgrade to Python 3.8 with conda. I would appreciate it if you could provide a solution.
conda env create --name <ENVNAME> --file=hd-seq-id_environment.yml

Same here. Would appreciate revision of yml file. Many libraries demand 3.8 or higher, if python version is changed to 3.8 in yml other errors appear.

Thank your for informing about this issue!
I could replicate the error and now updated the .yml file. I made slight changes in the "hd_seq_id" file and included a feature to export prediction outputs to a CSV file in the output folder.
Please try to install the new version from start. It works on Ubuntu 18.04 with FSL 5.0.9 without problems.
To avoid similar issues, I'm going to include a docker version soon.

Same here, still with problems with the environment. Is it possible to install it in MacOS?

We are building a docker image, so that you don't need to deal with the issues of creating the environment from the .yml file. The instructions and the docker image itself will be available by mid January (next week).
In case you're having issues in MacOS, that my be caused by hardware incompatibilities, we recommend you to try to create the environment in another machine.

I was able to implement HD-SEQ-ID using Docker. Thank you very much.


Sort found files to fix failing test.

The sort=True option was missing the the find_files call in test_find_files2. This lead to a test failure.

Shouldn't be sort=True the default for find_files? Taking the results unsorted seems to constantly yield different results on different systems.

Yes, I think you are right. My tests are a disaster without it. Originally, I thought sorting is too expensive for a default but actually it is not. Thank you, Olli!


Remove use of tmp_path fixture.

PR #2764 introduced tmp_path without understanding of the shared FS expectation for some tests (i.e., those run on site-specific hosts).  PR #2803 fixed this with tmpd_cwd which is a temporary directory created inside of the current working directory — which is assumed to be on a shared FS.
Fixes: #3039
Type of change

Bug fix (in tests)

This passes on perlmutter, modulo the test failing in #3037 which I deleted in order to see this PR #3040 pass.


PHP73 Compatibility

Fixes to support php7.3

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Stepa4man:x: larsroettig


files not updating properly

I am using dat sync (of dat-next) on one computer, and dat-node's dat.joinNetwork({}) in another. I made a simple index.html with "Hello world." On the origin computer I replaced the text with some text, "12345", etc.
On the second computer: Instead of replacing "Hello world" with "12345", it appends the file with new lines of partial text.

Yes! Not a fun 🐛 .
Right now Dat does not handle deletion of bytes from a files (or files at all). Your hello world file may be 20B. The extra text is the difference between that and the shorter 12345 file.
We need to prioritize this bug. Another issue with the same bug: https://github.com/datproject/dat/issues/517 and related PR: https://github.com/mafintosh/hyperdrive/pull/99.
Thanks for filing the issue!

@joehand Can you recommend a temporary workaround?

If the file stays the same length, you shouldn't see the bug. So you can pad it with blank bytes or a comment:
Before:

hello world

After:

short

I am looking for a workaround at the level of dat-node. I am helping others use dat. I can't modify their actual data :-(

@aaronshaf hey sorry you hit this bug, i'm looking into it with @joehand and will get back to you soon here

Thanks for reporting this @aaronshaf , let us know if that fixes your issue after you update to the latest version of dat-node!

❤ ❤ ❤ !


There is an answer to the very first question, instead of a reaction to the last one

Verify it's not a duplicate bug report

[X] I searched for similar bugs reported on GitHub and nobody has reported a similar issue. Search all issuees.

Verify troubleshooting guide is missing steps to solve this issue

[X] I read Troubleshooting guide on Readme and there is not a guide on how to solve my problem.

Describe the Bug
When I typing a first question, chatgpt is answering normal. When I typing next something like "Thanks" it's answering me another text for my first question.
Unlike it, where I using chatgpt in browser, it's always answering for my last stuff.
Please tell us if you have customized any of the extension settings or whether you are using the defaults.
I use default settings
Additional context
No response

@egorgam could you please provide a flow of prompts that causes this? I can't reproduce this issue using API Key method + gpt3.5 model.

@gencay sure
Example.md
I use API method too, with model gpt-3.5-turbo (it's default)


Some questions for the Future

Hi,
I would like to implement some other parts of the API (Room Topic, room image, ...) in the next days.
Wondering if you would be interested in maintaining the SDK  in the future (acc the PR ;-) ?
@k-karuna I have forked from @SlimeQ repo so it would be nice if @SlimeQ could also send a PR for all his new stuff, because I would be rely on some of this .
Originally posted by @SlimeQ in https://github.com/baking-bad/matrix-dotnet-sdk/issues/11#issuecomment-1942395800
Would love to bring this SDK a bit further because we would like to use this in some parts of our Hackerspace in the future.

Cool, feel free to contribute!
We are using this SDK as a transport layer for text messages in another SDK, so the key requirement for us - keep backward compability 😊

Hi, just a quick question: Is it a problem to switch to the api version v3 ? What I saw so long there are changes that will break. But newer matrix servers will no longer support the r0 version.

Hi, just a quick question: Is it a problem to switch to the api version v3 ? What I saw so long there are changes that will break. But newer matrix servers will no longer support the r0 version.

Primary feature is to be able to create textual channel of communication between clients, so it is ok if this will not be break backward compability for high-level SDK consumers.


Tags at the beginning and/or end of newsfeed items

Many feed descriptions end with with a link tag to the actual article online (see http://www.deutschlandfunk.de/die-nachrichten.353.de.rss, for example - tag: " mehr."). The mirror news description looks strange with this tag in the end.
Other newsfeeds feature tags at the beginning of an item (see http://www.francetvinfo.fr/titres.rss - tags like "VIDEO" or "CARTE" are placed at the beginning of some titles), which also make very little sense within the setup of this project.
I have added an option to remove the tags from the beginning or end of an item's description and/or title and updated the readme.md accordingly.

Wong Merge. please push it to develop tree

Thanks for your contribution! I posted a test request: https://forum.magicmirror.builders/post/4012 if necessary, please post additional test info there. Thanks!

It work's, I can't read German (Deutsch).


698 refactor external params

Turns the external params into pydantic model and vastly simplifies the conversion from external to internal
Link to dodal PR branch: https://github.com/DiamondLightSource/dodal/tree/hyperion_698_refactor_parameters

Some discussion between @dperl-dls and I. We do want to do a refactor like this but it requires a bit more thought. We should create a mini design document and think about how the design will handle:

A new technique e.g. florescence
Adding a new parameter into current techniques
A new plan that doesn't need much data e.g. move_sample
The proposed arch for Agamemnon 2.0

closing as stale


how to have a  remote debug use ghidra debug agent(GADP)

environment:
Ghidra_10.4_build
java17
my step is:
computer A: windows ,ghidra
computer B: linux on vm ,target binary
1、execute svrInstall on computer B,look at ./ghrdraSvr status

2、use ghidra debug agent on computer A to connect B,but always on connecting status .

how can i do to debug on remote linux server.I have tried gdb via SSH ,but gdb connected for a split second before it broke. Tried gdb via gadp but return java.lang.RuntimeException: Agent terminated with error: BindException: Cannot assign requested address: bind

@gjm-anban I think you have the wrong server here.  ghidraSvr is for multi-user projects and isn’t really related to the debugger.  Instead, try support/gdbGADPServerRun (details in https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugged
/B1-RemoteTargets.md).
Not really sure why “gdb over SSH” failed.  Can you run gdb on your target VM via ssh (without Ghidra in the mix)?

@gjm-anban I think you have the wrong server here. ghidraSvr is for multi-user projects and isn’t really related to the debugger. Instead, try support/gdbGADPServerRun (details in https://github.com/NationalSecurityAgency/ghidra/tree/master/GhidraDocs/GhidraClass/Debugged /B1-RemoteTargets.md).
Not really sure why “gdb over SSH” failed. Can you run gdb on your target VM via ssh (without Ghidra in the mix)?

I ran support/gdbGADPServerRun --agent-args -g /usr/bin/gdb . but it can not find gdb

hmmm, definitely seems broken, but I think we have a temporary workaround for you - edit gdbGADPServerRun and change "--gadp-args" to "--agent-args".  That should at least get the server up and running.  The ip/port to use in "gdb using GADP" will be listed in the output from that shell command.

@gjm-anban The quick fix is to change the last line of support/gdbGADPServerRun.
# Launch Ghidra
"${SCRIPT_DIR}"/launch.sh fg jdk GdbAgent "${MAXMEM}" "" agent.gdb.gadp.GdbGadpServerLaunchShim $@

It basically comes down to removing the hard-coded arguments and putting $@ there instead. You should then be able to re-try your invocation: support/gdbGADPServerRun --agent-args -g /usr/bin/gdb

Fixed by b6100233ddff2e1c30f9f4ca86d13ae26e8ddcec


Stop archive writer from always adding './' as a root path.

clean up tests appropriately
remove achive.add_dir because we do not use it

This is a precursor change to removing the unwanted leading ./ from tar writers.
See #50, #531
A side effect of this change is that most tar output will no longer have the first entry be a directory name '.'.
This was always useless and potentially dangerous behavior. You can not create '.', but if you had a tarball
with strange permissions on the '.' entry, would that presume to set the permissions on a previously created directory?
No good can come of that.  If someone expectst that in their tests, it is a breaking change for them.
We will have to bump the minor version number in a followup PR.

@beasleyr-vmw


Sanitize File Paths in KmzTrackImporter.java to Solve Path Traversal

Type of Vulnerability
Unsanitized input from a zip file flows into java.io.FileOutputStream, where it is used as a path. This may result in a Path Traversal vulnerability and allow an attacker to manipulate arbitrary files outside the intended directory.
Screenshot of Snyk Code Analysis

CVE
CWE-23: Relative Path Traversal
Expected Outcome
A Directory Traversal attack (also known as path traversal) allows an attacker to manipulate file paths using sequences like ../ (dot-dot-slash) or absolute file paths. This may lead to unauthorized file access or overwriting files outside the designated directory.
By exploiting this vulnerability, an attacker could potentially:
•	Access sensitive files outside of the intended directory (e.g., application source code, configuration files, etc.).
•	Overwrite critical files on the file system, leading to data corruption or unauthorized modification.
•	Gain access to sensitive data if files from restricted areas are read or modified.
Code Before

Code After Refactoring

Pushed a commit and pulled the request to solve the issue.
Commit Link: https://github.com/Jinish-Vaidya/opentracksFall2024/commit/cf7218c4cc3737876d7e718118e00c0b14348698
PR Link: https://github.com/Jinish-Vaidya/opentracksFall2024/pull/18