fix: digest confusion at high load

fixes #583

Fixes #
Description

it seems that as of v2.5.0 digest confusion can occur

a referenced image gets the digest of another image assigned and admission request is patched accordingly
causes deployments potentially falsely allowed, but failing due to broken request patching

the root issue appears to be unexpectatly related to updating a class variable inside concurrent futures / asyncio
the class variable is removed and inputs are passed into the concurrent tasks, results returned and then used to update the resuts

Checklist

[x] PR is rebased to/aimed at branch develop
[x] PR follows Contributing Guide
[ ] Added tests (if necessary)
[x] Extended README/Documentation (if necessary)
[x] Adjusted versions of image and Helm chart in values.yaml and Chart.yaml (if necessary)

Codecov Report

Merging #589 (3d298eb) into develop (faef473) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #589      +/-   ##
===========================================
- Coverage    96.68%   96.68%   -0.01%
===========================================
  Files           22       22
  Lines         1177     1176       -1
===========================================
- Hits          1138     1137       -1
  Misses          39       39

Impacted Files
Coverage Δ

connaisseur/validators/cosign/cosign_validator.py
99.27% <100.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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


Modularize Pug Mixins

The pug Mixins are currently only split between two files (_htmlelements.pug and _rolltemplate_mixins.pug). These should be modularized more to make it easier to work on discrete sets of mixins.
Proposed mixin modules:

_attrHolders.pug: to hold the basic input/textarea/select mixins
_buttons.pug: to hold the various button mixins
_fieldsets.pug: to hold the fieldset mixins
_functions.pug: to hold the helper functions
_script.pug: to hold the various script mixins
Modules for each complicated construction (e.g. a _headedTextarea.pug and _adaptive.pug for the headed textarea construction and adaptiveInput/adaptiveTextarea mixins respectively

The v0-1-0-dev branch's organization should complete this.

Modularization is now complete.


Can't login to grafana

using all by instructions unable to login to grafana with admin/admin - Invalid username or password
Ubuntu 16.04 prereqs are ok

remove :
- grafana_data:/var/lib/grafana

@rapIsKal are you still experiencing issues with this?

@rapIsKal I'm closing this due to inactivity, if you continue to have an issue please open a new issue.

admin/prom-operator


Update single products

The main code to update a single product at a time by merging the changed product into the rest of the project.
"Garbage collection" happens by following links to see what articles and images are no longer referenced.
Substantial new testing/debugging infrastructure with mocked temporary directories and mocked HTTP responses to EasyDITA.
Images are no longer flattened to a single directory because that was just inconvenient and error prone, especially with authors publishing on different schedules now.
Some blackify-ing crept into one testing file in the commit "New tests for utility functions."

@dextermilo : Yes I believe this is all backwards compatible with full bundles and forwards-compatible with partial bundles.
It doesn't take advantage of the changes you told me about in WLMA yet. I still need work from Mark on that part. The HTML files don't label the products they came from yet.

@dextermilo I will of course do everything I can to validate the backwards compatibility in Staging.

@prescod something to discuss tomorrow:

"Garbage collection" happens by following links to see what articles and images are no longer referenced.

You probably have a good reason, but I may not be thinking it through completely and I am not sure how valuable following links is for us. For one thing according to Carol, many references to other articles will become full URLs of the article in the Hub rather than managed references within a product. For another, what does this help us figure out beyond the existence of an HTML with a UrlName?

@dextermilo Some context on the style changes... in our other projects we are using the black autoformatter for Python, which I really like because it removes the need to debate style preferences (you can have any style as long as it's black). Totally agree it should be introduced to the codebase at once in a separate PR. @prescod already owned (in his final comment in this PR description) that applying it to some code here was an accident.

@davisagli @prescod yeah, now I understand this comment:

Some blackify-ing crept into one testing file in the commit "New tests for utility functions."

My ask for you and @prescod is to please make clean commits and avoid just staging the entire file without reviewing hunks. Working with you guys I will add another item, "please disable black for this project or perform style updates first." :)
Also, to be clear, I am as guilty of these types of commits as anyone.

My ask for you and @prescod is to please make clean commits and avoid just staging the entire file without reviewing hunks. Working with you guys I will add another item, "please disable black for this project or perform style updates first." :)

Sure, in my defense, Black has asked me to rewrite every single file in this project and its handiwork only slipped through once. Most likely I saw red squigglies in my IDE and I ran the "normal command" to "fix the red squigglies". And then I got a little bit lazy and committed instead of reverting and making a separate cleanup PR later.
Honestly: you didn't review the previous PRs so I didn't expect you to review this one. It was only David's time that I was intending to waste.
But yes, I do understand why this is a bad practice to be avoided. I would love it if I could get the IDE to only fix lines that have already changed but this would involve a level of integration between Black and VSCode which probably doesn't exist.

You probably have a good reason, but I may not be thinking it through completely and I am not sure how valuable following links is for us.

My operative assumption is that every live knowledge article is referenced by an "index file". That's an assumption that Mark N. confirmed is safe. If there's an article.html just floating in space without being referenced then it's safe to infer (given current system design) that it is an obsolete file that wasn't published from EasyDITA anymore. That's why this technique is comparable to "garbage collection."

@davisagli @dextermilo Updated PR notes at the top of this page.

@dextermilo : I think the most egregious time sink in the current code is the function which downloads every old image to compare it to the new images and decide whether to update the new images. So yes, I think that there is dramatic room for performance improvement but I tried not to change algorithms very much because it is a slippery slope to rewriting the whole thing. I think that the right thing to do is to highlight to Jon and the docs team that there is tremendous room for performance improvement in the app and they can decide with Jason and Kevin whether to allocate some time to do that. I will look at specific suggestions of yours to see which ones constitute "low hanging fruit" though.

I tried to do all major changes on sub-branches but some minor stuff was done on the branch you already reviewed.


Use SAM for Authorization

Feature Request
Talk to FireCloud SAM for authorization for sharing workflows.
For now, this can only be for FireCloud users.

Stand up an instance for local development and CI. Will need to worry about certs.
Add permissions UI
Invoke SAM to share
Invoke SAM to verify if a user is authorized on the appropriate method calls.
Call SAM to get a list of shared workflows with the user.
Create PR for SAM adding new resource type and roles.

In the case that SAM is difficult to standup in the way we standup postgres, elastic search. It may be worthwhile deciding on some endpoints and mocking-out the return (and/or creating a few tests that demonstrate how the UI will interact with them). Then we can implement the GUI ahead of properly integrating with SAM

This issue is complete enough to be closed in favour of more specific issues for sam related work.


Does lm-evaluation-harness support AWQ quantized model testing?

Hi I noticed that Harness supports models that quantized with GPTQ, but it seems that Harness is not sympathetic to AWQ quantized model. Is there any solution to gauge the accuracy of AWQ quantized model with different evaluation dataset? Thanks

Hello! I believe that this is now supported, via vllm 's AWQ features, in the big-refactor branch (upcoming version release).
Is there other AWQ or other quantization libraries that are often used, that you would want to see supported?

Hi @milliemaoo , I don't know if VLLM supports GPTQ quantization yet. (https://docs.vllm.ai/en/latest/models/engine_args.html#cmdoption-quantization)
If they don't support it, we don't support it yet either. If it's a recent addition, you can set vllm's quantization option via, for example, --model vllm --model_args quantization=awq, and should be able to use GPTQ via vllm with this flag.


chore(eslint): enable quotes: ["error", "single"]

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Chore
What is the current behavior? (You can also link to an open issue here)
Quote type is not validated; most of the codebase uses single quotes but random places use double quotes.
What is the new behavior (if this is a feature change)?
String delimiters are enforced to be single quotes everywhere except the e2e tests generated by dgeni.
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[z] The commit message follows our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Other information:
Most of this PR has been auto-generated via eslint . --fix; examples had to be fixed manually, though as we can't autofix JSDoc.
--
The quotes rule had to be disabled for e2e tests generated from ngdoc
because dgeni templates use double quotes as string delimiters.
Since we can't have guarantees that dgeni template wrappers will follow
the same JS code style the Angular 1 repo uses, we should find a way
to enforce our ESLint setup only for the parts in this repo, perhaps
via prepending a generated /* eslint-enable OUR_RULES */ pragma.

LGTM


Add detailed UI to schema swap workflow.

This change adds the detailed indication of everything schema swap is doing. I
consider this UI (in particular the set of nodes) is final, though interaction
between them will change a little when I add good error processing.

LGTM


Enhancement for :785- Enhancement in videoplayer

Description
Enhancement in videoplayer
Fixes # (issue)
Default, Video, Youtube added
How Has This Been Tested?
Design System> Elements> Video Player> Check for stories
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@hemalatagaikwad : Updated


dimmer() on a child element

I would like to use the dimmer() function to on a child element. For example a 'card' component, I would prefer to have the dimmer be set when hovering anywhere on the card, but only dim the image in the card. I cannot seem to figure out how to do this. when I use dimmer on the card, it dims the whole card. and I don't see any options to determine which element gets dimmed

Hi @z1haze,
That’s basic jQuery, here’s the demo: http://jsfiddle.net/efp8z6Ln/482/
Thank you for posting, but although it’s a valid usage question, we’ve limited GitHub Issues to bug reports and feature requests, keeping the board more manageable for maintainers; see the contributing guidelines for more information on what kind of posts should find themselves into the GitHub Issues board.
To get answers or feedback that might allow you to repost this issue, please use one of our other support resources:

Gitter chatroom
Official forums
StackOverflow

Thank you for taking the time to explain this.


⚠ Bofrost.at has degraded performance

In 4507d02, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2079 ms

Resolved: Bofrost.at performance has improved in b579d60 after 13 minutes.


Add support for VT OSC copy-to-clipboard

Summary of the Pull Request
Able to copy contents to system clipboard by using VT OSC 52.

References
Closes #2946.

PR Checklist

[x ] CLA signed. If not, go over here and sign the CLA
[x ] Tests added/passed

Validation Steps Performed
Open the Windows Terminal, and execute:
# Copy simple text.
# `foo` will be copied to clipboard.
$ echo -en "\e]52;foo\a"

