chore: improve readme

Codecov Report

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

@@          Coverage Diff           @@
##           master     #84   +/-   ##
======================================
  Coverage    99.6%   99.6%
======================================
  Files           8       8
  Lines         254     254
  Branches       10      10
======================================
  Hits          253     253
  Misses          1       1

Continue to review full report at Codecov.

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

Nit: use doc: prefix instead of chore. LGTM w/ @jinwoo suggestion
On Mon, Nov 13, 2017 at 9:02 AM Codecov<EMAIL_ADDRESS>wrote:

Codecov https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=h1
Report
Merging #84 https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=desc
into master
https://codecov.io/gh/google/ts-style/commit/0a4d30363e260814c9c9a0a65d6b3b5754581bb1?src=pr&el=desc
will not change coverage.
The diff coverage is n/a.
[image: Impacted file tree graph]
https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=tree
@@          Coverage Diff           @@##           master     #84   +/-   ##
Coverage    99.6%   99.6%
Files           8       8
Lines         254     254
Branches       10      10
Hits          253     253
Misses          1       1

Continue to review full report at Codecov
https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=continue.
Legend - Click here to learn more
https://docs.codecov.io/docs/codecov-delta
Δ = absolute  (impact), ø = not affected, ? = missing data
Powered by Codecov
https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=footer. Last
update 0a4d303...b522e24
https://codecov.io/gh/google/ts-style/pull/84?src=pr&el=lastupdated.
Read the comment docs https://docs.codecov.io/docs/pull-request-comments
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/ts-style/pull/84#issuecomment-343985771, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAE0qXzT7Dms_sXRCoy5UU-yF7hk89S2ks5s2HYJgaJpZM4QcFZu
.


dependencies: Upgrade JavaScript dependencies

Fixes #26969.

Looks good to me assuming tests pass. Tagging as a backport candidate.

This was tagged as a backport candidate to work around #automated testing > puppeteer tests are failing at download, but it looks like the download server was fixed.


Alerts: different icons?

Describe the bug
For Alerts do we want to consider different icons?
To Reproduce
Go to Alerts
Expected behavior
Different icons for each alert level

The Alert component has been flagged to be deprecated. We can close this issue.


Resample input events due to irregular events delivery or VSYNC and input frequency mismatch

