Let's add a ShellCheck linter for merge requests

Hi!
I've decided to try "kubernetes-the-hard-way" again after my previous attempt https://github.com/mmumshad/kubernetes-the-hard-way/pull/328.
When I opened script vagrant/ubuntu/cert_verify.sh I found that shellcheck doesn't want to do a linter job because of syntax error:
 % shellcheck cert_verify.sh

In cert_verify.sh line 222:
    if [ -f "$ca"]
    ^-- SC1009 (info): The mentioned syntax error was in this if expression.
       ^-- SC1073 (error): Couldn't parse this test expression. Fix to allow more checks.
            ^-- SC1019 (error): Expected this to be an argument to the unary condition.
                  ^-- SC1020 (error): You need a space before the ].
                  ^-- SC1072 (error): Missing space before ]. Fix any mentioned problems and try again.

For more information:
  https://www.shellcheck.net/wiki/SC1020 -- You need a space before the ].
  https://www.shellcheck.net/wiki/SC1019 -- Expected this to be an argument t...
  https://www.shellcheck.net/wiki/SC1072 -- Missing space before ]. Fix any m...

So I started to fix errors and decided also to add a GitHub actions to run shellcheck automatically.
Here is a merge request to test GitHub actions: https://github.com/vazhnov/kubernetes-the-hard-way__vagrant/pull/1/files.
✅ I like it shows number of added vs. fixed:

https://github.com/vazhnov/kubernetes-the-hard-way__vagrant/actions/runs/12160187709 — before I added .shellcheckrc
https://github.com/vazhnov/kubernetes-the-hard-way__vagrant/actions/runs/12160326829 — after adding SC2034 and SC2086 to ignored, just to check.

❎ I don't like it sends me email "Differential ShellCheck: All jobs have failed", while I didn't add any new error/warning.
I think this check is better then no check. Let's add it? (I will create a merge request with the GitHub actions only).
@mmumshad , what do you think?

Hi @vazhnov
That's a nice idea. I am currently working on an upgrade to the instructions in this repo, and I shall carry this through to the development branch to merge when the upgrade is complete.

'Tis done. I will close this PR, and it'll all be merged when I've finished the other upgrades.

@fireflycons , it would be nice if you can push your fresh changes into dedicated branch here, so I can use it as my main branch for changes I'm also doing :slightly_smiling_face:


update start/ending time #572

remove start time, ending time subclasses of zero-dimensional temporal region
add has start time, has ending time relations as subclasses of has part
adjust time step to include new relations
adjust time series to include new relations

Thanks for implementing, but maybe we should discuss this in the issue first.

I think, we can close this PR and delete this branch, right?


GDI Handle leak

There's a GDI handle leak in frames. (It's more obvious if you've got some gif images with hundreds of frames in them as when you hit ~10K frames in your app, it'll crash).
To resolve this:
ImageBehaviour.cs -> MakeFrame
Line 674:
var bitmap = new RenderTargetBitmap(
fullSize.Width, fullSize.Height,
96, 96,
PixelFormats.Pbgra32);
bitmap.Render(visual);
        var result = new WriteableBitmap(bitmap);

        if (result.CanFreeze && !result.IsFrozen)
            result.Freeze();
        return result;

WriteableBitmaps don't take up a GDI handle. RenderTargetBitmaps do.
Note this only resolves half of the issue though
Inside ImageBehaviour -> GetAnimation
line: 470:
animation.RepeatBehavior = GetActualRepeatBehavior(imageControl, decoder, gifMetadata);
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
Reason for the GC WaitForPendingFinalizers is that the GDI Handle gets disposed in the Finalizer which might not happen before the 10K limit gets breached. (i.e the GC doesn't know about the GDI limit and can let it go over the limit causing an app crash). Sorry it's not in a pull request but my current environment I don't have permissions to install GIT.

Hi,
Thanks for reporting the issue. I'll look into it as soon as I can.

Hi,
Any updates on this? I'm also having crashes because of the GDI leak.

Hi,
Sorry @LordRiffRaff for taking so long before getting back to you, and thanks @mivor for reminding me ;)
The WriteableBitmap trick does seem to keep the GDI handle count at more reasonable level. I'll publish a release with this fix shortly.
I'm wary about running a full GC every time an animation is loaded, though... it can have a pretty heavy impact on application performance, and I don't want to penalize the vast majority of users who are not affected by the problem by forcing a full GC on them.

Yeah, the GC hit can be jarring. In my use case I didn't care as it was for a kiosk, so once the app has started up you no longer care. The only problem though is that without it, it'll crash randomly.  I'm not aware of a way to force the finalizer of the RenderTargetBitmap otherwise. https://stackoverflow.com/questions/13954829/gc-collect-and-finalize
Maybe an app config settings?
Then again, it may be only me and @mivor who've ended up with projects with gifs with tens of thousands of frames.

gifs with tens of thousands of frames.

Really?! 😲
OK, this might be a dumb question, but why not use a video instead? The GIF format was never intended for very long animations...
Anyway, I just released 1.4.15, which includes the WriteableBitmap fix.

Thanks for the quick fix. I will check tomorrow how it performs.
In my case the gif is definetly smaller.
I have the same gif animated in 6-10 places in one screen, for a loading animation.

 In the end I wrote a pixel shader to do transparent chromakey video for the large animations (i.e the ones that were 200x200 pixels).


Question about the length of training time

Hello, thank you for timely sharing the source code.
But I found that the training speed was very slow on my server.
Could u plz tell me the length of your training time on 8 V100?
configs/coco/instance-segmentation/maskformer2_R50_bs16_50ep.yaml
configs/coco/instance-segmentation/maskformer2_R101_bs16_50ep.yaml

The training time of ResNet-50 backbone is around 3 days on 8 V100 GPUs for 50 epochs.
There are few ways to reduce training time:

Using FPN decoder instead of MSDeformAttn: we found MSDeoformAttn is much slower than FPN decoder, probably due to suboptimal CUDA implementation
Using fewer decoder layers: e.g., using 6 or even 3 layers
Using a shorter training schedule: you can check our paper appendix to see results of 12 and 25 epochs

But keep in mind that all these modifications sacrifice accuracy for speed.


Add an example of php dev env and base image

We should have an example to easily onboard PHP developers.
https://github.com/buildsafedev/examples
After this issue, we can prompt user to ask for common PHP dependencies.
https://github.com/buildsafedev/bsf/issues/89

hey, i would like to work on this issue.

@dr-housemd Working on this !


Cherry pick #117

Cherry-pick #117

Argh, the autogenerated CI blew out my carefully-merged changes. I'll fix here.


springboot sdk uses java sdk version is too low, many functions are not implemented, I hope it can be updated

springboot sdk uses java sdk version is too low, many functions are not implemented, I hope it can be updated

@Ryan-Kevin fixed in: https://github.com/casdoor/casdoor-spring-boot-starter/releases/tag/v1.10.0


Fix: Fixed nullable reference warnings

Resolved / Related Issues
Items resolved / related issues by this PR.

Helps fixing #9895

Validation
How did you test these changes?

[x] Built and ran the app

Screenshots (optional)
Add screenshots here.

No, not really. Also, my vs formatter had a heart attack by the looks of it

I think that should be everything

That should be everything then

That should be solved now

I think that should be everything now then

Were there changes to "FilesLauncher.exe"?

No, I don't think there should be any

Do I remove it?

I guess so, the only changes should be the ones from you.

I don't know why the file is changed, maybe it was visual studio or something

I'll remove it when I get home

Now it's removed

The approach of making the variables nullable technically solves the warnings but not underlying issue. I think we should hold off merging this and focus on fixing the underlying issues.

What should I do then?

To fix the underlying issues, we would need to identify where the properties are being passed null values and fix it so it's only passed a valid value.

Ok, I'll look into it but I think that making the properties nullable is necessary so that visual studio doesn't throw warnings

I think we can solve the warnings by making sure the properties are always assigned a proper value. Let's close this PR for now and reopen if this solution works.

I have looked into this and there are a few types of nullable warnings (which include "Possible") are only removed by marking the affected properties as nullable


Integration of ue-rs with update-engine post-install script