# Copy multiple lines.
# `foo\r\nbar` will be copied to clipboard.
$ echo -en "\e]52;foo\r\nbar\a"

/retest

Don't know why the CI failed. The error is:
src\renderer\dx\BoxDrawingEffect.h#L10
src\renderer\dx\BoxDrawingEffect.h(10,10): Error C1083: Cannot open include file: 'IBoxDrawingEffect_h.h': No such file or directory (compiling source file ..\Window.cpp)

But I didn't touch BoxDrawingEffect.h. It seems that BoxDrawingEffect.h was introduced serveral days ago by 70867df077e03a8ac5d4b230e28d64f90e08045e, which depends on the auto-generated  IBoxDrawingEffect_h.h (ignored by git). On my local machine, IBoxDrawingEffect_h.h is generated.

Completed a quick manual test to check the proposed copy to clipboard functionality in relation to my needs. Works exactly as expected :)
I've been looking forward to this functionality for quite a while, really hope it can make it into 1.0.
Being new to this project here are the steps I followed in case anyone wants to verify/reproduce my manual test:

Clone https://github.com/uzxmx/terminal
Clone submodules: git submodule update --init --recursive
Built with powershell Import-Module .\tools\OpenConsole.psm1 followed by Set-MsBuildDevEnvironment then Invoke-OpenConsoleBuild
Opened Visual Studio 2019, set build mode for CascadiaPackage project to Release and x64
Started the project then in the ensuing terminal used the echo -en "\e]52;foo\a" examples outlined in the PR to confirm expected text is placed on the standard windows clipboard.

I haven't been able to test yet, but I think the big target software here is:

Terminal Muxers

[ ] tmux
[ ] tmate (a fork of tmux with selfhosted shared web + ssh host)
[ ] mosh

Editors

[ ] vim
[ ] emacs

Chromium has an folder with osc52 scripts for both editors and a quick shell script to test under tmux/tmate: https://github.com/chromium/hterm/tree/master/etc
This gist may help in configuring tmux/tmate:

@hh  Agree with you. The reason I made this PR is that I really need to rely on this feature when I ssh into a vagrant box.
Considering you mentioned tmux and vim, I also want to share some of my experiences. Actually without OSC 52 support, I've already been able to copy to and paste from windows system clipboard when using tmux and neovim.
My environment is:  Windows Terminal + Ubunt WSL + Nvim (only in WSL enough) + Tmux.
The core principle is to pipe text to clip.exe (provided by Windows system) and get clipboard contents by a get-from-clipboard executable (Windows system hasn't provided) or some command from powershell. It works the same way as pbcopy/pbpaste in OSX system.
Unlike vim, Nvim provides clipboard providers, so we can easily add a custom provider. Here are the reference for nvim and reference for tmux configuration in my dotfiles repo. This article gives more details on that and it also summarizes serveral WSL tricks.
But without  OSC 52 support, it's impossible to do that on a remote machine.

This is incorrect:
echo -en "\e]52;foo\a"

OSC 52 takes two arguments, the first of which is the clipboards to set (empty default).

The text must be Base64-encoded.

Take a look at: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
Ps = 5 2  ⇒  Manipulate Selection Data.  These controls may
          be disabled using the allowWindowOps resource.  The parameter
          Pt is parsed as
               Pc ; Pd
          The first, Pc, may contain zero or more characters from the
          set c , p , q , s , 0 , 1 , 2 , 3 , 4 , 5 , 6 , and 7 .  It is
          used to construct a list of selection parameters for clip-
          board, primary, secondary, select, or cut buffers 0 through 7
          respectively, in the order given.  If the parameter is empty,
          xterm uses s 0 , to specify the configurable primary/clipboard
          selection and cut buffer 0.

          The second parameter, Pd, gives the selection data.  Normally
          this is a string encoded in base64 (RFC-4648).  The data
          becomes the new selection, which is then available for pasting
          by other applications.

@nicm
Thanks for pointing out that information. Really helpful. I referenced tmux's OSC 52 implementation, and finished adding base64 mechanism to make it conform to the standard.
@zadjii-msft
Changes have been made. Please have a look. Currently, the first parameter Pc is ignored. So it always uses the system clipboard.
When the parameter is neither a valid base64 string nor ?, the standard says the selection is cleared. So would you suggest we clear the content of the system clipboard?
Another question is should we implement below in this PR? Actually I tried to experiment, but have no success. I didn't find the event hook when a newline for shell prompt e.g. > appears, or something that's called ready to accept user input, or some function to feed some string after a new prompt. If this feature is required, could you give me some guidance?
If the second parameter is a ? , xterm replies to the host
with the selection data encoded using the same protocol.  It
uses the first selection found by asking successively for each
item from the list of selection parameters.

So, the question about supporting clipboard query: I don't think we should. It's generally regarded as a security boundary issue if an application, especially a remote one, can silently request a read from your clipboard. We'd need to build up some infrastructure to make sure that that operation is permitted before we add support for it!
It's very good that this pull request only adds the clipboard overwriting half :smile:

@zadjii-msft  I think I've finished the requested changes. Is there any other change that needs to be made?

Hey sorry for the delay! The whole team was a bit randomized for the last week due to Build and Memorial Day (here in the US). I'll look over this right now ☺

@msftbot make sure @DHowett signs off on this

Sorry, I’m running behind on my mails. Quick concern: I’m not sure we should be adding a dependency (even a header dependency) from the shared components (VT parser, for example!) to WinRT things. That code is ingested directly into the version of conhost.exe that ships in Windows!
Sorry if that’s not the case here- I may be looking at an old set of comments in my inbox :) if Mike already addressed this, as well, not a problem!

(Conhost is at a lower level than a bunch of WinRT things, and doesn’t have any dependencies other than GDI and COM and stuff. We may want to have a team chat about dependency risk here! It might be fine, but we have to choose to cross that bridge explicitly.)

The WinRT dependency is included to decode base64 string. If that dependency is not allowed because of dependency risk, I may add a custom base64 encode/decode implementation in VT parser. If so, please let me know.

I honestly don't know how acceptable that is. I certainly don't mind, it's not like we're adding any of the XAML headers, that would blow up the compilation times. What I'm wary about it making sure this works in the (closed source) Windows build correctly as well. I don't know off the top of my head, @DHowett might but it'll probably be a little while before he's freed up to investigate. Thanks for your patience ☺

If you want a Win32 API, you can always use CryptStringToBinaryW. It's part of the crypt32 dll, so I don't know if that's more acceptable?
Just note that the decoder is fairly strict, so if we want to be XTerm compatible, we'll need to do a bit of preprocessing to remove any invalid chars and pad to an appropriate length (I don't know if the WinRT one is any better in that regard). In the end it might just be easier to roll your own.

If you want a Win32 API, you can always use CryptStringToBinaryW. It's part of the crypt32 dll, so I don't know if that's more acceptable?
Just note that the decoder is fairly strict, so if we want to be XTerm compatible, we'll need to do a bit of preprocessing to remove any invalid chars and pad to an appropriate length (I don't know if the WinRT one is any better in that regard). In the end it might just be easier to roll your own.

I did a quick check and CryptStringToBinaryW and Windows::Security::Cryptography::CryptographicBuffer.FromBase64String end up in different algorithms for decoding the text. I thought it might go to the same place deep under the hood, but it doesn't.

@DHowett @zadjii-msft To move this feature forward, I removed the WinRT dependency and added custom implementation of base64 decoding that conforms to standard base64 with padding properly (for completeness, encoding is also added). The main idea was borrowed from tmux base64 implementation.
In the future, if we prefer a Windows API for base64, then we can replace in no time.
Please have a review. Thanks!

Thanks. Really sorry for the delay on my side :smile:

@DHowett Updated!


Using forceSave = true, and cache = true can lead to save conflicts

If the document is updated out-of-band, the cached value becomes stale, and save operations end up in conflict.
save("foo", {"key", "value"}, callback);
Database.prototype._save = function (id, rev, doc, callback) {
        ...
        ...
        // PUT a single document, with an id (Create or Update)
        if (id) {
            // Design document
            if (/^_design\/(\w|%|\-)+$/.test(id) && !('views' in doc)) {
                document.language = "javascript";
                document.views    =  doc;
            } else {
                document = doc;
            }
            // Try to set the '_rev' attribute of the document.
            // If it wasn't passed, attempt to retrieve it from the cache.
            rev && (document._rev = rev);

            if (document._rev) {
                this.put(id, document, callback);
            } else if (this.cache.has(id)) {                  //<<<<<< OVER HERE >>>>>>
                document._rev = this.cache.get(id)._rev;      //<<<<<< OVER HERE >>>>>>
                this.put(id, document, callback);             //<<<<<< OVER HERE >>>>>>
            } else {
                // Attempt to create a new document. If it fails,
                // because an existing document with that _id exists (409),
                // perform a HEAD, to get the _rev, and try to re-save.
                this.put(id, document, function (e, res) {
                    if (e && e.headers && e.headers.status === 409 && options.forceSave) { // Conflict
                        that.head(id, function (e, headers, res) {
                            if (res === 404 || !headers['etag']) {
                                return callback({ reason: 'not_found' });
                            }

                            document._rev = headers['etag'].slice(1, -1);
                            that.put(id, document, callback);
                        });
                    } else { callback(e, res) }
                });
            }
        // POST a single document, without an id (Create)
        } else {
            this.post(doc, callback);
        }
    }
};

Also, sometimes the _rev value from the document in the cache itself is empty, which leads to save conflicts as well.
Seems that the logic should skip the cache all-together for save operations when forceSave is true. Or alternatively, intercept the 409, and take the opportunity to update the cache, and re-try the PUT request one more time.
I've worked around it for now by disabling the cache.

:+1: ref: #225


[TACHYON-733] Eliminate javadoc warnings in clients module

https://tachyon.atlassian.net/browse/TACHYON-733

+1 LGTM

@fanshiqing Thanks for the patch! If you describe about the @see tag is true, can we move the reference in the general description of the method. We do want to give a pointer to developers on how the dummy stream should be used.