Scrolling is janky on Android OnePlus 7 Pro and Pixel 4 (60/90Hz VSYNC, 120Hz input) due to irregular input events delivery and frequency mismatch. Similar issues have also been discovered on Fuchsia (https://github.com/flutter/flutter/issues/49353).
We need to resample the input events in Flutter framework to solve this across platforms.
Please see https://github.com/flutter/flutter/issues/31086#issuecomment-533881798 for more details.

@cbracken : shall we get one Android OnePlus 7 Pro to test it?

@liyuqian some clarifications:

does it jank only when running at 90Hz or also at 60Hz?
Android 10 or 9?

thanks!

@bonnyfone It happens at 60hz also, tho everything is buttery smooth, while screen recording at 60. Both android 10 and 9.

I've confirmed that it's janky on both 60Hz and 90Hz mode, and on both Pixel 4 and Android OnePlus 7 Pro. In all those cases, Flutter got ~120Hz touch input events.
As the input events are issued at a higher frequency, it's also more likely to receive them in an irregular pattern, and some frame may receive 1 event, some may receive 2 events, and some may receive 3 events, which makes the scroll look janky. (Unlike the iPhone X/Xs, Pixel 4 and OnePlus 7 Pro don't have missing frames because the input is at 120Hz instead of iPhone X's 60Hz.)
Moreover, even if the events are delivered with a perfectly regular pattern, if the VSYNC frequency mismatches input frequency, the jank would still happen. For example, if VSYNC is at 90Hz, and the input is at 120Hz, then half frames will scroll by 1 input event, and half frames would scroll by 2 input events, even if everything is perfectly regular.
After discussing with the Android engineers, we discovered that Android OS can actually resamples the input event to match the VSYNC frequency as long as requestUnbufferedDispatch is not called. (Note the blue warning message of that API's side effects: increased latency, jittery scrolls and inability to take advantage of system resampling.) This was an issue that Android has to solve back for Nexus 9 which has 60Hz VSYNC and 90Hz input.
However, Flutter added requestUnbufferedDispatch back in 2015 by https://github.com/flutter/engine/commit/7ca2e4fb10aa45ceb417b154cac7534acc32a2ce#diff-cba77c3975dcf22d9b57421b957bb189R185 to improve the performance.
I've confirmed that if we just removed requestUnbufferedDispatch from that commit, Flutter's performance would significantly degrade from 60Hz to 30Hz, even if both VSYNC and input are at 60Hz. From the trace, I can see one frame always handling 2 input events, and the next frame is starved and skipped.
Fortunately, if we apply the SmoothPointerDataDispatcher to Android, such starving issue would be solved, and we'll get smooth 60Hz or 90Hz frames with the matching resampled input events. That makes the scroll smooth again for Pixel4 and Android OnePlus 7 Pro.
Therefore, my proposal is to remove requestUnbufferedDispatch call, and apply SmoothPointerDataDispatcher to Android. @Hixie @cbracken @chinmaygarde @abarth : please review if this approach sounds good to you.
@kf6gpe @tvolkert , please also be aware of this issue as its sister issue about iPhone X/Xs received a lot of attentions. As 90Hz Android devices (Pixel 4, Android OnePlus 7 Pro) become more popular, I'd expect this issue to have more impact.

Discussed with @Hixie a while ago and reached to the conclusion that we should make SmoothPointerDataDispatcher or its equivalence to work on all Flutter platforms (e.g., Android, iOS, Fuchsia, etc.) so Flutter's smoothness will be less platform dependent. That may bring our work back to the framework level (in Dart) similar to our first attempt in https://github.com/flutter/flutter/pull/36616 .

@liyuqian @jmagman @xster Do we have a relative sense of priority for this in terms of the performance work we're doing (asking since it's been upvoted to customer: crowd status.

@dreveman and I have will have a meeting on April 6th if not earlier to go through a plan on this. It should have a relative high priority as Fuchsia also sees this as a big problem.

@liyuqian, what was the outcome of your meeting with @dreveman?

@dreveman and I have planned to fix this issue in ~2 months. Set the milestone to June to reflex that.

@liyuqian Is this still on track for June, or should we adjust the milestone here?

Just chatted with @dreveman and we decided to adjust the milestone to July so we'll have more time for code reviews.

@liyuqian Is @CareF's commit here the only one we need to close this, or should we slip the milestone one more month? Thanks!

@kf6gpe #60558 is going to be a fix, but it's still pending. Mine is more like a preparation for the test framework to support testing the performance of the solution, which is used in #61998 (still draft because it's going to test #60558

Yes, we need to extend the milestone for one more month. Will talk to @dreveman soon to verify if we can land the fix soon.


Impact of reducing crop_size to train on lighter gpus + original training times

Hello,
Thank you for sharing your work.
I ran some eval tests as mentioned in the README and they went well, I get the exact same IoU of 86.92 for eval_cityscapes.yml
Next, I tried train_cityscapes.yml. I needed to bump down the crop size to 512, 1024 because I was running out of memory, and that worked as well. But now I also am thinking of re-training with lower sizes to reduce training time
I have two main questions -

Please comment if this reduction in crop_size could have an impact on the model and accuracy.

What were your training times when training the mapillary-pretrained model from scratch? What gpu architecture did you guys use?

Yes definitely, larger crop sizes help accuracy. However, an easy way to save some memory without sacrificing too much accuracy is to remove the RMI loss in favor of just cross entropy. That might allow you to use a larger crop size.
Training the Mapillary model takes like 3-4 days on 4 nodes of 8gpus apiece (V100 i believe is what we used).

Thank you for the response, yes I did go ahead and try with rmi loss removed.


Add assetId, chainId to parza layer

Overview
Requires
https://github.com/shapeshift/lib/issues/553
https://github.com/shapeshift/lib/issues/549
Same deal as lib, add these to the parza, and once there are no remaining references to caip2 and caip19 we can remove those from the types
References and additional details
This should be done in the unchained parza layer.
Acceptance Criteria
We no longer refer to caip2 or caip19 or caip10 in unchained parser.
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

There are not many CAIP types in the parser, but there is a lot of CAIP vernacular in our property names.
I've created another issue for this here: https://github.com/shapeshift/unchained/issues/398


Compliance checker: attribute initial forbidden for inputs

Reported by cbertsch on 17 Jan 2017 17:11 UTC
In the FMI 2.0 specification it is stated on p.47:
"Enumeration that defines how the variable is initialized. It is not allowed to provide a value for initial if causality = input or independent".
This is currently not checked by the compliance checker.
I attached an FMU containing this error.

Migrated-From: https://trac.fmi-standard.org/ticket/403

Seems there is a check implemented in current version 2.0.4, that forbids "causality=input", "variability=continuous" and "initial=exact" -> compliance checker requests and accepts "initial=approx"  in this case.

Closing, since this has been fixed, as mentioned by @ghorwin.


Workspace - New Branch ignoring selected repo

Type: Bug
Goal:  Select a project / within list of many within workspace.  Create a new branch.
Steps

Select code project (ex fourth one down in list)
Select "main" -> Create new branch "foo"
Terminal -> open -> select that fourth code project from list.
Run "git branch" -> Shows only "main"
Change directory to top "first project in list.
Run "git branch" and it lists "main" and "foo"

Exepected result is it creates branch from selected code selection
VS Code version: Code 1.74.3 (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T16:57:40.428Z)
OS version: Linux x64 5.15.0-57-generic snap
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (4 x 4280)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_off

Load (avg)
0, 0, 0

Memory (System)
12.90GB (9.99GB free)

Process Argv
--no-sandbox --force-user-env --unity-launch --crash-reporter-id 3f1a20f3-290c-4d5d-8cb6-a5628f2f41cd

Screen Reader
no

VM
0%

DESKTOP_SESSION
undefined

XDG_CURRENT_DESKTOP
GNOME

XDG_SESSION_DESKTOP
undefined

XDG_SESSION_TYPE
x11

Extensions (19)

Extension
Author (truncated)
Version

checkov
Bri
1.0.89

githistory
don
0.6.19

gitlens
eam
13.2.0

vscode-pull-request-github
Git
0.56.0

gitlab-workflow
Git
3.57.3

hcl
has
0.3.2

terraform
has
2.25.2

vscode-docker
ms-
1.23.3

isort
ms-
2022.8.0

python
ms-
2022.20.1

vscode-pylance
ms-
2023.1.10

jupyter
ms-
2022.11.1003412109

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.12

vscode-jupyter-cell-tags
ms-
0.1.6

vscode-jupyter-slideshow
ms-
0.1.5

remote-containers
ms-
0.266.1

vsliveshare
ms-
1.0.5797

win-ca
uko
3.5.0

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaac:30438847
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
pyindex848:30577860
nodejswelcome1cf:30587006
3biah626:30602489
iaj6b796:30613358
89544117:30613380
fim-prod:30623723

@penguinpages, just to make sure that I have everything to investigate the issue, could you please create a recording (https://gifcap.dev) while illustrating the problem? Thank you very much in advance!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


neovide doesn't start

I follow this instructions for windows:
Install the latest version of Rust. I recommend https://rustup.rs/
Install CMake. I use chocolatey: choco install cmake --installargs '"ADD_CMAKE_TO_PATH=System"' -y
Install LLVM. I use chocolatey: choco install llvm -y
Ensure graphics libraries are up to date.
git clone https://github.com/Kethku/neovide
cd neovide
cargo build --release
Copy ./target/release/neovide.exe to a known location and enjoy.
but the ./target/release/neovide.exe not open any file or any window

do you have neovim installed and on the path?

@Kethku yes, i had installed with choco

Can you paste the output file if you run with --log?

WARN [neovide::renderer::fonts::font_loader] Tried to load Extra Symbols.otf from assets but build didn't include embed-fonts feature
WARN [neovide::renderer::fonts::font_loader] Tried to load Missing Glyphs.otf from assets but build didn't include embed-fonts feature
WARN [neovide::renderer::fonts::font_loader] Tried to load Extra Symbols.otf from assets but build didn't include embed-fonts feature
WARN [neovide::renderer::fonts::font_loader] Tried to load Missing Glyphs.otf from assets but build didn't include embed-fonts feature
WARN [neovide::renderer::fonts::font_loader] Tried to load Extra Symbols.otf from assets but build didn't include embed-fonts feature
WARN [neovide::renderer::fonts::font_loader] Tried to load Missing Glyphs.otf from assets but build didn't include embed-fonts feature
INFO [neovide::window::window_wrapper] window created
thats the log

Hmmm. Thats strange. Do you have a font configured via the guifont option in your vim config?
Does it still fail when run with --clean? (this disables your user profile)

I dont have set the guifont option in the vim config, and yes, doesn't works with --clean

Ok another question. Do any of the release versions work? Maybe this issue is recent

no, the last release did not works for me either

any earlier ones? Things changed significantly in 0.7

no, any version dont works hahah, thats strange...

Very weird :( Ok different strategy. Does alacritty work? What about the opengl branch?

I am having same issue. Built on Windows from source. The window opens then immediately closes.  Neovim is installed and is on the Path

I am having same issue. Any release version dont works.
OS is Win10 20H2 19042.928
Log file the same as posted by bsjaramillo but without this row:
INFO [neovide::window::window_wrapper] window created
Additionaly i have next messeges if i start neovide in windows terminal with -h
dpi fix applied
thread 'main' panicked at 'Failed to create window: SdlError("Getting Vulkan extensions failed: vkEnumerateInstanceExtensionProperties returned VK_ERROR_INITIALIZATION_FAILED(-3)")', src\window\sdl2\mod.rs:442:10
stack backtrace:
0:     0x7ff63b48a898 -
1:     0x7ff63b37b8cb -
2:     0x7ff63b4897c8 -
3:     0x7ff63b488d4c -
4:     0x7ff63b487eb2 -
5:     0x7ff63b4915a5 -
6:     0x7ff63b4914ff -
7:     0x7ff63b49149f -
8:     0x7ff63b379d50 -
9:     0x7ff63b37ff33 -
10:     0x7ff63b2f5174 -
11:     0x7ff63b2889ac -
12:     0x7ff63b2d9a66 -
13:     0x7ff63b2858c9 -
14:     0x7ff63b9e8bc0 - SDL_wcsstr
15:     0x7ffe79fc7034 - BaseThreadInitThunk
16:     0x7ffe7bfc2651 - RtlUserThreadStart

@latkinsv thats a vulkan error and likely unrelated to the other issues here. Can you try the opengl branch?

with opengl branch neovide does start right, but how i can go to command mode ?, shift + ":" not work xd

@bsjaramillo are you using a non qwerty keyboard layout? https://github.com/Kethku/neovide/issues/445

This has been fixed in main. Please reopen if you continue to see this issue.


Fixed zia_url_filtering_rules schema validation

Fixed zia_url_filtering_rules schema validation

Codecov Report
Attention: Patch coverage is 34.42623% with 40 lines in your changes missing coverage. Please review.

Project coverage is 72.49%. Comparing base (9e85f76) to head (9a76ce8).
Report is 2 commits behind head on master.

Additional details and impacted files

@@            Coverage Diff             @@
##           master     #356      +/-   ##
==========================================
- Coverage   73.08%   72.49%   -0.59%
==========================================
  Files          79       79
  Lines       12749    12778      +29
==========================================
- Hits         9318     9264      -54
- Misses       2772     2862      +90
+ Partials      659      652       -7

Files
Coverage Δ

zia/resource_zia_url_filtering_rules.go
46.74% <34.42%> (-0.64%)
:arrow_down:

... and 3 files with indirect coverage changes


Mock Genesis keys

Use the same cryptographic primitives as the real genesis keys, but create fake ones for the PoC of test net.

Thanks @curiecrypt for your feedback. We'll use serde_cbor to make the conversion :+1:
Maybe you can close the PR #427 without merging the branch?

@curiecrypt I close this issue as #427 is closed :slightly_smiling_face:


[.Net] Allow Choice PromptOptions to take different types

The default PromptStyler will always render a HeroCard when the PromptStyle is set to Auto:
https://github.com/Microsoft/BotBuilder/blob/1958a3f946c2e8a540196b7d12fd15255932ce7c/CSharp/Library/Dialogs/PromptDialog.cs#L212
It will also always call ".ToString()" on each option for all PromptStyles except PromptStyle.None; if the "options" are string or int then this isn't a problem, however when the options are ThumbnailCards (for example) then the resulting message is a HeroCard containing one button CardAction per ThumbnailCard, all of which have the button text and value set to Microsoft.Bot.Connector.ThumbnailCard.
This can be overridden with a custom PromptStyler, such that a list of ThumbnailCards are rendered nicely.
However, Prompt.Choice ultimately calls context.Call:
https://github.com/Microsoft/BotBuilder/blob/1958a3f946c2e8a540196b7d12fd15255932ce7c/CSharp/Library/Dialogs/PromptDialog.cs#L325
and context.Call's params must be of the same generic type, i.e..:
void Call<R>(IDialog<R> child, ResumeAfter<R> resume)
The problem here is that if you can successfully render a series of ThumbnailCards via a custom PromptStyler, you are still required to have a ResumeAfter which takes a ThumbnailCard since that's the type of the list of options you're passing in to the Choice; and having a ThumbnailCard being submitted back (i.e., by clicking a CardAction button in the ThumbnailCard) doesn't appear to be possible.
Request: allow Context.Call to have a ResumeAfter<R> resume taking a different type to IDialog<R> child. Or something like that.
Hopefully that makes sense... :smiley:

@msft-shahins can you please comment or file a TFS item and close?

@rposbo by definition prompt choice selects the object T that is selected by the user. If you want to map the selected option to another object you can inherit from PromptDialog and implement your custom prompt choice with a TryParse function that implements the functionality you expect above. For example, you can implement a TryParse function that finds the right thumbnail card based on the option selected by the user.


POST of binary data doesn't include data based on content type

InputStream inputStream = new FileInputStream("path/to/a.png");
        byte[] foo = new byte[inputStream.available()];
        inputStream.read(foo);

        given()
                .header("User-Agent", "RestAssured")
                .contentType("image/foofoo")
                .body(foo).
         when()
                .post("https://postman-echo.com/post")
         .then()
                .assertThat()
                .statusCode(200)
                .body(equalTo("{\"args\":{},\"data\":{},\"files\":{},\"form\":{},\"headers\":{\"x-forwarded-proto\":\"https\",\"host\":\"postman-echo.com\",\"content-length\":\"67\",\"accept\":\"*/*\",\"accept-encoding\":\"gzip,deflate\",\"content-type\":\"image/foofoo; charset=ISO-8859-1\",\"user-agent\":\"RestAssured\",\"x-forwarded-port\":\"443\"},\"json\":null,\"url\":\"https://postman-echo.com/post\"}\n"))
                .contentType("application/json;charset=utf-8");

^ Try that, then try changing the content type to "text/foofoo" and running it again. Yup, there's now a data {} element in the result :-(

I'm not able to reproduce this, with rest-assured 3.3.1 in code, or on the command line.

Yup, there's now a data {} element in the result :-(

As is see it now, both of these curl's produce a JSON response body with a data key in the resulting JSON object.
curl -X POST "https://postman-echo.com/post"

{"args":{},"data":{},"files":{},"form":{},"headers":{"x-forwarded-proto":"https","host":"postman-echo.com","content-length":"0","accept":"*/*","user-agent":"curl/7.54.0","x-forwarded-port":"443"},"json":null,"url":"https://postman-echo.com/post"}

curl -X POST -H"Content-Type: image/foofoo" "https://postman-echo.com/post"

{"args":{},"data":{},"files":{},"form":{},"headers":{"x-forwarded-proto":"https","host":"postman-echo.com","content-length":"0","accept":"*/*","content-type":"image/foofoo","user-agent":"curl/7.54.0","x-forwarded-port":"443"},"json":null,"url":"https://postman-echo.com/post"}

Are you saying the data: {} key was missing on the assertion in code? Did you get a different result with curl on the command line?
CC // @johanhaleby


[Refactor] Remove default_cluster related code

What type of PR is this：

[ ] bugfix
[ ] feature
[ ] enhancement
[x] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

This is the last PR (together with #10022 #9403 #9300 #9245 #9188 #9130 #9088) to remove default_cluster related code. To maintain compatibility with older versions, we append the "default_cluster" prefix to db/user/role when serializing and remove the "default_cluster" prefix from db/user/role when deserializing.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:disappointed: fail : 43 / 58 (74.14%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/service/FrontendServiceImpl.java
0
2
00.00%
[849, 850]

:large_blue_circle:
com/starrocks/system/SystemInfoService.java
0
3
00.00%
[294, 407, 981]

:large_blue_circle:
com/starrocks/mysql/privilege/UserPropertyInfo.java
0
2
00.00%
[61, 70]

:large_blue_circle:
com/starrocks/analysis/SetPassVar.java
0
1
00.00%
[87]

:large_blue_circle:
com/starrocks/mysql/MysqlHandshakePacket.java
0
1
00.00%
[122]

:large_blue_circle:
com/starrocks/mysql/privilege/Role.java
0
2
00.00%
[145, 163]

:large_blue_circle:
com/starrocks/http/BaseAction.java
1
3
33.33%
[260, 338]

:large_blue_circle:
com/starrocks/persist/PrivInfo.java
1
2
50.00%
[188]

:large_blue_circle:
com/starrocks/analysis/UserIdentity.java
15
16
93.75%
[232]

:large_blue_circle:
com/starrocks/load/routineload/ScheduleRule.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/load/routineload/RoutineLoadJob.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/common/proc/BackendsProcDir.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/SetUserPropertyAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/common/proc/ComputeNodeProcDir.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/ast/ShowTableStmt.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/mysql/MysqlProto.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/system/Backend.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/analysis/TableName.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/load/routineload/KafkaRoutineLoadJob.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/ShowUserPropertyAnalyzer.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/PrivilegeStmtAnalyzer.java
3
3
100.00%
[]

:large_blue_circle:
com/starrocks/qe/ShowExecutor.java
5
5
100.00%
[]

run starrocks_admit_test

@mergify backport branch-2.4


Output files of HarbourBridge in the 'harbour_bridge_output' directory.

In the CLI mode, the prefix flag is used to explicitly set the paths for the output files generated by HarbourBridge.  eg - --prefix= ~/abc/name. will put the output files in the ~/abc directory with a name name.report.txt, name.schema.txt, etc.
But if the prefix flag is not set, HarbourBridge puts the output files at the base level of the HarbourBridge directory. ie - where the main.go file is stored. A number of scattered output files therefore cause clutter.
This PR ensures -

The output files are put in a seperate harbour_bridge_output directory if the prefix flag is not explicitly set.
The path of these files have been kept in the format of the Web UI output files -

harbour_bridge_output/dbName/dbName.report.txt
harbour_bridge_output/dbName/dbName.schema.txt
harbour_bridge_output/dbName/dbName.schema.ddl.txt
harbour_bridge_output/dbName/dbName.session.json

Putting these files in a seperate directory will also be useful in mounting this directory to the host machine for HarbourBridge in Docker mode.

Can you also add how does the user specify the --prefix flag now? Seems like the harbour_bridge_output is only created when --prefix is not specified, and when it is, the generated files would still go the root directory?

Putting these files in a seperate directory will also be useful in mounting this directory to the host machine for HarbourBridge in Docker mode.

For this objective, shouldn't the news files be created inside a directory irrespective of the --prefix flag?

Can you also add how does the user specify the --prefix flag now?

Have added this in the PR description.

Seems like the harbour_bridge_output is only created when --prefix is not specified, and when it is, the generated files would still go the root directory?

The prefix flag is used to set the file paths explicitly. If it is used then we don't have to put the files in the harbour_bridge_output directory.

Putting these files in a seperate directory will also be useful in mounting this directory to the host machine for HarbourBridge in Docker mode.

For this objective, shouldn't the news files be created inside a directory irrespective of the --prefix flag?

Yes they should be. But we don't have a way to differentiate if the migration is happening in the normal mode or the Docker mode. We can document in the usage guide that the prefix flag is not relevant in the Docker Mode.

prefix flag is irrelevant for the user when running harbourbridge as a docker since the directory created inside the docker is irrelevant to the user. The mounted directory is more important.

I am closing this PR. Will make this change on a separate branch along with the other Docker PR's after the final decision on the functionality of the prefix flag in the normal mode and the GCloud CLI mode is decided.


[INFINITY-3088] Refactor plan customization to guarantee all plans can be customizable

@gabrielhartmann what's the status on this, will it be merged or not? We still need some changes like a few DefaultScheduler methods with modified visibility, from private to protected so we can extend them.


UnhandledPromiseRejectionWarning: StatusCodeError: 500

Hi,
I pulled the code and ran the example. Worked fine the first time and failed afterwards due to unhandled promise.
➜  demux-js git:(develop) yarn example eos-transfers
yarn run v1.1.0
$ ./run-example.sh "eos-transfers"
(node:6496) UnhandledPromiseRejectionWarning: StatusCodeError: 500 - {"code":500,"message":"Internal Service Error","error":{"code":3100002,"name":"unknown_block_exception","what":"Unknown block","details":[{"message":"Could not find block: 8656566","file":"chain_plugin.cpp","line_number":1276,"method":"get_block"}]}}
    at new StatusCodeError (/Users/harshitgupta/Developer/demux-js/node_modules/request-promise-core/lib/errors.js:32:15)
    at Request.plumbing.callback (/Users/harshitgupta/Developer/demux-js/node_modules/request-promise-core/lib/plumbing.js:104:33)
    at Request.RP$callback [as _callback] (/Users/harshitgupta/Developer/demux-js/node_modules/request-promise-core/lib/plumbing.js:46:31)
    at Request.self.callback (/Users/harshitgupta/Developer/demux-js/node_modules/request/request.js:185:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (/Users/harshitgupta/Developer/demux-js/node_modules/request/request.js:1157:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (/Users/harshitgupta/Developer/demux-js/node_modules/request/request.js:1079:12)
(node:6496) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6496) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
✨  Done in 13.65s.

Thanks for the report! This occurs when we query get_info to retrieve the head block number, and then upon querying get_block for said block number, it doesn't exist. We are still investigating the conditions for when this occurs, but regardless of the reason this should be handled.

This happens while following blocks, tried on 5 different API endpoints.
The library is essentially not useable with this bug.

Since we have moved the code in question to EOSIO/demux-js-eos, I am closing this. Feel free to open a new issue there.


Create method to retrieve SPDX doc

Create a python method that will retrieve a SPDX document after a scan is completed.
This is completed through doSOCS

This can be completed with a spdxDocId, however, we need another modification to DoSOCs that allows for retrieval by package name (upload_file_name) with the latest spdxDocId:
select * from spdx_docs
where upload_file_name="busybox-1.23.1.tar.bz2"
Order by id desc
Limit 1

Update TODO: Need to fork DOSOCS and create the above method. Then perform pull request.

Completed: Submitted Pull request to DOSOCS


gitify open behind tray when clicking on tray icon

🔍 Is there already an issue for your problem?

[X] I have checked older issues, open and closed

📝 Description
Gitify open behind tray when clicking on tray icon.
🪜 Steps To Reproduce

Install gitify on Windows 11.
Start it.
Click on tray icon
Gitify opens behind tray.

Gitify Version
5.4.0
Operating System
Windows
GitHub Account
GitHub.com
📸 Screenshots

@soredake - can you confirm if this is also happening on v5.4.0 please

Yes, same with 5.4.0.

Thanks! Do you happen to know which version you first noticed this in?

For a test I've installed https://github.com/gitify-app/gitify/releases/download/v4.4.0/Gitify-Setup-4.4.0.exe, same problem again.

Thanks for verifying - seems this has been a long standing "feature". 😅
If you happen to have the interest and capacity to help locally debug + fix, that would be greatly appreciated.  The core maintainers are all macOS users I believe :)
It's likely going to require some tweaks in main.js.  I had a quick look through the third-party dependency we use - https://github.com/max-mapper/menubar - but couldn't see a similar issue (quickly).

https://github.com/max-mapper/menubar/issues/264


[Map] DM-MyFlat[LineARC]

Actually BTPlusPlusv099_C.u isn't required to run the map - it works fine without it - looking in the Editor it is not in the map.  So the fact that BTPPUser.u is missing is only of consequence if someone should wish to run BTPlusPlus with the map (though since it seems to be mostly a BT mutator and this is a DM map, I don't see why anyone should wish to do so).

URL: https://unrealarchive.org/maps/unreal-tournament/deathmatch/M/dm-myflatlinearc_f40fa9f8.html
Hash: f40fa9f8ab897a34bc253ed15f61a6d0b0e92a74
Current name: DM-MyFlat[LineARC]

That's a good point. Currently the dependency analyser looks at all files in the archive and checks for missing dependencies - but for maps, it should probably only evaluate things actually used/referenced by the map, so extra files like this case can be ignored.

Oh, I see - I had assumed that the dependency analyser did evaluate things used or referenced by a map - so I've not been looking at that really.  I have noticed that some archives  contain a large number of files and only a few are actually used in the map - from memory I think that the extra files tend to be textures.


Migrate to Spring Boot 2.7's AutoConfiguration

Spring Boot 2.7 changed the way to implement AutoConfiguration, see https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.7-Release-Notes#changes-to-auto-configuration
This is a required prerequiste for Spring Boot 3 (see https://github.com/PlaytikaOSS/testcontainers-spring-boot/issues/1054), but we can still remain with Spring Boot 2.7

ah, that was fixed in 2.2.12 already


Uncaught Error: Cannot call function 'emit' on missing remote object 25Error: Cannot call functi...

[Enter steps to reproduce:]

...
...

Atom: 1.40.0 x64
Electron: 3.1.10
OS: Mac OS X 10.14.5
Thrown From: Atom Core
Stack Trace
Uncaught Error: Cannot call function 'emit' on missing remote object 25
Error: Cannot call function 'emit' on missing remote object 25
at throwRPCError (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:145:17)
at EventEmitter. (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:367:7)
at EventEmitter.emit (events.js:182:13)
at WebContents. (/Applications/Atom.app/Contents/Resources/electron.asar/browser/api/web-contents.js:294:13)
at WebContents.emit (events.js:182:13)
At /Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:219

Error: Cannot call function 'emit' on missing remote object 25
Error: Cannot call function 'emit' on missing remote object 25
    at throwRPCError (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:145:17)
    at EventEmitter.<anonymous> (/Applications/Atom.app/Contents/Resources/electron.asar/browser/rpc-server.js:367:7)
    at EventEmitter.emit (events.js:182:13)
    at WebContents.<anonymous> (/Applications/Atom.app/Contents/Resources/electron.asar/browser/api/web-contents.js:294:13)
    at WebContents.emit (events.js:182:13)

    at metaToException (/Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:271:17)
    at Object.exception (/Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:219:30)
    at metaToValue (/Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:223:28)
    at Object.remoteMemberFunction (/Applications/Atom.app/Contents/Resources/electron.asar/renderer/api/remote.js:123:16)
    at ContextMenuManager.showForEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:400736)
    at WindowEventHandler.handleDocumentContextmenu (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:286906)

Commands
     -0:49.7.0 editor:move-to-first-character-of-line (input.hidden-input)
     -0:49.4.0 core:move-down (input.hidden-input)
  6x -0:49.1.0 core:move-right (input.hidden-input)
     -0:47.9.0 editor:select-to-end-of-word (input.hidden-input)
  7x -0:47.8.0 core:select-left (input.hidden-input)
     -0:45 editor:select-to-beginning-of-word (input.hidden-input)
     -0:44.6.0 core:copy (input.hidden-input)
     -0:44.3.0 editor:move-to-end-of-screen-line (input.hidden-input)
  3x -0:44.2.0 core:move-left (input.hidden-input)
     -0:43.5.0 editor:select-to-beginning-of-word (input.hidden-input)
     -0:43.2.0 core:paste (input.hidden-input)
     -0:41.3.0 core:save (input.hidden-input)
     -0:38.9.0 core:copy (input.hidden-input)
     -0:29.9.0 editor:newline (input.hidden-input)
     -0:28.9.0 core:paste (input.hidden-input)
     -0:27.3.0 core:save (input.hidden-input)

Non-Core Packages
pretty-json 2.1.2

Thanks for contributing!
We noticed that this looks like a duplicate of https://github.com/atom/atom/issues/16630 so you can subscribe there for updates if you'd like (we believe that this will be fixed in a future Electron upgrade).

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Few build updates

@iocanel This migrates to circleci 2.0 workflows - see https://circleci.com/workflow-run/0bfaa1ba-8880-45b8-91bd-7d698ddefc03 for the latest workflow run for this PR.
It is now built and tested under both java 7 and java 8 to test for future compatibility, if and when java 7 is dropped.


[SDC] Fixed unclear issues

Cleaned up SPI_HOST_INT_CLK which was not used on any clock/timing constraint.
Updated SPI_HOST_CLK from divide_by_2 to divide_by_1
Updated IO_DIV4_CLK and IO_DIV2_CLK from mux input/output to input/output of clock divider

Signed-off-by: Joshua Park<EMAIL_ADDRESS>

@arnonsha FYI, this updates the SDC constraints, so you may want to align this internally.

Yes, we will try it out.
thanks

Glad to report all is OK.


feat: replace simple-git with octokit to load fiddle

TODOs

Fix all TODOs in codebase.
Write tests
Handle better way to set env variables (probably?)

Fixes #38

Ready for first round of review @dsanders11 :)

I think it's okay if file other than VALID_FILES is being pushed to the contents too. The original Electron Fiddle app allows any other files to be pulled from the gist by prompting if the user wants to add that file first before adding in to the project.


Set default editor size

Loving the editor so far!
One thing I always do when I open oni2 is make the editor window larger.  I don't see any documentation on configuring this in the preferences.  Is this possible to set somewhere?  If so, I'll gladly update the documentation.
If not, is this something on the roadmap?  If it's a good first issue, I might be willing to give that a shot too, though I'm pretty new to Reason.

Don't think this is anywhere on the roadmap, so thanks for raising!
Think this includes a few separate parts:

Config options for Oni2 : We need to add some options for the default editor size, which would be just a config option to set a width and height option here : https://github.com/onivim/oni2/blob/644416a11d933f85bfaf649fbf752e3397e68828/src/editor/bin_editor/Oni2_editor.re#L30-L34. The complication may be there that I expect that is too early in the launch process for the configuration file to have been loaded.

Updating revery to have a way of saving / loading the last used editor size and other preferences (maximised, full screen, position etc), such that we can use that here as well.

The Oni2 side is probably a pretty small change, though we might need to have a little think about how the config will be loaded there. If we can avoid it, it would be better to launch with the correct size, rather than doing a resize later since that looks jarring to have that flash and rescale.

The editor is fairly small by default. So first thing I do is maximizing the window. I need to do that with my mouse, as the standard windows keys (Alt-Space)  do not seem to work :-(

Should this be considered fixed by #1703? I'm not sure a setting that would only be used the first time a workspace is opened is worth the added complexity.

Yes. A lot of the pain is taken away by  reopening the editor in the previous state.

Closing this as it seems to have been obsoleted by workspace persistence. If anyone disagrees and would still like this, please chime in.


Ability to work with secured databases needed

First of all I like the sidecar approach you are using in opposite to creating hard roled instances like https://github.com/bitnami/bitnami-docker-mongodb does.
But I miss an ability to config the databases with enabled security. Thus I made a small extension to get it work (see my PR)

To have a link between both: #39

Fixed with #39


[Distance] - The waypoints (Start and Finish) only show up after map appears

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

Issue found when executing PR https://github.com/Expensify/App/pull/26525
Action Performed:

Launch New Expensify desktop app
Go to + > Request money
Click Distance

Expected Result:
The waypoints and map show up together
Actual Result:
The waypoints (Start and Finish) only show up after map appears
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.63-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
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/78819774/fbe15e9e-1d01-446f-8d49-55b896fbe47e
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I don't think this is a bug, but rather just an optimization thing. For me, sometimes they appear before the map renders, and sometimes afterwards. I think the delay isn't long enough to be considered problematic, so I'm going to close this one out.


KR Legal Data Structure and JSON, D3.js, Elasticsearch

Act/Article Data Structure of KR : xml
xml to nested json converting complete.
nested json to pure key-value json converting complete to d3.js visualize.

How to search nested json?

RDBMS is not appropriate.
NoSQL is needed, especially Document/Json type object supported.

Which is better solution to handle KR Legal Data?
- MongoDB?
- Elasticsearch?
- Alternatives?


added react-native-vector-icon support for TabBar

To use a vector icon instead of an image, use the following syntax:
<Route name='tab1' component={Main} title='Main' tabItem={{ficon: require('react-native-vector-icons/FontAwesome'), fname: 'home', title: 'Main'}} />

:+1:

See my request as https://github.com/Qwikly/react-native-router-redux/pull/51
Would suggest let's just enable any react element to be rendered onto tar bar icon part.


fix: correct WeCom OAuth URL construction (#2937)

Fix: https://github.com/casdoor/casdoor/issues/2937

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@Coldfengzi plz review


Telegraf does not produce HTTP Metrics

I have Telegraf configured to receive metrics from Scope on DogStatsd and to output Prometheus metrics, which is then scraped by Prometheus. We see network metrics but we are not seeing HTTP metrics from the Telegraf HTTP server.
Relevant telegraf config:
[[outputs.prometheus_client]]
  ## Address to listen on.
  listen = ":9273"

[[inputs.statsd]]
  protocol = "tcp"
  service_address = ":8125"
  datadog_extensions = true
  delete_counters = false

Some initial investigation shows that the telegraf executable has been stripped of symbols.
/usr/bin/telegraf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, Go BuildID=s89j1C4wuuKMKFAsNbgi/PsDauRRXA4iD-iuwqWFJ/fgrbv6_YvoRy4pw4qHUi/eKXbDNnqjue0xvWJzLZX, BuildID[sha1]=3aa43a43c31aa455edc4e2b8266743892e795a74, stripped```
Our current go solution requires symbols.

Thanks, understood.


Use dune to build project

I've started to dunify the package and streamlined a few bits, e.g. bigarray is now always part of text.
Still working on how to build Camlp4 syntax extensions but - maybe these can be omitted? Not sure how many people still need those.

Does this PR make 'text' compilable with ocaml 5 ? (oasis and setup now seem way out of date)
camlp4 support does not seem mandatory to me.

Tried it by removing camlp4 dependency (ignoring syntax subdirectory). It compiles with ocaml 5 (could not really try it for some other reason).


mask for RG (registro geral)

make a mask for RG like "23.344.023-1"

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/33359286-mask-for-rg-registro-geral?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github).

+1, and can contribute if @assisrafael likes this feature

A pull request is certainly welcome! =)

this would turn this module into a complete set of masks for pt-br webapps.
I'll take a look into this this weekend :)

@darlanmendonca @rcrodrigues have you started working on this? If not, I'll work on it :)

I have interest in this feature too, also for RNE. @detinho: do you have started?

I am create the simple directive, based http://pt.stackoverflow.com/questions/22431/expressão-regular-para-rg
(function () {
angular
    .module("myApp")
    .directive('rg', RG);

function RG() {
    var directive = {
        require: 'ngModel',
        link: function (scope, element, attr, ngModelCtrl) {
            function parserRG(rg) {
                if (rg) {
                    rg = rg.replace(/\D/g, "");
                    rg = rg.replace(/(\d{1,2})(\d{3})(\d{3})(\d{1})$/, "$1.$2.$3-$4");
                    ngModelCtrl.$setViewValue(rg);
                    ngModelCtrl.$render();
                    return rg;
                }
                return undefined;
            }
            ngModelCtrl.$parsers.push(parserRG);
        }
    };
    return directive;}})();

Good answer @gabrieldevelops but this code have one little problem.
Some RG has 'X' char as verify code.
I fix it change these lines:
rg = rg.replace(/\D/g, "");
rg = rg.replace(/(\d{1,2})(\d{3})(\d{3})(\d{1})$/, "$1.$2.$3-$4");

to:
rg = rg.replace(/(?!X)\D/g, "");
rg = rg.replace(/(\d{1,2})(\d{3})(\d{3})([\dX])$/, "$1.$2.$3-$4");

Now the 'X' char can be input in field. The problem now is the 'X' char can be input anywhere on field.
Someone has ideia how fix it now?
(sorry for my Tupiniquim English)
Thanks!

Any news?


[Task] Update notebooks to note we require TF 2.8+ in the notebooks.

Description
The notebooks currently include code like
import os
os.environ["TF_GPU_ALLOCATOR"]="cuda_malloc_async"
import merlin.models.tf as mm

This causes a segfault in TF 2.6. We should add a note to our notebooks saying that this requires TF 2.8+

And instructions commented out for how to deal with this in 2.6 and lower.

related to https://github.com/NVIDIA-Merlin/Merlin/issues/229

Based on Benedikt's experiment on testbook unit tests, he could avoid Jenkins error after removing `os.environ["TF_GPU_ALLOCATOR"]="cuda_malloc_async" line.

@benfred , do we need to track this still?

@viswa-nvidia I closed the ticket, as there is no progress. Please reopen, if we require it.


[SPARK-8632] [SQL] [PYSPARK] Poor Python UDF performance because of R…

…DD caching

I wanted to reuse most of the logic from PythonRDD, so I pulled out
two methods, writeHeaderToStream and readPythonProcessSocket
The worker.py now has a switch where it reads an int that either tells
it to go into normal pyspark RDD mode, which is meant for a streaming
two thread workflow, and pyspark UDF mode, which is meant to be called
synchronously

Can one of the admins verify this patch?

@davies @JoshRosen @rxin

Jenkins, ok to test.

Should the build have started by now?

Yes - Mr. Jenkins doesn't like me anymore.

Test build #1731 has started for   PR 8662 at commit af5254b.

Test build #1731 has finished for   PR 8662 at commit af5254b.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class PySparkMode(object):

@justinuang Thanks for working on this, do you have some number about the performance improvements on this?

Test build #1737 has started for   PR 8662 at commit af5254b.

Hey davies, I don't have any numbers. Are there any benchmarks that we can just rerun?

Unfortunately, we haven't do any benchmark for Python UDF yet, can you do one or two simple case?

Is there an example of another benchmark? I'm not sure where they're stored for python

I think something like this could be enough:
from pyspark.sql.functions import udf
tofloat = udf(lambda x: float(x), DoubleType)
df = sqlContext.range(1<<25)
dff = df.select(tofloat(df.id).alias('f'))
start = time.time()
dff.filter(dff.f > 0).count() # make sure the Python UDF is evaluated
used = time.time() - start

Test build #1737 has finished for   PR 8662 at commit af5254b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class PySparkMode(object):

Sorry for the delay, here is the code I ran and here are the results
from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType
import time
mult = udf(lambda x: 2 * x, IntegerType())

for i in range(0,6):
    df = sqlContext.range(1000000).withColumnRenamed("id", "f")
    for j in range(i):
        df = df.select(mult(df.f).alias('f'))

    start = time.time()
    df.count() # make sure the Python UDF is evaluated
    used = time.time() - start
    print "Number of udfs: {} - {}".format(i, used)

The results are as expected. The python overhead is about 1.5 seconds, but you can see how the time becomes exponential for without fix, since the cost of calculating upstream twice includes expensive python operations themselves.
With fix
Number of udfs: 0 - 0.091050863266
Number of udfs: 1 - 1.72215199471
Number of udfs: 2 - 3.32698297501
Number of udfs: 3 - 5.64863801003
Number of udfs: 4 - 7.06328701973
Number of udfs: 5 - 9.22025489807

Without fix
Number of udfs: 0 - 1.00539588928
Number of udfs: 1 - 3.12671899796
Number of udfs: 2 - 5.91188406944
Number of udfs: 3 - 11.124516964
Number of udfs: 4 - 24.3277280331
Number of udfs: 5 - 47.621573925

:+1:

@justinuang Thanks for numbers, they looks interesting. The result of no udfs looks strange, could you run each query twice and use the best (or second) result?

Looks like your intuition was right. The second time it's slightly faster, so I ran the loop twice and took the 2nd's numbers
Here are the updated numbers
With fix
Number of udfs: 0 - 0.0953350067139
Number of udfs: 1 - 1.73201990128
Number of udfs: 2 - 3.41883206367
Number of udfs: 3 - 5.24572992325
Number of udfs: 4 - 6.83000802994
Number of udfs: 5 - 8.59465384483

Without fix
Number of udfs: 0 - 0.0891687870026
Number of udfs: 1 - 1.53674888611
Number of udfs: 2 - 4.44895505905
Number of udfs: 3 - 10.0561971664
Number of udfs: 4 - 21.5314221382
Number of udfs: 5 - 43.887141943

It does look like there's a tiny performance drop for 1 udf. My guess is that it's slightly slower because the initial approach was slightly cheating with CPU time. It had 3 threads that could do computation at once. However, this is breaking with the RDD abstraction that each partition should only get one thread each to do CPU work.

Jenkins, retest this please

@rxin or @davies why is this automatically not retriggering when i push a new commit? Also, looks like the "retest this please" only works with committers.

Test build #1765 has started for   PR 8662 at commit 7fe4a0e.

Test build #1765 has finished for   PR 8662 at commit 7fe4a0e.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class _PySparkMode(object):

@davies how do I have a private class in python?
In addition, is it possible that the failing unit test is flaky? I ran
./run-tests --python-executables=python

and it succeeds locally.

Test build #1766 has started for   PR 8662 at commit 7fe4a0e.

@justinuang This patch works pretty well on multiple UDFs, but I have two concerns before review the details: 1) it have some overhead for each batch, cause some regression for single UDF, 2) lots of changes in PythonRDD and worker.py, Python UDFs work differently than other PythonRDD, increase the complicity (and potential bugs).
There is another approach as we discussed before, using better cache for upstream RDD, could be called CacheOnceRDD, which appends all the rows into an array when compute() is called for the first time, then pull and remove the rows when compute() is called second time. This CachedOnceRDD should work similar to UnsafeExternalSorter (spilling to disk if no enough memory). I think that this approach should have better performance than current approach without change PythonRDD (which is already very complicated). I really want to try this out, but have not got some time to work on it.

Hye @davies - I was not involved with Python UDFs earlier, but why does calling udfs require caching? Isn't it really bad if the partition is large?
It doesn't make a lot of sense to me that we would need to materialize the entire partition of data for calling UDFs.

After offline discussion with @rxin @marmbrus , we can try another approach by passing the entire row into python worker (it increase the IO between JVM and python, but not blocked). I can try it tonight.

Hey davies, I think the performance regression for a single UDF may be because there were multiple threads per task that could potentially be taking up CPU time. I highly doubt that the actual IO using loopback is actually add much time, compared to the time of deserializing and serializing the individual items in the row.
The other approach of passing the entire row can potentially be okay, and it doesn't add a lot of changes to PythonRDD and Python UDFs, but I'm afraid that the cost of serializing the entire row can be prohibitive. After all, isn't serialization from in-memory jvm types to the pickled representations the most expensive part? What if I have a giant row of 100 columns, and I only want to do a UDF on one column? Do I need to serialize the entire row to pickle?

Test build #1766 has finished for   PR 8662 at commit 7fe4a0e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class _PySparkMode(object):

Here are some benchmark with different approaches:
Without fix:
Number of udfs: 0 - 0.142887830734
Number of udfs: 1 - 0.948309898376
Number of udfs: 2 - 2.079007864
Number of udfs: 3 - 4.02105379105
Number of udfs: 4 - 8.20960092545
Number of udfs: 5 - 17.1744220257

This PR (synchonized batch):
Number of udfs: 0 - 0.146151065826
Number of udfs: 1 - 1.73253297806
Number of udfs: 2 - 2.73584198952
Number of udfs: 3 - 3.70912384987
Number of udfs: 4 - 5.21050810814
Number of udfs: 5 - 6.24335598946

Pass row around:
Number of udfs: 0 - 0.150754928589
Number of udfs: 1 - 2.33548307419
Number of udfs: 2 - 3.16792798042
Number of udfs: 3 - 4.92886400223
Number of udfs: 4 - 5.86024093628
Number of udfs: 5 - 6.71114897728

Old RDD cache
Number of udfs: 0 - 0.187371969223
Number of udfs: 1 - 1.12094593048
Number of udfs: 2 - 1.82404088974
Number of udfs: 3 - 3.20661616325
Number of udfs: 4 - 3.62113809586
Number of udfs: 5 - 4.25435996056

Using CachedOnceRDD
Number of udfs: 0 - 0.143986940384
Number of udfs: 1 - 1.10472989082
Number of udfs: 2 - 1.96430683136
Number of udfs: 3 - 2.14014697075
Number of udfs: 4 - 2.37295603752
Number of udfs: 5 - 2.8883831501

It seems that passing row into Python is slower than current approach (will much slower with wider table).
Using cache is faster than current approach, because of asynchronous pipeline, CachedOnceRDD is faster than RDD cache, also need fewer memory.
The CachedOnceRDD looks like this:
class CachedOnceRDD(prev: RDD[InternalRow]) extends RDD[InternalRow](prev) {
  override val partitioner = firstParent[InternalRow].partitioner
  override def getPartitions: Array[Partition] = firstParent[InternalRow].partitions

  var visits:Int = 0
  var owner:Int = 0
  var prevIter:Iterator[InternalRow] = null
  var buffer: java.util.Queue[InternalRow] = null

  override def compute(split: Partition, context: TaskContext): Iterator[InternalRow] = {
    var myid: Int = 0
    synchronized {
      visits += 1
      myid = visits
      if (buffer == null) {
        prevIter = prev.iterator(split, context)
        buffer = new java.util.concurrent.ConcurrentLinkedQueue[InternalRow]
        owner = myid
      }
    }
    new Iterator[InternalRow] {
      var row: InternalRow = null
      override def hasNext: Boolean = {
        if (row == null) {
          if (owner == myid) {
            buffer.synchronized {
              if (prevIter != null) {
                val r = prevIter.hasNext
                if (r) {
                  row = prevIter.next().copy()
                  buffer.offer(row)
                } else {
                  prevIter = null
                }
              }
            }
          } else {
            if (!buffer.isEmpty) {
              row = buffer.poll()
            } else {
              buffer.synchronized {
                if (!buffer.isEmpty) {
                  row = buffer.poll()
                } else if (prevIter == null) {
                } else {
                  owner = myid
                  hasNext
                }
              }
            }
          }
        }
        row != null
      }

      override def next: InternalRow = {
        val r = row
        row = null
        r
      }
    }
  }
}

And we need to change this
-    val childResults = child.execute().map(_.copy())
+    val childResults = new CachedOnceRDD(child.execute())

cc @rxin @marmbrus

If I'm reading it correctly, this is not "appends all the rows into an array when compute() is called for the first time, then pull and remove the rows when compute() is called second time" ?

Actually never mind - it does. This seems a lot more complicated still - we would need to handle spilling, and then in that case it would strictly be slower due to the unnecessary spill.

OK I finally understood what's going on here. If I understand your intention correctly, you are assuming:

The 1st read goes into Python
The 2nd read can keep up and won't lag behind too much of the 1st read

So the memory consumption is somewhat bounded.
If you are doing this, can't you simplify this a lot by removing all the synchronization, the owner thing, and the RDD, and just in the mapPartitions call:

consume the input iterator, add it to two queues
python reading from one queue
the 2nd read (zip) read from the 2nd queue

You mentioned earlier there might be a chance to deadlock. I don't understand why it would deadlock. But even if it could deadlock with the above approach, you can change it slightly to  you can achieve an identical thing as what you have by doing the following in the mapPartitions call:

create an iterator wrapper that adds each consumed record to a blocking queue
for each output record from python, drain an element from the queue

BTW with all of these - I'm starting to think we should just do a quick fix for 1.5.1, and then for 1.6 we would need to rewrite a lot of these in order to use local iterators anyway.
For local iterators, we wouldn't reuse the existing PythonRDD, so the goal to keep only one code path is probably moot.

The solution with the iterator wrapper was my first approach that I prototyped (http://apache-spark-developers-list.1001551.n3.nabble.com/Python-UDF-performance-at-large-scale-td12843.html). It's dangerous because there is buffering at many levels, in which case we can run into a deadlock situation.
- NEW: the ForkingIterator LinkedBlockingDeque
- batching the rows before pickling them
- os buffers on both sides
- pyspark.serializers.BatchedSerializer

We can avoid deadlock by being very disciplined. For example, we can have the ForkingIterator instead always do a check of whether the LinkedBlockingDeque is full and if so:

Java
    - flush the java pickling buffer
    - send a flush command to the python process
    - os.flush the java side

Python
    - flush BatchedSerializer
    - os.flush()

I'm not sure that this udf performance regression for one UDF is going to hit many people. For one, most upstreams are not a range() call, which doesn't have to go back to disk and deserialize. My personal opinion is that the blocking performance shouldn't be the reason that we reject this approach, but because it adds complexity.
If we want a quick fix that is safe, I would be in favor of passing the row, which indeed is slower, but better than deadlocking or calculating upstream twice. It's just that the current system is unacceptable.
Maybe we can also consider going with a complete architecture shift that goes with a batching system, but uses thrift to serialize the scala types to a language agnostic format, and also handle the blocking RPC. Then we can have PySpark and SparkR using the same simple UDF architecture. The main drawback is that I'm not sure how we're going to support broadcast variables or aggregators, but should those even be supported with UDFs?

@rxin what do you mean by local iterators =) I feel like i'm missing some context that you guys have

This is the ticket: https://issues.apache.org/jira/browse/SPARK-9983

@rxin The reason CachedOnceRDD looks a little bit complicated than expected is that the order of two caller (zip and writer thread) is undefined (they are in two threads), usually the zip will lag behind writer thread, but zip could call compute() before writer thread. This could avoid the deadlock without do flushing in PythonRDD pipeline.
The buffered rows are bounded to the number of rows in PythonRDD, we could don't do spilling here (there is still a chance to OOM, but small).
For 1.5.1, the goals are:

compute the upstream once
no deadlock
small risk (fewer changes in PythonRDD)
no much performance regression

Which one should we pick for 1.5.1?

I'm not sure there is a solution that satisfies all the requirements. I can say that this approach addresses 1,2,4 by design.
Would you guys support a 1.6.0 UDF implementation that uses thrift for the RPC and serialization? In general, I think the custom-rolled socket, serialization, and cleanup approach as pretty scary. They're already solved problems, and then we can support multiple language bindings at the DataFrame level, where I think it's a lot easier to implement. We could even support broadcast variables by allowing language bindings to store bytes in the UDF that will be passed back to them. I don't think we need to support accumulators right?

I took the idea from @rxin to simplify CachedOnceRDD, created #8833 , @justinuang please help to review it.

I think this should work? https://github.com/apache/spark/pull/8835

@justinuang #8835 is already merged, can you close this PR? thanks!

Thanks for the reminder!


Windows 10 - Chrome crashes while using shaka player

Have you read the FAQ and checked for duplicate open issues?: Yes
What version of Shaka Player are you using?: V2.4.4
Can you reproduce the issue with our latest release version?: V 2.4.4 is the latest stable relase
Can you reproduce the issue with the latest code from master?: Yes
Are you using the demo app or your own custom app?: demo app
If custom app, can you reproduce the issue using our demo app?:
What browser and OS are you using?: Windows 10 / Chrome 69.0.3497
What are the manifest and license server URIs?:
Sent via email

What did you do?
Play the above stream in Chrome with license server url. The stream will play but at some point the chrome will crash and and error will be displayed as: "Something went wrong while displaying this webpage." Sent screenshot via email for more details.
What did you expect to happen? The stream should play without any error.
What actually happened?
The browser crashes randomly. The issue is sporadic and not 100% reproducible.

Is this a live stream?
Does it crash with dev tools open?
What about with dev tools closed?
I haven't reproduced with your content, but in the past, I have seen similar issues with live streams while dev tools is open.  It turned out in my case that the network panel of Chrome's dev tools was running out of memory.  So long as you are recording network traffic (on by default when you open dev tools), the payloads of those requests are kept in memory for inspection by dev tools.  So if you watch a 4Mbit/s HD stream, you will eat up 1.8GB RAM per hour.
Clicking on the red "recording button" in the network panel will turn off recording of network traffic.  If that doesn't help, please let us know, and we can take a look at your content.

The issue appears for VOD with live profile MPD. I tried to reproduce it by closing the dev tools window and it doesn't happen any more. So it must be the memory consumed by the network traffic as you have explained. Thank you for looking into this.

Happy to help!  I wonder if it would be worth filing a bug on Chrome to ask that some limit be put on memory consumption in the network panel.


Support for "AI Text" field type

I haven't actually needed this or used it, I'm just going off what the documentation says. FYI @marks in case there's some nuance to these fields that I haven't captured here.

Sean here (engineer that implemented this public API interface on Airtable's side 👋 ).
No nuance that you're missing! We'd ideally support more functionality in the future (eg: writing these cell values or triggering AI generation), but do not have support for that via the public API yet.
Thanks for adding this!


Fix sudo su - in docs

The sudo su is not recommended to use. For sudo it is much more convenient to use sudo -u stack -i to spawn interactive shell as user 'stack'

Thank you for your contribution!
This GitHub repository is just a mirror of https://opendev.org/openstack/devstack, where development really happens. Pull requests proposed on GitHub are automatically closed.
If you are interested in pushing this code upstream, please note that OpenStack development uses Gerrit for change proposal and code review.
If you have never contributed to OpenStack before, please see:
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
Feel free to reach out to the First Contact SIG by sending an email to the openstack-discuss list with the tag '[First Contact]' in the subject line. To email the mailing list, you must first subscribe which can be done here:
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss


Timeout with large arithmetic expression involving numerals

Prerequisites
Please put an X between the brackets as you perform the following steps:

[x] Check that your issue is not already filed:
https://github.com/leanprover/lean4/issues
[x] Reduce the issue to a minimal, self-contained, reproducible test case.
Avoid dependencies to Mathlib or Batteries.
[x] Test your test case against the latest nightly release, for example on
https://live.lean-lang.org/#project=lean-nightly
(You can also use the settings there to switch to “Lean nightly”)

Description
The following code timeouts with the default maxHeartbeats setting. It sometimes fails at whnf and sometimes at isDefEq, depending on the specific heartbeat setting used.
theorem foo (x y z p q : Int) : False :=
  have : (1 * x ^ 1 + z ^ 1 * p) *
        (1 / 1 * p ^ 1 * x ^ 1 + 1 * q * p ^ 1 * x * z + 1 * q ^ 1 * p ^ 1 * x ^ 1 +
                            1 * q ^ 1 * p ^ 1 * x * z -
                          1 * q * p ^ 1 * y ^ 1 +
                        1 * q ^ 1 * p ^ 1 * x ^ 1 +
                      1 * q ^ 1 * p ^ 1 * x * z -
                    1 * q ^ 1 * p ^ 1 * y ^ 1 +
                  1 * q ^ 1 * p ^ 1 * x ^ 1 +
                1 * q ^ 1 * p ^ 1 * x * z -
              1 * q ^ 1 * p ^ 1 * y ^ 1 +
            1 * q ^ 1 * x ^ 1 -
          1 * q ^ 1 * p * y ^ 1) +
      z * (1 * y) *
        (-(1 / 1 * p ^ 1 * x * y) + 1 * q * p ^ 1 * z * y - 1 * q ^ 1 * p ^ 1 * x * y +
                  1 * q ^ 1 * p ^ 1 * z * y -
                1 * q ^ 1 * p ^ 1 * x * y +
              1 * q ^ 1 * p ^ 1 * z * y -
            1 * q ^ 1 * p ^ 1 * x * y +
          1 / 1 * q ^ 1 * p ^ 1 * z * y) +
    (-y ^ 1 + p * x * (1 * z) + q * (1 * z ^ 1)) *
      (-(1 / 1 * p ^ 1 * x * z) - 1 * q * p ^ 1 * x ^ 1 - 1 * q ^ 1 * p ^ 1 * x * z -
                1 * q ^ 1 * p ^ 1 * x ^ 1 -
              1 * q ^ 1 * p ^ 1 * x * z -
            1 * q ^ 1 * p ^ 1 * x ^ 1 -
          1 * q ^ 1 * p ^ 1 * x * z -
        1 * q ^ 1 * p * x ^ 1) =
  1 *
        (1 / 1 * p ^ 1 * x ^ 1 + 1 * q * p ^ 1 * x * z + 1 * q ^ 1 * p ^ 1 * x ^ 1 +
                            1 * q ^ 1 * p ^ 1 * x * z -
                          1 * q * p ^ 1 * y ^ 1 +
                        1 * q ^ 1 * p ^ 1 * x ^ 1 +
                      1 * q ^ 1 * p ^ 1 * x * z -
                    1 * q ^ 1 * p ^ 1 * y ^ 1 +
                  1 * q ^ 1 * p ^ 1 * x ^ 1 +
                1 * q ^ 1 * p ^ 1 * x * z -
              1 * q ^ 1 * p ^ 1 * y ^ 1 +
            1 * q ^ 1 * x ^ 1 -
          1 * q ^ 1 * p * y ^ 1) +
      1 *
        (-(1 / 1 * p ^ 1 * x * y) + 1 * q * p ^ 1 * z * y - 1 * q ^ 1 * p ^ 1 * x * y +
                  1 * q ^ 1 * p ^ 1 * z * y -
                1 * q ^ 1 * p ^ 1 * x * y +
              1 * q ^ 1 * p ^ 1 * z * y -
            1 * q ^ 1 * p ^ 1 * x * y +
          1 / 1 * q ^ 1 * p ^ 1 * z * y) +
    1 *
      (-(1 / 1 * p ^ 1 * x * z) - 1 * q * p ^ 1 * x ^ 1 - 1 * q ^ 1 * p ^ 1 * x * z -
                1 * q ^ 1 * p ^ 1 * x ^ 1 -
              1 * q ^ 1 * p ^ 1 * x * z -
            1 * q ^ 1 * p ^ 1 * x ^ 1 -
          1 * q ^ 1 * p ^ 1 * x * z -
        1 * q ^ 1 * p * x ^ 1) := sorry
  sorry

The problem goes away when introducing a new parameter w : Nat and replacing all 1 by w.
set_option diagnostics true shows some interesting type class numbers:
[type_class] used instances (max: 42539, num: 13): ▼
  USize.instOfNat ↦ 42539
  Int.instHPowNat ↦ 42145
  Lean.Omega.IntList.instHMulInt ↦ 21357
  instHMul ↦ 11896
  instPowNat ↦ 8621
  instHSubPos ↦ 5140
  instHAddPosChar ↦ 4084
  Lean.Omega.IntList.instNeg ↦ 845
  instHAdd ↦ 440
  instHSub ↦ 189
  Int.instMul ↦ 90
  Int.instAdd ↦ 31
  Int.instSub ↦ 29

Context
The linear_combination tactic in mathlib is suffering from performance issues, and handling terms that look like the example above seems to be part of the reason why it is so slow.
Steps to Reproduce

Copy the above code into the Lean web editor.

Expected behavior: Elaboration should be very fast
Actual behavior: Timeouts
Versions
4.11.0-nightly-2024-07-27 on live.lean-lang.org
Impact
Add :+1: to issues you consider important. If others are impacted by this issue, please ask them to add :+1: to it.

Yes, a simple way to avoid timeout is to split the expression into multiple functions or definitions.

@TwoFX @Kha The PR above has an analysis for this issue. With PR, it does not time. out anymore, but is still expensive. Simple workaround for much better performance: write x ^ (1 : Nat) instead of x ^ 1. The PR also makes this suggestion.

For a performance measurement, the example spends about 3% of the elaboration time inside the binop elaborator, and then I am guessing the rest of the time it is in the synthetic metavariable synthesis loop.
I thought about using withSynthesize at various points in the binop elaborator to eagerly use default instances, but default instances need to wait for additional type information in reasonable cases. For example, in the following you don't know that 2 : Float until after xs is elaborated, using the default instance coming from the HomogeneousPow Float instance. If we attempted default instances earlier, it would commit to 2 : Nat, leading to failure.
variable (xs : Array Float)
#check Array.map (fun x => x ^ 2) xs

One thing we could do to dramatically reduce the number of instance problems in this example is to re-use the elaborated functions when the types of both operands are known in toExprCore, using a cache keyed by operand types. This should be easy to implement and not change elaboration except for performance. I'll investigate.

In Heather's linear_combination examples, slow exponentiation dominates. Over at https://github.com/leanprover-community/mathlib4/pull/15599 I made a version of the tactic that fully elaborates exponents before passing expressions to the elaborator, which made it take 8% the time it used to.
We can't do this in general because we want to support HomogenousPow for Float applications. I think we could measure the performance impact of having binop fully elaborate exponents for mathlib, to see if it's worth thinking about redesigning how NatPow and HomogeneousPow work.


[Bug] crash when getting an answer from Qwen

🐛 Bug

I already try #2788 way to fix the problem，but it still doesn't work
Attached is the crash log I grabbed, my device is Google Pixel 7, Android 15
Google-Pixel-7-Android-15_2024-08-24_014644.log

Found a temporary solution to this crash, but it shouldn't be the final solution
add case kTVMArgBool: into jni_helper_func.h file's tvmRetValueToJava method switch to temporary handle this case

Same issue here, thank you @Kaneki-x , your solution works!

update the 3rdparty/tvm submodule to Fix boolean value conversion for Java commit will solve this problem


Chord to PDF

Hi,
Nice vscode extension, I would like to contribute, I think I could try this from the Feature list:

[ ] Export to PDF songbook

I have to investigate first how to develop a vscode extension.
I think we can use the chordpro command line tool for this, unless you have a different idea.

CC: @ricardomfmsousa

Hello @lporras, thank you!
All contributions are more than welcome, so feel free to start the challenge!
Actually I've looked into that a few months ago, and I was planning to start working on it, but currently time is not my friend and it failed me again...
I was planning on using a Node.js based solution because if you use the official CLI it means that you'll have to bundle all binaries for all OSes in order to have it working everywhere. This is really difficult maintain and would increase a bit the extension size.
I haven't explored this deeply, but here's an example to start from:
https://github.com/reverentgeek/charter
Cheers!


Use wrapt

the wrapt module provides some helper decorators for making class decorators that attach to all methods. we do some creepy stuff to make this work, so it'd be better to rely on a well-known implementation.

So last time we looked at this, we realised it's actually a bit hard to do, though it likely is the best way forward. I won't be even attempting this in the near future, but we can leave this open.

Yeah I tried once (unfortunately didnt seem to push the code anywhere so can't find it now). Had an implementation but still had some of the tests failing. So yes, this might be harder than it sounds.


Compilation issue

Got this error while I was working on k8s.io/client-go
Step 9/20 : RUN go get k8s.io/client-go/...
---> Running in b65f31c61861
github.com/googleapis/gnostic/jsonschema
/go/src/github.com/googleapis/gnostic/jsonschema/reader.go:32:12: undefined: baseSchemaBytes

I also have this problem...

Please run "go generate ./..." at the top level or build with the Makefile.
This function is in a file that's generated by jsonschema/generate-base.go


⚠ Bofrost.it has degraded performance

In c00bbd1, Bofrost.it (https://www.bofrost.it) experienced degraded performance:

HTTP code: 200
Response time: 3240 ms

Resolved: Bofrost.it performance has improved in 108c623 after 13 minutes.


Fix #1788 Add pre-commit to lint unit tests

PR Type

Bugfix Pull Request

Fix #1788
This adds a pre-commit verifier linter to run pre-commit on the
molecule unit tests.
Signed-off-by: David Brown<EMAIL_ADDRESS>

Thanks for this! Think we need some clarifying comments over at https://github.com/ansible/molecule/issues/1788 before moving ahead with this.

@webknjaz not sure what the deal is with the linting the output seems a bit weird to me... thoughts?

@dmlb2000 you can run tox -e format and just accept what yapf thinks is right :)

I'm open to persuasion but in the interest of a more stable v2.20, I'm pushing this to v2.21.
/cc @themr0c

Nice one @dmlb2000!
Can we also get a functional test in some Docker based scenario (the only one we have working reliably right now and can be run easily be a developer). Something in https://github.com/ansible/molecule/tree/master/test/scenarios oughta do it!

Is there some pipeline that's running this? I'm having trouble finding this in .travis.yml or tox.ini

@decentral1se @webknjaz if either of you two could re-roll the travis pipeline, I'm not sure that error is my fault.

Re-running, that build is quite flaky! Let's see ...

@decentral1se I'm unsure about this one, it would be nice to merge this.

@ssbarnea I believe I've fixed everything discussed in the comments, and I'm not sure what button I'm supposed to push to enable edits. I don't have any branch protections on my fork of the repository anyone should be able to push what they need there to edit things.

I am closing this because it was not updated in a very long time. Feel free to rebase it an raise it again once it passed.


Multiline Paste Warning should be Editable

Description of the new feature/enhancement

Teams and other programs often add Headers or additional text to the Copy/Paste. I propose we make the MultiLine Warning dialog editable so we can modify the contents prior to confirming the paste.
Proposed technical implementation details (optional)
I propose one of two solutions.

Add an Edit button to allow us to edit the contents of the paste.
Convert the text to a Textbox so we can Edit prior to confirming.

I am thinking a button can go right here.

Do you have largePasteWarning and multiLinePasteWarning set to false?
https://learn.microsoft.com/en-us/windows/terminal/customize-settings/interaction

Honestly that sounds like a great idea IMO if it's not too difficult to implement!

We discussed this today and we had the following concerns:

Text input fields in content dialogs might not work in XAML islands at all (especially on Windows 10).
The text in this dialog is currently truncated to around 5 lines IIRC. This is important as a user should be able to paste long strings of text, but XAML can't deal well with such long strings being shown on the screen. An additional edit button could be added to only opt into editing the pasted text if the user wishes to do so.

This would be great to clean up Teams banners too

@lhecker I think thats where I was hoping you would go with this.
Add a button to the UI, to crack open a mini editor of some kind (a dialogbox with text editing, and a confirm button)
This should hit all of the edge cases including xaml since UI's handle textbox elements differently than Text fields.
It doesn't need anything fancy (unless you want to XD) just something simple to edit a paste.
And of course the ability to turn the "edit" button on or off via config.


Reorg Auth Docs

[ ] Split out Authorization and Access Policies into 2 top level categories
[ ] Consolidate all the authentication methods into a single folder
[ ] Implement vercel server-side redirects to avoid broken links
[ ] Update "Auth Integration" docs with a decision guide on how to pick the right auth method
[ ] Update title "Okta Integration" to indicate that it's really "domain level integration"

@rahul1 assuming is also closed by https://github.com/medplum/medplum/pull/3074


Use Company Name of Table Information

Fixes the Drilldown of the Table Information Page to use the correct Company Name

@pri-kise Can you please also add a description to the pull request?

@pri-kise Can you please also add a description to the pull request?

Is this okay for you?

Yep :) All good.

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

@JesperSchulz I like it that this issue is fixed now in the system application, but it's a little bit disappointing for community contributions if they are only closed.
Maybe you will find some time in the near futureto transform this repository into a real product repository instead of a complicated mirror of microsoft's real repository.

This one should have gotten merged. Will do so. The issue is automatically closed, when our internal work items are closed - and while that is fine for issues, it's wrong for PRs. Will reopen and merge :-)
But to your other point: we're working on that! I hope that we will move our real repository out on GitHub within the next half year 🥳

Changes will ship with 20.4


arch: arm: enhance built-time rule to check for start addr alignment

Slightly enhance the build-time ASSERT rule for memory
partitions sanity on ARMv8-M platforms, to check,
additionally, for proper (32-byte) alignment of the start
address.
Signed-off-by: Ioannis Glaropoulos<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master   #13508   +/-   ##
=======================================
  Coverage    52.5%    52.5%
=======================================
  Files         318      318
  Lines       46529    46529
  Branches    10755    10755
=======================================
  Hits        24431    24431
  Misses      17199    17199
  Partials     4899     4899

Continue to review full report at Codecov.

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

@agross-linaro , please take a quick look at this one


Checkboxes not available from accessibility tools

Similar to https://github.com/lbryio/lbry.com/issues/1194 but on the desktop/lbry.tv side - got similar feedback that checkboxes can't be "read" - I only see their labels, and don’t know if they are checked or not.

This should be fixed.


JAMES-3753 Fix bugs in FlowedMessageUtils.flow()

Jira: https://issues.apache.org/jira/browse/JAMES-3753
I ended up rewriting almost all of FlowedMessageUtils.flow(). This implementation avoids creating temporary strings and fixes the bugs identified via fuzzing.

I also rewrote the deflow() implementation in a similar manner. Please feel free to copy the approach: https://github.com/k9mail/k-9/blob/d93f690c0e016e324c44abe36f8cf8fa32a39114/mail/common/src/main/java/com/fsck/k9/mail/internet/FlowedMessageUtils.kt (K-9 Mail is using the Apache License 2.0, too). I don't feel like porting the implementation to Java myself.


Models

Adds models and bgg-parser gem

Coverage increased (+0.35%) to 82.35% when pulling c7a9484177ca47873886635a8df3037c4571e0c2 on models into 86bdabe2e59ef06010848c10c0a42f10714e03e1 on master.


Port database.js to new DB structure

This is a first attempt to port database.js to new DB structure.
It seems we should implemented specific functions to create new package and return the new uuid.
@mauricioszabo take a look at it you too

Please, could you explain what getTotalPackageEstimate is needed for? Count of all packages?
We have a getUserByName function which returns a record looking by username. In order to work properly the username field must be unique even if it's not the primary key. The username could be modifiable, but still unique.
verifyAuth is getting the token from the database to verify the user, but for more safety it's better if we check also the username/uuid.
Anyway I wonder if verifyAuth is really needed. If we previously pick the whole record looking by the username, can we just test against the auth field rather than calling another function and doing another query?
We have to remember that downloads and stargazers_count as bigint are returned as string for compatibility with JSON.stringify (se here), so if we have to handle them, we will have to convert to Bigint.
I wonder if convertToUserFromDB is really needed. Can't we just use the object and properties returned from the DB?

@Digitalone1 these are all fantastic points

getTotalPackageEstimate is used by handlers/package_handler.js to return the total amount of packages, to provide the Link Headers on some requests, so we will want to keep it, or a sufficient function around.
As for getUserByName you are absolutely correct, and thats something that I didn't even consider. In that case, we should implement a constraint on the DB that all user names must be unique, and since at least for now, each username is based on the GitHub User name, GitHub is enforcing that for us, we will just have to check that it is during user creation, just in case.
For verifyAuth I am still wondering if we should forgo the use of any tokens in the backend, and expect the user to provide to use a PAT token for the GitHub account, so that we don't have to manage these keys. But that does cause concern with breaking OAuth functionality so thats a hard one to say, would love to hear any ideas on it.
As for if that is needed, the most common interaction for auth is just being passed the auth token, and finding the username via that field, since the username as far as I recall is never passed by a logged in user themselves, getUserByName is only used for /api/users/:login/stars which provides a username and expects their stars to be returned, in which case we never check the auth of the passed user, so we will still need verifyAuth in some form.
As for downloads and stargazers_count you are absolutely correct, although I wonder if we ever actually interact with those values now that we can let the DB sort with them, do we need to? Since I'd think we are now just returning those values directly to the end user. But if we do deal with them, we may want to implement a helper function to convert to bigint.
But lastly convertToUserFromDB is very pointless, before fully understanding the usage and returns from the DB, it was created, but now with a better understanding, knowing we can interact with these not as array objects, but standard objects in your implementation, we don't need to worry about that function. It was just made to avoid typing command[0].username like I had previously.

getTotalPackageEstimate is used by handlers/package_handler.js to return the total amount of packages, to provide the Link Headers on some requests, so we will want to keep it, or a sufficient function around.

No problem, so the current query is enough for it.

As for getUserByName you are absolutely correct, and thats something that I didn't even consider. In that case, we should implement a constraint on the DB that all user names must be unique, and since at least for now, each username is based on the GitHub User name, GitHub is enforcing that for us, we will just have to check that it is during user creation, just in case.

Well, not only at user creation, but also when the user wants to change his/her name. Luckily the constrain will prevent to store the same name twice. Otherwise, we can still have multiple same usernames, but the search by name won't work properly.

As for if that is needed, the most common interaction for auth is just being passed the auth token, and finding the username via that field, since the username as far as I recall is never passed by a logged in user themselves, getUserByName is only used for /api/users/:login/stars which provides a username and expects their stars to be returned, in which case we never check the auth of the passed user, so we will still need verifyAuth in some form.

I suppose the token is unique, so I will restore the previous version without the name.

As for downloads and stargazers_count you are absolutely correct, although I wonder if we ever actually interact with those values now that we can let the DB sort with them, do we need to? Since I'd think we are now just returning those values directly to the end user. But if we do deal with them, we may want to implement a helper function to convert to bigint.

Maybe there's a way to update them directly inside the SQL query, so luckily we wouldn't handle them by JS.

But lastly convertToUserFromDB is very pointless, before fully understanding the usage and returns from the DB, it was created, but now with a better understanding, knowing we can interact with these not as array objects, but standard objects in your implementation, we don't need to worry about that function. It was just made to avoid typing command[0].username like I had previously.

Okay, I will remove it.

@confused-Techie updated with some fix needed for the database structure and added new remove package functions.
Tomorrow I will try to make the migration script.
I have a question anyway. What do we need getPointerTable for? Is it really necessary?

Otherwise to answer your question about getPointerTable the idea there is to allow us to use the custom search features on the package names. Meaning we could collect an array of all package names via the table, run our search against each item and then we have a custom ranking of the packages, which we then in some way translate to returning the packages in that order. It may need some refinement but thats the basic idea
But if theres a better or especially simpler way you can think to implement this I'm not attached to that idea of functionality. Would just hate to lose the custom search engine thats been implemented. But if we do use this and testing shows the performance is terrible we could switch over to the native search of Postgresql

I don't remember at the moment, but which is this custom search engine?

Merging this PR, and opening an issue to continue discussion about the search features.


Warning: non-conforming DPX Total image file size (x17694)

Hello,
I've just started testing against version 21.01 on Mac:
rawcooked --version RAWcooked 21.01
and I receive this warning when using "--all":
`rawcooked --all input_dpx_files --output-name /output/path/outfile.mkv
Track 1:
input_dpx_files_%08d.dpx
(00000000 --> 00017693)
DPX/Raw/RGB/10bit/FilledA/BE
Warning: non-conforming DPX Total image file size (x17694).
At least 1 file is not conform to specifications.
Do you want to continue despite warnings? `
Does "DPX Total image file size" refer to the file size on disk?  If so, all files appear to be the same size on disk:
14934016
I'm glad to provide any additional info as needed.
Any help understanding this message would be appreciated.

It appears that the warning is generated via the --conch switch.
Testing against, rawcooked --info --check --hash --coherency --check-padding --encode, doesn't present the warning and encoding begins as expected.

Does "DPX Total image file size" refer to the file size on disk?

No.

It appears that the warning is generated via the --conch switch.

Because it is a conformance issue: the file can be parsed (else the encoder would have rejected it even without --conch), no problem, but some internal stuff is not conform to specification.
Example of trace of a DPX file:
000000 Generic section header (1664 bytes)
000000  File information (768 bytes)
000000   Magic number:                         SDPX
000004   Offset to image data:                 65536 (0x00010000)
000008   Version number of header format:      V2.0
000010   Total image file size:                5804032 (0x00589000)
000014   Ditto Key:                            0 (0x00000000)
000018   Generic section header length:        1664 (0x00000680)
00001C   Industry specific header length:      384 (0x00000180)
000020   User-defined header length:           512 (0x00000200)
000024   FileName:                             0000001.dpx
000088   Creation Date:                        2016:12:20:11:35:06:GMT
000294   Encryption key:<PHONE_NUMBER> (0xFFFFFFFF)
000298   Reserved for future use:              (104 bytes)
[...]

Here, the value at offset 0x10 of your file should be same as the real file size (the byte size of my sample file is 5804032, so it matches), and the warning is there because it is not. It may be due to some extra (opaque) data after image data or a bad (= non conforming) DPX writer.
Or maybe our conformance checker is buggy, but I have doubts there and I can not check without a sample file.


[MM-23162] Remove unnecessary dimension and orientation dispatches

Summary
setDeviceOrientation and setDeviceDimensions used to get called on any navigation change (e.g. modal launches) and triggered multiple needless dispatches.
Ticket Link
MM-23162
Device Information
This PR was tested on: Android 11 (OnePlus 5)

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/4385
https://circleci.com/gh/mattermost/mattermost-mobile/4384

Artifact links:
https://4385-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://4384-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa


Replace InitApp - not 32bit compatible

The InitApp Utility (relocatable code) seems to contain some 26bit code. Feed it to Armalyser and tidy up the mess.
Or see if we can replace InitApp with a more standard IconSprites command.
We may still need InitApp if we want to do a !ClearV_PD (public domain reader) release - though I can't see that now we're OSS.

According to Rachel in https://www.riscosopen.org/forum/forums/1/topics/15189?page=1#posts-101134 -- InitApp crashes on the Pi 3+.
Replace it with a few lines in !Boot / !Run, IconSprites and Set ClearView$Dir.


Add support for sklearn 0.20.x, closes #76

Note: 0.20 is planned to be the last Python2-compatible release
Closes #76

👍  thank you!


Updated twitter and facebook accounts @Microsoft365Dev

Category

[x] Content fix
[ ] New article
[ ] Example checked item (delete this line)

What's in this Pull Request?

Microsoft made some changes to their social channels. For the latest news and learning on #Microsoft365dev follow our twitter and facebook accounts @Microsoft365Dev
They will stop posting to #OfficeDev March 31, 2020.

Thx @PrasadKasireddy, appreciated.


feat: chat interface autoscroll

resolves #704
@amanape @808vita @rbren
I implemented the same autoscroll feature in the chat interface as in Jupyter #1656 , but it conflicted with the mock typing effect, so I created a PR without the typing effect.
I have implemented the following features:

When the user is scrolling to previous content, display a "To Bottom" button while disabling autoscroll.
Upon clicking the "To Bottom" button, scroll to the bottom, enable autoscroll, and hide the "To Bottom" button.
When the user manually scrolls to the bottom, enable autoscroll and hide the "To Bottom" button.
Remove the mock typing effect.(Because implementing this feature elegantly with the typing effect was challenging for me, at amanape's suggestion, I removed typing effect and created this PR. Additionally, I believe that when we implement streaming in the future, we won't need to modify the code to make it compatible.)

https://github.com/OpenDevin/OpenDevin/assets/33391300/0d7fb084-e130-4b8c-9daf-1310f8c849c4

Regarding the "Continue" button: Show the "To Bottom" button when the user is browsing previous text, and only display the "Continue" button when the user has scrolled to the bottom and is in the "awaiting user input" state.

@amanape , it'd be nice if you could take a look!

I'm ok with that approach!

@amanape @neubig
Thanks for your review!
Should I remove the useTyping-related code? Keeping it in the code without using it might cause confusion.

@Shimada666 Yes I missed that. We can remove it on the PR that adds a new replacement (e.g., 3 dot indicator)


Add a reminder to thank contributors

Hi Warehouse team,
It's been a couple of months since I pulled up the site. It looks awesome! Thank you @nlhkabu @dstufft and all the contributors. I can't wait for official launch :cake: :tada: :bouquet:
Feel free to close this issue or add to the launch milestone (just in case you need a reminder of how thankful others are for your work).
Carol

Thanks @willingc !! A big shout out also to @di who has been making some great contributions recently.