On updates, Flatcar should download the wanted extension images when the Nebraska response returns them as additional packages. There are two types of extension images, the OEM extensions and the optional Flatcar extensions (e.g., K8s). Only one OEM is downloaded, as specified through the ID=  field from /oem/oem-release. The optional extensions are specified in /etc/flatcar/enabled-sysext.conf (contains the names per line and supports # comments).
The ticket for this is https://github.com/flatcar/Flatcar/issues/768
As subtask, we want to use a special ue-rs binary in the post-install action to download the extension images. This means less changes to update-engine but still some are needed.
From update-engine we should pass the XML response to the special binary when invoking it from the start of the post-install action. Note that this binary is to be loaded from the new partition and its temporary mount point. When no XML response is available in the post install action because the update-engine calling it is too old, we have to fall back to a hardcoded URL scheme to download the extension update payloads. What parts are done in bash vs what parts are done in the special ue-rs binary is a tradeoff. During development it will help if the ue-rs binary can be started manually with arguments that overwrite the defaults so that it's suitable for local development.
https://github.com/flatcar/Flatcar/issues/768 describes two paths where the extracted OEM extension images will be stored after protobuf parsing and signature verification; the OEM path is preferred, the rootfs path is a fallback when the OEM partition is too small. The post-install action will also check if both the old and new OS versions have a sysext available and then create the active-oem-OEMID flag file for the sysext to be used on next boot.

It's hard to come up with the exact integration because it's a tradeoff of what goes where - some parts are easy in bash, some are better done in Rust. We have to develop both together and can't use a perfect waterfall model.
I've written the above issue description now but it's more a summary of https://github.com/flatcar/Flatcar/issues/768 that focuses on the post-inst script and the role of the binary.
One more thing we need is signed extension images to test with.

Prepared in https://github.com/flatcar/update_engine/pull/24 - for now drafted with curl in bash


unlock of unowned mutex?

When running version 1.2.0, when creating the window I'm getting
d:\agent_work\3\s\src\vctools\crt\crtw32\stdcpp\thr\mutex.c(175): unlock of unowned mutex
I thought this problem could have been caused by
https://github.com/dmfrodrigues/GraphViewerCpp/blob/efd90a9dcbe3e248aa0ec0f9a1ad7e7993131100/src/graphviewer.cpp#L70
But it still persists after removing that line. I'm not sure what is wrong

Found the problem. It is related to the fact the mutex is locked by the main thread and unlocked by the event-handling thread. According to the docs of unlock(), this is undefined behavior.
In practice it does not make much sense to unlock from a thread other than the one that locked, but the solution seemed to work at some point. Linux handles it fine (its undefined behavior is just to ignore the fact it is being unlocked from a thread other than the one that locked it), but MSVC doesn't agree with that (and rightfully so).
Most likely will implement that decently as a condition variable+mutex.

@Goncalerta please check if the bug is fixed in commit e0beb02 (current head of branch dev).

It seems to be working properly now, thanks!


Do i need to use both grpc and thirft to send data from agent (profiler) to collector?

Hi.
I'm currently trying to add more scraped data from profiler besides the existing span, agentStat, etc
I see that I need to send the data to the collector via a port either using grpc or thrift (correct me if I'm wrong)
As I'm writing the codes to make this work, I see that there is some code that states that only grpc/thrift needed, but another code at another place set for both to work.
Do I need to use both or just one of them?

Thrift will be deprecated in the future.
You only need to implement grpc.


update browser/chrome version

minimum browser version last updated https://github.com/externpro/buildpro/issues/72
searching UbunutUpdates for the minimum version available
https://www.ubuntuupdates.org/package/google_chrome/stable/main/base/google-chrome-stable?id=202706&page=11
chrome 113.0.5672.63 is no longer available
https://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-stable-113.0.5672.63-1.x86_64.rpm
404 error

115.0.5790.110-1 is the minimum available as of now
https://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-stable-115.0.5790.110-1.x86_64.rpm

completed with commit to dev branch referenced above
smanders@bpbldlatest:/bpvol/buildpro (dev)
$ google-chrome --version
Google Chrome 115.0.5790.110


Ng-click support

How can we trigger validation by ng-click instead of ng-submit?

Only the validation or all the other handlers (submit-prevention, etc.) as well?

I'm closing this, as the OP is not responding and I'm not sure what would be a legitimate use-case for ng-click here.

I have the similar requirement. If we have buttons in form other then type="submit", the validation triggered on those button click also because of ng-submit.

Could anyone know how to trigger ng-form validation manually from controller method.

It's actually standard behavior (at least for chrome and ff) to submit a form when a button inside of it is clicked. To prevent this you'll have to specify the type attribute:
<form ng-submit="submit()">
  <button type="submit">I submit the form</button>
  <button type="button">I do something else</button>
</form>


#18821 Retrieve non-localized severity of the notice message

Acceptance criteria:

[x] Works against PostgreSQL 9.6+ with English language pack
[x] Works against PostgreSQL 9.6+ with a non-English language pack

verified


gitAndTools.gitRemoteGcrypt: 1.0.0 -> 1.0.3

Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:

built on NixOS
/tmp/tmp.HNtjNxAelH /home/ryantm/.cache/nixpkgs
/home/ryantm/.cache/nixpkgs
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 1.0.3 with grep in /nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3
directory tree listing: https://gist.github.com/4dd37ba2fc098537882e10e0c38823bb

cc @ellis @montag451 for review

Success on x86_64-linux (full log)
Attempted: gitAndTools.gitRemoteGcrypt
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3/bin
patching script interpreter paths in /nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3
/nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3/bin/.git-remote-gcrypt-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/q1g0rl8zfmz7r371fp5p42p4acmv297d-bash-4.4-p19/bin/sh"
checking for references to /tmp/nix-build-git-remote-gcrypt-1.0.3.drv-0 in /nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/y53i9y6lz8n342vwbhrh8h4y5l12q0k3-git-remote-gcrypt-1.0.3-man
gzipping man pages under /nix/store/y53i9y6lz8n342vwbhrh8h4y5l12q0k3-git-remote-gcrypt-1.0.3-man/share/man/
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/y53i9y6lz8n342vwbhrh8h4y5l12q0k3-git-remote-gcrypt-1.0.3-man
checking for references to /tmp/nix-build-git-remote-gcrypt-1.0.3.drv-0 in /nix/store/y53i9y6lz8n342vwbhrh8h4y5l12q0k3-git-remote-gcrypt-1.0.3-man...
/nix/store/y4rmp0i9bslzh2izpjhl9glklwhd9ypn-git-remote-gcrypt-1.0.3

Success on x86_64-darwin (full log)
Attempted: gitAndTools.gitRemoteGcrypt
Partial log (click to expand)
Moving /nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3/share/man to /nix/store/abgps4yfr7y1b3bpmwzqf0a0l0cm2i1x-git-remote-gcrypt-1.0.3-man/share/man
Removing empty /nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3/share/ and (possibly) its parents
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3/bin
patching script interpreter paths in /nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3
/nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3/bin/.git-remote-gcrypt-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/8hdxjv3m14jgdnawi5l0mz2h59qkk2g9-bash-4.4-p19/bin/sh"
gzipping man pages under /nix/store/abgps4yfr7y1b3bpmwzqf0a0l0cm2i1x-git-remote-gcrypt-1.0.3-man/share/man/
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/abgps4yfr7y1b3bpmwzqf0a0l0cm2i1x-git-remote-gcrypt-1.0.3-man
/nix/store/b2xsi65fq1n2bbk51rirkhbld71hys8d-git-remote-gcrypt-1.0.3

Success on aarch64-linux (full log)
Attempted: gitAndTools.gitRemoteGcrypt
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/26b1k118zy09v3nvfx4hrxnk4hj34qnv-git-remote-gcrypt-1.0.3/bin
patching script interpreter paths in /nix/store/26b1k118zy09v3nvfx4hrxnk4hj34qnv-git-remote-gcrypt-1.0.3
/nix/store/26b1k118zy09v3nvfx4hrxnk4hj34qnv-git-remote-gcrypt-1.0.3/bin/.git-remote-gcrypt-wrapped: interpreter directive changed from "/bin/sh" to "/nix/store/3gg2p6n4kv2f0lsxd41f5iz1ivkbzyzr-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/26b1k118zy09v3nvfx4hrxnk4hj34qnv-git-remote-gcrypt-1.0.3...
shrinking RPATHs of ELF executables and libraries in /nix/store/7nlpmp77psm8079ipxszw22gybklgcfn-git-remote-gcrypt-1.0.3-man
gzipping man pages under /nix/store/7nlpmp77psm8079ipxszw22gybklgcfn-git-remote-gcrypt-1.0.3-man/share/man/
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/7nlpmp77psm8079ipxszw22gybklgcfn-git-remote-gcrypt-1.0.3-man
checking for references to /build in /nix/store/7nlpmp77psm8079ipxszw22gybklgcfn-git-remote-gcrypt-1.0.3-man...
/nix/store/26b1k118zy09v3nvfx4hrxnk4hj34qnv-git-remote-gcrypt-1.0.3


[BUG] 5xx while parsing Evidence Type in Disputes Attach Evidence file upload flow

Bug Description
5xx while parsing Evidence Type in Disputes File upload flow
Expected Behavior
It should have been a Bad request, telling Invalid Evidence Type
Actual Behavior
We are throwing 5xx
Steps To Reproduce
Provide an invalid evidence_type while doing File upload in Dispute Attach Evidence flow
Have you spent some time checking if this bug has been raised before?

[X] I checked and didn't find a similar issue

Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to submit a PR?
None

Hey @sai-harsha-vardhan , I'd like to work on this issue and see if I can help fix it.

Hi @yashrajbothra, Thanks for your interest! I've assigned this to you; please use this thread have any queries.

Hey @sai-harsha-vardhan thanks for assigning the task. should i hit this endpoint to test my changes -> /disputes/evidence ?


I feel confused by the explanation of a portion of this lesson

Hello!
I get the feeling that the point that wants to be made is explained in such a way that one leaves more confused than one started (that is my experience).
I refer to this portion of the lesson:

Maybe it is the jumping from text to code, or maybe the steps could be explained in a more simple way to make the point more crystal clear. My brain goes into "stuck mode" trying to decypher what is being exposed.
The text written and the code exposed do not quite match (or do not seem to match as I read), making in tricky to understand the step by step functioning of arithmetics in lists.
There was an interesting conversation by Andrew and Sam in the discord about this. Andrew stepped into this confusion a couple of days before I did :)
And we continue...

Ok I think I am getting it, but it took some tampering...
First I needed to understand that we are not doing a mathematical operation, but removing elements from the list. I know this is a "duh" for the initiated, but a foundational block for further understanding for us newbies, who see numbers and mathematical signs, and the brain is conditioned to think "MATH COMING!".
So I would start by making crystal clear that we are removing ELEMENTS and not playing with numbers. Maybe with strings is easier:

Got it, I think :)


FloatEdit: Added widgetResizable

Added a widgetResizable/setWidgetResizable to FloatEdit in order to always display the full value

With this flag the widget width will grow/shrink during the user typing
sizeHint is reimplemented as result the default layout also fit the content
The implementation is based on minimumSize to inforce the parent layout to resize them self (windows and dialog will also grow and shrink)
The property name widgetResizable was picked from QScrollBar

Changelog:

Added widgetResizable to FloatEdit (default is false)

Ci fails with:
================================== FAILURES ===================================
______________________________ test_widgetresize ______________________________
qapp_utils = <silx.gui.utils.testutils.TestCaseQt testMethod=runTest>
holder = <PyQt6.QtWidgets.QWidget object at 0x00000228B7ADF250>
floatEdit = <silx.gui.widgets.FloatEdit.FloatEdit object at 0x00000228B7ADF400>
    def test_widgetresize(qapp_utils, holder, floatEdit):
        holder.layout().addWidget(floatEdit)
        holder.resize(100, 100)
        holder.show()
        qapp_utils.qWaitForWindowExposed(holder)
        floatEdit.setWidgetResizable(True)
        floatEdit.setValue(123)
        a = floatEdit.width()
        floatEdit.setValue(123456789123456789.123456789123456789)
        b = floatEdit.width()
>       assert b > a
E       assert 98 > 98
venv_test\Lib\site-packages\silx\gui\widgets\test\test_floatedit.py:88: AssertionError

I have used such proxy.__repr__.__self__ to deref the proxies.
I think you should remove the proxy from your factory.

I think you should remove the proxy from your factory.

If it causes some issues, yes

Here is with the fixes


Session loading in Splash

Issue

https://github.com/DroidKaigi/conference-app-2017/issues/321

Overview (Required)

[x] loading session in SplashActivity

SplashActivity is displayed at minimum 1500 millisecond.
For that, I am generating delaySingleSource.
But I do not know if this is the best. 🤔
Please opinion if there is something.  🙇
Links
none

@hkurokawa Can you help to review if you have a time? 🙇

Thanks for good improvement! 👍

LGTM! Thanks!


Update eip1085 schema to enforce account formatting

