Scroll Issues

when a add this package,i can't scroll the youtube in a particular video place

When finger is on the widget's area (YoutubePlayerIFrame) we can't scroll @sarbagyastha
serious bug :(

I am facing the same issue,
I am using YoutubePlayerBuilder.
I have put the player in a listview using listview.builder and the rest of the items in the listview are Gesturedetectors for click.
the clicks are working fine and the player is getting updated.
But, not able to scroll the list.
Tried adding the whole page inside a SingleChildScrollView, still no luck.

@ihsan-96
I switched to another package (fork of this one) : https://pub.dev/packages/youtube_plyr_iframe
It contains a lot of fixes and improvements

by sending gestureRecognizers empty fixed my problem
YoutubePlayerIFrame(
      controller: _controller,
      gestureRecognizers: {},
    );

Hi @sarbagyastha , Any reason why you are not pushing new updates to this plugin?

When using YoutubePlayerScaffold, set gestureRecognizers to empty is not working either.

I found the reason.
There is a enableFullScreenOnVerticalDrag parameter controls the swipe behavior to be on/off.
https://github.com/sarbagyastha/youtube_player_flutter/blob/fef473e7978ec068bc8679f22124b3aa83e96cba/packages/youtube_player_iframe/lib/youtube_player_iframe.dart#L42
This is not exposed to YoutubePlayerScaffold, and simply setting gestureRecognizers won't change the swipe gesture due to the following
https://github.com/sarbagyastha/youtube_player_flutter/blob/fef473e7978ec068bc8679f22124b3aa83e96cba/packages/youtube_player_iframe/lib/youtube_player_iframe.dart#L115-L120

Set the enableFullScreenOnVerticalDrag to false and gestureRecognizers to an empty object
Your widget should be like this:
YoutubePlayer(             gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{},             controller: _controller,             aspectRatio: 16 / 9,             enableFullScreenOnVerticalDrag: false, )
it works fine on Android and iOs but i haven't test it on web yet

currently  enableFullScreenOnVerticalDrag: false and   gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{} are not allowed any other ideas how to stop drag in scroll view?

The suggested methods above don't work for web and the scrolling is blocked by the video frame. Does anyone have a solution?

I haven't found a solution for this. Even trying to modify the package hasn't helped. I think the issue is with iframes in general.
I'm deciding to change my layout to avoid the problem, putting the scrollable area next to the video.


Why does an interpolated string not provide the same warning?

Why does an interpolated string not provide the same warning (CA1305)? The danger is exactly the same there, both always use CultureInfo.CurrentCulture to format the given value (see sample below):
public static void Main(string[] args) {
    //Initialize test values
    DateTime date = new DateTime(2021, 12, 31);
    decimal value = 1234.56M;
    //Initialize format providers
    string[] testCultures = new string[] { "de-CH", "en-US", "en-GB" };
    IEnumerable<CultureInfo> formatProviders = testCultures.Select(e => new CultureInfo(e, false));
    //Initialize results
    StringBuilder resultByFormat = new StringBuilder();
    StringBuilder resultByInterpolation = new StringBuilder();
    //Fill in results
    foreach (CultureInfo cultureInfo in formatProviders) {
        CultureInfo.CurrentCulture = cultureInfo;
        resultByFormat.AppendLine(string.Format("Value: {0}", value));
        resultByFormat.AppendLine(string.Format("Date: {0}", date));
        resultByInterpolation.AppendLine($"Value: {value}");
        resultByInterpolation.AppendLine($"Date: {date}");
    }
    //Assert that they are equal
    if (resultByInterpolation.ToString() == resultByFormat.ToString()) {
        Console.Out.WriteLine("Interpolation behaves the same as String.Format(..)."); //This string is written
    } else {
        Console.Out.WriteLine("Interpolation behaves differently than String.Format(..).");
    }
}

Or do I miss something?

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

ID: ee726c26-f355-a0d8-9d7d-63d770e2a23c
Version Independent ID: f8c1f8a7-0dcb-7e6d-0eaf-8acf31a65c42
Content: CA1305: Specify IFormatProvider (code analysis) - .NET
Content Source: docs/fundamentals/code-analysis/quality-rules/ca1305.md
Product: dotnet-fundamentals
GitHub Login: @gewarren
Microsoft Alias: gewarren

Duplicate of https://github.com/dotnet/roslyn-analyzers/issues/2150

Duplicate of https://github.com/dotnet/roslyn-analyzers/issues/2150

@Youssef1313 Thanks for that link. Closing this docs issue in favor of the product issue.

@Youssef1313 Thanks for that link. Closing this docs issue in favor of the product issue.


Bugs, Items not stacking in inventory on pickup and extra item generation.

OK i've decided to create a new report.
When picking up a stack of items, it's only the first 2 that are stacked and the rest are separated.
Items tested with are Water Bucket and Potion on Paper 1.15.2
This causes a few issues:
If your inventory does not have enough slots, the remaining items that you pick up requiring slots are lost to the void.
If you have an item stack set to say 64, when stacking the 64th item on to a stack of 63, it weirdly generates a 65th of the same item.
The word 'Null' keeps flashing on screen every now and then too.

I'm having trouble finding these errors. Have you updated to the latest version that I released yesterday? If the plugin is throwing errors in console can you post one of them here?

Hi, yes updated and it fixed it as far as allowing me to stack items myself, no errors in Console. If you're not getting the same issue then may be it's a compatibility issue between your plugin and the non premium Rosestacker plugin, shame cos i like them both.

That could be it. Because of the way that vanilla Minecraft works I've had to re-code most of the parts that tell an item how much it should stack too. I'm guessing that Rosestacker also does something similar to this so when both plugins are trying to stack an item together at the same time it would cause the bugs that were mentioned above.
I wonder if you are able to disable the item stacking in Rosestacker but keep everything else from that plugin enabled? If you can't, that would be a nice feature for them to add because it would fix this issue.

Closing this issue because this isn't an issue with Simple Stack but a compatibility issue between the feature sets of Simple Stack and Rosestacker. The best suggestion I can give you is to look through the Rosestacker config to search for an option to disable item stacking so that the plugins don't have compatibility issues.


Import fix creates incorrect URL for symbols from preact/hooks

TypeScript Version:  3.8.3
Search Terms:
import preact/hooks preact/hooks/src
Code
import {h} from 'preact';

function App(): void {
  const value = useMemo(() => 'Hello');
  return <div>{state}</div>;
}

Run missing import fix on useMemo.
Expected behavior:
The quick fix should add the import line
import {useMemo} from 'preact/hooks';

Actual behavior:
The quick fix actually adds the incorrect import line
import {useMemo} from 'preact/hooks/src';

This will cause the source files from Preact to be bundled instead of the transpiled files, which will cause various kinds of breakage (see https://github.com/preactjs/preact/issues/1757 or https://github.com/preactjs/preact/issues/1373).

Please demonstrate the problem with detail since just creating the file does not give code fix as program doesn't have anything except jsx.d.ts and index.d.ts from preact included. Also try out typescript@next to see if the issue repros.
c:/Typescript/built/local/lib.d.ts
	c:/Typescript/built/local/lib.es5.d.ts
	c:/Typescript/built/local/lib.dom.d.ts
	c:/Typescript/built/local/lib.webworker.importscripts.d.ts
	c:/Typescript/built/local/lib.scripthost.d.ts
	c:/temp/temp/node_modules/preact/src/jsx.d.ts
	c:/temp/temp/node_modules/preact/src/index.d.ts
	c:/temp/temp/a.tsx

I have prepared a minimal reproduction for the issue we are seeing here:
https://github.com/mediatis/ts37542-preact-autoimport
It turns out that I needed to have a second file in the project that imports from preact/hooks. When that is in place, attempting to quick fix a missing import in another file will suggest preact/hooks/src.
The repo above contains step by step instructions for reproduction in the README. Also it is set up to use typescript@next.


Updated smooth function

Calling
var fft = new p5.FFT();
fft.smooth(0);
console.log(fft.smoothing);
console.log(fft.analyser.smoothingTimeConstant);

would yeild different results. This is because the smoothing time constant would get updated always, and fft.smoothing wouldn't because of the way that 0 is falsey (0 == false).

See #175


Code=exited

Im getting this error when starting the service. Followed your instructions step by step. Please help. Hate not having ecobee in my new house and this is the best thing I have found yet.
` infinitive.service - Infinitive Service
Loaded: loaded (/etc/systemd/system/infinitive.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2020-02-20 20:39:27 GMT; 66ms ago
Process: 8767 ExecStart=/root/go/bin/infinitive -httpport=8080 -serial=/dev/ttyUSB1 (code=exited, status=2)
Main PID: 8767 (code=exited, status=2)
Feb 20 20:39:27 raspberrypi systemd[1]: infinitive.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Feb 20 20:39:27 raspberrypi systemd[1]: infinitive.service: Failed with result 'exit-code'.

Did you fix this?  I am having this issue also.

If you're using the serial device /dev/tty0 while trying to talk to a USB serial adapter that's likely your problem. On my machine, the USB adapter shows up as /dev/ttyUSB0.


[Bug] Animation bug on Windows

Check the following items

[x] I have looked up relevant Issue

Description of the issue
When minimize/maximize the window, it doesn't show the animations as expected.
Package Version
Latest
Environment
Windows 11 22635
Expected Behavior
The application should has animation when minimize/maximize it.
Reproduction
Just run the application, and you can reproduce the issue.
Additional Information
No response

I don't really see the animation you're talking about ..

I don't really see the animation you're talking about ..

In this record, you can see that the window doesn't have a proper animation when maximize it.
https://github.com/kikipoulet/SukiUI/assets/46953451/8a376ff6-257f-4658-bc7a-92fcab8ab0a0

It's indeed a bug

Current

Set <Setter Property="SystemDecorations" Value="Full" />

however, it only animates while maximizing


per tenant static files

it would be nice to have a better way of keeping per tenant files separated, this issue was previously raised in cloudscribe core
currently we have themes separated per tenant but css and js for the theme still live below wwwroot which is shared by all tenants, and user uploaded files go below wwwroot/s1 /s2 /s3 etc with the sub folder per tenant.

It would be nice if somehow theme specific css and js could be stored within the theme folder so that themes could be packaged as folders and dropped in

It would be nice if somehow we could have a separate wwwroot folder per tenant where user uploaded files could go

I'm not promising to achieve this, but I will experiment to see if I can achieve it when I get a chance

a complexity of this would be how file processing is handled for scss to css and bundling/minification of css and js per tenant per theme. ie the design time workflow which could entail gulp/grunt/webpack etc.

one challenge I can think of is if we were to achieve it with middleware branching per tenant like this:
app.UsePerTenant<cloudscribe.Core.Models.SiteSettings>((ctx, builder) =>
{
  builder.UseStaticFiles(new StaticFileOptions()
   {
     FileProvider = new PhysicalFileProvider(@"c:\some\tenant\specific\folder"),
      RequestPath = new PathString("/tenant2")
 });

which is the most promising approach I can think of, is that if we point to a theme specific folder for a given tenant, I'm not sure how the startup code for middleware could be invoked again if the theme is changed from the ui

it took a good bit of work but per tenant static user files and per theme static files are now implemented
https://github.com/joeaudette/cloudscribe/wiki/Customizing-Views-and-Display-Templates
This makes it possible to package themes with everything they need to share or sell designs.
All you have to do is create a wwwroot folder below the theme folder and put files there, then restart the app so the middleware see the new folder.
Similarly user uploaded files such as images will now by default go under:
sitesfiles/[aliasid]/wwwroot
so files can be isolated per tenant, making it easier to keep track of which files go with which tenant


Nextcloud-Client did not start: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.

Describe the bug
Hi,
I have a Problem and I hope you can help me, or it is a bug?
I'm trying to get NextCloud-Client Version 3.14.3 running on my Linux Mint 22, whilst it is working with default packpages it fails with Nix.
Other nix packages are working. Here the list of all packages I have already installed:
nix-env -q
flameshot-12.1.0-unstable-2024-12-03
freshfetch-0.2.0
neovim-0.10.2
nextcloud-client-3.14.3 <---------------the only one with a the locales problem
sublimetext-2.0.2
teamviewer-15.54.3
vscode-1.96.0
Steps To Reproduce
Steps to reproduce the behavior:

Open Terminal and use: nix-env -iA nixpkgs.nextcloud-client or this: nix-shell -p nextcloud-client
Reboot and run nextcloud
This error occurs:

nextcloud
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
process:20044): Gtk-WARNING **: 16:32:16.914: Locale not supported by C library.
Using the fallback 'C' locale.
Gtk-Message: 16:32:16.914: Failed to load module "xapp-gtk3-module"
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(ResetNotification), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QColorSpace(), profile  QSurfaceFormat::NoProfile)
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(ResetNotification), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QColorSpace(), profile  QSurfaceFormat::NoProfile)
Could not initialize GLX
Aborted (core dumped)
Expected behavior
To be able to use nextcloud on Linux Mint with nix-packagemanager
Additional context
I have restored and played around with the locales of my system. This is the current output. Nothing what I have tried was successful:
locale -a
C
C.utf8
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
My System is with an AMD Ryzen 5 PRO 7540U w/ Radeon 740M Graphics (12) @ 3.2GHz without any dedicated GPU. I have also installed mentioned module dependencies: xapp-gtk3-module with followed commands:
sudo apt install libxapp1
sudo apt install libgtk-3-0 libcanberra-gtk3-module

However the issue with the nextcloud nix package persists
Metadata
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory
/nix/store/p6k7xp1lsfmbdd731mlglrdj2d66mr82-bash-5.2p37/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory

system: "x86_64-linux"
host os: Linux 6.8.0-51-generic, Linux Mint, 22 (Wilma), nobuild
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.25.3
channels(root): "nixpkgs"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixpkgs

Notify maintainers

Note for maintainers: Please tag this issue in your PR.

Add a :+1: reaction to issues you find important.

I have now removed all of the obsolete languages. This is the current output of locale:
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
However it is still the same error:
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
(process:45572): Gtk-WARNING **: 17:05:24.834: Locale not supported by C library.
Using the fallback 'C' locale.
Gtk-Message: 17:05:24.835: Failed to load module "xapp-gtk3-module"
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(ResetNotification), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QColorSpace(), profile  QSurfaceFormat::NoProfile)
qt.glx: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(ResetNotification), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QColorSpace(), profile  QSurfaceFormat::NoProfile)
Could not initialize GLX
Aborted (core dumped)
I tried and googled but nothing is working...
Help is really appreciated.
Thanks


remove link with error, ruby-ptbr

What does this PR do?
Remove link with error:

Conhecendo Ruby
books ptBR

For resources
Description
Why is this valuable (or not)
How do we know it's really free?
For book lists, is it a book?
Checklist:

[ ] Not a duplicate
[ ] Included author(s) if appropriate
[ ] Lists are in alphabetical order
[ ] Needed indications added (PDF, access notes, under construction)

Welcome to free-programming-books! Have you checked wayback machine?


"connected" text for kubectl is half in and out of box

Version: master 5.19
Steps to Reproduce:

Setup kubernetes environment
Add host and wait for it to fully setup
Go to Kubectl screen and scroll to bottom

Results:

Expected:
Should either be in or out of the white frame box

https://github.com/rancher/ui/pull/697

Version - master 6/9
Verified fixed


fzf adding a ^ character on Windows when an @ symbol exists in selected line/field

Checklist

[X] I have read through the manual page (man fzf)
[X] I have searched through the existing issues
[X] For bug reports, I have checked if the bug is reproducible in the latest version of fzf

Output of fzf --version
0.51.0 (260a65b)
OS

[ ] Linux
[ ] macOS
[X] Windows
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
Using Windows Terminal:
Command line entered:
>echo one @two three @four five s@ix |fzf  --bind "enter:execute(echo {})+abort"

Result displayed:
"one ^@two three ^@four five s^@ix "

So it appears wherever the is a @ symbol, fzf has added a ^ symbol?

I recently revised the argument escaping for cmd.exe to fix some of the long-standing problems on Windows.
https://github.com/junegunn/fzf/blob/7bac1a761c9040542d9bd73d860fe0b9e2fb7ac5/src/util/util_windows.go#L111-L137
And it escapes @ with ^. Is this a problem for you?

Maybe escaping @ is not really required.  I'll look into it.
https://ss64.com/nt/syntax-esc.html

I'm using fzf as a front-end for youtube subscriptions - fetching xml and parsing using a Ruby script and displaying the results in fzf. One of the columns is the channel "handle" which start with the @ symbol. I am sending the handle to an executable:
--bind "delete:execute-silent(exec\mark-handle-read.exe {3})"
In this case, the .exe handles any strings passed - no escaping required. I think because fzf already quotes the result on Windows?
On the Windows cmd.exe:
prog.exe ^| tee is the same as prog.exe "|" tee

Can you check if the problem is fixed on the latest source? In case you can't build the binary, I'm attaching the one I just built.
fzf.exe.zip

I tried the binary you built - it works, thank you. I had reverted to the previous version for the short term.
Is there a discussion of the need for the escaping?  If fzf returns double-quoted strings in Windows, I am not sure why escaping would be needed.


Proposed: regen vs braking

This is a proposed feature, not sure how to do it apart from opening a bug...
The idea came after a heated conversation with some naysayers about the fact that with a Tesla brakes are used hardly ever. I was wondering whether it is possible to display the use of brakes vs regen. It might not be available from APIs, but perhaps it can be inferred?

Describe the bug

Expected behavior

How to reproduce it (as minimally and precisely as possible):

Relevant entries from the logs

paste logs here

Screenshots

Data

Environment

TeslaMate version:
Type of installation: Docker or Manual
OS TeslaMate is installed on:
User OS & Browser:
Others:

Feature suggestions belong here: 💡 Ideas


Your extension have been featured!

Hi,
It's Kenneth from VS Code. I'm reaching out to tell you that we have featured your awesome VS Code extension on our marketplace https://marketplace.visualstudio.com/#VSCode.
Please work with your community to resolve any major issues, as you'll probably see a significant bump in new users trying your extension.
Thanks for the great work, and happy coding!
/k
Kenneth Auchenberg
Visual Studio Code
Program Manager, Microsoft

whoa, awesome!  thank you Kenneth -- thanks for the great editor!


[Scene Composer] Save button is useless

Like really. Pretty much whatever I do in scene composer, especially if I'm editing terrain, save button will not be enabled. In most cases save all button will be enabled, however after closing the tab with scene composer even if you clicked save all, it still asks you if you want to save since it wasn't saved.
It got so bad I don't even bother with save all and just close and then select save. That seems to work properly at least, but it is really annoying. And this issue has been there for literally years.

I've noticed this, and have also recently tackled the same problem in the Macaq Editor. I might have a go at this.


impl DoubleEndedIterator for ManagedMapRange.

This is needed for https://github.com/m-labs/smoltcp/issues/209 , because we'll want to iterate on routes from the most specific one to the least specific one.

Thanks!


Cross Compiling

I am trying to figure out how to handle passing the 'output' file to a cross compiler so I can cross compile my binary while using this library.
I am fine with working with either goxc or gox for cross compiling so if you have a solution for either of those cross compilers, I would be interested in how you do it.
Thanks...

I'm not sure why this is a problem. You use esc to create a .go file. Then you compile it however you want, esc has nothing to do with it at that point.
What did you do? What happened? What did you expect to happen?

I had the expectation that I was going to have to pass the static.go file into the cross compiler in order for it to be picked up and used.  Like in your example go run main.go static.go.
I just tried the following and it actually worked, but I really don't understand how.
$ esc -o static.go static
$ gox -output="bin/{{.Dir}}_{{.OS}}_{{.Arch}}"
$ cp bin/binary_of_program ~/
$ cd ~/
$ ./binary_of_program

I must have just missed the details of how some of this is working, but kudos for your implementation because I was totally over thinking how I was going to get the cross compiler to access the static.go file.


ScrollView + HoldToLoadLayout

Hello again, I'm testing the library into a ScrollView and when i press the button and scroll, the component continues running and finish without press more.
I hope you will could understand me, my english isn't good.
thanks you!

@abuenovanadis This is another account that I use. I was wrong to write this account.
I'm testing other solutions like RelativeLayout within ScrollView etc.
Thank you

Hey ! Sorry, I've been away for a while now and couldn't take care of the issues. I'll check out using the button in ScrollView and respond ASAP.


createForm missing warnings store from its returned value

Using the next version of felte, I tried to get the warnings store from createForm, but it seems like it is missing right now
    const res = createForm({
        onSubmit: () => {}
    })

    console.log(res)

This is the returned object:

Hi, thanks for the submission! Which version of Felte are you using?

Thanks I was using 0.8.7, after updating it to 0.9.0 I am able to get the warnings store.


initial commit

Great job implementing the Lambda git work flow.  You have been doing great work all week, keep it up.


Output total coverage table

Idea
Take advantage of the outputs feature from Github Actions to return the table that display the Total Coverage

Description

Expose in the outputs property, the markdown table (and/or other variations) so that we can display the coverage results in different actions/locations. e.g:
Use cases:

Display the total coverage in the release page
Update Jira (or other PM software) issues with the coverage for that story

Alternatives

Current alternative is, if possible, find the comment posted by this action, (using a find comment action) and copy the content.
Manually find the table and copy/paste into the desired location

Additional context

I find the solution in a similar package
https://github.com/marketplace/actions/jest-coverage-comment


Possible design rework

I was working on a potential new design with an animated wallpaper.

Maybe a different orange shade for the white theme?


Enhancement Suggestion

Is there a way to extract the note to an already existing file? Or a way to refract the heading into the note with the same name?

+1 for this, though the suggestion could be formatted a little better.

In 1.6.0, If an existing note is selected, extracted/split content will be appended to the existing note.


Cannot deploy the site

C:\Users\Rajiv>cd Desktop
C:\Users\Rajiv\Desktop>cd site
C:\Users\Rajiv\Desktop\site\themes>
C:\Users\Rajiv\Desktop\site\themes>git clone https://github.com/EmielH/hallo-hugo.git

After using above command and configuring config.toml by adding the line theme = "hallo" and running hugo server it shows error
C:\Users\Rajiv\Desktop\site>hugo server
Error: Unable to find theme Directory: C:\Users\Rajiv\Desktop\site\themes\hallo

The problem is that when I cloned the repo in themes directory it saves with name hallo-hugo not with name hallo but we have configure config.toml with  line theme = "hallo" I think it should be configure with  line theme = "hallo-hugo" or the other solution is to rename the hallo-hugo repo to hallo.
I think changing  line theme = "hallo" to  line theme = "hallo-hugo" in  config.toml will be much better

Please read the instructions carefully. They say:

If your site is also under version control using git, the easiest way to install this theme is to add it as a submodule. If you have not created a git repo for your project yet, you need to run git init beforehand. Inside the folder of your Hugo site, run the following command.
git submodule add https://github.com/EmielH/hallo-hugo.git themes/hallo

Alternatively, you can clone the theme into your project.
git clone https://github.com/EmielH/hallo-hugo.git themes/hallo

You forgot the themes/hallo part at the end.

@EmielH yeah I did not notice that thanks for help


Implement natural sorting

Album and photo title sort uses the database order by clause. This means a title that contain a sequence of numbers will not sort naturally. For example 1, 2, 10 will comes out at 1, 10, 2 due to how MySql/MariaDB orders string values.
It would be super cool if the sorting was natural. There are some natural sorting tools out there like PHP's natsort or Laravel sortBy with a callback. Or it could happen in the JS frontend.
It would add some overhead so maybe it would be an option to turn on, or only enabled on string values.
I could see this being of value for people that use the albums for things like addresses (real estate) or numbered landmarks, really anything where a number is used in the name.

I found a way to implement it for subalbums. I will need to clean up, do it for top level albums and maybe I can do a PR.
Before

After

Thanks for taking the initiative on this! While I can see the potential value of this feature, to me personally it is not a priority, though other developers might feel different.
I wonder if we should replace the sorting we have with the natural sort or offer it as an option? Making it optional is of course safer; however, extending the GUI can be an order-of-magnitude more work than just working on the feature on the server in the first place... @ildyria, @d7415, what do you think? My feeling is that we should see performance of the two sorts on an album with >1,000 pictures and decide then.. You'll also first need to verify that Laravel's natural sort works correctly  on all datatypes of interest (some of the columns we can sort by contain booleans, numbers, or even dates).
Implementation-wise, you know already where to insert the code to sort subalbums. For top-level albums, I would think that modifying the getToplevelAlbums method in ModelFunctions/AlbumFunctions.php should be enough. And get_albums_user in the same file, I guess... However, to make the implementation complete, you should also add support for natural sorting of photos, not just albums. That will probably be set_order in Photo.php as well as gen_thumbs in ModelFunctions/AlbumFunctions.php.

I agree with @kamil4 re performance. If it's comparable then I'd default to it, if it's slower than an option may be required.
I wonder whether this dirty hack might be of any use.
From the link:
order by lpad(name, 10, 0)  # assuming maximum string length is 10

I created a very crude speed test. I created a mysql table with varchar(36). I then generated and inserted 10,000 UUIDs.
SELECT took 0.006s
SELECT with ORDER BY took 0.016s
PHP Sort took 0.001s
PHP Sort with Natural flag took 0.001s
I ran this on Windows using the PHP CLI using the MySQLi driver. I am not set up for PHP dev so that is why this is crude.
The Sort timing was only on the sort, but I did do a fresh select each time. I ran each test several times and that is the average I saw. Not super scientific, but it was apples to apples. To my surprise the sort was way faster. My test might be flawed, but some other validation would be good. I can share my embarrassing code.

Thank you, this certainly looks encouraging! While natural sort appears to be an order of magnitude slower than the regular PHP sort, they are both pretty much in the noise compared to the time SQL queries take, even more so if ORDER BY is used.

I wonder whether this dirty hack might be of any use.
From the link:
order by lpad(name, 10, 0)  # assuming maximum string length is 10

I think that would be appropriate only if we knew something about the structure of the alphanumeric field, which in case of Lychee we don't since it's supplied by the user...

I realized in my testing that there is no index on that column so that could explain the order by slowness. Yes in the Lychee DB the only indexes are on id and parentId so it's still a somewhat valid comparison.

Closed via #322. Thanks!


Where is build?

@SilencerWeb Latest version available: https://github.com/matthewhudson/current-device/releases/tag/v0.8.1


rig rm  does not remove all files  on Windows

Start with no R installed
rig install 4.1.2 this will install in C:\Program Files\R the 4.1.2 version
it will also add some bat file in C:\Program Files\R\bin

❯ dir "C:\Program Files\R\bin"

    Directory: C:\Program Files\R\bin

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          02/06/2022    22:50             47 R.bat
-a---          02/06/2022    22:50             47 RS.bat
-a---          02/06/2022    22:50             53 Rscript.bat

run rig rm 4.1.2 : This will remove the 4.1.2 folder from C:\Program Files\R, but the bin folder and its bat file are still installed

C:\Program Files\R\bin is still in PATH which means that RScript.bat is still returned if program is search without extension
e.g where Rscript

I believe those files should be removed as not useful anymore if all rig R version are uninstalled.

Who wants to remove all R versions? :D

Unfortunately changing the PATH on Windows is not simple at all, so I am not sure if we'll remove C:\Program Files\R from the PATH. We could remove the directory, though, once all R versions are gone.

Are the .bat files rig specific ? Because it so, then if no R version installed by rig are there anymore (or no R version in C:\Program Files\R maybe ?), then those .bat files and bin/ folder if empty could be deleted.
At least that is what I thought and expected: Rscript.bat was put by rig and should be removed it no more R versions


fix: wrap replace button with observer on search panel

Types

[x] 🐛 Bug Fixes

Background or solution
fixed #367
Changelog
wrap replace button with observer on search panel

Codecov Report

Merging #387 (21da0c9) into main (9c6ad0d) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #387   +/-   ##
=======================================
  Coverage   59.32%   59.32%
=======================================
  Files        1189     1189
  Lines       72861    72861
  Branches    15085    15085
=======================================
+ Hits        43226    43227    +1
+ Misses      27007    27006    -1
  Partials     2628     2628

Impacted Files
Coverage Δ

packages/core-common/src/node/port.ts
43.93% <0.00%> (-3.04%)
:arrow_down:

...ages/file-service/src/node/file-service-watcher.ts
72.88% <0.00%> (+1.69%)
: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 9c6ad0d...21da0c9. Read the comment docs.


customMethodsstore.selectedMethod can never be invoked due to empty customMethods object

Describe the bug
In the src/cartridges/app_adyen_SFRA/cartridge/client/default/js/adyen_checkout/validateComponents.js -> validateComponents function, there is a check to see if store.selectedMethod exists in the customMethods object:
if (store.selectedMethod in customMethods) {
  customMethods[store.selectedMethod]();
}

However, the customMethods object is always initialized as an empty object:
const customMethods = {};
Since no methods are added to the customMethods object before this check, the condition store.selectedMethod in customMethods will always evaluate to false. This means that customMethods[store.selectedMethod]() can never be invoked under the current implementation.
Steps to Reproduce

Inspect the code within the validateComponents function.
Notice that the customMethods object is initialized as an empty object.
See that there is no code that adds methods to customMethods before the conditional check.

Expected Behavior
If store.selectedMethod is expected to invoke a method, relevant functions should be added to the customMethods object, or the code should be modified to handle the case where customMethods is empty.

Hi @s4ty ,
Thank you for raising this issue. I have created an  investigation ticket about this issue and the other one you raised for displayValidationErrors().
Once we've completed the investigation, you will be informed.
Kind regards,
Zenit
Adyen


Add readChunksInDevice method to TsFileSequenceReader

Note that the new method loads all the chunks into memory, so it needs to be invoked carefully.

please add some test

please add some test

added :D


Check for java's existence

On install, fail if the user does not have Java installed. Otherwise we get a cryptic ENOENT error when trying to run java later in the install.

Addresses https://github.com/appium/appium-selendroid-driver/issues/15


Added ability to switch between points and pixels

– Added UI control for switching between points and pixels
– Preview now updates correctly taking unit of measure into account
– Default state now uses 18px as a starting point, instead of 14pt
– Added relevant tests for accessibleContrast

Great work @vedranio 👍


[Documentation Request] Prerender section

Details
There's enough here that is unique about Nuxt that I think it makes sense to have in our docs, and we can link out to Nitro where it makes sense
Originally posted by @danielroe in https://github.com/nuxt/nuxt/issues/21987#issuecomment-1624835848

I'd be happy to help out here (you can assign it to me).
What features specifically were you looking to call out in the prerendering documentation?

I think it would be good to:

explain how the crawler works (and how dynamic routes are generated)
mention static builds and providers that support it with extra features (like vercel, netlify, amplify + cloudflare pages)
give an example of how to add routes (both at runtime with prerenderRoutes and at build time in prerender:routes Nitro hook)
mention 200.html + 404.html and the need to set these up as fallbacks (e.g. on S3)

Sounds like this would warrant an additional page. What do you think?


Ensure that the release change log script works

Fixes: #125

This may or may bring the change log back. If it doesn't I don't think there much else we can do

LGTM


Redhat 6 dependency incompatibilities between zeromq and zeromq3

https://github.com/saltstack/salt/issues/29132#issuecomment-247694357
Duplicated the issue with first installing salt-minion and the resulting installation of zeromq-4.0.5-4.el6.x86_64 and openpgm-5.2.12202.el6.
If you then try to install zeromq3 which wants openpgm-5.1.118-3.el6.x86_64 , you then get the error
root@tc6min:~# yum install zeromq3
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
base: repos.lax.quadranet.com
epel: mirror.chpc.utah.edu
extras: centos.mirrors.hoobly.com
updates: mirror.chpc.utah.edu Resolving Dependencies --> Running transaction check ---> Package zeromq3.x86_64 0:3.2.5-1.el6 will be installed --> Processing Dependency: libpgm-5.1.so.0()(64bit) for package: zeromq3-3.2.5-1.el6.x86_64 --> Finished Dependency Resolution Error: Package: zeromq3-3.2.5-1.el6.x86_64 (epel) Requires: libpgm-5.1.so.0()(64bit) Available: openpgm-5.1.118-3.el6.x86_64 (epel) libpgm-5.1.so.0()(64bit) Installed: openpgm-5.2.122-2.el6.x86_64 (@salt-latest) Not found You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
Even with openpgm-5.2.122-2.el6.x86_64 already installed
Problem is use of zeromq v4.0.5  and zeromq3 v3.2.5 on the same machine, with their dependencies clashing, noting in Redhat 7, zeromq3 has been update to have a dependency on libpgm-5.2 rather than the libpgm-5.1 in Redhat 6.
Typically SaltStack has preferred using later versions of zeromq, due to various fixes and performance enhancements.  Investigating further as to best solution to resolve this issue.

@fdamstra @f8al Digging further the issue of zeromq3 wanting openpgm-5.1 is curious since  in zeromq3 v3.2.3-2 it was rebuilt for openpgm-5.2, I am digging further.

From investigating this, it appears the conflicit arises when openpgm from salt has been installed, but a regular install of salt-master or salt-minion doesn't install openpgm but does install zeromq, and 'yum -q deplist zeromq' is not listing openpgm. We should be able to build openpgm 5.1.118 for use with Redhat 6 on repo.saltstack.com and add note in next point release to remove openpgm 5.2.122 if installed, since it probably came from Salt's repo.

@fdamstra @f8al Fix https://github.com/saltstack/salt-pack/pull/148 in PR.

I might not be following 100%, but it sounds to me like this is back to the original problem (#29132): The saltstack repo should not be supplying packages that are available in the base OS or EPEL repositories. As @racooper wrote there: "If the newer version is absolutely necessary, package it for parallel install with a different package name and leave the base packages alone."

@fdamstra yes it now back to @racooper original problem

This is still a problem, why is this issue closed?
[root@EL6 ~]# yum --disablerepo=salt-latest --assumeyes --debuglevel=1 install python-zmq

============================================================================================================
 Package                    Arch                   Version                       Repository            Size
============================================================================================================
Installing:
 python-zmq                 x86_64                 14.3.1-1.el6                  epel                 467 k
Installing for dependencies:
 openpgm                    x86_64                 5.1.118-3.el6                 epel                 165 k
 zeromq3                    x86_64                 3.2.5-1.el6                   epel                 338 k

Transaction Summary
============================================================================================================
Install       3 Package(s)

Total download size: 970 k
Installed size: 2.8 M

Installed:
  python-zmq.x86_64 0:14.3.1-1.el6

Dependency Installed:
  openpgm.x86_64 0:5.1.118-3.el6                        zeromq3.x86_64 0:3.2.5-1.el6

[root@EL6 ~]# yum --assumeyes --debuglevel=1 update
Error: Package: zeromq3-3.2.5-1.el6.x86_64 (@epel)
           Requires: libpgm-5.1.so.0()(64bit)
           Removing: openpgm-5.1.118-3.el6.x86_64 (@epel)
               libpgm-5.1.so.0()(64bit)
           Updated By: openpgm-5.2.122-2.el6.x86_64 (salt-latest)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

For what it's worth, you can work around the issue with yum shell.
[root@EL6 ~]# yum --assumeyes --debuglevel=1 shell
> erase zeromq3
> install zeromq
> update
> run

==============================================================================================================
 Package                  Arch                 Version                        Repository                 Size
==============================================================================================================
Installing:
 zeromq                   x86_64               4.0.5-4.el6                    salt-latest               568 k
Updating:
 openpgm                  x86_64               5.2.122-2.el6                  salt-latest               166 k
 python-zmq               x86_64               14.5.0-2.el6                   salt-latest               479 k
Removing:
 zeromq3                  x86_64               3.2.5-1.el6                    @epel                     1.3 M

Transaction Summary
==============================================================================================================
Install       1 Package(s)
Upgrade       2 Package(s)
Remove        1 Package(s)

Total download size: 1.2 M

Removed:
  zeromq3.x86_64 0:3.2.5-1.el6

Installed:
  zeromq.x86_64 0:4.0.5-4.el6

Updated:
  openpgm.x86_64 0:5.2.122-2.el6                       python-zmq.x86_64 0:14.5.0-2.el6

> quit

Or in a one-liner: printf 'erase zeromq3\ninstall zeromq\nupdate\nrun' | yum -y shell

@dmurphy18 The --disablerepo flag only lasts for the duration of that one command, and is used to force the installation of EPEL's python-zmq initially in order to reproduce the issue.  You can accomplish the same demonstration on a brand new server just by having python-zmq installed before adding the salt repo.
[root@EL6 ~]# yum --assumeyes --quiet install python-zmq
[root@EL6 ~]# yum --assumeyes --quiet install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el6.noarch.rpm
[root@EL6 ~]# rpm --import /etc/pki/rpm-gpg/saltstack-signing-key
[root@EL6 ~]# yum --assumeyes --quiet update
Error: Package: zeromq3-3.2.5-1.el6.x86_64 (@epel)
           Requires: libpgm-5.1.so.0()(64bit)
           Removing: openpgm-5.1.118-3.el6.x86_64 (@epel)
               libpgm-5.1.so.0()(64bit)
           Updated By: openpgm-5.2.122-2.el6.x86_64 (salt-latest)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

That is the crux of the issue: adding the saltstack repository can break updates!  This is why so many people are concerned about it.
This really doesn't have anything to do with openpgm, that is just showing up because I used update in my example instead of update python-zmq.  The work around works perfectly without updating openpgm if you explicitly just update python-zmq.
[root@EL6 ~]# rpm -q zeromq{,3} python-zmq
package zeromq is not installed
zeromq3-3.2.5-1.el6.x86_64
python-zmq-14.3.1-1.el6.x86_64
[root@EL6 ~]# yum --assumeyes --quiet shell
> erase zeromq3
> install zeromq
> update python-zmq
> run
> quit
[root@EL6 ~]# rpm -q zeromq{,3} python-zmq
zeromq-4.0.5-4.el6.x86_64
package zeromq3 is not installed
python-zmq-14.5.0-2.el6.x86_64

Removing this unneeded dependency, see https://github.com/saltstack/salt-pack/issues/194


spring handson 7

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
20

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


fix TTML extent and origin percentage calculations #3029

Hello @david-hm-morgan ,
Would you please resolve the conflicts and then we can merge your commit?
Width should be used for calculation viewportAnchorX, and height for calculation viewportAnchorY, is that correct?
Thank you!

Hello @david-hm-morgan ,
Would you please resolve the conflicts and then we can merge your commit?
Width should be used for calculation viewportAnchorX, and height for calculation viewportAnchorY, is that correct?
Thank you!

Hi @michellezhuogg  now resolved!

Hi @michellezhuogg  now resolved!

Unfortunately, this change doesn't cherry-pick well to v2.5.x.  I tried to clean it up and eventually gave up.  It does cherry-pick cleanly to v3.0.x.  This will be part of v3.0.8.

It cherry-picked cleanly to v3.0.x, but the tests fail.  So I think the changes may depend on some other changes in the TTML parser that didn't get cherry-picked.  So this will be in v3.1.0 instead of v3.0.x.


Fix 'bool Relay()' CConnman argument.

Hmmm... There are many places where it's type &param and many where it's type& param in both Dash and Bitcoin. Both forms are legit (even though it's a bit inconsistent), so why "fixing" this one? What's so special about it?

It was simply because I was reviewing the privatesend files specifically.

Ah, ok, so it's not an issue then. This should be a part of some global syntax refactoring if we ever start one. Closing.

Sorry, this inconsistent syntax was introduced by me. I usually put & (or *) after space in my code, but Bitcoin and Dash uses different convention and puts it before space. I've used my own style unconsciously when eliminating use of g_connman global Dash-specific code and replacing it with reference to CConnman passed as function argument.


Refactor the Plot Module

What can we do to make ScottPlot better?
Current Plot.cs source file contain about 2500 lines of code. Each time working with such a huge file is difficult.
Grouping by regions only partially solves the problem. Most of the code is API from which there is no escape.
It may make sense to split the current class into different files, at least we can move the PlotScatter, PlotSignal, etc API definitions to a separate file, or even better to a group of files.
Plot.cs
public partial class Plot
{
 // all definitions without Plottables API
  ....
}

PlotPlottablesAPI.cs
public partial class Plot
{
  public PlottableScatter PlotScatter(...)
  {
   ...
  }
  public PlottableSignal PlotSignal(...)
  {
    ...
  }
 ...
}

Hi @StendProg, thank you for this suggestion! This topic is one I've been thinking a lot about over the last few months.
The Problem
I think everyone agrees that the Plot module has grown far too large. Most of its size comes from methods which simply create plottables (using optional arguments) and add them to the list. The core function of the Plot module is diluted by these helper functions.
Partial Classes
Above you suggest splitting the Plot module into smaller files using partial classes. I like this idea - it would reduce file size and help isolate concerns by putting all current plottable creation helper methods in one file. However, in researching this topic I found that using partial classes is typically not advised because if a class requires partial classes it means that class is too large.
I do think we should make the change you propose. However, I also think the Plot module remains too large, and additional options should be explored...
New Method to Create Plots?
Something I've been strongly considering, as soon as ScottPlot 4.1, is to mark all of the current plot creation methods obsolete. They would still work, but users would be advised to no longer use them. This would be easier if they were all isolated in a partial class file.
Simultaneously we would remove all styling arguments from plottable constructors, and plottables would only accept data variables as constructor arguments. Like the Plot module, plottable constructors have grown far too large. Customizing styling or behavior would be achieved by assigning to public properties of the plottables after they are created. This change would be associated with some changes in namespaces to make plottables more easily discoverable. The way users would create plots would be:

Create a Plot
Create a Plottable (passing-in data)
Optionally customize the Plottable (using public properties)
Add the Plottable to the Plot

Code would look something like:
var plt = new Plot();
var scatter = new Plottable.Scatter(xs, ys) { Color = Color.Red, MarkerSize = 3 };
plt.Add(scatter);

There are a lot of small considerations, edge cases, and implications this new sequence would have. It definitely would reduce coupling and improve modularity, but it would certainly be a big change for people used to the style promoted by ScottPlot 4.0. I have been considering exploring this in ScottPlot 4.1, and marking it as alpha so it wouldn't surprise anyone upgrading with NuGet.
@StendProg I'm interested in your thoughts here! This seems like a big response to your initial suggestion, but 4.0 -> 4.1 may be a good time to consider it...

Hi @swharden,

is typically not advised because if a class requires partial classes it means that class is too large

I think having a lot of API related methods allows this rule to be broken.

New Method to Create Plots?

var scatter = new Plottable.Scatter(xs, ys) { Color = Color.Red, MarkerSize = 3 };
plt.Add(scatter);

This is already working now (not through initializers but through constructor parameters), but compare to
plot.PlotScatter(xs, ys, Color: Color.Red, MarkerSize: 3);

The new method requires exactly 2 times as many lines of code, I think this is a significant drawback.
Nobody bothers to change the fields for properties and simplify constructors, I am all for it. But in parallel it is necessary to leave the existing API (plot.PlotPlottable() methods), it is very successful, especially since it has already been written. It is really very attractive to new users (especially those familiar with python as far as I can imagine). It is wrong to solve developer problems at the expense of the user.
var scatter = plot.Plot(new Plottable.Scatter(xs, ys){ Color = Color.Red});

It looks attractive, but still worse.
One way or another, no one bothers to split the class right now, and somehow then come up with something better.

Hi @StendProg, thank you for your insightful feedback! It has been very helpful discussing these topics with you.
Partial Classes

is typically not advised because if a class requires partial classes it means that class is too large

I think having a lot of API related methods allows this rule to be broken.

I like this conclusion. Typically classes should be small, but since this is the primary user-facing API it can be large. The files appear especially large because every argument is given its own line. I will split the Plot module like you suggest. I will probably name this file PlotAddAPI.cs.
However, there is an alternative way to split this class... What if we put partial classes inside the files that define each plottable? The top of PlottableScatter.cs would have a small partial class to extend the Plot module with a method to create a scatter plot. This means adding new customizations to a plottable could be achieved by editing a single file, rather than editing the plottable file and also a large API file in another folder. I could begin implementing this change, one plottable at a time, with no breaking changes. What do you think of this strategy?
Plot Module Structure

The new method requires exactly 2 times as many lines of code, I think this is a significant drawback.

it is necessary to leave the existing API ... since it has already been written.

It is really very attractive to new users (especially those familiar with python as far as I can imagine).

It is wrong to solve developer problems at the expense of the user

These are all excellent points, and your message is very well-received. I will leave the existing methods are they are.
Simplifying Plottable Constructors
I still like the idea of refactoring to simplify the constructors of plottables so that they accept only data, and public properties customize styling and behavior. Changes like this will involve changing code inside methods in the plot module, and are unlikely to affect users (since users typically do not construct plottables themselves). This improvement will reduce complexity of plottables and have no effect on users, so it seems like it has benefits and no disadvantages.

Hi @swharden,
Dropped out for a couple of days, sorry.
It looks like you yourself decided everything in the best way.

Plot.AddPlottable.cs

It couldn't be better!
The only unresolved question is, if you dump all PlotPlotable into one file, it will still turn out to be huge, it would be great to split all existing Plotables into 3-5 logically related groups and implement the api of each of these groups in a separate file.
If you could help me with the choice of group names, I could do a PR with everything else. Or do you have some other plans in this regard? The current state looks like it is stuck halfway.
If we think about the ideal solution of this Issue. If each PlotPlottableapi method did nothing but create a Plottable and adjust its parameters, then we could try to generate the code of these API methods automatically according to some simple rules. Unfortunately, now some AddPlotables have very different functionality, and I also vaguely imagine how to implement code generation.

Dropped out for a couple of days, sorry.

No worries!

It looks like you yourself decided everything in the best way.

I'm glad you agree with this direction 👍

if you dump all PlotPlotable into one file, it will still turn out to be huge, it would be great to split all existing Plotables into 3-5 logically related groups and implement the api of each of these groups in a separate file.

I like this idea! Perhaps we can break it into these groups. If we do this, perhaps we should move Plot.cs into Plot/Plot.cs and put all these files in that folder (without changing the namespace) to keep them together.

Plot.PlotBar.cs - population, bar
Plot.PlotFinance.cs - candle, ohlc
Plot.PlotScatter.cs - scatter, point, line
Plot.PlotSignal.cs - Signal, SignalXY, SignalConst
Plot.PlotBitmap.cs - image, heatmap
Plot.PlotText.cs - text, annotation
Plot.PlotAxisLine - hline, vline, hspan, vspan
Plot.PlotMisc.cs - errorbar, polygon, function, pie, radar, vector field

I could do a PR with everything else. Or do you have some other plans in this regard? The current state looks like it is stuck halfway.

Thank you for your offer, but I think it would be a good idea for me to do this. It has been a long time since I have looked at many of these methods and I would prefer to this carefully and slowly, refining each method one-by-one. I also want to make this change as I refactor the constructor of plottables to remove styling arguments.

The current state looks like it is stuck halfway.

Indeed! I'm experimenting with the best way to refactor plottable constructors, and I am only working on the bar plot until I figure out the best way. I hope to get the bar plot looking good in the next few days, then refactor the rest of the plottables to use a similar style.

we could try to generate the code of these API methods automatically

This may be possible, but I prefer the simplicity of having a few hand-crafted methods. If there were >100 plot types I would feel differently, but there are so few that I think it is easy to maintain them by hand.
I will continue to work on this over the weekend! Thank you @StendProg, as always, for your valuable input.

I broke the plot module up into more pieces than I initially anticipated. In addition to partial class files for plots, it seemed useful to create additional files for ticks, styling, settings (behavior), axis (coordinate lookups), and axis labels.
Now the Plot module is less than 250 lines! However, it is now much more obvious that the rendering system is very ugly. This is probably a good thing, because it makes it much more obvious that I need to continue to work to refactor the rendering system. Having all those extra styling, configuration, and plottable methods outside the Plot.cs file makes this task less intimidating.
Originally I thought I would refactor constructors of all plottables as I did this work, but I decided to go ahead and do this work now and treat the constructors as a separate issue. That refactor will be easier since all those methods are now in smaller files.
Thank you for your original suggestion @StendProg!


Test framework info bar should not say it found tests when there are no test files

Open a project like this one, with the active environment that has pytest installed.

You won't see the info bar (correct behavior) if you have app.py open automatically when the project is open, like above.
But if you close all windows, close and reopen the project then open app.py, it will show the info bar (incorrect behavior).

https://github.com/microsoft/PTVS/pull/5637
Fix #5637


The app keep crashing when I use the context menu

Description
When I click in some archive to access the context menu, the app just crash and restarts
Steps To Reproduce

open files
access one of the directories
click with the right botton to access the context menu
... the app crash, and a flyout/notification asking me to report the error shows up. :)

debug.log
debug_fulltrust.log
Expected behavior
the context menu should open normally.
Files Version
Versão: <IP_ADDRESS>
Windows Version
Windows 11 Version: 10.0.22000.100
Relevant Assets
No response

Thanks for reporting this. The error in question is:
2021-08-03 03:32:10.9738|ERROR|AppUnhandledException|Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.
	Windows.UI.Xaml.LayoutCycleException: Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.

Seen this on AppCenter too, @winston-de you've got any ideas?

Thanks for reporting this. The error in question is:
2021-08-03 03:32:10.9738|ERROR|AppUnhandledException|Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.
	Windows.UI.Xaml.LayoutCycleException: Layout cycle detected.  Layout could not complete.
Layout cycle detected.  Layout could not complete.

Seen this on AppCenter too, @winston-de you've got any ideas?

From what I know, a layout cycle exception generally occurs when the size is changed in a size changed event handler, which causes the size changed event to be triggered again, and a feedback loop occurs. It's basically thrown when there's recursion with the app layout.
My best guess is this is triggered when the shell items are added, which causes the command bar size to be reevaluated.

i did the steps and it's working properly :)
Only the context menu has less options than before, after ending the fulltrust process task.
That's supposed to happen, right?

@estrelaporvenus is this still an issue in the preview version? https://files.community/download/preview


version clarification

If I am on Synergy Composer Oneview 7.0 API4000 do I need to match that up with the 7.0.0-13 or should I be using a newer version of the provider?
I am mostly managing TF profiles.  Wondering if I could/should use 7.2 or 8 to take advantage of fixes, or I am supposed to use the version in lockstep?  I wanted to make sure I don't run into bug fixes of 7.1 (ie importing profiles), etc?

As our SDK is backward compatible, you can use the latest SDK version to take advantage of all the fixes.


[User Guide] Update screen shots and icon graphics

Update screen shots to reflect latest UI.
Take smaller screen shots of the icons to replace the large PNGs

Please assign this to me

@appellj,
Are you going to do the source change into ballerinalang/ballerina repository ?

I'll do the changes in my fork and of ballerinalang/ballerina and then issue a pull request.

Fixed in https://github.com/ballerinalang/ballerina/pull/2149


[backport galactic] Removed traces in renderPanel (#777)

Signed-off-by: Alejandro Hernández<EMAIL_ADDRESS>

Linux
Linux-aarch64
macOS
Windows


Fix workflow

This is to fix https://github.com/Graph-Learning-Benchmarks/gli/issues/278, where pytest fails when a dataset is deleted.
This PR is only for testing correctness of implementation.

See #329


Test: Reproduce issue with certain combinations of SSL_OP_ALLOW_NO_DHE_KEX and SSL_OP_PREFER_NO_DHE_KEX.

Reproduce issue described and fixed in #22844 where the TLS1.3 handshake might fail in following case:

Server has AllowNoDHEKEX and PreferNoDHEKEX configured.
Client sends ClientHello containing

Key Share
PSK
Both PSK Key Exchange modes (DHE and non-DHE).

Sure, see #22883.

The tests should succeed as soon as #22844 has been merged.

This pull request is ready to merge


[BUG] use of undeclared type or module LineSeries

I got this error while trying to reproduce your jupyter example:

Hi there, Closing the issue now. If you have further problem, please let me know. - Hao

What does "line_series feature to the top dep session to make it work" mean?
Can you give us an example?
Thanks.

I had the same issue, it should be
:dep plotters = { git = "https://github.com/38/plotters", default_features = false, features = ["evcxr", "line_series"] }

@38 Is there a reason this is not included in the readme and examples?


[SPARK-35531][SQL][FOLLOWUP] Support alter table command with CASE_SENSITIVE is true

What changes were proposed in this pull request?
Restore dbName and tableName in HiveShim.getTable() method.
When we create a hive table, hive will convert the dbName and tableName in lower case: https://github.com/apache/hive/blob/release-2.3.9-rc0/metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java#L1446-L1482
And then throw an exception in Hive.alterTable():
https://github.com/apache/hive/blob/release-2.3.9-rc0/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java#L623
Why are the changes needed?
Bug fix for alter table command.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Add UT

Hi, @cloud-fan @AngersZhuuuu Could you help me to review this PR? Thanks

For example:

We want to create a table called tAb_I
Hive metastore will check if the table name is valid by MetaStoreUtils.validateName(tbl.getTableName())
Hive will call HiveStringUtils.normalizeIdentifier(tbl.getTableName()) and then save the save the table name to lower case, but after setting the local to "tr", it will be tab_ı which is not a valid table name
When we run alter table command, we will first get the hive table from hive metastore which is not a valid table name.
Update some properties or other, and then try to save it to hive metastore.
Hive metastore will check if the table name is valid and then throw exception org.apache.hadoop.hive.ql.metadata.HiveException: [tab_ı]: is not a valid table name

@wankunde thanks for the explanation! I think this is rather a hive bug but we need to work around it in Spark. Is this a long-standing issue or a new regression? You marked the PR as a followup but I can't relly tell how they are related.

This is a long-standing issue, create a new ticket to track this issue.

@wankunde can you put https://github.com/apache/spark/pull/38765#issuecomment-1332326017 in the PR description? This helps people to understand what the bug is.

@wankunde can you put #38765 (comment) in the PR description? This helps people to understand what the bug is.

Done, Thanks for your review.

thanks, merging to master!


[Docs] Add a note to moduleNameMapper

Summary

Test plan

It's difficult to debug, so add an additional notice.

Current coverage is 87.76% (diff: 100%)

Merging #1918 into master will not change coverage

@@             master      #1918   diff @@
==========================================
  Files            38         38
  Lines          1250       1250
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1097       1097
  Misses          153        153
  Partials          0          0

Powered by Codecov. Last update a71b6bf...50fcc23

thank you.


Manipulating output from m.component()

Hello,
I would like to know if there is a way to manipulate the output of m.component(). I am trying to implement lifecycle hooks for mithril components to reduce some of the config/controller instantiation code, which requires getting access to the { tag: '', attrs: {}, children: [] } object.
Probably better explained with an example. Please have a look at this lifecycle hooks implementation. In order to hook up componentDidMount, componentDidUpdate and componentWillUnmount. I am using a config function on the top level element. I basically call the render function and override the top-elements config function in lines L72-L74. (I will eventually wrap any pre-existing configs, but for the sake of example let's say we just want to override them).
This works great when returning a top level element like m('div.Element', ...) but breaks down when the render function returns a top level component m.component(SomeComponent, ...).
In the second case, I get back a { controller, view } object. My question is whether there is a way to get the view output from this object. If I just call the view, the component would lose it's controller instance, right?

Currently using this workaround:
const output = hooks.render.apply(wrapper, [ctrl, ...args]);
if (_.has(output, 'attrs')) {
   output.attrs.config = makeConfig(ctrl);
   return output;
}

return m('div', { config: makeConfig(ctrl) }, output);

Breaking the question down to the basics, I guess what I am asking is the best way to handle higher order components:
m.component(Outer, { some: 'args'  }, m.component(Inner))

What is the best way to manipulate the inner component from the outer component?

Breaking the question down to the basics, I guess what I am asking is the best way to handle higher order components:

m.component(Outer, { some: 'args'  }, m.component(Inner))

What is the best way to manipulate the inner component from the outer component? Or...

m.component(Modal, { isOpen: true }, m.component(ModalContents, { some: 'args' }))

What is the best way for the Modal component to extend the parameterized ModalContents' arguments to provide lets say a modalClose() callback, etc

@a-s-o
I'm not sure this is what you want, but maybe you'll find some inspiration.
http://jsbin.com/vujiha/13/edit?js,output
m.component can be called from outside of a view. It returns a component with parameters applied. You can then work with that component, applying "patches" if you wish, possibly with output from a parent or sibling component. The resulting component can then be dropped into a view. If user input is required you'll need to use config, of course.
One caveat is that parameter application (attrs) are not cumulative. A controller is called only once in the lifetime of the component and thus, attributes are applied only once.
A side note:
In some cases you can preserve the link between a view and it's controller by calling the view with the controller as a parameter (if you have access to both).
myComponent.view( new myComponent.controller() )
Of course, state will be lost.
If you need to apply attributes you could try your own customized version of the the internal parameterize function https://github.com/lhorie/mithril.js/blob/next/mithril.js#L740

If you need to apply attributes you could try your own customized version of the the internal parameterize function https://github.com/lhorie/mithril.js/blob/next/mithril.js#L740

Brilliant. I didn't think of that. parameterize is an internal function but I can just wrap m.component and do my manipulations there before calling parameterize. I will try that.
Thanks for your reply @pelonpelon
Furthermore, thanks for the modal implementation link, but that case was just one example. Really what I need to deal with are views that return a m.component(SomeComponent) as a top level
element and I want to fiddle with them somehow.
It was easier with normal mithril elements ({ tag, attr, children }); it was possible to just go in and manipulate the children array as needed but parameterized components are little more opaque. Anyways, I will try replacing m.component.


Optimize squid queries

Description
Graphql query to fetch all multisigs is quite complex and generates very unoptimized SQL query. To make things worse, when we do subscription, it continuously executes that unoptimized SQL query every 5 seconds. We haven't noticed that before because every network was in it's own database schema which meant there was a lot less rows in tables.
Current grapql query: https://github.com/ChainSafe/Multix/blob/86c486945c2ac4223ab682c68bc0204fd09f43fc/packages/ui/src/queries/multisigsByAccounts.graphql
Prerequisites
Regular usage
Steps To Reproduce
Open multix
Expected Behaviour
Super fast response and optimized query
Potential Solutions
1. Separate everything into different databases.

Pro:

"simple" solution that will buy us some time

Con:

once aquarium introduces billing it will be expensive for us
we need to change frontend to query different endpoints for each network

2. Optimize query
The following query generates two very optimized and fast sql queries which allows us to get multisig accounts. For delagator/delagatee stuff we would need to jump on a call with whiteboard to challge what we actually need.
query MultisigsByAccounts($accountIds: [String!], $watchedAccountIds: [String!]) {
  accountMultisigs(where: { signatory: { id_in: $accountIds } }) {
    multisig {
      address,
      isMultisig,
      isPureProxy,
      signatories {
        id
      }

    }
  }
  accounts(where: {id_in: $watchedAccountIds     AND: { isMultisig_eq: true, OR: { isPureProxy_eq: true } }}) {
      address,
      isMultisig,
      isPureProxy,
      signatories {
        id
      }
  }
}

Note: for subscription, we would need to send that as two separate subscription querys.
3. Keep same db but generate models for each network
For example on squid side, instead of:
type Account @entity {
  id: ID! @index @unique
  address: String!
  multisigs: [AccountMultisig] @derivedFrom(field: "signatory")
  isPureProxy: Boolean @index
  # it's the origin/delegator for another proxy accounts, a pure must have some
  delegatorFor: [ProxyAccount!] @derivedFrom(field: "delegator")
  # it's the delegatee/doing stuff on behalf of another account
  delegateeFor: [ProxyAccount!] @derivedFrom(field: "delegatee")
  isMultisig: Boolean @index
  signatories: [AccountMultisig!] @derivedFrom(field: "multisig")
  threshold: Int
  multisigsCalls: [MultisigCall!] @derivedFrom(field: "multisig")
}

we would have:
type PolkadotAccount @entity {
  id: ID! @index @unique
  address: String!
  multisigs: [PolkadotAccountMultisig] @derivedFrom(field: "signatory")
  isPureProxy: Boolean @index
  # it's the origin/delegator for another proxy accounts, a pure must have some
  delegatorFor: [PolkadotProxyAccount!] @derivedFrom(field: "delegator")
  # it's the delegatee/doing stuff on behalf of another account
  delegateeFor: [PolkadotProxyAccount!] @derivedFrom(field: "delegatee")
  isMultisig: Boolean @index
  signatories: [PolkadotAccountMultisig!] @derivedFrom(field: "multisig")
  threshold: Int
  multisigsCalls: [PolkadotMultisigCall!] @derivedFrom(field: "multisig")
}

type RococoAccount @entity {
  id: ID! @index @unique
  address: String!
  multisigs: [RococoAccountMultisig] @derivedFrom(field: "signatory")
  isPureProxy: Boolean @index
  # it's the origin/delegator for another proxy accounts, a pure must have some
  delegatorFor: [RococoProxyAccount!] @derivedFrom(field: "delegator")
  # it's the delegatee/doing stuff on behalf of another account
  delegateeFor: [RococoProxyAccount!] @derivedFrom(field: "delegatee")
  isMultisig: Boolean @index
  signatories: [RococoAccountMultisig!] @derivedFrom(field: "multisig")
  threshold: Int
  multisigsCalls: [RococoMultisigCall!] @derivedFrom(field: "multisig")
}
//etc

and then in processor we would dynamically load models based on network.
For example:
import * as DbModels from "../model"

const Account = DbModels[chainId+"Account"];

await ctx.store.save(new Account({...}));

Thanks, I'll will experiment with 1.
Re 2. in this query, we're loosing a very important information regarding the link between pure proxy and multsig unfortunately.
3 sounds not scalable at all with a lot of overhead and new code for each new parachain (potentially a couple new ones every week).

Thanks, I'll will experiment with 1. Re 2. in this query, we're loosing a very important information regarding the link between pure proxy and multsig unfortunately. But yes, let's talk about it. 3. sounds not generic enough and not scalable with a lot of overhead and new "code" for each new parachain (potentially a couple new ones every week).

Re 2: I definitely think if we talk this trough we can get same amount of information with less complicated queries^^
re 3: Not really, if we do it right, only change would be to copy/paste few models in schema.graphql and we don't have to do it for small chains, we can still have single table which contains all the "small"/"other" networks and extract them to the specific table if they become problematic. From database architecture, it would make the most sense as we are never searching across multiple chains at the same time

Some actual numbers from analyzing queries:
Original graphql query translated into SQL
Seq Scan on account  (cost=0.00..100708.89 rows=475 width=151) (actual time=43.478..69.269 rows=20 loops=1)
Execution Time: 121.270 ms

notice huge coast
not using index but doing sequential scan

Small optimized grapql
query MyQuery($accountIds: [String!], $watchedAccountIds: [String!]) {
  accountMultisigs(where: { signatory: { id_in: $accountIds } }) {
    multisig {
      address,
      isMultisig,
      isPureProxy,
      signatories {
        signatory {
          address
        }
      }
			delegateeFor {
          id
          type
          delegator {
            address
            isPureProxy
          }
          delegatee {
            address
            isPureProxy
          }
        }
        delegatorFor {
          id
          type
          delegatee {
            address
            isMultisig
            threshold
            signatories {
              signatory {
                address
              }
            }
          }
        }
    }
  }
  accounts(where: {id_in: $watchedAccountIds     AND: { isMultisig_eq: true, OR: { isPureProxy_eq: true } }}) {
    address
        isMultisig
        isPureProxy
        threshold
        signatories {
          signatory {
            address
          }
        }
        delegateeFor {
          id
          type
          delegator {
            address
            isPureProxy
          }
          delegatee {
            address
            isPureProxy
          }
        }
        delegatorFor {
          id
          type
          delegatee {
            address
            isMultisig
            threshold
            signatories {
              signatory {
                address
              }
            }
          }
        }
  }
}

results in two SQL queries with significantly lower cost:
Nested Loop Left Join  (cost=27.86..595.78 rows=4 width=203) (actual time=0.183..1.446 rows=19 loops=1)
Execution Time: 1.593 ms
Bitmap Heap Scan on account  (cost=12.85..279.18 rows=2 width=151) (actual time=0.184..0.188 rows=1 loops=1)
Execution Time: 0.618 ms

I've been testing the query and made very small changes to come up with something a tiny bit better for users, without changing the core of it. According to my tests, I should be able to get all the info I had previously:
query MyQuery($accountIds: [String!], $watchedAccountIds: [String!]) {
  accountMultisigs(where: {OR: [
    {signatory: {id_in: $accountIds}},
    {signatory: {id_in: $watchedAccountIds}}
  ]}) {
    multisig {
      address
      isMultisig
      isPureProxy
      signatories {
        signatory {
          address
        }
      }
      delegateeFor {
        id
        type
        delegator {
          address
          isPureProxy
        }
      }
      delegatorFor {
        id
        type
        delegatee {
          address
          isMultisig
          threshold
          signatories {
            signatory {
              address
            }
          }
        }
      }
    }
  }
  accounts(where: {
  AND: [
    {id_in: $watchedAccountIds},
    {OR: [
      {isPureProxy_eq: true},
      {isMultisig_eq: true}
    ]}
  ]}) {
    address
    isMultisig
    isPureProxy
    threshold
    signatories {
      signatory {
        address
      }
    }
    delegateeFor {
      id
      type
      delegator {
        address
        isPureProxy
      }
    }
    delegatorFor {
      id
      type
      delegatee {
        address
        isMultisig
        threshold
        signatories {
          signatory {
            address
          }
        }
      }
    }
  }
}

I ended up having even smaller queries.
get all the multisig with a signatory of interrest
subscription MultisigsBySignatoriesOrWatched(
  $accountIds: [String!]
  $watchedAccountIds: [String!]
) {
  accountMultisigs(
    where: {
      OR: [
        { multisig: { id_in: $watchedAccountIds } }
        { signatory: { id_in: $accountIds } }
        { signatory: { id_in: $watchedAccountIds } }
      ]
    }
  ) {
    multisig {
      address
      threshold
      signatories {
        signatory {
          address
        }
      }
      delegateeFor {
        type
        delegator {
          address
          isPureProxy
        }
      }
    }
  }
}

get all the pure proxies by id
subscription PureByIds($pureIds: [String!]) {
  accounts(where: { AND: [{ id_in: $pureIds }, { isPureProxy_eq: true }] }) {
    address
    delegatorFor {
      id
      type
      delegatee {
        address
        isMultisig
        threshold
        signatories {
          signatory {
            address
          }
        }
      }
    }
  }
}


Master reports itself as if it was 1.9.0 release

Aka, we need PATCHLEVEL = 99.

considering to call this 1.10.0-dev or something like that, 1.9.99 while seems not realistic, is a valid dot release that we might reach at some point :-), thoughts?

Thoughts are: 1.9.99 is not realistic patch release we can reach. However, something like 5.13.99 in a dozen of years may be. If we want to solve that right now without much bikeshedding, let's just use 1.9.999. But that scheme worked pretty well for few releases, so I don't think it should be abandoned out of the blue. (And yep, the whole idea behind it was to be able to detect anything below a release X with just numeric comparisons (e.g. via C preprocessor).

@carlescufi : ^^^, FYI. I believe it was you who raised concerns with "99", I apologize if it was another Nordic guy. Please see if above works for you.

I am OK with using 999, the requirements on my side where to have a "build type" (dev, rc or production), which won't be solved by this anyway and it's tracked in an issue

which won't be solved by this anyway and it's tracked in an issue.

In fact, with the current macros I actually prefer the 999 scheme, because at least one knows that this is a dev build without having to parse a string

Exactly, and at the corresponding ticket, I gave an idea that we can have:
#if PATCHLEVEL == 99(9)
#define BUILDTYPE "dev"
#endif

Thanks for acking "999" btw.


Removes generation of default-email-address

Until now a default address has been generated when no email-address
coulf be retrieved. This is not necessary any more and is therefore
removed
This addresses and fixes #93

To still create a default emai-address you will have to add a custom-filter like the one described in https://github.com/heiglandreas/authLdap/issues/93#issuecomment-155327764


Task/poet 58 polish readme file

Please have a check for the Readme file and leave comments if any changes needed.

@judytian @dongxuDX  Please resolve merge conflicts on this branch. Then I can merge.

@hljiang Could you please check if the conflicts in the PR for POET-58 are solved?


Broken tests

Some test periodically fail

PrioritySemaphoreTests.SemaphoreShouldLimitSyncConsumers
in cases where the limit is equal to the number of threads
the code may run faster than we expect and we will never set fullThroughputReached to true.
It seems to me that we can not test the case when the limit is equal to the number of threads
env:

Fixed by https://github.com/epeshk/ConcurrencyToolkit/commit/dee99adfcddee5d29c4e348bf502f97c0d072867


Migrate away from request package

Version
4.2.2
Steps to reproduce
warning @vue/cli-plugin-babel > @vue/cli-shared-utils ><EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
What is expected?
No deprecation notices in the cli
What is actually happening?
request is being used in @vue/cli-shared-utils but is now deprecated

Aha! I was thinking about this just now.
Would you like to work on a PR for it?
There may be some drop-in replacements for this package. And we can replace request-promise-native with util.promisify.

I would recommend we switch to got as it is under very active development. It does have a nice comparison of alternatives if somebody else wants to propose a different option: https://github.com/sindresorhus/got#faq

We can switch to it in the next major version. But for now, we need a drop-in replacement. Because there are many CLI plugins depending on @vue/cli-shared-utils and I'm not sure how many of them use the request functionality in a non-trivial way.

@sodatea No worries I didn't know there was a need to do it before the next major. I don't know of any drop in options however.

Hey.
I will work on this one if that's alright.
It'd be my first.

https://github.com/request/request/issues/3143

We can switch to it in the next major version. But for now, we need a drop-in replacement.

@sodatea  Yes! got is a great choice. however, if we replace it directly, not sure what side effects. PR #5572 just replace request-promise-native with util.promisify.
I noticed a plan in project v5, i'm happy to work for it. any suggestions?


[WIP] Change testJSONMarshal

Fixes: #2699

Thanks, @exageraldo ! Please remove "Draft" status when you would like me to review this PR.

Some tests are no longer _Marshal but _addOtions, because the structures are responsible for mounting query strings, not a json.
TestGetAuditLogOptions_addOptions
TestTrafficBreakdownOptions_addOptions
TestSearchOptions_addOptions
TestTeamListTeamMembersOptions_addOptions
TestListExternalGroupsOptions_addOptions
TestUserListOptions_addOptions
TestHovercardOptions_addOptions

Since we do a tag validation in the testAddURLOptions function, I had to make some small changes to the following structures for the tests to pass.
GetAuditLogOptions ~> ListCursorOptions `url:",omitempty"`
SearchOptions ~> ListOptions `url:",omitempty"`
TeamListTeamMembersOptions ~> ListOptions `url:",omitempty"`
ListExternalGroupsOptions ~> ListOptions `url:",omitempty"`
UserListOptions ~> ListOptions `url:",omitempty"`

Theoretically it is just an explicit way of leaving the structure as it already was (did that make any sense?)

In some cases, I had to use json.Marshal to mount part of the expected string.
github/event_types_test.go
part, _ := json.Marshal(">= 2.0.0, < 2.0.2")

github/teams_discussions_test.go
bodyHTML, _ := json.Marshal(`<p>test</p>`)

In both cases, the idea is just to convert ">" into "\u003e" and "<" into "\u003c".
Do you think we can keep it that way, or can we add two other strings.Replace inside the testJSONMarshal function?
want = strings.Replace(want, ">", "\u003e", -1)
want = strings.Replace(want, "<", "\u003c", -1)

Yeah, those cases look a bit odd.
Go ahead with what you think is best, and then when I take the time to review the whole PR, I might come up with other ideas. 😄

We'll give this PR a couple weeks to get a reply and have the conflicts resolved, then if we haven't got any updates, it will be closed as abandoned.

I'll fix these things by this weekend 😄

Awesome - @exageraldo - thank you for the update!
No rush, actually - I just need to clean out old, abandoned PRs periodically.

hey, sorry for the delay. ~i had some unforeseen circumstances here, but~ I'm already finalizing it! by monday I'll be pushing up the changes.

Why are you changing GitHub workflows?

I didn't change anything in the workflows. I ended up opting for a "merge" instead of a "rebase" because some changes were disappearing and I didn't know how to solve it. If you look in the "Files Changed" tab, you'll see that all the changes are related to tests only.

OK, I must have been looking only at a merge commit... looking now and it is looking much better, thanks.
Performing code review...

We could simplify this by changing assertJSONMarshal to this:

// Test whether the marshaling of v produces JSON that corresponds
// to the want string.
func testJSONMarshal(t *testing.T, v interface{}, want string) {
	t.Helper()
	got, err := json.Marshal(v)
	if err != nil {
		t.Errorf("Unable to marshal JSON for %#v", v)
	}
	got = normalizeJSON(t, got)
	wantBytes := normalizeJSON(t, []byte(want))
	diff := cmp.Diff(string(wantBytes), string(got))
	if diff != "" {
		t.Errorf("json.Marshal returned:\n%s\nwant:\n%s\ndiff:\n%v", string(got), string(wantBytes), diff)
	}
}

// normalizeJSON normalizes the JSON in b by unmarshaling and marshaling it
// again.
func normalizeJSON(t *testing.T, b []byte) []byte {
	t.Helper()
	var v interface{}
	err := json.Unmarshal(b, &v)
	if err != nil {
		t.Errorf("Unable to unmarshal JSON for %v: %v", string(b), err)
	}
	w, err := json.MarshalIndent(v, "", "  ")
	if err != nil {
		t.Errorf("Unable to marshal JSON for %#v", v)
	}
	return w
}

That way differences like casing are failures but it isn't required to have the same whitespace or order of fields. This is similar to what testify does with assert.JSONEq().


Fix link by fixing anchor point

This might not have been an issue for the repo builds, but I noticed when I was building the docs locally that it was complaining about a bad link (bad anchor). Turns out that just switching from the name attribute to id on the anchor does the trick.

@guardrex,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

I added that anchor last night. It shouldn't be complaining

https://www.w3.org/MarkUp/1995-archive/Elements/A.html
NAME
OPTIONAL. If present, the attribute NAME allows the anchor to be the destination of a link. The value of the attribute is an identifier for the anchor. Identifiers are arbitrary strings but must be unique within the HTML document. Another document can then make a reference explicitly to this anchor by putting the identifier after the address, separated by a hash sign .
@@NOTE:
This feature is representable in SGML as an ID attribute, if we restrict the identifiers to be SGML names.

@scottaddie  W3.org folks don't use "" in attribute value  serious`

@guardrex  what version of DocFX/OPS are you running?

Hum ... yes ... must have been the version. I've taken my DocFX to latest (v2.22.3). No problem now.
In HTML5, name is listed as "obsolete but conforming," and they warn off of it (first sentence and last two sentences of the following note) ...

Authors should not specify the name attribute on a elements. If the attribute is present, its value must not be the empty string and must neither be equal to the value of any of the IDs in the element's home subtree other than the element's own ID, if any, nor be equal to the value of any of the other name attributes on a elements in the element's home subtree. If this attribute is present and the element has an ID, then the attribute's value must be equal to the element's ID. In earlier versions of the language, this attribute was intended as a way to specify possible targets for fragment identifiers in URLs. The id attribute should be used instead.

Ref: https://www.w3.org/TR/html5/obsolete.html
Anywho .... we're all good here. It's not choking now with v2.22.3.
It's been interesting looking at minification opportunities as I've been prepping Razor Pages Compile-time Minification with ASP.NET Core 2.0 ...

<head> tags optional
Only quoting attribute values if they contain spaces or  " ' ` = < or >
Not closing certain block elements (e.g., <p>)

Lot's of interesting opportunities to compress markup (e.g., https://www.w3.org/TR/2011/WD-html5-20110525/syntax.html#optional-tags and https://www.w3.org/TR/2012/WD-html-markup-20120320/syntax.html#attribute), and WebMarkupMin.Core (that I'm using now) takes advantage of many of them. Of course working manually, one little mistake and the page will probably eat itself! :boom: I'm going to trust an expert (@Taritsyn) to keep me on the path of righteousness and decency! :smile:


Add additional fields to profile view

This adds additional fields to the profiles view. It's not pretty, but works
Managed fields have been hard coded and should be polled from the API in case Grindr ever decided to modify something. I already had to fix the relationshipStatus array because it isn't in order

Well that looks awfully familiar, the work, and the statement about the hard coding/polling.  So just how would you suggest then, that this be polled from grindr, ya know, in case they change things.  Just how exactly would you suggest polling this?  And why, since you're suggesting that, didn't you just do it?
You have multiple other things in this you didn't bother to "fix" also.

@RobbieTechie have you had a chance to re-implement filters?  I've been trying to sort that out but my angular is weak.

@genevera Yes I've had them re-implemented.  The crew at Grindr added some code on their server though, so if you are not on an xtra account they won't work, and if you leave them on then others won't work.  I'm thinking maybe it should only be released with the free filters available.

Ohhhhh that makes sense.  I got the other ones working myself locally and
was v confused as to why I wasn't 401ing but the filters were still not
behaving as expected.  I think it's probably better to gate the filters by
whether or not a user has an Xtra account, because I'd pay for a second
throwaway subscription to be able to filter using this app. Tbh if fuckr
were a little more solid (and maybe had a little rebranding; the name is a
bit off-putting [sorry @tomlandia!! I love this thing otherwise]) I'd
pretty much only use it rather than the phone client.
You know, there's a module for the Xposed framework that does some neat
things as data comes in.  I've spoken a little with the author, who is
reticent to allow others to develop on that project, but am thinking that
maybe the next step for off-label Grindr clients could be some sort of
reverse-engineered version of the official client that runs in an Android
VM with Xposed or something similar.  Way more overhead but at least no
more worrying about major changes to the API or changes involving the
movement of processing from the client to the server...


how to use it?

Hi I'm very new to animator so I have no idea how to use the code by just looking at the source code. Can you kindly include some code example for each transition? If you don't have time, zoom transition would be good enough :) really appreciate it!