@ooq Thanks for your review! It's sure that we can move that reference into the general description of the method, but the generated link in HTML by javadoc  just can't be reached, for the method this description pointed to is not a public or protected one, which will not be included in generated javadoc. We may move the description from javadoc annotation to common java comments "//".

@fanshiqing So this information is useful for Tachyon developers, similarly as why we would also javadoc the private/package-private methods, and I also believe there is a way to let javadoc include private methods if we want. If the linking throws warning when we compile the javadoc, maybe just put it in plaintext? You can also point out it's a package-private method. Probably better to put in the javadoc description as opposed to "//" as the latter makes formatting inconsistent.  Thanks!

@ooq Truly what you described is useful for developers. I will add the description back to javadoc. This will not bring out javadoc compile warnings, it will just creat an unreachable link in generated HTML doc. Thanks!

LGTM

@fanshiqing Thanks for the update!


Fix str vs. bytes error in Python bindings for ALTS.

It looks like nobody ever created ALTS redentials from Python with a list of accepted service accounts before.
Simple reproduction:
import grpc
grpc.alts_channel_credentials(None)  # works
grpc.alts_channel_credentials(['foo'])  # fails

Without this change, generates this error:
[...]
  File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 414, in _cython.cygrpc.channel_credentials_alts
  File "src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi", line 403, in _cython.cygrpc.ALTSChannelCredentials.__cinit__
TypeError: expected bytes, str found

(And the error cannot be worked around by the caller by passing a bytes
object from the Python side: you still get the same error.)

Thank you for the fix!


Replace Kanal5play with Dplay.

Replaces Kanal5play with new site Dplay.se. Also adds a HLSDownloader package since using cookies with ffmpeg was too troublesome. Sites using ffmpeg now use the HLSDownloader.

Was thinking of doing HLS Download myself, BBC started using it for some downloads. BBC are also doing MPEG-DASH. get_iplayer already supports HLS for BBC downloads.
Have a few, little things, recovery is start from beginning by unlinking file, some downloads could be large, maybe an improvement for later to allow restart from segment reached.
Might need to set binary mode on the file, could be issues on Windows adding characters. Needs some checking, if I can find a running Windows machine. Move open outside loop, and set binmode.
Quality - can also select another form not just high/medium/low. This could be site specific. Assumes only three BANDWIDTH's maximum, for > 3 something like this replace bitrate_index
my $cnt = scalar keys %urls;
my $min = {high=>$cnt, medium => int(($cnt+1)/2), low =>0}->{$perf->{$quality}};
$min //= $cnt;
urls could be https:// for .ts files being downloaded. Could result in http://.....https://....., match either http:// or https://
Thanks for the update.


Shouldn't grep be included in get_information.txt instead?

Hi,
You have included grep in the file basic_terminal.txt. Shouldn't this command rather be in get_information.txt?
1.) grep --after-context=8 "guacamole" salads.txt > avocado_love.txt
looks for guacamole in the file salads.txt and writes the following 8 lines to the file avocado_love.txt
stitched

Please do not work on it yet. I need it as an illustration next week.

No it shouldn't. It's a basic command. get_information should contain good tutorials, books, ... about command line.

Then I probably didn't explain my intention with this file in the wrong way. I intended commands like find and grep to go here.
Do you know helpful books about command line commands for beginners?


Failed to deserialize data of EventHeaderV4

Describe the bug(Please use English)
A clear and concise description of what the bug is.
Environment :

Flink version :  1.13.6
Flink CDC version:  2.2.1
Database and version: mysql 8.0.26

To Reproduce
Steps to reproduce the behavior:

Thes test data :
The test code :
The error :

Additional Description
If applicable, add screenshots to help explain your problem.

Duplicated to #432.

Closing this issue because it was created before version 2.3.0 (2022-11-10). Please try the latest version of Flink CDC to see if the issue has been resolved. If the issue is still valid, kindly report it on Apache Jira under project Flink with component tag Flink CDC. Thank you!