What was wrong?
In jsonschema a "propertyNames" field is required to enforce that all of an object's keys conform to a pattern. Without this addition to the jsonschema - it wasn't properly enforcing that all keys in Accounts were 0x-prefixed addresses.
How was it fixed?
Added the necessary field.
To-Do

[x] Clean up commit history

[x] Add entry to the release notes

Cute Animal Picture

Nice tests :+1:


[WIP] Inline all decorations - attempt 3

This is follow up on #20042 and #27218.
Original issue: #19749.
OK, so this time I've added separate implementation of Widget based on IViewZone only for new functionality, two new functions in controller handling this new functionality and one editor action. It's not touching old functionality at all.
I do have one small problem - both implementations  are setting left margin differently which is rather annoying.

CC: @jrieken

@Krzysztof-Cieslak,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


refactor: clean up Streams

High Level Overview of Change

Context of Change

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Translation Updates
[ ] Release

TypeScript/Hooks Update

[ ] Updated files to React Hooks
[ ] Updated files to TypeScript

Before / After

Test Plan

Ran into a roadblock and decided to create incremental PRs for refactoring things to hooks so that they can leverage a useStreams hooks better #919 and #921.

@ckniffen Should this PR be closed because the incremental PRs cover it? (Or is this PR trying to do something different?)

This can be closed.  I will open up a new one with one with better iteration of the fix.

Closing for now based on @ckniffen's above comment


security: update BoA to latest v0.5.2

Following up on https://github.com/askmeegs/build-a-platform-with-krm/pull/32 by integrating latest BoA version v0.5.2.

Thank you Mathieu!!


core: Merge scan into list

Background
We used to split scan and list to represent list without delimiter and list with delimiter / for easier implement. However, after capability implemented, this split is not needed anymore. We have to repeat work between scan and list because they nearly share the same args. For example, https://github.com/apache/incubator-opendal/issues/2063
Thus, it's better for us to merge scan into list.
Actions

[ ] Add delimiter in OpList (default to /)
[ ] Add list_without_delimiter and list_with_delimiter_slash in Capability
[ ] Implement scan feature in list
[ ] Remove scan API (keep Operator::scan as an alias of Operator::list_with(OpList::with_delimiter("")))

Notes

No public API will be changed.
This issue is a good second issues that suitable for developer who want to contribuote more in OpenDAL.

hi @Xuanwo , i would like to work on this if it is ok

hi @Xuanwo , i would like to work on this if it is ok

Of course! Have fun!

The PR I raised https://github.com/apache/incubator-opendal/pull/2214 has been merged (forgot to mention this issue in the pr 🤦  ). Guess this issue can be closed now.

The PR I raised #2214 has been merged (forgot to mention this issue in the pr facepalm ). Guess this issue can be closed now.

We should remove the Accessor::scan entirely.


clarify that no action regarding the DCO is required, fixes #3193

@dholbach Can you change the format of the commit message to meet the contribution guidelines?


Endpoint topology metric and query.

Coverage decreased (-0.1%) to 15.351% when pulling d8129a1050db2a21efdba39741ace0fcd5d9fa2b on peng-yongsheng:feature/endpoint_topology into 64d886f19757e1d5461c3d080339166396385e01 on apache:master.


update ibc path dydxtestnet-osmosistestnet

oh, dydxtestnet chain hasn't been registered yet. Could we get that in here as well?

@JeremyParish69 I think the current private testnet isn't intended to, but we'll add the public dydx testnet as soon it is launched!

@JeremyParish69 I think the current private testnet isn't intended to, but we'll add the public dydx testnet as soon it is launched!

So this is the private testnet? Just don't want that to get confusing. We'd need to make sure the public testnet doesn't get registered as dydxtestnet, then, or else this connection would be inaccurate. Maybe if the chain isn't going to be registered we should call it something like 'dydxprivatetestnet' ?

updated suggested changes


Midi support!

I have a few midi controllers, i could look into at least the detection and piano playing part if you wanted.

perhaps using this package? https://www.npmjs.com/package/midi

Looks like this has been stalled until https://github.com/justinlatimer/node-midi/issues/164 can be closed. Unfortunately, the library developer is largely inactive

is there a particular reason we couldn't use the built-in web midi api?
https://developer.mozilla.org/en-US/docs/Web/API/Web_MIDI_API

i did not know this existed. that makes this a lot easier.. maybe

🤷 idk lmao, no idea what the differences would be, if any

https://user-images.githubusercontent.com/26691026/179335533-a1207204-47b3-4717-8f33-3bf3c11023e8.mp4
hehe

Update: will require Rust support. See other: #51


[WIP] Documentation

We're putting documentation into source control ✨  💖

:shipit:

We'll add more as we go along, but this is a good start to be merged for now


Fixed typing error

Actually, this isn't a typo. AToken is short for the Associated Token (Program). There might be a clearer way to introduce the short-hand, or maybe it should just be spelled out entirely. Please feel free to re-open this PR with changes along those lines.


Support JWE with "zip" in header

If a jwt header indicates that payload is compressed, customers will have to take ownership of  ValidateSignature. It would be cleaner to separate the two.
Should have support for standard algorithms: Deflate, zip, etc.

@mafurman @lovemaths had a hard time getting this into our JwtSecurityTokenHandler, can you make sure this will work with our JsonWebTokenHandler.


Session Timeout

The application is active regardless how much time has passed, this poses as a security risk considering the saved passwords can be copied anytime (even after long duration of inactivity)
This issue proposes adding session timeout functionality to enhance application security. The feature will track user activity and automatically log out users after a defined period of inactivity.
Suggested Implementation:

Customisable timeout: Allow users to configure their timeout duration in settings.
Alert before logging out: Display a warning message before automatic logout, giving users a chance to extend their session.
Timeout Functionality: Create a function to check elapsed time since the last interaction.
Logout Procedure: Define actions to take upon timeout, such as clearing session data or redirecting to the login page.

This feature actually sounds good, but make sure that you're not allowing more than 10mins for custom timeout selection.

You're good to go @PriyaD17

any update @PriyaD17?

Marked as up-to-grab


[jvm-packages] JNI Cosmetics

This PR reduces copy/paste related to native library loading and drops redundant JNIErrorHandle class.

merged, thanks!


MADLIB-1154. PostgreSQL 10 (beta 4) support.

Postgres 10 header file movement
Move some things from builtins.h to new header files
https://github.com/postgres/postgres/commit/f21a563d25dbae153937aec062161184189478b8
o format_procedure has moved into utils/regproc.h (from
utils/builtins.h)
o Functions for the variable-length built-in types moved into
utils/varlena.h (from utils/builtins.h)
libpq/md5.h has moved to common/md5.h
Postgres 10 change
Move code shared between libpq and backend from backend/libpq/ to common/.
https://github.com/postgres/postgres/commit/ec136d19b21791c845b1deeff43df137add0639e
Convert sketch to Version 1 Calling Conventions.
Update "is_less_than_pg90" to accommodate "10beta" version.
PlEASE NOTE The Postgres Beta string is non-standard and I have been able to account for it in "is_less_than_pg90". There are other checks when installing madlib and running install-check that fail and it fallbacks to using the newest supported version. Here is the message received:

Could not parse version string reported by PostgreSQL. Will default to newest supported version of PostgreSQL (10.0).

For reference, this is the "select_version()" output for Postgres 10 beta4:
psql -c "select version()"
                                                    version
----------------------------------------------------------------------------------------------------------------
 PostgreSQL 10beta4 on x86_64-apple-darwin16.7.0, compiled by Apple LLVM version 8.1.0 (clang-802.0.42), 64-bit
(1 row)

I have successfully built and run install/install-check against PostgreSQL 9.6 and 10beta4.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/215/

Jenkins ok to test

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/madlib-pr-build/219/

I tested it against postgres10beta4 on a local centos6 docker container, and I got the following error when installing MADlib:
[postgres@31e9a35af8a7 build]$ src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/test install
Traceback (most recent call last):
File "/build/src/bin/../madpack/madpack.py", line 1580, in
main(sys.argv[1:])
File "/build/src/bin/../madpack/madpack.py", line 1169, in main
for versionStr in supportedVersions])))
ValueError: max() arg is an empty sequence
Here is the postgres version info:
test=# select version();
version
PostgreSQL 10beta4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18), 64-bit
(1 row)
Still looking into the root cause of it.

Interesting you received that type of error with Postgres missing the "--with-python" build flag. I wonder if MADlib is capable of determining if python support is available. If it isn't, there is no sense in installing MADlib.

Will go ahead and merge this since @jingyimei has approved.


workbox.cacheableResponse.Plugin

using /workbox-cdn/releases/4.3.0/workbox-sw.js
i am returning header(X-Is-Cacheable: yes) in response to my api call.
below is my custom service code.
workbox.routing.registerRoute(   /http:\/\/127\.0\.0\.1\/lumen/,   new workbox.strategies.CacheFirst({     cacheName: 'api-cache',     plugins: [       new workbox.cacheableResponse.Plugin({         statuses: [200],         headers: {           'X-Is-Cacheable': 'yes',         },       })     ]   }),   'GET' )
Issue is that 'api-cache' is being created for headers (X-Is-Cacheable: no) and also there is no response data being save for responses having (X-Is-Cacheable: yes) header.

It looks like you're making a CORS request to the third-party origin http://<IP_ADDRESS>/. Because you're using CORS, there are limits on the headers that are exposed on your Response objects by default.
You can override those limits by explicitly adding a Access-Control-Expose-Headers: X-Is-Cacheable header to your server-generated response, along with the X-Is-Cacheable: yes header.
You can read more about how this works at https://fetch.spec.whatwg.org/#http-access-control-expose-headers


notebook improvements

move code to Python
add full examples in the documentation
simplify, remove redundant code
code clean-up

for release 0.0.60

re-implement analytics w/ streamlit
create dockerfile and updated documentation

for release 0.0.60

streamlit and cleanup completed for portfolio analysis

backtester still in process


Implement processing of a tree taxonomy

Alright, this is a :construction: not ready for merge yet.
I've implemented a number of tree processors to help us with the upcoming dynamic taxonomy:

treeMap: given a tree taxonomy and a flat classification it can add entities to the correct taxonomy nodes
treeShake: remove all nodes that have no children
htmlMap: map a tree to a simple html structure

I've also added a temporary page (/taxonomy) that does the above to show a modal-like view of an entry's classification.
The underlying assumption is that we can, at some point, (re)construct the taxonomy as a tree. No matter what structure the backend gives us, it must contain enough information to create the tree.