found your other repositories with demo projects of each transition :)


CRL manager with sqlite

An example of implement CRL management system with sqlite

@st4nny thank you for submitting this example! please take care of jslint messages and fix them 👍

Hi @st4nny unfortunately lint's still failing, please run this command inside your environment to solve issue
./node_modules/eslint/bin/eslint.js src test examples --fix

and check them using
npm run lint

Thank you!


Micro ros and teensyduino

Hello, I am a beginner with ROS 2 and micro-ROS. Currently, I have a Raspberry Pi 4 with Ubuntu Mate installed. I needed to install Arduino 1.8.19, which required me to install Teensyduino separately. After setting everything up, I was able to upload code to the Teensy 4.1 without any issues. However, after I started installing micro-ROS Humble

Hardware description:
RTOS :
Installation type:
Version or commit hash:

Steps to reproduce the issue
1.Install Arduino 1.8.19 on Raspberry Pi 4.
2.Install Teensyduino 1.59.0
3.Upload code to Teensy 4.1 to confirm proper setup.
3.Follow steps to patch Teensy platform for micro-ROS:
```

cd ~/arduino-1.8.13/hardware/teensy/avr/
curl https://raw.githubusercontent.com/micro-ROS/micro_ros_arduino/main/extras/patching_boards/platform_teensy.txt > platform.txt

5.Add the micro-ROS library as a zip file.
6.Attempt to upload example code to Teensy 4.1, resulting in an error:

	**fork/exec /arm/bin/arm-none-eabi-g++: no such file or directory**

#### Expected behavior
Code should upload to Teensy 4.1 without issues.

#### Actual behavior
The code fails to upload to Teensy 4.1, showing the error message fork/exec /arm/bin/arm-none-eabi-g++: no such file or directory.

#### Additional information

I have followed the steps to install and patch the Teensy platform for micro-ROS, but after doing so, I cannot upload any code to Teensy 4.1, even simple example sketches.

You may switch to platformio/vscode, and follow the wiki,
https://github.com/hippo5329/micro_ros_arduino_examples_platformio/wiki#use-teensy41


html files with javascript can run ?

It's a webserver like any other, it has no influence over what happens with server side languages like HTML, CSS and JavaScript.


Environment installation requires python3.9

Configure the environment according to the install.md document, execute pip install waymo-open-dataset-tf-2-5-0, the following error will be reported

The python dependency version should be changed to Python3.9
Should it be modified install.md

It seems wired because many people succeed to install the environments based on the instructions.

@smallzhao Hi，I encountered the same issue. How did you resolve it? Do I need to upgrade Python to 3.9?

pip install waymo-open-dataset-tf-2-4-0 , solved my problem


chore(build): bump go-yaml-tools version

Coverage remained the same at 52.031% when pulling ae3da62553b8fe00ab03195e1446fd81c6a94f1c on update-go-yaml-tools into a0f9eaa4475dcc13bc3e0d2bd45752c828a71665 on master.


Timeout

Client.api_get makes its request without a timeout. This will cause client sites to hang if ButterCMS has an incident. It will also exacerbate any incidents since requsets will pile up - a so-called self-DDoS.
A timeout like 10 seconds sounds sensible.

Fixed by above PR


Converseon

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Avner Braverman seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


How to use yessql for dynamic entity not strong type?

You can store them. There is an example in the unit tests.
However there is no "catch all" index provider, is it what you are refering to?

@KhoiNguyenICT
https://github.com/sebastienros/yessql/blob/e72607d66ef0655894933e7c7f7b056be1835d80/test/YesSql.Tests/CoreTests.cs#L242-L273

Currently I am using the dapper to build the query with dynamic table create in run time, then use assembly emit for entity framework. I am looking for a way to merge two static and dynamic table components


Overwrite lines instead of writing to next line

Hi! Thank you for this awesome library!
I have one question regarding the rendering of the UI.
When the UI is rendered, all cells are printed out to the next lines.
That 'fills' the history of the terminal very soon (see it by scrolling up).
Is it possible to use terminal sequences to overwrite the old lines?
Have a look here:
fmt.Print("\033[1A") // move cursor one line up
fmt.Print("\033[K")  // delete till end of line

You can test it out by typing echo "\033[1A\033[1A\033[1A". This 'eats' your lines.
I think these sequences are used by the nano editor too.
So, is this possible?
Thank you in advance!

My fault, it is already done this way. I was using a terminal (iTerm 2) that did not support these sequences.