Could not find method compile() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Build/Submit details page URL
https://expo.dev/accounts/arnav_123/projects/lbnapp_new/builds/e943fe77-3997-40c2-abd7-e2385e2bb9b0
Summary
Program works fine when i run npx expo start, but during gradlew build throws this error:
[stderr] FAILURE: Build failed with an exception.
[stderr] * Where:
[stderr] Build file '/home/expo/workingdir/build/node_modules/react-native-picker/android/build.gradle' line: 25
[stderr] * What went wrong:
[stderr] A problem occurred evaluating project ':react-native-picker'.
[stderr] > Could not find method compile() for arguments [directory 'libs'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Lines throwing the error:
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.facebook.react:react-native:+'
changing compile to implementation doesn't work, in fact, no matter what i do to build. grade, its rebuilt so i can't make any changes.
Managed or bare?
managed
Environment
expo doctor:
🎉 Didn't find any issues with the project!
expo-env-info 1.0.5 environment info:
System:
OS: macOS 12.0.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.17.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/bin/yarn
npm: 9.1.2 - ~/lbnapp_new/node_modules/.bin/npm
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
IDEs:
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
npmPackages:
@expo/webpack-config: ^0.17.0 => 0.17.3
expo: ^46.0.16 => 46.0.17
react: 18.0.0 => 18.0.0
react-dom: 18.0.0 => 18.0.0
react-native: 0.69.6 => 0.69.6
react-native-web: ~0.18.7 => 0.18.10
npmGlobalPackages:
eas-cli: 2.8.0
expo-cli: 6.0.8
Expo Workflow: bare
Error output
No response
Reproducible demo or steps to reproduce from a blank project
add   "react-native-picker": "^4.3.7", run npm install, then eas build.

Why do you think this is a problem with EAS Build? EAS Build cannot build your project if you cannot build it locally.
Try the following:

npx expo prebuild
Build the project in Android Studio.

Myy program built totally fine locally so it had me trapped, but i ultimately realized the problem was with react-native-picker, and was able to solve it. Sorry to bother you

Myy program built totally fine locally so it had me trapped, but i ultimately realized the problem was with react-native-picker, and was able to solve it. Sorry to bother you

how you fix that, i got some issues with react-native-pick

Myy program built totally fine locally so it had me trapped, but i ultimately realized the problem was with react-native-picker, and was able to solve it. Sorry to bother you

how you fix that, i got same issues with react-native-picker

@rinaldycodes there was some outdated syntax in my version, so I created my own fix.
react-native-picker@https://github.com/Arnav7501/react-native-master-picker.git

For me, I replaced the version number with this link in package.json and the yarn/npm lock file, and then it worked


BLD: Caches conda pkgs in travisci

Closes #104

Caches conda packages.
Uses pytorch-cpu since travis-ci only has cpus for testing.

Removes pip cache because the pip cache changes even when tabulate is the same. This invalidates the current cache and saves the entire cache again, including the 880mb miniconda cache. Removing the pip cache saves about 100s.
Removes the url.txt file for the same reason.
Removes the *.tar.bz2 files to reduce the cache size. I have tried removing the decompressed folders, but this causes conda update -q conda to take ~200s to complete.

Without the a cache, the ci tests takes 9.5 minutes to complete. With the cache, the ci tests takes 4.5 minutes to complete.

LGTM. Thanks!


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.9 to before v5.15.7",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=142639a52a01e90c512a9a8d2156997e02a65b53",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=83e54fcf0b14ca2d869dd37abe1bb6542805f538"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "142639a52a01e90c512a9a8d2156997e02a65b53",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "83e54fcf0b14ca2d869dd37abe1bb6542805f538",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "drm/msm/a6xx: Allocate enough space for GMU registers\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.15.7 by commit 83e54fcf0b14ca2d869dd37abe1bb6542805f538, it was introduced in version v5.9 by commit 142639a52a01e90c512a9a8d2156997e02a65b53. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002569


Bump Istio head

istio-head does not bump generated istio yaml automatically ass https://github.com/knative-sandbox/net-istio/blob/f92596ff8ae2b2a2b37def30944bb234561c91b4/hack/update-codegen.sh#L64-L66
this patch bumps istio-head manually.
/assign @dprotaso

We are testing istio-1.11 by istio-head now :fearful:

/lgtm
/approve
We should figure out how to document what version we're bumping to.
Also related - maybe we should bump to some notable pre-release and not HEAD. ie. bump to a latest nightly release on a Friday.

/test pull-knative-sandbox-net-istio-latest
pull-knative-sandbox-net-istio-latest is required=false, why it is not merged :thinking:

Ah, I see. @dprotaso Could you please approve via github? /approve does not work on knative-sandbox :sweat_smile:

/check-cla

There’s no CLA label which is weird

Hmm... Another PR also does not have the CLA label https://github.com/knative-sandbox/net-istio/pull/829


Arabic numerals aren't considered numerals

Versions:

VueJs: #.#.#
Vee-Validate:

Description:
when typing arabic numerals '٠١٢٣٤٥٦٧٨٩' in a field that has numerical validation it's not accepted.
I would appreciate it if someone knows a way around this.

There are multiple ways to handle this:
You can force the validator to validate a computed property that converts the Arabic numerals to English:
https://jsfiddle.net/logaretm/kaaq0n2k/
Or you can create a custom validator that accepts both which is the better approach in my opinion. I might add support in the next version for Arabic numerals.

@logaretm
The Arabic '٠' doesn't get converted!
My browser: Chrome on MacOS.
I would appreciate it if someone could help me with that.

Support was added for the numeric rule only if someone is willing to PR for other numeric rules that would be great. I will add them gradually over time.


Updated SECURITY.md to fix error 404 for CodeSonar link

Checklist (Please check before submitting)

[x] I reviewed the Contributing Guide.
[x] I signed and emailed the appropriate Contributor License Agreement to<EMAIL_ADDRESS>and copied<EMAIL_ADDRESS>
Describe the contribution
The URL has been updated in the markdown to redirect to the correct page for CodeSonar. The problem has to do with CodeSonar's page no longer being available on Grammatech and being moved to CodeSecure. It will no longer display a 404 error.
Testing performed
Steps taken to test the contribution:

Changes are reflected as expected in the markdown doc.
The URL in the markdown document now redirects to the appropriate page as seen.

Expected behavior changes
The URL should now redirects to the expected page.
System(s) tested on

Hardware: N/A
OS: N/A
Versions: N/A

Additional context
N/A
Code contributions
The cFS repository is provided to bundle the cFS Framework.  It is utilized for bundling submodules, continuous integration testing, and version management and does not contain any software.  Code contributions should be directed to the appropriate submodule.
Contributor Info - All information REQUIRED for consideration of pull request
Vineeth B V (Personal)

Note CLAs apply to only software contributions.

FIXES #811


AWS Redis Cluster not working

It was running fine on local machine but not working on production as i am using AWS redis cluster there. Although It is showing "✔  Listening for redis events..." .
L A R A V E L  E C H O  S E R V E R
version 1.6.0
Starting server...
✔  Running at localhost on port 6001
✔  Listening for http events...
✔  Listening for redis events...
Server ready!
Unhandled rejection ReplyError: MOVED 12302 SOME_IP:6379
at JavascriptRedisParser.returnError (/usr/lib/node_modules/laravel-echo-server/node_modules/ioredis/lib/redis/parser.js:24:25)
at JavascriptRedisParser.execute (/usr/lib/node_modules/laravel-echo-server/node_modules/redis-parser/lib/parser.js:572:12)
at Socket. (/usr/lib/node_modules/laravel-echo-server/node_modules/ioredis/lib/redis/event_handler.js:107:22)
at Socket.emit (events.js:321:20)
at addChunk (_stream_readable.js:297:12)
at readableAddChunk (_stream_readable.js:273:9)
at Socket.Readable.push (_stream_readable.js:214:10)
at TCP.onStreamRead (internal/stream_base_commons.js:186:23)

same here any solution?

@mohamadchoker are using laravel broadcasting or caching ?

@razibchamp broadcasting

Laravel broadcasting doesn't support redis cluster. I used local redis in EC2 instead of aws redis cluster.

@razibchamp are we sure about that ? trying to connect with remote redis server with laravel echo server?


Add inspector support to protocolHandler

Fixes #1567
Uses feedback on #1601
Changes

Add support for bfemulator://inspector.open

Open emulator in debug mode
Open emulator and connect to bot in debug mode
Add test for inspector.open, refactor test for livechat.open

I can confirm this feature works on a distribution build of the Emulator for Mac:

Verified as well on Windows. 👍


Update build configuration

The build configuration of this project is outdated and may no longer work.
This pull request will be merged automatically if there are no conflicts.

:tada: This PR is included in version 3.0.18 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error retrieving information from server [DF-DFERH-01] when calling requestPurchase

Version of react-native-iap
3.2.3
Version of react-native
0.59.9
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
RNIap.requestPurchase('valid.sku'); should allow users to buy products in production
Actual behavior
A popup showing Error retrieving information from server [DF-DFERH-01] keeps appearing after clicking on the Buy now button
Tested environment (Emulator? Real Device?)
Real Devices (Samsung Galaxy J7 and Pocophone)
Steps to reproduce the behavior
call RNIap.requestPurchase after proper initialisation:
await RNIap.initConnection();
const purchases = await RNIap.getAvailablePurchases();

I guess my products, store and test users are fine as everything was working before moving to react-native-iap 3.2.3

@emilioicai I think you should upload new apk if you had the previous version.

@hyochan I did, I was trying from an alpha track with a test user. Anyway, suddenly it started working on its own. For anyone having this issue: I think google play takes a while to process apps switching from billing 1.X to billing 2.X, if you are seeing the DF-DFERH-01 error just wait some hours (8 in my case) and try again.
thanks @hyochan !


Tooltip refactoring

some minor refactoring,plus a possible solution to focusIn glitch (as @XhmikosR pinpointed )
Preview : https://deploy-preview-32523--twbs-bootstrap.netlify.app/docs/5.0/components/tooltips/

@GeoSot thank you very much for digging into this! That being said, can you please split the fix for #32372 to a separate PR?
While testing this patch I notice that indeed the #32372 issue is fixed, but there are cases the arrow momentarily shows up in the wrong direction:

I've reverted the possible fix and left the others here

@rohit2sharma95 I am glad, this request was approved. But can we ensure the 'this' scope thing? (maybe on another request)
We all know by theory, it has to be the same scope on arrow functions, but firefox debugger can be lying?

@rohit2sharma95 I am glad, this request was approved. But can we ensure the 'this' scope thing? (maybe on another request)
We all know by theory, it has to be the same scope on arrow functions, but firefox debugger can be lying?

True, wired behavior on firefox (Not getting the reference while hovering over this) :smile:
But if you see the previous method in the call stack, you will find the context for this (in the dist file). Notice _this5 in the image below:

True, wired behavior on firefox (Not getting the reference while hovering over this) :smile:
But if you see the previous method in the call stack, you will find the context for this (in the dist file). Notice _this5 in the image below:

So, basically, the only logic change is that in toggle() method, context didn't have the extra check:
-context = Data.getData(event.delegateTarget, dataKey)
+context = context || Data.getData(event.delegateTarget, dataKey)

I don't suppose this could cause any issues?

So, basically, the only logic change is that in toggle() method, context didn't have the extra check:
-context = Data.getData(event.delegateTarget, dataKey)
+context = context || Data.getData(event.delegateTarget, dataKey)

I don't suppose this could cause any issues?

@rohit2sharma95 any thoughts about https://github.com/twbs/bootstrap/pull/32523#issuecomment-762228981?

@rohit2sharma95 any thoughts about https://github.com/twbs/bootstrap/pull/32523#issuecomment-762228981?

The second parameter is optional in _initializeOnDelegatedTarget method. So still the second expression (Data.getData(event.delegateTarget, dataKey)) is being used for the toggle method. LGTM :+1:

The second parameter is optional in _initializeOnDelegatedTarget method. So still the second expression (Data.getData(event.delegateTarget, dataKey)) is being used for the toggle method. LGTM :+1:


Create a logo for Open Collective

Would be nice.

I could do that maybe?

I think the complete lack of activity on Open Collective means there are largely better uses for everyone's time. Thanks, though.


Add reporting rate limitation to global page.

The global page is missing the reporting rate limitation statement ("These results are impacted by changes in testing effort, increases and decreases in testing effort will increase and decrease reproduction number estimates respectively (see Methods for further explanation)."). Add for the next update.
From: https://twitter.com/DogOfPoasts/status/1246869025855963136

Done in dev


@conda-forge-admin, please rerender

@conda-forge-admin, please rerender
... intrigued on why this package is only available on OSX when the only platform being skipped is Windows :-S

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I rerendered the recipe in conda-forge/lftp-feedstock#4.

Oh, no. Now I see the sprinkled #win, non #win and so on in the different build dependencies :/


With v-model.trim on custom component, trimmed value does not flow back to the component

Version
2.3.4
Reproduction link
https://jsfiddle.net/p8dvkqmb/32/
Steps to reproduce
Originally, I had a textarea with v-model.trim on it. This worked great! However, I added extra fancy controls to the textarea and decided to make a custom component so I can reuse and share it easily.
After this, I noticed two odd behaviours:

As the title says, if you type "a" and unfocus/focus the textarea in the custom component, the whitespace is still there, it's not trimmed. With my old plain textarea, an unfocus/focus clears the extreaneous whitespace.
In the parent component, the variable that holds your text is trimmed correctly. So it seems that v-model.trim on a custom component does trim the value that comes with the "input" event from within the component, but the trimmed value does not flow back to the child component through the value prop.
Another strange behaviour is that when you type "ab" and remove the "b", the extra whitespace is instantly trimmed. This can be annoying when typing and using backspace when you make a typo. The "plain" textarea does not have this behaviour when using v-model.trim on it.

What is expected?
When implementing a custom component containing a textarea that supports v-model as the docs describe and using v-model.trim on it the behaviour of the textarea should match that of using v-model.trim on a plain textarea.
What is actually happening?
The textarea within the custom component has different behaviour than a plain textarea. Specifically, the trimmed value is seen by the parent component that uses v-model.trim on the child component, but the trimmed value does not flow back to the child component. You can see that after unfocus/focus the whitespace is still there, while with a plain textarea it will be trimmed.
Additionally, when you type "ab" and remove the "b", the remaining whitespace is instantly removed, which is annoying behaviour when typing and using backspace to correct a typo for example, while the original plain textarea does not have this behaviour.

This is indeed some special handling that is only present in native v-model.
The basic idea is that when you type the whitespace, the parent value gets updated to the trimmed value. This triggers an update from parent to child. However because the textarea in the child is still in focus, the update is blocked. Then when you blur the input, no update happens because the parent value is already trimmed so the system thinks nothing has changed.
You can easily simulate the native behavior with an extra @blur="$forceUpdate()" on the textarea in your custom component.

@yyx990803 Thanks for your answer! The @blur="$forceUpdate()" does indeed fix my issue of the whitespace still showing in the custom component. The part where "a(some whitespace here)b" -> remove "b" -> instantly trims all whitespace so only "a" remains happens is still there, but I can live with that.

@ThomHurks did you find a solution for the backspace issue?

@tegola I did not, the quirk is there in my application to this day and no one has noticed. I think users don't often make a typo directly after a space, but more often make a typo in the middle of a word. If you mistype the first letter of a word (after a space) and then delete it, the space before it will be deleted too. I think you can still fix it, and I might try this myself, by just not using v-model on such components but by "rolling your own" and making it a prop that syncs with some custom code for trimming it before sending out the input event.

@ThomHurks unfortunately one of our users noticed, that's why I'm looking for a fix.
Actually, my component doesn't event use v-model.trim. I wanted every textbox to be trimmed without specifying it in every binding, so I added a trim prop to the component.
Here's a stripped down version:
<template>
  <input type="text" :value="value" @input="onInput" @change="onChange">
</template>

<script>
export default {
  props: {
    value: [String, Number],
    trim: {
      type: Boolean,
      default: true
    }
  },

  methods: {
    onInput(event) {
      const value = event.target.value;

      this.$emit('input', this.trim ? value.trim() : value);
    },

    onChange(event) {
      const value = event.target.value;

      this.$emit('change', this.trim ? value.trim() : value);
    }
  }
}
</script>

Its behavior, though, looks identical to v-model.trim: backspace-ing the last char also removes any space before it.
@yyx990803 I know this is an old thread, but maybe there's something we're missing here?

Yeah, it's a bit weird isn't it. As @yyx990803 says:

However because the textarea in the child is still in focus, the update is blocked.

But this doesn't seem to be the case when deleting characters; when you delete a character and some whitespace was present before the character, then the whitespace is trimmed immediately in the input control even if the input is still in focus. I don't completely understand the mechanics of that.
Anyway, what does seem to solve it is don't update on the input event but only on the change event. I'm still using v-model, so in my component I now have this:
model: {
            prop: 'myCustomValueName',
            event: 'change'
        }

and
:value="myCustomValueName" v-on:change="$emit('change', $event.target.value)" v-on:blur="$forceUpdate()"

and then on the parent I use:
v-model.trim="someText"

and then I have the following behaviour:

The value in the parent is always trimmed
The value in the child is trimmed after blur.
When deleting a character, any preceding whitespace is preserved because it doesn't send an event to the parent immediately.

However, the value in the parent does lag behind, so if you display the value somewhere else too there's no 1:1 correspondence immediately with what you're typing. In my case that's no objection though.
@tegola does that solution work for you too?

@ThomHurks changing v-model configuration does indeed help:
model: {
  event: 'change'
}

I would have loved to keep the input event at least with trim: false, so with something like this:
model: {
  event: this.trim ? 'change' : 'input'
}

Alas, this doesn't work. I'll keep just the change event, but the fact that normal inputs handle backspaces just fine bothers me.
Thanks for your help!

Yeah, the 'change' event is only one right v-model trim/number behaviour.

@tegola @ThomHurks so, i have done it with @input, with replicate v-model code, but only for input tag(),
so, if you wanna create another one you should replicate another models stuff.
Check gifs:
Instant/Delayed(default) value updates:

Instant/Delayed(default) value updates with local computed setter condition:

With numbers:

Also as you can see i go away on $forceUpdate calling. So, everything works fine, that's the first right v-model based custom component for inputs,
If someone can, create some article and describe this code, so, for future users and frameworks owners, coz now every article writing only about watch/props/model:{} but no one said about how we should do it right.

@m4heshd Yes.
<script setup lang="ts">
import { getCurrentInstance } from 'vue'

const instance = getCurrentInstance()

instance?.proxy?.$forceUpdate()
</script>

@lobo-tuerto oh gosh. A year later 😁. Yes I figured that out by just printing out the current instant. But as I remember, dev team said not to rely on that and to never use getCurrentInstance() in production other than for testing.

@m4heshd Yeah, you should rely mostly on :key attributes if possible. Or invalidating a computed property I guess.
Here is a nice article about forcing Vue to re-render: https://michaelnthiessen.com/force-re-render/


Const fn (RFC 911)

This might be stabilizing soon. Tracking issue is rust-lang/rust#24111.

Was done in #440.


[Bug]: Jest 28 fails on Immutable.List().filter toEqual comparison

Version
28.0.1
Steps to reproduce

Install latest immutable - (e.g. yarn add immutable@^4.0.0).

Create the following test file:
const { List } = require("immutable");
const numbers = List([1, 2]);

describe("test", () => {
  it("fails in Jest 28.0.1, passes in Jest 27.5.1", () => {
    const twos = numbers.filter((num) => num === 2);
    expect(twos).toEqual(List([2]));
  });
});

Run the file in Jest 28.0.1.

Expected behavior
I expect the test to pass, as it does in Jest 27.5.1
Actual behavior
The test fails with the following error:
```
 FAIL  ./example.test.js
  test
    ✕ fails in Jest 28.0.1, passes in Jest 27.5.1 (6 ms)

  ● test › fails in Jest 28.0.1, passes in Jest 27.5.1

    expect(received).toEqual(expected) // deep equality

    Expected: Immutable.List [2]
    Received: serializes to the same string

       5 | 	it("fails in Jest 28.0.1, passes in Jest 27.5.1", () => {
       6 | 		const evens = numbers.filter((num) => num === 2);
    >  7 | 		expect(evens).toEqual(List([2]));
         | 		              ^
       8 | 	});
       9 | });
      10 |

      at Object.toEqual (example.test.js:7:17)
```

Additional context
I see the same issue with immutable@^3 as well.
Other deep equality comparisons with ImmutableJS objects that you'd expect to pass, do pass in Jest 28:
const { List, Map } = require("immutable");

it("passes1", () => {
    expect(List([2])).toEqual(List([2]));
});

it("passes2", () => {
    expect(Map({ hello: "world" })).toEqual(Map({ hello: "world" }));
});

it("passes3", () => {
    expect(List([Map({ hello: "world" }), Map({ foo: "bar" })])).toEqual(
        List([Map({ hello: "world" }), Map({ foo: "bar" })])
    );
});

The only reliable one I can reproduce is when a List gets filter'd.
Environment
System:
    OS: macOS 10.15.7
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  Binaries:
    Node: 16.14.2 - ~/.nvm/versions/node/v16.14.2/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v16.14.2/bin/yarn
    npm: 8.5.0 - ~/.nvm/versions/node/v16.14.2/bin/npm
  npmPackages:
    jest: ^27 => 27.5.1

Bisecting, this was introduced in #8359.
@romellem would you be able to provide a PR fixing this? 🙂

I can definitely take a look. Thanks for tracking down the offending commit, I'll do some digging and see what filter is doing with entries compared a regular List.
Any ideas that are coming to mind?

Had some time to dig in, the problem is .filter (maybe other Collection methods too?) sets an ownerID on the _tail property whereas a direct List() does not. Since Lists are iterable, this path gets hit and eventually gets flagged as a difference.
List([1]).filter(v => v === 1)List([1])

I see there are checks for isImmutableUnorderedSet() and isImmutableUnorderedKeyed(). Could a fix for this be to check if the object isList via its '@@__IMMUTABLE_LIST__@@' key, and check its iterable values similar to what happens with a Set?

That sounds reasonable to me!


fix methods and tests

@flugg please merge this will fix major bugs

@flugg any update about ?

I'm sorry for the very late reply here. Not had much time to keep this project maintained and it's increasingly harder to find the motivation as I'm no longer actively working on any Laravel projects. Unfortunate that this bug has been left here for so long, I'll get it fixed


Please adapt to Chinese

When the cheat file contains Chinese, the navi interface will be misplaced when opened.

I believe this is fixed in master:

I'm not sure how to solve this. Apparently, a Chinese character is ~1.5x the size of a western character, so I don't see how padding will work in this case.


Multiple Errors Should All Be Echoed

Currently when multiple errors occur on a resource load, only the last is echoed. This can be recreated by causing an query failure, ie on insert to administrators with a mismatch between number of columns and number of values. In this case, the 2nd error is echoed, which is only an unhelpful generic query failure message.

I believe this was caused by a query failing inside of a transaction, and the pg_query_params call generating a warning. I squelched errors from that call and only the one error occurs now, resulting in the transaction rolling back and proper handling of the one error. It seems the error message is sufficient for debugging, but further testing would be good.


List the PackageIdentifier of the package to be added to automation
EdrawSoft.*
Details about the application
EdrawSoft.MindMaster
https://pc-api.wondershare.cc/v2/product/check-upgrade?pid=5375&client_sign={}&version=8.0.0&platform=win_x86
InstallerUrl: "https://cc-download.edrawsoft.cn/cbs_down/mindmaster_cn_$($Response.data.version)_full5375.exe"
PackageVersion: From installer
ReleaseNotes: $Response.data.whats_new_content

EdrawSoft.EdrawMax.CN
https://pc-api.wondershare.cc/v2/product/check-upgrade?pid=5374&client_sign={}&version=10.0.0&platform=win_x86
InstallerUrl: "https://cc-download.edrawsoft.cn/cbs_down/edraw-max_cn_$($Response.data.version)_full5374.exe"
PackageVersion: From installer
ReleaseNotes: $Response.data.whats_new_content

InstallerUrl should be obtained by building the URL directly instead of taking the one from the source.

Packages that use
"https://pc-api.300624.com/v2/product/check-upgrade?pid=${ProductId}&client_sign={}&version=${Version}&platform=win_x86"
or
"https://pc-api.wondershare.cc/v2/product/check-upgrade?pid=${ProductId}&client_sign={}&version=${Version}&platform=win_x86"

PackageIdentifier
ProductId
Version
Read ProductVersion from installer?

EdrawSoft.EdrawMax
5371
10.0.0
true

EdrawSoft.EdrawMax.CN
5374
10.0.0
true

EdrawSoft.EdrawMind
5370
8.0.0
true

EdrawSoft.MindMaster
5375
8.0.0
true

What about these packages?

EdrawInfo
EdrawProj
OrgCharting
ViewerComponent

@SpecterShell I see that the packages (I've mentioned in my previous comment) + CN packages  + sub-packages inside them - don't have version-specific installer URLs. Probably that's why you didn't include them in the list. So, can I close the issue now?

EdrawSoft.EdrawProj http://platform.wondershare.com/rest/v2/downloader/runtime/?product_id=5372
EdrawSoft.OrgCharting http://platform.wondershare.com/rest/v2/downloader/runtime/?product_id=5373
The other packages don't have update source or update feature.


⚠ Samsung has degraded performance

In 65b4626, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3300 ms

Resolved: Samsung performance has improved in 9c9351e.


ValuesPercentage param in df plugin not reporting data unless FSType rootfs is ignored

I also posted this to collectd but I figured it would be good for it to be documented here as well:
I was having an issue with certain mount points not reporting data from collectd. I thought it was because the partition was bound to another (ie /media on /bind type none (rw,bind)) and that might still be part of the problem. However I was able to fix it for now by adding the following to my config:
# ignore rootfs; else, the root file-system would appear twice, causing
# one of the updates to fail and spam the log
FSType rootfs
IgnoreSelected true

I would like to suggest this be added to the df plugin readme (even as a note) or even set rootfs to be ignored by default until the collectd team fixes the bug

It turns out that ignoring rootfs was not the solution.
Setting ReportInodes to false actually resolved the issue with the bound filesystem:
ReportInodes true


Doesn't seem to be working?

Sorry for the vague title, but that's the best I can say. I installed the plugin and then tried to use it, but it doesn't seem to do anything. So for example:
<title>{{ post.data.title | xml_escape }} {{ "ray link" | 'xml_escape' }}</title>

When output, the tags in the hard coded string are not escaped as I'd expect.

It seems to be correctly decoding entities but not the < and >.

According to https://www.rubydoc.info/gems/jekyll/Jekyll%2FFilters%3Axml_escape the output is this:
xml_escape('foo "bar" <baz>')
# => "foo "bar" <baz>"

For anyone else being bitten by this, I've created a branch that you can install from GitHub, with this in your package.json:
  "devDependencies": {
    "@11ty/eleventy": "^1.0.0",
    "eleventy-xml-plugin": "github:sentience/eleventy-xml-plugin#dist"
  }

The library is all wrong, it use decode from html-entities instead of encode. So it unescape. Just ignore the library that is useless and use html-entities directly:
const { encode } = require('html-entities');
module.exports = function(eleventyConfig) {
    // ... other config
    eleventyConfig.addFilter("xml_escape", function(str) {
        return encode(str, {level: 'xml'});
    });
};

THe library is only 4 lines of code that use obsolute version of html-entities anyway.

Sorry folks for not responding, I stepped away from open source for years. Just catching in, hope everyone got a way around it 🙏


⚠ Bofrost.at has degraded performance

In 3ef6c6d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1118 ms

Resolved: Bofrost.at performance has improved in 804e3a4.


Generating relative url with app context should not require SERVER_NAME

This is a pattern to generate the url to pass to the test client during testing, instead of writing out the url manually.
with app.app_context():
    url = url_for('foo', _external=False)

This currently fails if no SERVER_NAME is set, even though it's not needed for relative urls. url_for could be modified to support the case where there's only an app context and _external=False was passed. Instead of raising an error, create an adapter with a dummy server name, like localhost.
Documenting the pattern in the testing docs might be useful too.
Continued from #801.

On the other hand, having the developer set SERVER_NAME='localhost' during testing doesn't seem unreasonable. @untitaker thoughts?

Generating relative URLs shouldn't require a server name, but since not having a server name will probably break the app in other ways I see no reason to change it (especially as the patch for this -- creating a dummy server name internally -- isn't too pretty). As you say you can set the server name or use test_request_context when building the URL.


I am trying to evaluate the different json rules engine. Since this library uses AJV, how do you do a logical or/and? for example:
when :[
           {
               firstName: { is: { type: 'string', pattern: '^J' } },
          },
         {
                             firstName: { is: { type: 'string', pattern: '^A' } },
         }
]

I assume this is an AND operator right? how do you do an OR?

👋🏼  @hyusetiawan
From the README:
If **any** of the FactMaps in the object or array evaluate to true, the properties of the then clause of the rule are evaluated. If not, the otherwise clause is evaluated

So what you are assuming is a logical AND is actually a logical OR. when is an array of FactMaps and if ANY of those evaluate to true, then the engine will evaluate then.
You can leverage JSON schema to perform your logical and/or as well by using schema composition
So you can do this as well
{
  when: [
    firstName: {
       is: {
           oneOf: [
               { type: 'string', pattern: '^J' },
               { type: 'string', pattern: '^A' },
           ]
       }
    }
  ],
  then: {
      ...your actions
   },
   otherwise: {
      ...your actions
   }
}

Finally, this library DOES NOT use AJV. Although it is recommended that you should use AJV to create your validator

@akmjenkins ah gotcha,  It's clear now, thank you for the prompt answer!


sourcemaps tests run against previous build

As a result, a breaking change in one build, makes it impossible to get through to the next build as the tests fail, but the test/output.js file isn't updated.
We should also really be outputting this to test/output/output.js not to pollute the output folder.

Actually this was just a result of having test/output.js being seen as a test as it was in the output directory.


Use force_str instead of force_text

@funkybob Here's a less-invasive one...

force_text was deprecated in Django 3.0


[NNBD] checking for null of final instance variable doesn't work

This code should raises an unchecked_use_of_nullable_value error on the marked line. I think, the guarding if should be sufficient because the instance variable is final.
class Context {
  final Context? parent;

  Context(this.parent);

  int lookup(String name) {
    if (parent != null)
      return parent.lookup(name); // unchecked_use_of_nullable_value
    return 0;
  }
}

It's not enough to be final, the class has to be sealed (which there is currently no way to do).
Otherwise someone could write:
class MyNaughtyContext extends Context {
   Context? get parent => Random().nextBool() ? null ; super.parent;
}

and then your check is worthless.
A final static variable might be promotable, but an instance variable isn't. (And final static variables are usually not nullable.)
For now, Dart only promotes local variables, because it is absolutely certain it can see all reads and writes to the variable in the same file.

FWIW I think this is a very common question - maybe analyzer could make an effort to explain why the variable was not promoted even though it looks like it could be promoted?
[Ideally we should just prohibit overriding fields with getters - use cases for that are very marginal, but maybe the ship has sailed on that one. Something to consider for Dart 3.0?]

[The point of having getters at all is to remove the distinction between computed and field-backed properties, so you can switch between them seamlessly. Disallowing fields from being overridden, but not getters/setters would break that symmetry. I'd rather introduce sealed members than blanket disallowing perfectly reasonable getter/setter overrides based on the implementation choice.]

I now understand why the access to that field cannot be checked, but copying each and every value into a local variable is very cumbersome. Something like Swift's if let would be very useful in this context.

Absolutely would be useful to do a check+binding in one operation.
C# has if (e is Foo y) which binds y to the value of e with static type Foo, after checking that it has that type. I like that syntax, and it should be compatible with Dart.
No plans right now, though.


/health is returning incorrect HTTP status message

Hi,
On https://sensuapp.org/docs/0.25/api/health-and-info-api.html#health-get-specification /health is specified to return 204 (No Content) however it has started returning the HTTP status 204 No Response.
I believe this regression occurred in https://github.com/sensu/sensu/pull/1329/files#diff-38423adbb0ff4c5247b34ed86ea83dbcR254 as part of the 0.25 release.

Hi @brian-brazil, thanks for opening this issue. HTTP 204 is well documented elsewhere as "No Content" response, so I agree that this is a regression. We'll work to address this shortly.

Thanks!

Fix for this has been in Sensu 0.25.7


Dropbox not mounting

Hi, having the same problem repeatedly with mounting on my Chromebook; have uninstalled and installed a number of times but problem still persists.
When I click 'mount', the green dialogue box appears ('Attempting to mount instance...') and then very briefly the Dropbox login page flashes up.... before disappearing in a flash and I get a red dialogue box telling me 'Failed to mount Authorisation page could not be loaded.
Any advice please?
Thanks,
Alex

Similar problem here - I don't see a DropBox page pop up though - just the failure message

Same here, as per my comment on Issue #99.

Duplicated #120. Close this issue, and I treat this issue on the #120. Thank you for the reporting!


x/build: get Alpine builders passing

Thanks to @jessfraz's setting up an Alpine Linux builder (#17891), we now get to deal with more bugs, like this one:
https://build.golang.org/log/09a1850a53ff39d403984ecc8c29114ecd0a4109
--- FAIL: TestCgoPprofPIE (8.39s)
	crash_cgo_test.go:285: signal: segmentation fault (core dumped)
FAIL
FAIL	runtime	16.270s

@ianlancetaylor?

I feel like I know why this is happening... I can debug

https://github.com/golang/go/issues/18243

So it's because https://github.com/golang/go/blob/master/src/cmd/link/internal/amd64/obj.go#L70
ld.Thearch.Linuxdynld = "/lib64/ld-linux-x86-64.so.2"

on alpine this is:
ld.Thearch.Linuxdynld = "/lib/ld-musl-x86_64.so.1"

we should maybe have a way of using a different one? but alpine is not a GOOS so unsure what you all would want here

There are other failures following that failure as well. Details below.
I have a hunch this is because an #include <sys/types.h> is missing somewhere in runtime.

TestTestEmpty
--- FAIL: TestTestEmpty (1.82s)
    --- FAIL: TestTestEmpty/pkg (1.82s)
        go_test.go:260: running testgo [test -cover -coverpkg=. -race]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:289: go [test -cover -coverpkg=. -race] failed unexpectedly: exit status 2

TestTestRaceInstall
--- FAIL: TestTestRaceInstall (1.99s)
        go_test.go:260: running testgo [install -race -pkgdir=/tmp/gotest207241282/pkg std]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:289: go [install -race -pkgdir=/tmp/gotest207241282/pkg std] failed unexpectedly: exit status 2

TestGoTestRaceInstallCgo
--- FAIL: TestGoTestRaceInstallCgo (1.90s)
        go_test.go:260: running testgo [tool -n cgo]
        go_test.go:275: standard output:
        go_test.go:276: /usr/src/go/pkg/tool/linux_amd64/cgo

        go_test.go:260: running testgo [test -race -i runtime/race]
        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:289: go [test -race -i runtime/race] failed unexpectedly: exit status 2

TestGoTestRaceFailures
--- FAIL: TestGoTestRaceFailures (0.69s)
        go_test.go:260: running testgo [test testrace]
        go_test.go:275: standard output:
        go_test.go:276: ok      testrace        0.002s

        go_test.go:260: running testgo [test -race testrace]
        go_test.go:275: standard output:
        go_test.go:276: FAIL    testrace [build failed]

        go_test.go:279: standard error:
        go_test.go:280: # runtime/race
                race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*, unsigned long)':
                gotsan.cc:(.text+0x16e1): undefined reference to `__libc_malloc'
                race_linux_amd64.syso: In function `__sanitizer::GetArgv()':
                gotsan.cc:(.text+0x4543): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalRealloc(void*, unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7dd0): undefined reference to `__libc_realloc'
                race_linux_amd64.syso: In function `__sanitizer::ReExec()':
                gotsan.cc:(.text+0xed47): undefined reference to `__libc_stack_end'
                race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul,<PHONE_NUMBER>55328ull, 0ul, __sanitizer::SizeClassMap<3ul, 4ul, 8ul, 17ul, 64ul, 14ul>, 20ul, __sanitizer::TwoLevelByteMap<32768ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
                gotsan.cc:(.text+0x7438): undefined reference to `__libc_free'
                collect2: error: ld returned 1 exit status

        go_test.go:299: testgo failed as expected: exit status 2
        go_test.go:365: TestRace did not fail
        go_test.go:366: pattern FAIL: TestRace not found in standard output
FAIL

Lastly there is:
--- FAIL: TestGroupCleanup (0.00s)
        exec_linux_test.go:214: id command output: "uid=0(root) gid=0(root)", expected prefix: "uid=0(root) gid=0(root) groups=0(root)"
--- FAIL: TestGroupCleanupUserNamespace (0.00s)
        exec_linux_test.go:256: id command output: "uid=0(root) gid=0(root) groups=0(root),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody),65534(nobody)", expected one of ["uid=0(root) gid=0(root) groups=0(root)" "uid=0(root) gid=0(root) groups=0(root),65534(nobody)" "uid=0(root) gid=0(root) groups=0(root),65534(nogroup)" "uid=0(root) gid=0(root) groups=0(root),65534"]
FAIL

which I can open a CL to fix

Should we run the Alpine builder with CGO_ENABLED=0 perhaps?

@bradfitz That seems reasonable until we have a fix for #18243.

I'm slightly repurposing this bug.
There are existing bugs tracking fixing actual Alpine problems, such as:
#18243 -- internal linking broken
#14481 -- race doesn't work
This bug is only about getting the builders in "ok" state, even if that means temporarily disabling some tests.
To that end, I just tried setting GO_EXTLINK_ENABLED=1 on the Alpine builder in https://go-review.googlesource.com/c/41798/ but that seems to have caused a new error:
https://build.golang.org/log/a3288076e1057e053548837886fb064f2cf5d921
--- FAIL: TestSimpleDeadlock (60.10s)
	crash_test.go:106: testprog SimpleDeadlock exit status: exit status 2
	crash_test.go:205: output does not start with "fatal error: all goroutines are asleep - deadlock!\n":
		SIGQUIT: quit
		PC=0x454a31 m=0 sigcode=0

		goroutine 0 [idle]:
		runtime.futex(0x787990, 0x0, 0x0, 0x0, 0x0, 0x7fb672d977c0, 0x0, 0x0, 0x7ffeae1c2008, 0x40e211, ...)
			/tmp/workdir/go/src/runtime/sys_linux_amd64.s:422 +0x21
		runtime.futexsleep(0x787990, 0x0, 0xffffffffffffffff)
			/tmp/workdir/go/src/runtime/os_linux.go:45 +0x62
		runtime.notesleep(0x787990)
			/tmp/workdir/go/src/runtime/lock_futex.go:150 +0x81
		runtime.stopm()
			/tmp/workdir/go/src/runtime/proc.go:1637 +0xe5
		runtime.findrunnable(0xc42001c000, 0x0)
			/tmp/workdir/go/src/runtime/proc.go:2092 +0x5c7
		runtime.schedule()
			/tmp/workdir/go/src/runtime/proc.go:2212 +0x134
		runtime.park_m(0xc420000180)
			/tmp/workdir/go/src/runtime/proc.go:2275 +0xb6
		runtime.mcall(0x7ffeae1c21a0)
			/tmp/workdir/go/src/runtime/asm_amd64.s:276 +0x5b

		goroutine 1 [select (no cases)]:
		main.SimpleDeadlock()
			/tmp/workdir/go/src/runtime/testdata/testprog/deadlock.go:39 +0x20
		main.main()
			/tmp/workdir/go/src/runtime/testdata/testprog/main.go:34 +0x1da

		goroutine 17 [syscall, locked to thread]:
		runtime.goexit()
			/tmp/workdir/go/src/runtime/asm_amd64.s:2349 +0x1

		rax    0xca
		rbx    0x787880
		rcx    0x454a33
		rdx    0x0
		rdi    0x787990
		rsi    0x0
		rbp    0x7ffeae1c1fd0
		rsp    0x7ffeae1c1f88
		r8     0x0
		r9     0x0
		r10    0x0
		r11    0x286
		r12    0xc420096fa3
		r13    0x8
		r14    0xffffffffffffffff
		r15    0x8
		rip    0x454a31
		rflags 0x286
		cs     0x33
		fs     0x0
		gs     0x0
--- FAIL: TestInitDeadlock (60.00s)
...
(same)
...
panic: test timed out after 3m0s

I guess the external linker disables deadlock detection?

I cleared the four builds from the dashboard built with GO_EXTLINK_ENABLED=1.
They're now all back to failing with:
https://build.golang.org/log/4d41ef62d744100b3271757b084f95166abddbb5
##### ../misc/cgo/test
unexpected fault address 0x7fb6ae1a9b90
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7fb6ae1a9b90 pc=0x7fb6ae1a9b90]