Update:
taxonomy.js is now holds two classes: Taxonomy and Node. Only Taxonomy is exported but it Node elements are returned by methods in Taxonomy. The Taxonomy class is really just a tree representation/reconstruction of whatever is in the database.
Idea: instead of doing a hybrid taxonomy-tree structure do a normal tree that the taxonomy operates on.

pros:

very nice split
dependent code generalized to tree algorithms

cons:

some domain specific stuff has to be carried over into the node implementation (e.g. what is a leaf? a node without children? a node that is an entity?)
haven't tested far enough to know if tree structure impacts something negatively

Example:
var entry_classification = ...
api.v1.collection.taxonomy(some_id).then(collection_taxonomy =>
    var taxonomy = new Taxonomy(collection_taxonomy) // generate tree from backend reply
    return taxonomy.classify(entry_classification)   // insert leaf nodes
}).then(classified_tree => {
    var pruned = classified_tree.shake()             // remove nodes that have no leaves
    console.log("Entry has adapting:",               // search for node with id "adapting"
        pruned.dfs("adapting") ? "yes" : "no")       // returns node or undefined
})

Some more concrete and runnable examples can be found in the taxonomy playground:
generate_submit_classification() will construct the classification part from the submit page
load_taxonomy(entry_id).then(inspect_classification) will print the classification of an entry
load_taxonomy(entry_id).then(dump_taxonomy) will print the classification and the whole tree

The work in this branch has been incorporated in main branch


A Question about finetuning models using adapters with FSDP with accelerate

I am trying to use a PEFT method "SSF : (https://arxiv.org/pdf/2210.08823)" to finetune large models using FSDP. This my code for creating new layers :
    class SSFLayer:
        def __init__(self, dim) -> None:
            self.ssf_scale = nn.Parameter(torch.ones(dim)).to(self.weight.device)
            self.ssf_shift = nn.Parameter(torch.zeros(dim)).to(self.weight.device)
            self.merged = False
            nn.init.normal_(self.ssf_scale, mean=1, std=0.02)
            nn.init.normal_(self.ssf_shift, std=0.02)

        def ssf_ada(self, x):
            self.to(x.device)
            if x.dtype == torch.float16:
                ssf_scale = self.ssf_scale.half()
                ssf_shift = self.ssf_shift.half()
            else:
                ssf_scale = self.ssf_scale.float()
                ssf_shift = self.ssf_shift.float()

            if x.shape[-1] == ssf_scale.shape[0]:
                return x * ssf_scale + ssf_shift
            elif x.shape[1] == ssf_scale.shape[0]:
                return x * ssf_scale.view(1, -1, 1, 1) + ssf_shift.view(1, -1, 1, 1)
            else:
                raise ValueError(
                    "The input tensor shape does not match the shape of the scale factor."
                )

        def merge(self) -> None:
            if self.merged:
                warnings.warn("Already merged. Nothing to do.")
                return
            if self.weight.device == self.ssf_scale.device:
                pass
            else:
                self.ssf_scale.to(self.weight.device)

            if self.weight.shape == self.ssf_scale.shape:  # layernorm
                self.weight.data = self.weight.data * self.ssf_scale.to(self.weight.device)

            elif (
                self.weight.shape[0] == self.ssf_scale.shape[0]
                and len(self.weight.shape) == 2
            ):  # linear
                self.weight.data = self.weight.data * self.ssf_scale.to(
                    self.weight.device
                ).view(-1, 1)

            elif (
                self.weight.shape[0] == self.ssf_scale.shape[0]
                and len(self.weight.shape) == 4
            ):  # conv
                self.weight.data = self.weight.data * self.ssf_scale.to(
                    self.weight.device
                ).view(-1, 1, 1, 1)

            else:
                raise ValueError(
                    "the input tensor shape does not match the shape of the scale factor."
                )
            if self.bias is None:
                factory_kwargs = {"device": self.weight.device, "`dtype`": torch.float16}
                if isinstance(self, Conv2d):
                    self.bias = nn.Parameter(
                        torch.zeros(self.out_channels, **factory_kwargs)
                    )
                else:
                    self.bias = nn.Parameter(
                        torch.zeros(self.out_features, **factory_kwargs)
                    )

            self.bias.data = self.ssf_shift.to(
                self.bias.device
            ) + self.bias.data * self.ssf_scale.to(self.bias.device)

            self.merged = True

  class Linear(nn.Linear, SSFLayer):
      def __init__(self, in_features, out_features, dim, **kwargs):
          nn.Linear.__init__(self, in_features, out_features, **kwargs)
          SSFLayer.__init__(self, dim)
          self.weight.requires_grad = False

      def forward(self, x):
          result = super().forward(x)
          result = self.ssf_ada(result)
          return result

  class LayerNorm(nn.LayerNorm, SSFLayer):
      def __init__(self, dim, **kwargs):
          nn.LayerNorm.__init__(self, dim)
          SSFLayer.__init__(self, dim)
          self.weight.requires_grad = False

      def forward(self, x):
          result = super().forward(x)
          result = self.ssf_ada(result)
          return result

This code runs on a single GPU without any issues. But when I am trying to run the same code on multiple GPUs (L4) using FSDP via accelerate, I keep getting this error : ValueError: Must flatten tensors with uniform dtype but got torch.float16 and torch.float32
I don't understand why this keeps happening. Some help please ?
PS. - I have also tried exclusively converting parameters to .float() and .half() based on the original param dtype, but that didn't help.

Tagging huggingface/peft#1834 for reference.

Did you try out what I mentioned in my comment? This is not something that accelerate can solve automatically for you.

Fized it !
nn.Linear.init(self, in_features, out_features, **kwargs) automatically started a layer in fp32. I passed the dtype arg in kwargs now and it works!
Thanks @BenjaminBossan


#4 Make sure nested disabled test due not generate error. Add more tests

Fixes #4

Released with 1.1


Added command clear_attachment

fixes #1749
This command implements vkClearAttachments, most checks are done
except for:

Handling attachments with VK_ATTACHMENT_UNUSED, vulkano doesn't
support unused attachments for now.
command buffer protection and protectedNoFault, which vulkano is not
supporting now.

[x] Describe in common words what is the purpose of this change, related
Github Issues, and highlight important implementation aspects.

[x] Please put changelog entries in the description of this Pull Request
if knowledge of this change could be valuable to users. No need to put the
entries to the changelog directly, they will be transferred to the changelog
files(CHANGELOG_VULKANO.md and CHANGELOG_VK_SYS.md)
by maintainers right after the Pull Request merge.

Entries for Vulkano changelog:

Added ClearRect struct, which contains the region information to be cleared
Added ClearAttachment enum, which will contain the ClearValue and type of attachment
Implemented AutoCommandBufferBuilder::clear_attachments, which implements all possible checks from the vulkan standards to make it safe.
Implemented SyncCommandBufferBuilder::clear_attachments and UnsafeCommandBufferBuilder::clear_attachments.

Entries for VkSys changelog:

Implemented clear_attachments command

[x] Run cargo fmt on the changes.

[x] Make sure that the changes are covered by unit-tests.
Not sure how to test this, draw is not tested as well, suggestions are welcome on the procedure of testing these kind of functions.

[x] Update documentation to reflect any user-facing changes - in this repository.

It looks good at first glance, thank you for the work!

@Amjad50 Thank you for the improvement! It looks good to me too. Is it possible to add an example that will use this feature? Or maybe add it to some of the existing examples?

I was enforcing x11, was having some issues with wayland. you can ignore this.

@Amjad50 Looks good, merged. Thanks again! :+1:


Documentation request: how to migrate from git and dvc hooks (pre-commit package) to fds

I just set up a git repo with dvc, and added the dvc hooks via the pre-commit package. If I switch to FDS, do need to remove these hooks?

Hi @drjasonharrison , I don't think there should be any conflict between dvc hooks and FDS functionality.
There is a bit of redundancy with the push hook and commit hook, since those scenarios are handled by fds push and fds save. But nothing bad should happen if you mix and match.
So: No migration necessary, just use fds normally.


distribution: remove osbuild-composer-koji

Remove both the package osbuild-composer-koji, and the only file it
shipped: osbuild-composer-koji.socket.
It's been deprecated since 835b556, but the backwards-compatible
solution in that commit never worked, because osbuild-composer only
checks for "osbuild-composer-api.socket" when starting up.
Since this has been meant to be deprecated for a while, just remove it
outright.
Add an "Obsoletes:" for the package, so that it gets uninstalled on
existing systems.

Update: address @ondrejbudai's comment and remove osubild-composer-test's dependency on osbuild-composer-koji.


Types/Numbers dictionaries formats

@jmccrae The formats of dictionaries(entries) can be retrieved with /list endpoint, which lists all entries of a dictionary. Doesn't it make more sense to return the formats data as part of dictionary metadata instead of entries, or am i missing something?

I guess it may be more straightforward, but I guess we wanted to support dictionaries that have only been partially converted to RDF or JSON. I wouldn't see any critical reason to change this at this point


Fix: cloudfoundry.firehose_events not being merged by spiff

Hello,
During my tests, the property cloudfoundry.firehose_events was not merged by spiff using make_manifest script.
I have added to stub.yml the default value for this property. With this, we can define this value in a sub-template...

@fbonelle - Thanks!


Refactor :: oauth middleware

Pull Request Template
Description:
Refactored oauth middleware  by breaking it into smaller functions for reducing it's cognitive complexity.
Solves #997
Checklist:

[x] I have formatted my code using  goimport  and  golangci-lint.
[x] All new code is covered by unit tests.
[x] This PR does not decrease the overall code coverage.
[x] I have reviewed the code comments and documentation for clarity.

Thank you for your contribution!

@vipul-rawat @ccoVeille Thanks for the review. I have added the requested changes.

@srrathi your tests are breaking in the local system as well. Probably something is wrong with the implementation, could you verify

@aryanmehrotra Thanks for informing. These test cases are breaking
=== RUN   TestOAuthInvalidTokenFormat
    oauth_test.go:68:
        	Error Trace:	/home/runner/work/gofr/gofr/pkg/gofr/http/middleware/oauth_test.go:68
        	Error:      	"authorization header format must be ***" does not contain "Authorization header format must be ***"
        	Test:       	TestOAuthInvalidTokenFormat
--- FAIL: TestOAuthInvalidTokenFormat (0.00s)
=== RUN   TestOAuthEmptyAuthHeader
    oauth_test.go:92:
        	Error Trace:	/home/runner/work/gofr/gofr/pkg/gofr/http/middleware/oauth_test.go:92
        	Error:      	"authorization header is required\n" does not contain "Authorization header is required"
        	Test:       	TestOAuthEmptyAuthHeader
--- FAIL: TestOAuthEmptyAuthHeader (0.01s)

Reason - because I changed the error message being started from a capital letter as it is causing linting error and golang error messages should start from lower case letter. I have changed the same in the test cases as well so it should fix it.

@srrathi pipeline is still failing could you please look into it.

@srrathi pipeline is still failing could you please look into it.

@aryanmehrotra This is what failing the pipeline, no idea why but will check in the weekend.
=== RUN   Test_SQLRetryConnectionInfoLog
could not connect with 'user' user to 'test' database at 'host:3201', error: dial tcp: lookup host on <IP_ADDRESS>:53: server misbehaving
    sql.go:200: Unexpected call to *sql.MockMetrics.SetGauge([app_sql_open_connections 1]) at /home/runner/work/gofr/gofr/pkg/gofr/datasource/sql/sql.go:200 because:
        expected call at /home/runner/work/gofr/gofr/pkg/gofr/datasource/sql/sql_test.go:275 doesn't match the argument at index 1.
        Got: 1 (float64)
        Want: is equal to 0 (float64)
        expected call at /home/runner/work/gofr/gofr/pkg/gofr/datasource/sql/sql_test.go:276 doesn't match the argument at index 0.
        Got: app_sql_open_connections (string)
        Want: is equal to app_sql_inUse_connections (string)
    controller.go:98: missing call(s) to *sql.MockMetrics.SetGauge(is equal to app_sql_open_connections (string), is equal to 0 (float64)) /home/runner/work/gofr/gofr/pkg/gofr/datasource/sql/sql_test.go:275
    controller.go:98: missing call(s) to *sql.MockMetrics.SetGauge(is equal to app_sql_inUse_connections (string), is equal to 0 (float64)) /home/runner/work/gofr/gofr/pkg/gofr/datasource/sql/sql_test.go:276
    controller.go:98: aborting test due to missing call(s)
--- FAIL: Test_SQLRetryConnectionInfoLog (0.12s)
FAIL
coverage: 3.4% of statements in gofr.dev/pkg/...
FAIL	gofr.dev/pkg/gofr/datasource/sql	0.249s


Get the current value?

Would it be possible to for example get the current contrast?
I wondering because I would like to bind a key to increase contrast instead of having to specify the exact contrast level...

Thanks for the reply! I don't have any experience with i2c programming so was not sure if this was something that could be got from the device itself.


Installing gog launcher fails on ModuleNotFoundError: No module named 'filelock'

Tried deleting everything and starting over, same issue each time.
The problem is the same running this specific command, but I am unsure on how to get past it:
/home/deck/.steam/root/ubuntu12_32/steam-runtime/run.sh /home/deck/.steam/root/compatibilitytools.d/GE-Proton8-30/proton run /home/deck/Downloads/NonSteamLaunchersInstallation/GOG_Galaxy_2.0.exe

Full log is attached
NonSteamLaunchers-install.log

I should add it does not crash, it just stays in a while loop forever since this command keeps getting repeated and failing.

@carlmo Install Proton Up QT from the Discovery Store, from there delete the Proton GE's that you have and Reinstall the latest Proton GE, if you dont want to do that you can go here manually and delete any Proton GE folders you have, its possible the proton got corrupted somehow /home/deck/.steam/root/compatibilitytools.d/ Once you ve done that i would then install Proton GE through Proton UP QT and then use NonSteamLaunchers to ensure there is no corruption.


Update Ambassador version in Knative test suite

We need to update Knative's test suite to test the latest Ambassador release. Currently 0.86.0 is tested.

@concaf is this done now?

The PR is out there - https://github.com/knative/serving/pull/7024

Fixed


TelemetryClient.Flush() does not respect Telemetry Sinks and only flushes default channel

If you are reporting bug/issue, please provide detailed Repro instructions.
Repro Steps

Configure several Telemetry Sinks, e.g. with

<TelemetrySinks>
     <Add Name="Custom">
         <TelemetryChannel Type="SimpleFileChannel.FileChannel, SimpleFileChannel">
           <MyProperty>MyValue</MyProperty>
         </TelemetryChannel>
     </Add>
 </TelemetrySinks>

Call Flush() on default TelemetryClient instance created off TelemetryConfiguration.Active be default

Actual Behavior
Only default channel, such as ServerTelemetryChannel get Flush() request.
Custom channel, such as aforementioned FileChannel configured with Telemetry Sink concept does not get Flush() call.
Expected Behavior
All configured channels Flush() upon such call on TelemetryClient object.
Version Info
SDK Version : 2.8-b1
.NET Version :	Any Supported
How Application was onboarded with SDK(VisualStudio/StatusMonitor/Azure Extension) : VS
OS : Any
Hosting Info (IIS/Azure WebApps/ etc) : Local

Related: https://github.com/Microsoft/ApplicationInsights-dotnet/issues/823

Most of the 2.8 customers with many Telemetry Sinks are expected to monitor services environments where call to Flush() is less expected than in console/desktop/worker apps. We can implement this in 2.9 to address customer feedback is any.
However, considering the size of the change (iteration over TelemetrySinks and calling Flush() on every ITelemetryChannel) - we can take it for 2.8 is it's trivial.


Could not establish Memcached connection

Laravel Version: 5.4.*
PHP Version: 7.0.3-5
Memcache Driver & Version: memcached 2.2.0

Description:
It is not an issue, It is a help wanted
I'm getting following error RuntimeException: Could not establish Memcached connection once in a while, not always. This been happening last couple of months, I noticed the error somewhere this month only.
I posted question in stackoverflow with more details about the memcached instance. http://stackoverflow.com/questions/42949733/runtime-execption-could-not-establish-memcached-connection
I'm not sure from where do I start debugging. Appreciate any guidance / thoughts to help me investigating this issue.
Thanks

Do you see the error through error log? Or does it take down the whole request when it happens?

@vocanic-saumini can you please try the forums? we try to keep this repo for bug reporting only, I'm sure someone will be able to help you there.

@kimsan42 I'm seeing in log file


Consider more informative guidance for customers trying to migrate code

Rather than just 'identifier not found' (such as for trying to use an API from the old library that no longer exists), or 'syntax error' (such as for interpolated string changes), we could perhaps detect these cases and have a more helpful error message, perhaps redirecting to a page that lists the changes and how to migrate such code (or open an issue to request an API/feature).

Lots of fun debate on this one. I think we still need to 'triage' further to come to agreement.

I vote for a compatibility layer (for missing library functions)

The @Unimplemented attribute was added to the language to help provide guidance on this, but does not allow for adding any extra text to the error. After discussion with @DmitryVasilevsky we landed at wanting support for an optional string that gets added to the error output. I'll work on that, and that should enable any additional libraries we want to add with guidance for users on what to use.

Diggin into this further, we hit some complications:

Adding support of a string in the @Unimplemented attribute parameters would mean copying that string across AST->HIR, which makes some of the data structures non-Copy and interferes with the way they are being used. This can be fixed, but becomes a larger refactor that ideally would use Copy identifiers (like integers) to index into a cache of strings. At that point it just becomes a small implementation of string interning, which we have wanted to get across the compiler anyway, but shouldn't be done quickly for just one part of the code.
APIs marked as unimplemented should be suppressed in completion lists, which will require an update to the language server to make it attribute aware when putting together the completion list.


Fix version was missing for certain packages for osv

With this PR, the fix version shows up for certain python packages that have a start version of 0.
python vdb/cli.py --search<EMAIL_ADDRESS>
+----------------+-----------------+--------------------+---------------+---------+------------+---------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Id             | Package         | Affected Version   | Fix Version   | CWE     | Severity   |   Score | Description                                                                                |
+================+=================+====================+===============+=========+============+=========+==================================================================================================================================================================================================================================+
| CVE-2022-31117 | pypi:pypi:ujson | >=1.15-<=5.3.0     | 5.4.0         | CWE-415 | MEDIUM     |     5.9 | # Potential double free of buffer during string decoding                                                                                |
|                |                 |                    |               |         |            |         | ### Impact                                                                                |
|                |                 |                    |               |         |            |         | _What kind of vulnerability is it? Who is impacted?_                                                                                |

python vdb/cli.py --search<EMAIL_ADDRESS>
| CVE-2024-1135 | pypi:pypi:gunicorn | >=0.1-<=21.2.0     | 22.0.0        | CWE-444 | HIGH       |     8.2 | # Request smuggling leading to endpoint restriction bypass in Gunicorn                                                                                |
|               |                    |                    |               |         |            |         | Gunicorn fails to properly validate Transfer-Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints. This issue is due to Gunicorn's handling of Transfer-Encoding headers, where it incorrectly processes requests with multiple, conflicting Transfer-Encoding headers, treating them as chunked regardless of the final encoding specified. This vulnerability has been shown to allow access to endpoints restricted by gunicorn. This issue has been addressed in version 22.0.0. |
|               |                    |                    |               |         |            |         |


task: improve react-native eslint config

Added a lot of interesting react-native specific rules

@DriesH My 2 cents:

Always stick to use "off", "warn", "error" instead of a mix of numbers and words
You might want to also do this for all other configs? I see a lot of great things that could be applied to next / vite standard


[Networking] Handle "no-peers" state

Created from: https://github.com/lambdaclass/lambda_ethereum_consensus/pull/225#discussion_r1337571028
Currently, the Peerbook just waits for a second and retries, but maybe there's a better way to handle this.

test

test3


premission error in build script

Describe the bug
Can't get the db to build.
To Reproduce
docker run --name postgres-cstore-fdw -d -p 5433:5432 -e POSTGRES_PASSWORD="postgres" doublewick/boxball:postgres-cstore-fdw-latest
Expected behavior
I want the built database to be inside the container, but when I take out the -v flag on the docker run command I'm hit with the directory not empty error. I expect the postgres db to exists in /var/lib/postgresql/data inside the container.
Error Message
initdb: error: directory "/var/lib/postgresql/data" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/var/lib/postgresql/data" or run initdb
with an argument other than "/var/lib/postgresql/data".

Desktop (please complete the following information):
docker desktop on window 10

So there is some sort of .cnf file in /var/lib/postgresql/data that is preventing the script from continuing. As a work around I passed a new path in the PGDATA environment variable.
full docker command:
docker run --name retro20 -d -p 5433:5432 -e POSTGRES_PASSWORD="postgres" -e PGDATA="/var/lib/postgresql/retro20" doublewick/boxball:postgres-cstore-fdw-latest
I'm going to close this issue, but maybe you should look into it. Seems like an easy fix.


the decode problem of  list_attr_celeba.txt

sorry,when i use the pre-trained model, i cann't open this file.
the reason is UnicodeDecodeError: 'gbk' codec can't decode byte 0x86 in position 58: illegal multibyte sequence.
And i can't use chardet to get its coding scheme。
So，could you tell me this?（I have used gbk and utf-8）