goroutine 19 [running]:
runtime.throw(0x5dc6d5, 0x5)
        /tmp/workdir/go/src/runtime/panic.go:596 +0x95 fp=0xc420046768 sp=0xc420046748
runtime.sigpanic()
        /tmp/workdir/go/src/runtime/signal_unix.go:355 +0x282 fp=0xc4200467b8 sp=0xc420046768
created by _/tmp/workdir/go/misc/cgo/test.runTestSetgid
        /tmp/workdir/go/misc/cgo/test/setgid_linux.go:26 +0x6f

From local changes with go test -v, I see that crash is from === RUN   TestSetgid

And if I skip TestSetgid, it just moves to a few tests later:
##### ../misc/cgo/test
=== RUN   TestSetgid
--- SKIP: TestSetgid (0.00s)
        setgid_linux.go:40: temp skip
=== RUN   Test6997
--- PASS: Test6997 (0.50s)
=== RUN   TestBuildID
--- PASS: TestBuildID (0.00s)
=== RUN   Test9400
unexpected fault address 0x7f38ab094af8
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7f38ab094af8 pc=0x7f38ab094af8]

goroutine 9 [running, locked to thread]:
runtime.throw(0x5dc739, 0x5)
        /tmp/workdir/go/src/runtime/panic.go:596 +0x95 fp=0xc420046768 sp=0xc420046748
runtime.sigpanic()
        /tmp/workdir/go/src/runtime/signal_unix.go:355 +0x282 fp=0xc4200467b8 sp=0xc420046768
created by _/tmp/workdir/go/misc/cgo/test.test9400
        /tmp/workdir/go/misc/cgo/test/issue9400_linux.go:30 +0xa2

/cc @mwhudson

How can I reproduce this? (no promises, but I might be able to have a quick poke at it)

gomote if you have access (email me if not) or run all.bash in an Alpine Docker container: https://github.com/golang/build/blob/master/env/linux-x86-alpine/Dockerfile

Regarding the TestSetgid and Test9400 crashes, here's my understanding of the issue:

Go requires all signal handlers to use SA_ONSTACK to execute on an alternate stack. See #9400, https://golang.org/pkg/os/signal/ and http://man7.org/linux/man-pages/man2/sigaltstack.2.html for more information.
setxid requires a lot of special care for multithreaded programs on Linux.  musl uses SIGRT_2 (34) as SIGSYNCCALL to perform setxid across multiple threads. See https://ewontfix.com/17/ and http://git.musl-libc.org/cgit/musl/tree/src/thread/synccall.c
musl does not set SA_ONSTACK (and SA_RESTART), which means the signal will be executed on a very small go stack, which will likely overflow, and then cause a SIGSEGV
unlike glibc, the handler is installed only when required, which means the go runtime will not be able to patch the handler flags, so a code change in musl is required.  I have not found any trivial workaround.