Looks like the download.py code downloads  list_attr_celeba.txt as a binary file by mistake.  But you can download the text version of file manually via this link:
https://docs.google.com/uc?export=download&id=0B7EVK8r0v71pblRyaVFSWGxPY0U


feat: Location ref data extend LRD DB (RDCC-2644)

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/RDCC-2644
Change description
feat: Location ref data extend LRD DB (RDCC-2644)
Does this PR introduce a breaking change? (check one with "x")
No

Closing as changes are being addressed in https://github.com/hmcts/rd-location-ref-api/pull/209


example.py is not working

Traceback (most recent call last):
File "example.py", line 91, in
demonstrate()
File "example.py", line 33, in demonstrate
api = ask_for_credentials()
File "example.py", line 24, in ask_for_credentials
logged_in = api.login(email, password)
TypeError: login() takes exactly 4 arguments (3 given)

Having the same problem, it seems the example needs the android_ID.

Thanks for pointing this out! It turns out that android_id is not actually needed =)


pad

I'll fix fill value later.

ref #1793

Referring numpy code, I revised the past code. Current function is only 'constant'. Although some parts of new code may seem useless, you can easily add other functions.

Please fix the violation of autopep8. I am running all tests including GPU ones in the internal Jenkins server.

The GPU test fails when we use NumPy 1.10.4. Could you check the cause of reason (maybe it is from NumPy's side).

If pad_width.ndim is 2 and pad_width.shape[0] equals array.ndim, you must not use numpy 1.10.4, 1.11.0, 1.11.1. In these versions, the return value of _normalize_shape function is tuple(tuple(axis) for axis in arr.tolist()). However, if satisfying the above conditions, since arr type becomes list, arr.tolist raises Error. This bug was fixed in 1.11.2.

Thank you for your investigation, I am in favor of annotating unit tests affected by this problem with with_requires

LGTM

@unnonouno @okuta Could either of you check this PR for double-checking?

Thank you for updating the PR. Could you remove [WIP] when you are ready. Thank you.

numpy 1.10 cannot pass this test because it has a bug: https://github.com/numpy/numpy/blob/maintenance/1.10.x/numpy/lib/arraypad.py#L1055
It was already fixed. Please check the behavior, and avoid an error.

I fixed all your comments. To avoid errors when we use a specific numpy version, I arranged test cases.

LGTM


Upgrade the 3 years old python-requests library?

Upgrade the 3 years old python-requests library?

We're currently looking into this. We have a tracking issue for this here: https://github.com/boto/botocore/issues/1486.


Fix the SAS generation using CLI

The script uses the VHD name but this is incorrect - it needs to be the container name - 'vhds'. The sample output shows this correctly but the script itself is incorrect.

@mormond : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@JasonWHowell: I'm sorry - only the author of this article, @iqshahmicrosoft, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


[$500] Web -  App adds extra line in edit message box

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open any report
Send any message
Edit message and write text to cover full line i.e. if you add any new letter ahead, it should move to new line
Save the message
Again hover on message and click on Edit message
Observe that app has added extra line in edit message box even though cursor is still at the end of previous line

Expected Result:
App should not automatically add extra line below text in edit message box
Actual Result:
App automatically adds extra below text line in edit message box if text occupies full space in previous line
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/52781a24-eb31-427c-94ec-ddefebf38632
https://github.com/Expensify/App/assets/93399543/c6631a5f-0b50-4d73-bae6-df0a10f4b90c
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1694858423819399
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01619a8ea912ef60ce
Upwork Job ID:<PHONE_NUMBER>205720576
Last Price Increase: 2023-09-17

Proposal
Please re-state the problem that we are trying to solve in this issue.
App adds extra line in edit mesage box
What is the root cause of that problem?
We are using updateNumberOfLines  to calculate and update the numberOfLines state, which used it textarea row.
https://github.com/Expensify/App/blob/6e17b64be0e571773bed42446346045c659640d6/src/components/Composer/index.js#L345
the issue here is updateNumberOfLines is trigger and calculate  numberOfLines before the font applied to the text, and this useCallback dependencies not have dependency when the font applied, so it is not calculated again after the font is applied.
The updateNumberOfLines calculate 2 lines And after the font applied, the font characters seem smaller so it rendered in 1 line
https://github.com/Expensify/App/assets/41129870/e2763217-d7e2-4504-82b0-feb22157bbab
What changes do you think we should make in order to solve the problem?
we need to add textInput.current as a dependency here to trigger the updateNumberOfLines method when font applied
https://github.com/Expensify/App/blob/6e17b64be0e571773bed42446346045c659640d6/src/components/Composer/index.js#L364
What alternative solutions did you explore? (Optional)
N/A

Proposal
Please re-state the problem that we are trying to solve in this issue
What is the root cause of that problem?
The root problem was on computedNumberOfLines & generalNumberOfLines condition that still calculated & included an extra line due to padding or margin
https://github.com/Expensify/App/blob/01c5b71e8f9d3385a583d669b98579a02936f867/src/components/Composer/index.js#L361C9-L362
What changes do you think we should make in order to solve the problem?
We need to adjust the calculation of the number of lines in the updateNumberOfLines function. Specifically, if the calculated number of lines was greater than 1, we subtracted 1 from it to remove the extra line. This adjustment ensured that the extra line was not added when making edits with finalNumberOfLines condition below.
    const finalNumberOfLines = generalNumberOfLines > 1 ? generalNumberOfLines - 1 : generalNumberOfLines;

Full function
const updateNumberOfLines = useCallback(() => {
        if (textInput.current === null) {
            return;
        }
        // we reset the height to 0 to get the correct scrollHeight
        textInput.current.style.height = 0;
        const computedStyle = window.getComputedStyle(textInput.current);
        const lineHeight = parseInt(computedStyle.lineHeight, 10) || 20;
        const paddingTopAndBottom = parseInt(computedStyle.paddingBottom, 10) + parseInt(computedStyle.paddingTop, 10);
        setTextInputWidth(computedStyle.width);

        const computedNumberOfLines = ComposerUtils.getNumberOfLines(maxLines, lineHeight, paddingTopAndBottom, textInput.current.scrollHeight);
        const generalNumberOfLines = computedNumberOfLines === 0 ? numberOfLinesProp : computedNumberOfLines;

        // Subtract 1 from the number of lines if it's greater than 1
        const finalNumberOfLines = generalNumberOfLines > 1 ? generalNumberOfLines - 1 : generalNumberOfLines;

        onNumberOfLinesChange(finalNumberOfLines);
        updateIsFullComposerAvailable({isFullComposerAvailable, setIsFullComposerAvailable}, finalNumberOfLines);
        setNumberOfLines(finalNumberOfLines);
        textInput.current.style.height = 'auto';
        // eslint-disable-next-line react-hooks/exhaustive-deps
    }, [value, maxLines, numberOfLinesProp, onNumberOfLinesChange, isFullComposerAvailable, setIsFullComposerAvailable]);

Result
https://github.com/Expensify/App/assets/20473526/c660231e-cf43-4f78-b70d-744382cf4a70
What alternative solutions did you explore? (Optional)
None

Hmmm - I was unable to reproduce this. Where am I going wrong @kbecciv ?

Try to use the letters to the end of the line and save it. Use edit option and remove if doesn't fit the first line. Use edit option again and you will see the issue.
Adding another video for your review.
https://github.com/Expensify/App/assets/93399543/d01eb719-bb68-4e7c-be6a-2319ce0d4fca

Try to use the letters to the end of the line and save it. Use edit option and remove if doesn't fit the first line. Use edit option again and you will see the issue.
Adding another video for your review.
https://github.com/Expensify/App/assets/93399543/d01eb719-bb68-4e7c-be6a-2319ce0d4fca

Could you copy paste the sentences? Thanks

Steps to reproduce.

send message "test".
edit the message to "mmmmmmmmmmmmmmmmmmm............" to the end of the line and don't keep any space in the end of the line, then save it.
click on the edit icon again, you will see an empty extra line is added to the text input field.

https://github.com/Expensify/App/assets/41129870/e5f46e8b-de28-4ce7-9b1a-f07d557b50a4

Hmmm, it's still not happening for me on Chrome web: https://app.screencast.com/Nzdg5mgnIlnx9

Hi @peterdbarkerUK, for me too, I wasn't able to reproduce on 2017 macbook air but was able to reproduce on 15.6 inch windows laptop and 15 inch 2015 macbook pro. It seems like it doesn't occur on all devices.

@bernhardoj it is:

Any other ideas why this isn't reproducing?

@peterdbarkerUK
can you try this steps https://github.com/Expensify/App/issues/27622#issuecomment-1728312397
then open inspector and disable the font
https://github.com/Expensify/App/assets/41129870/e2763217-d7e2-4504-82b0-feb22157bbab
if you not found any text width change after disable the font, I think there no different between your device font and our app font

So, having made absolutely no changes, I am now able to reproduce this ¯_(ツ)_/¯ @aimane-chnaif please take a look at proposals!

How about my proposal? @aimane-chnaif

@aimane-chnaif can we proceed with @bernhardoj's alternate?

Bumped a couple of people internally to take a look

Proposal
Please re-state the problem that we are trying to solve in this issue
Editing has an issue with showing extra blank line
What is the root cause of that problem?
Before we try getting the scroll height of the content (height that the content will occupy), we are setting an explicit value to the height of the textarea element.
Setting explicit height is causing the scroll height to be calculated inaccurately.
with: textInput.current.style.height = 0;
Chrome

Safari

with: textInput.current.style.height = 'auto';
Chrome

Safari

NOTE: Just with height fix, issue still exist on safari. Fix for safari mentioned in solution following here.
What changes do you think we should make in order to solve the problem?
We should not set the height to zero before we get the scroll height. This solves one of the problem with the calculations being made.
Another issue seen specifically on safari is that inspite of using height auto, we get an extra line. This is due to the fact that we are using a ceil function while calculating the number of lines. So even when we have an extra pixel, we will get the number of lines to be 1.05. In such case, we are using 2 lines instead.
So, we should be using round function here instead.
Result
https://github.com/Expensify/App/assets/146182259/79964675-096f-449c-a4ff-ddfbeef9f364
What alternative solutions did you explore? (Optional)
None

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~018aa29d20034ce484

@aimane-chnaif ould you take a look here?

i think this is still awaiting proposals

@aimane-chnaif I have posted a proposal couple of days ago. Could you check if the proposal looks a good solution to this bug.
https://github.com/Expensify/App/issues/27622#issuecomment-1773820332

@aimane-chnaif Friendly bump on this one :)

Good discussion here, thanks for the RCA @bernhardoj! Assigning now

@aimane-chnaif could you take care of the checklist?
[$500] to @bernhardoj (Contributor)
[$500] to @aimane-chnaif (Reviewer)
[$50] to @dhanashree-sawant  (Reporter)
All paid


[BE][V] Create forward response

Create a forward response that will response with a header containing the destination (URL) and a HTTP status like 307 by default

This can be manually, just configure it in the response.


chore(upgrade): upgrade Minecraft version to 1.20.2

I also PR'd this update for the original Forge version of the mod, so that's why some of the code may be similar.
I had to add Architectury API to the compile block because the game wouldn't run otherwise due to Loom changes (I think?).

Closed because I dont want to support Farmer's Delight Fabric rushing out updates to keep relevancy from here-on out.


Hardcoded Graphviz path for Windows

Currently path for graphviz executable is hardcoded for specific version, making it hard to use for Windows users (hardcoded version is already outdated). How about using graphviz by using system PATH? Only downside is forcing users to add graphviz executable path to system PATH. Anyway, great work.

Thanks @jermeyyy , Yes currently this is handled badly for windows users! In fact this plugin is never tested on windows! mainly becuase I don't have access to a windows machine!  As a temporary fix, I will update the graphviz version soon, but that will not survive for long! If you don't mind are you okay with creating PR with your proposed changes? I will be happy to assist you.

@jermeyyy The version fix is now live could you please help me verify that it works in windows?


Delete duplicate tests.yml under sdk/communication

Fixes #34446

API change check
API changes are not detected in this pull request.


Change hierarchical account structure

Description:
Epic Link: https://github.com/bithyve/internal-docs/issues/76

In the current scenario there is a hierarchical structure where every account has sub-accounts which is time consuming.
In the new scenario every account will have only one xPub and one set of transactions. There will be no sub-accounts.
This will be achieved by implementing the following:

For F&F channels there will be no new xPubs. Instead of having separate sub-accounts of their own, use addresses from the checking account by default. They will not have separate F&F account. (User can create a F&F account if they want. And then the addresses you place in the channel will be from F&F but it won’t matter to the other party as they don’t know/ care. Later when we have Liquid or other assets we will place more addresses based on the asset and depending on what the user is sending, the correct address is picked up from the channel - refer #3523)
Buy feature by default will also use addresses from checking account unless user creates new accounts. There will be no separate xPubs. - refer #3524

A lookup table will be associated with every account. Persist transaction properties in that lookup table. Addresses will be placed on a common channel and when a friend accepts it the lookup table will keep a track of which address is given to whom. If the user sends a new address to the contact then the old address will be replaced with the new address and transactions will take place in & out of that address only. This will help the user to view the names of the people(to/from) instead of addresses in the transaction details page. Transaction list will contain transaction type and To/From address/person name, type(F&F, Ramp). Same case will apply for buy feature where the look up table will track from which platform the bitcoins were bought.
Transaction details page will have the following properties:

Account name
Date
Amount
From/To Address and From / To entities - if the transaction is to/from a contact then display contact name for this. Incase of non-F&F transaction display address.
Fees
Transaction Id
Confirmations
Transaction Type
Tags: For eg. NEW tag for a newly triggered transaction

Transaction types will be F&F outbound/F&F inbound, Internal account transfer, Exchange transfer(Buy), Exchange Transfer(Sell)- These transaction types can be used in the backend if needed

@summikhan11 Please provide an updated UX page link for this
In transaction list and details page include 1 more To/From- if it is from/to a F&F contact then display only contact name(no address) and incase of non-F&F transaction display address.

@AliMeer - pls see what UI changes is needed in this for Rohit to do

Specs Link: https://xd.adobe.com/view/e917b3eb-4927-4cc9-a973-f60a0c1dc69b-bc44/

@summikhan11 - can't see the new tag for transactions

@cakesoft-rohit - check throughout what of this is remaining from a UI and functional perspective

Active addresses to maintain an entity mapping/ pair (like F&F, Account or Service). So Active addresses will have a type - General or the above three.
Once a txn is received on any of these addresses, the paired entity and type is copied to the txn table.
For Send flow, when an Account or F&F or Service is chosen it gets directly into the Txn list.

UI changes:

Dot on accounts when new transaction on smart sync
New tag on transactions which is new for that session
Show Sender in received transaction (if sender present)
Show Receiver in sent transaction (if receiver present)
Dot and new tag goes away when the account is opened

Verified this issue on dev app v1.9.5(330) also discussed with dev.


Bleeding with multiple calls to rect() on the same shape

I'm new to EasleJS and I'm not sure if I'm using it incorrectly, but the Graphics.rect() function has unexpected behavior for me. When I try to draw a tile map using a bunch of rects I get some kind of "bleeding" at the edges that doesn't seem to happen with other methods.
I've created a fiddle demonstrating the problem here: https://jsfiddle.net/sgpjoxa6/2/
This is the essential code that exhibits the issue:
function drawGrid(shape) {
  for (var r = 0; r < 9; r++) {
    var color = 'hsl(' + Math.floor(Math.random()*360) + ', 50%, 50%)';
    var x = r % 3 * 32;
    var y = Math.floor(r / 3) * 32;

    shape.graphics.beginFill(color).rect(x, y, x + 32, y + 32);
  }
}

Note that using drawCircle() or a series of lineTo()s terminated with a closePath() don't have the same behavior.

rect(x,y,width,height);
change you code to:
shape.graphics.beginFill(color).rect(x, y, 32/*width*/, 32/*height*/);

Oh, it's a width and height not a coordinate. How embarrassing. Thank you!


Add plugin: DirQuickJump

interesting; does it support the open/save dialog?
@onesounds maybe you would be interested?

interesting; does it support the open/save dialog?
@onesounds maybe you would be interested?

I haven't tested it. but It looks good if it works well. 😋


Translate August 14 sit-rep into Russian

Greetings @nextstrain/russian,
It’s really great to work with you again after a long situation report hiatus.
Our August update on genomic epidemiology of COVID-19 is ready to be translated to Russian. This is just a one-off situation report, and we are not planning to resume weekly situation reports at this time. Translation of this report is less time sensitive than previous ones, so feel free to take a bit longer on the translation. I won’t be available for much of the weekend, so may not be able to publish it until Sunday anyway.
Branch to translate on: sit-rep_ru
File to translate: https://github.com/nextstrain/translations/blob/sit-rep_ru/narratives/translations_ncov_sit-rep_ru_2020-08-14.md. You can translate directly in this file, but please remember to push often.
Link to preview: https://nextstrain.org/community/narratives/nextstrain/translations@sit-rep_ru/ncov/sit-rep/ru/2020-08-14
Please translate the Twitter post below too :)
Thank you so much! Sending warm, safe thoughts to you and your loved ones and hoping for wisdom in our respective leaders.
Take care,
Cassia
Twitter post
Check out our August report on COVID-19 genomic epidemiology in Russian. In it, we explore the global spread of the virus broadly and provide specific updates for each world region.
Thank you to @, @, and @ for their rapid translation!
Logistics
Please update the translations board as you work on the translation: https://github.com/orgs/nextstrain/projects/7
Please assign yourself to the translation if you’re working on it this week.
When a translation is ready for publication -- at minimum meaning two people have worked on it and both agree that it’s ready -- please create a pull request to merge to master and tag me and the issue in it!
Discussion board for your team is here: https://github.com/orgs/nextstrain/teams/russian
Standard rules for translation:
Note that the file to translate is in Markdown. In general, it is important not to change any formatting or links. Feel free to update internal links to refer to the Russian version of the narrative(s). I can also update those when I publish it though.
Please keep the number of and text for Table of Contents links the same in your translation as in the English narrative.
Please add your name under translators: with new line, tab, and dash, formatted just like authors are. Please also add a link to your professional page (can use Twitter) under translatorLinks:.
Note: You may know of other great resources available in Russian; please don’t add them to the situation report. We need to keep content the same across all translations, so we can be confident in the accuracy.
At minimum, I require two sets of eyes on every translation; one of those people should have a background in phylogenetics. Although if you have more, that’s fine too.

Hi Cassia! Nice to see an update! I'll start translating.

@cassiawag Do you know if in the summary, in the sentence: "As the pandemic reaches its eighth month of global circulation, we can now see distinct changes over time in the picture painted by viral genetics, largely determined by changing behaviour." Under "behaviour" we are talking about human behavior?

Here is the twitter post translation:
А вот и наш августовский отчет о геномной эпидемиологии COVID-19 на русском языке. В нем мы исследуем в общих чертах глобальное распространение вируса и предоставляем специальные обновления для каждого региона.
Спасибо @varvarakozyreva и @MEKlab за быстрый перевод!

Hi @cassiawag , we have finished and proofread the translation! Thanks for the report, it is good hearing news from you and it was a pleasure to help. Please, take care too.

@frogtraveler -- restrictions is definitely missing from that sentence. I'll take a look at the English version and check if it's correct. And behavior is referring to human behavior. Sorry for the delay in getting back to you! I was camping all weekend and didn't have access to internet.
Thank you both for the translation. I'll get it published.

Tweeted and published: https://nextstrain.org/narratives/ncov/sit-rep/ru/2020-08-14
Good to hear from you both again!

@cassiawag Happy to help!
Camping is the best time spending right now. I went to Yellowstone just recently myself :) Stay safe!
Looking forward to any future updates from Nextstrain, whenever those might be!

I love Yellowstone.  I'll let you know about updates.


$ cargo install quality-time  # FAILS

$ cargo install quality-time
(...)
   Compiling git-quote v0.4.2
error[E0282]: type annotations needed
   --> /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/git-glob-0.5.4/src/wildmatch.rs:248:62
    |
248 | ...   let class = &pattern.as_ref()[p_idx + 2..closing_bracket_idx - 1];
    |                            ^^^^^^
    |
help: try using a fully qualified path to specify the expected types
    |
248 |                                         let class = &<BStr as AsRef<T>>::as_ref(pattern)[p_idx + 2..closing_bracket_idx - 1];
    |                                                      +++++++++++++++++++++++++++

cross-reference: https://github.com/Byron/gitoxide/issues/1302

Thank you for this, I'll fix as soon as I can.


assert.contains causing rego_parse_error with opa 0.43