Alt. A: Increasing stack guard area
As a temporary workaround, it is possible to set/increase the guard area by setting _StackSystem = 2048 in src/runtime/stack.go, or maybe even higher.
--- a/src/runtime/sigtab_linux_generic.go
+++ b/src/runtime/sigtab_linux_generic.go
@@ -50,7 +50,7 @@ var sigtable = [...]sigTabT{
        /* 31 */ {_SigThrow, "SIGSYS: bad system call"},
        /* 32 */ {_SigSetStack + _SigUnblock, "signal 32"}, /* SIGCANCEL; see issue 6997 */
        /* 33 */ {_SigSetStack + _SigUnblock, "signal 33"}, /* SIGSETXID; see issues 3871, 9400, 12498 */
-       /* 34 */ {_SigNotify, "signal 34"},
+       /* 34 */ {_SigSetStack + _SigUnblock, "signal 34"}, /* SIGSYNCCALL; see issue 19938 */
diff --git a/src/runtime/stack.go b/src/runtime/stack.go
index 562427a..4eb3368 100644
--- a/src/runtime/stack.go
+++ b/src/runtime/stack.go
@@ -65,7 +65,8 @@ const (
        // to each stack below the usual guard area for OS-specific
        // purposes like signal handling. Used on Windows, Plan 9,
        // and Darwin/ARM because they do not use a separate stack.
-       _StackSystem = sys.GoosWindows*512*sys.PtrSize + sys.GoosPlan9*512 + sys.GoosDarwin*sys.GoarchArm*1024
+       _StackSystem = sys.GoosWindows*512*sys.PtrSize + sys.GoosPlan9*512 + sys.GoosDarwin*sys.GoarchArm*1024 + 2048 // TODO: conditional on cgo + musl?

I assume this is not something we want, even if it could be made conditional on cgo+musl.  It does seem to work, but test9400 would also need an update:
	issue9400_linux.go:55: entry 756 of test pattern is wrong; 0x7ff92884d045 != 0x123456789abcdef

Alt. B: Modifying musl
If I modify musl to
./src/thread/synccall.c:	struct sigaction sa = { .sa_flags = SA_ONSTACK|SA_RESTART, .sa_handler = handler };

this test case does not crash.
There are probably more handlers in musl which needs a look, for example:

src/time/timer_create.c
src/thread/pthread_cancel.c
and perhaps
src/process/posix_spawn.c

Do we think it would be reasonable for musl to use SA_ONSTACK|SA_RESTART by default, or might that break other programs?  Are there any other alternatives that will not break other programs?  One idea I have is that we might be able to set SA_ONSTACK|SA_RESTART on the relevant handlers with SIG_DFL, and then request that musl changes behaviour and check for that property on these signals, and reuse the same flags on its own handler.  I believe musl clobbers the handler anyway, so it should not break any existing behaviour.
PS!  To get this error message to print: fatal error: unexpected signal during runtime execution, I had to make some changes, but I do not know if they are safe.
diff --git a/src/runtime/signal_unix.go b/src/runtime/signal_unix.go
index e0ea724..c20528e 100644
--- a/src/runtime/signal_unix.go
+++ b/src/runtime/signal_unix.go
@@ -326,10 +326,13 @@ func sigtrampgo(sig uint32, info *siginfo, ctx unsafe.Pointer) {
 // the signal handler. The effect is that the program will act as
 // though the function that got the signal simply called sigpanic
 // instead.
+//go:nosplit
 func sigpanic() {
        g := getg()
        if !canpanic(g) {
-               throw("unexpected signal during runtime execution")
+               systemstack(func() {
+                       throw("unexpected signal during runtime execution")
+               })
        }

        switch g.sig {

The use of SA_RESTART is not too important (but see #20400) but every signal handler in a Go program must use SA_ONSTACK.  Since SA_ONSTACK does nothing if the thread does not call sigaltstack, and since a thread that calls sigaltstack presumably wants to actually use it, I think it would be reasonable for musl to use SA_ONSTACK when it temporarily installs a signal handler.  Of course, I am not a musl maintainer.

I'm not entirely opposed to using SA_ONSTACK for the implementation-internal signals, but also cautious, as it means the signal handlers may end up running on an application-provided stack rather than the main one. The signal handlers in musl themselves use very little stack space, so the culprit causing the crash is almost certainly the kernel saving sigcontext, which can be very large on some archs. Could you post to the musl mailing list explaining the issue so we can discuss it somewhere the musl community sees and has an opportunity to give feedback if there are concerns about SA_ONSTACK?

What is the current status on this? The cgo issues discussed above are also (partially?) discussed in #39857. I think the related discussion on the musl ML is https://www.openwall.com/lists/musl/2020/08/09/1 (@richfelker has there been any update on this?).
I am a contributor to Alpine Linux. At Alpine we simply run the Go testsuite as ./run.bash -run='!(^cgo_test$)', i.e. we disable the cgo tests (due to #39857). Maybe it would be possible to do that on on official Go Alpine runner as well in the meantime (i.e. until this aforementioned issue is addressed in musl) to catch stuff like #51787 earlier in the future? (:

The current status is that the Alpine builder is still disabled and no one is working on that, I think.
The original Alpine builder config is here: https://github.com/golang/build/tree/cb8d385252287910555c8d2d9a058ea17e0e921a/env/linux-x86-alpine
The code that keeps it disabled is here: https://github.com/golang/build/blob/3ce827870238fe4179c5505312493a9e99f7704e/dashboard/builders.go#L1601
If there's some interesting in reviving in, the first steps would be (if the team in charge of the build infrastructure agree) to see if it works and send patched re-enabling it. This is the easy part. Then keep it green and passing. This is the hard part.

:arrow_up:


Configuration value disappearing on Vault restart

When creating a VaultApplication that inherits the `MFiles.VAF.Extensions.ConfigurableVaultApplicationBase', the following behaviour occurs:

If a Configuration property is defined with a value that's the default value, that property disappears on Vault restart.
(Whether it's defined by name, alias id, etc.).

Why is this a problem?
Even though the VAF is working effectively (using the default value)

Mainly: **M-Files Admin displays a local error "A value is required" and this message cannot be fixed by configuration or development (if the value is mandatory, i.e. not marked "AllowEmpty").

There is no way to distinguish between a default value and a real null value.

There is no way to quickly "fix" a VAF via configuration if (for example) there is a bad configuration like this

[DataMember, MFClass, JsonConfEditor(DefaultValue = "CL.MyClass")]
public MFIdentifier MyClass; // dev forgot to actually put the default value here

Note:
If the VAF extends the default `MFiles.VAF.Core.ConfigurableVaultApplicationBase' then this behaviour disappears completely.
Example:
    [DataContract]
    public class Configuration
    {
        [DataMember, MFClass, JsonConfEditor(DefaultValue = 0)]
        public MFIdentifier Test1 = 0;
    }

and configuration
{
    "Test1": "0"
}

After reboot:
{ }

Wow, that was a quick answer, thank you.
To provide more information :
This became an issue when, after upgrading dependencies for some existing VAFs (one with huge configuration), errors started to pop up in the M-Files Admin.
After lots of testing, I've just this morning understood what was causing it AND that the VAF behaviour was actually not endangered. So, to be honest, part of the issue was the time needed before having an answer to provide.
Part of the issue, too, is that the customer started to notice disappearing values in the configuration, and asked us to fix that (without me being able to answer).
I'm soon look at the information you provided, to better understand the pros and cons. I'm pretty confident now that it'll be ok.
That said :
About "AllowEmpty" : I'm not entirely sure yet if "AllowEmpty" is the good one, because i'm still struggling between "AllowEmpty=true", "Required=false" and "JsonConfEditor(IsRequired=false)". I had issues hiding some of those errors in the customer's VAF, so it was an 80% fix. I will continue my testing and, if i find a 100% fix, i'll stick to it.
Default value:
Practically speaking, a default value IS a value, whereas a null value is, well, "== null". I've used defaults to give customers the least amount of configuration, but the most options. I've used the manual null value to inhibit behaviour.
Now i'll recon it's a design flaw on my part.
Quick fix:
I agree with you that the best fix is on the member itself, in the VAF. Though the most efficient one, it's also the slowest one. When trying to bring a prod quickfix while sharing desktop and voice with the customer, it's ... annoying.
Now that i know why and how this is happening, i can manage.
Thank you for the answer.
Oh: maybe having a hint somewhere, like in the log, on what's causing configuration modification, could be a good help to people investigating.
We do have other disappearing values for another customer, but they're not default values so it's different. I won't develop here, but i'll use what you learned me.
Have a nice day,
Cyril

I definitely take some of your points onboard.  I think the below should happen:

We should have better documentation around AllowEmpty/Required/etc.  If you have specific examples which have tripped you up then please contact me via email (firstname.lastname at the company domain, which I am sure you know).
The automatic upgrade process should use the logging framework to log that it ran, maybe with a link.  It cannot state what exactly was dropped, but it can state that it ran which may be good enough for people to at least query what it is.

I will try to get these done in Q1.
In addition, please keep me updated around the other values.  Let's see what's happening there, either via here or via other mechanisms.  Also note that we have a forum where you can comment if "issues" here aren't appropriate: https://community.m-files.com/groups-1602070992/developers/

A quick note that, after some discussion internally, we are proposing that the configuration upgrading becomes opt-in.  The PR for this change is here: https://github.com/M-Files/VAF.Extensions.Community/pull/123, and a preview release containing these changes is in nuget as <IP_ADDRESS>-confupgrade-optin.
We will open up feedback on this internally and externally.  Any change in the full release will not happen until 2024 now.
The primary concern I have is that if people are relying upon this then there is no "breaking" or visible change that will inform them that the new version disables the functionality, which could be an awful experience.

Thanks for letting me know


Cherry pick

Upstream ticket and PR link (if not applicable, explain)
SPARK-27778 (https://github.com/apache/spark/pull/24650) and SPARK-27805 (https://github.com/apache/spark/pull/24677)
What changes were proposed in this pull request?
Propagate SparkExceptions during toPandas with arrow enabled

@helenyugithub

Can we make the PR message identical to what was given in the upstream PR? Primarily because we want commit messages to be consistent.

Closing in favor of making one PR per cherry pick


[STAC-API-6] Adding /api endpoint

Added an api.yaml file that contains the STAC core api w/ all of the extensions aside from transaction.

This is also ready for merging, but next time could you target the feature/0.4 branch for all of the 0.4 stuff we are adding?


changes made on Events page

Related Issue
Closes: #1569
Description
I had added more spacing between the cards so that they are not overlapping with each other and also with the footer.
Also i had added hover effect which increase the size of Srila Prabhupada's image on hovering.
Checklist

[x] My code adheres to the established style guidelines of the project.
[x] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.

Please add screenshots of changes

I had merged 2 images one is normal and other one is after hovering effect

sufficient space is added between card and footer

cards are not overlapping after hovering

Mobile compatible
cards are not overlapping even in small size

@akshitagupta15june i had made changes on Events page , please check


ToCode Solution: תרגול מבני נתונים

01: there is no need to iterate over the elements of the dictionary. You could look up directly if a specific key is in the dictionary. Try it!
02: count = count + 1 is better written as count += 1 and sum = sum + i as sum += i
but there is a sum and a len function in python that you can use instead of the first loop.
range(0,len(grades)) can be written as range(len(grades))

As we are getting close to the finish line in this course I'd like to make sure there are no open questions left. If something is unclear with this or another exercise, do ask about the part that is unclear. I'll explain it in more detail.


pinephone: android api brightness scaling value

The issue in the next, when you moving a brightness slider from the start up to the middle, the color value of the HwLightState variable changes from 0x0A to 0x20, and then from middle up to the end from 0x20 to 0xFF. (The value it is 4 byte but all bytes except the last has the same values, the last byte is always 0xFF, so we can use only the first byte of it to monitor changes of the brightness) And if we convert it values to the percent we get that in the first case brightness changes from 0% to 12%, but at the phone screen 50% of the brightness slider and then from 12% to 100%.

Fixed by #16