Hello Anders,
Just wanted to report this - running opa test with this library on opa 0.43.0 is erroring
1 error occurred during loading: hello/assert.rego:52: rego_parse_error: unexpected else keyword
        } else = false {
          ^

I'm guessing this is because of https://github.com/anderseknert/rego-test-assertions/blob/1387134e9796cfafc370fa05754285b62ddd381f/test/assert.rego#L8 which imports contains keyword that was introduced in 0.42.0 and make a syntax err.
my temporary fix is to replace
import future.keywords line with
import future.keywords.in
import future.keywords.every

Have pushed the change suggested above. Thanks for bringing it to my attention!

perfect, thank you Anders!


OTEL collector exposes flags that are not used

For instance https://github.com/jaegertracing/jaeger/pull/2181 introduced all Jaeger collector flags to OTEL build. From the introduced flags only zipkin flags are needed.
From one point of view exposing all flags helps with backward compatibility (for drop-in replacement) - the process will not fail at startup on not recognized flag from Jaeger collector. On the other hand these some flags are noop.
There are two ways to go:
2. mark not used flags as noop/deprecated.

remove not used flags

We could do this gradually, first just make them noop and then remove them once Jaeger collector will not be supported anymore.

For now OTEL components expose only flags that are being used.
Done in #2241


endpoints: add /auth/info/firebase endpoint

This one needs CORS headers.
See sample implementation here:
https://github.com/GoogleCloudPlatform/golang-samples/blob/master/docs/managed_vms/endpoints/app.go
and copy the new swagger file:
https://github.com/GoogleCloudPlatform/golang-samples/blob/master/docs/managed_vms/endpoints/swagger.yaml

@broady Both of those files give me a 404 — have they moved? I'm tempted to close this as obsolete but if there's still a need for this ... adding the "triage me" label instead. :)

Closing as no clear path forward, feel free to reopen if needed!


Problem with electron launch from within atom using Termination

Hi,
It is impossible to launch my Electron application using your package "Termination" within atom, I have this error message:
PS D:\electron\MyProject> npm start

><EMAIL_ADDRESS>start D:\electron\MyProject
> electron .

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `electron .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\user\AppData\Roaming\npm-cache\_logs\2017-07-25T15_41_03_909Z-debug.log

However, when I launch the same project on Windows PowerShell, it works properly.
I tried to launch the Quick Start example given in https://electron.atom.io/docs/tutorial/quick-start/
Same problem, impossible to run it from the atom terminal.
I tried with unset ELECTRON_RUN_AS_NODE but still not working
can you help me fix this error?
Thank you

Duplicate of #11 #33 #35

Hi @Devhercule and thanks for trying Termination!
It's a known bug with Windows machines (it used to be problematic for Linux and macOS as well but we were able to fix that) - see, for instance, https://github.com/platformio/platformio-atom-ide-terminal/pull/184#issuecomment-283343069. The error appears to come from pty.js, which we use as a backend.
Unfortunately I don't have the time or resources to debug pty.js or contribute changes back up to it right now. 😢 Certainly I'd love to get it fixed some day.
( @pbario has possibly gotten a fix in https://github.com/platformio/platformio-atom-ide-terminal/issues/112#issuecomment-283437247 but it requires python to be installed... maybe we could keep an eye on that?)

Thank you @Fred-Barclay for your reply,
In the comment you mentioned, i tried this link given by @pbarbiero :

I can make a pull, but all I did was change pty.js to node-pty and included it instead of pty.js from process.coffee (see https://github.com/PhillMcKraken/platformio-atom-ide-terminal/commit/5653f119d225f09cd6053d5b9ea1b267542a228c) -- the issue here is that requires everyone to have python2.8 installed on their machine (everything else seems to be already included with the apm processes) I noticed you did some prebuild work with pty.js, that would have to be done for this as well.

But the link doesn't work...


Wait for dex on the admin node before calling the orchestration done

When we finish the orchestration all bits and pieces should be working
as expected. Wait for the haproxy on the admin node to be correctly
pointing to dex before finishing the orchestration.

https://github.com/kubic-project/salt/commit/5d32a43fb066c4199714b6c6ecb4a745936aabeb introduced a subtle change. When Velum tries to connect to Dex it will since that change go through the local admin haproxy instance. That haproxy instance needs to agree that dex is up.

With this change I ran the bootstrap tests:
Finished in 7 minutes 15 seconds (files took 0.32837 seconds to load)
7 examples, 0 failures

On some runs I get on the wrong branch on automation:
https://github.com/kubic-project/automation/blob/98344f57afff5adde126cc6905f124812343dbdc/velum-bootstrap/spec/features/03-download-kubeconfig.rb#L47-L63
getting an OpenSSL error:
Download Kubeconfig
>>> User logs in
<<< User logged in
>>> User clicks to download kubeconfig
<<< User clicks to download kubeconfig
>>> User logs in to Dex
<<< User logs in to Dex
>>> User is redirected back to velum
<<< User is redirected back to velum
>>> User is prompted to download the kubeconfig
  User downloads the kubeconfig file (FAILED - 1)

Failures:

  1) Download Kubeconfig User downloads the kubeconfig file
     Failure/Error: http.verify_mode = OpenSSL::SSL::VERIFY_NONE

     NameError:
       uninitialized constant OpenSSL
       Did you mean?  Open3
     # ./spec/features/03-download-kubeconfig.rb:57:in `block (2 levels) in <top (required)>'
     # ./spec/spec_helper.rb:94:in `block (3 levels) in <top (required)>'
     # ./spec/spec_helper.rb:94:in `block (2 levels) in <top (required)>'

That's because the answer didn't contain apiVersion. Checking why this happens. In any case looks like the 03-download-kubeconfig.rb is missing an openssl require.

Succeeded 3 times in a row here with this patch.

Hi. Was this reported on a bug or related to? Thanks.

@jordimassaguerpla This was a problem on the development phase, this problem never got into a product release.

thanks


Crash on "Swap Track"

msu-scripter_20241006.log
I was trying to swap an alternate for the main track. I got a crash with the above log.
If it matters, it was the last alternate trying to swap to the current version of the track.

Hah. Swapping first with last worked, but swapping last with first broke. Should have a fix in shortly.


All links become unclickable after include angular-carousel module

It's an issue of angular-touch, not angular-carousel


Add option to customize TabBar animation speed

Hello,
It'd be fantastic to be able to customize the TabBar swipe animation speed. This has come up previously in #7479, but back then it was too fast.
For example, when I compare it to Twitter, the animation feels a bit sluggish.
This isn't a huge issue, and I could probably make a PR if someone points me in the right direction 😄

Can't we just add a duration argument, and use it as the default for _changeIndex?

I think we should add duration argument for the _changeIndex

Any updates or work-arounds here?

You can control the general physics of the scroll animation.
TabBarView(
  physics: CustomTabBarViewScrollPhysics(),

Control the scroll behavior:

class CustomTabBarViewScrollPhysics extends ScrollPhysics {
  const CustomTabBarViewScrollPhysics({ScrollPhysics? parent})
      : super(parent: parent);

  @override
  CustomTabBarViewScrollPhysics applyTo(ScrollPhysics? ancestor) {
    return CustomTabBarViewScrollPhysics(parent: buildParent(ancestor)!);
  }

  @override
  SpringDescription get spring => const SpringDescription(
        mass: 50,
        stiffness: 100,
        damping: 0.8,
      );
}

You should also be able to calculate the duration with mass, stiffness, damping, but I believe having those options is even better suited for your problem. Source


TypeScript styles / norms

Kicking off a discussion. As a general rule style guidelines should all be automated so that code reviews don't get bogged down by discussion of whitespace preferences.

Use prettier for code formatting.

Everyone should enable "format-on-save"
We should check formatting as part of CI
Single quotes, two character indent, yes to semicolons, 80 character width (some groups prefer 100)

Use a recent version of TypeScript with strict set
Use eslint for linting

Enable eslint:recommended
Enable [`@typescript-eslint/recommended'](eslint:recommended', 'plugin:@typescript-eslint/recommended)
Enable plugin:react/recommended and plugin:react-hooks/recommended

Some other suggestions of mine, open to discussion.
General JavaScript:

Avoid export default (named exports encourage consistent use of the same name for the same thing).
Use a canonical ordering for imports with three (or fewer) groups separated by a blank line, alphabetized within each group (this can be automated with the simple-import-sort eslint plugin):import {foo} from 'node-module1';
import {bar} from 'node-module2';

import {baz} from './relative-import/a';
import {quux} from './relative-import/b';

import './static-asset.css';

Use async / await instead of raw Promises and .then whenever possible.

A few TypeScript-specific rules:

Avoid any wherever reasonably possible.
Prefer interface to type where possible for simple object types (your type will show up more predictably in error messages and it will improve TypeScript compiler performance for large code bases).
Prefer T[] to Array<T> unless T is very complex and the latter reads more clearly.
Avoid non-standard TypeScript language extensions such as enum and parameter properties
Use synthetic default imports where possible, e.g. import React from 'react'; instead of import * as React from 'react';

@cguedes @sergioramos @sehyod would love feedback and suggestions!

@danvk I agree with everything above. I'm already using almost all of these in my projects. I really like the "format on save" rule.
The only one I would like to change is the character width rule from 80 to 120.  80 makes sense for prose code writing (ex: typescript) but we will have react and there 120 works best IMO otherwise you can very easily get wrapped to multiple lines.

What are your thoughts on having the .vscode > settings.json in the repo? That would allow us to enforce some of the rules you mention like the auto save and formatter (and others like explorer.excludeGitIgnore).

We can do 120. I’ve done 100 on previous projects. My main concern is being
able to fit two text files side by side on a reasonably sized monitor.
On Fri, May 19, 2023 at 5:12 AM Carlos Guedes @.***>
wrote:

@danvk https://github.com/danvk I agree with everything above. I'm
already using almost all of these in my projects. I really like the "format
on save" rule.
The only one I would like to change is the character width rule from 80 to
120. 80 makes sense for prose code writing (ex: typescript) but we will
have react and there 120 works best IMO otherwise you can very easily get
wrapped to multiple lines.
[image: image]
https://user-images.githubusercontent.com/174127/239490200-6ce6371a-88fe-490e-8dc6-60d6388f1f9d.png
What are your thoughts on having the .vscode > settings.json in the repo?
That would allow us to enforce some of the rules you mention like the auto
save and formatter (and others like explorer.excludeGitIgnore).
[image: image]
https://user-images.githubusercontent.com/174127/239492022-0c7d074a-fef7-4d42-aa56-15d4985c3a49.png
—
Reply to this email directly, view it on GitHub
https://github.com/refstudio/refstudio/issues/18#issuecomment-1554277610,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAX77IW76CVBHLR4RH7ONTXG42PZANCNFSM6AAAAAAYGZQJBU
.
You are receiving this because you were mentioned.Message ID:
@.***>

This was fixed by #24