Add integration tests for Script debugger

Closes #2897
What changes were proposed in this pull request?
Integration test cases added in scriptdebugger.ts :

test for debugger button to be enabled for default Python kernel
test for debugger button state persistence on page reload
test for debugger button state persistence on reopening editor tab
test for debugger button to be disabled for kernel without debug support

All flaky on CI environment
Follow up note: new test file name has number on purpose (for now) so it is the first to run on CI as a workaround for  failures, as suggested in this comment . Open follow up issue to investigate other test(s) file(s) that may be affecting this new one.
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

@kevin-bates you were right, looks like the execution order matters!
There are still 2 tests commented out for being more inconsistent, I'll introduce them back and check how things go.

Thanks for checking that @karlaspuldaro.  This implies that another test (or more) is side-affecting the button's location (or something like that if I'm reading the test failures correctly).
When I've dealt with this kind of thing before, it usually means a "binary search" exercise of placing the affected test in different locations until you find the test which your test immediately fails after, but works when moved one test prior.   Then, the side-effecting test can be more closely examined if the solution hasn't been discovered in the course of the search exercise.  It can be a long road, but also interesting once the solution is found.  Good luck. 🍀

@karlaspuldaro - since it appears we still don't know why the test location matters, could you please open an issue to revisit this as this is the kind of thing that can bite us down the road?  I suspect it's one of the two "editor" tests that are causing the issue.  This could be determined by moving this test immediately before those and ensuring it still passes.  If there are failures, then this particular hypothesis is incorrect.


CLOUDFRONT_VIEWER_POLICY_HTTPS

I confirm these files are made available under CC0 1.0 Universal (https://creativecommons.org/publicdomain/zero/1.0/legalcode)
Issue #, if available:
Description of changes:

@jongogogo Kindly check the code and provide your feedback, the rule looks good to me!

Thank you for the changes, @jongogogo kindly check this PR & let us know your feedback.

@vmunugal has made the changes. @jongogogo Kindly review :D


Infinite Scroll List Doesnt Work?

<List
                onEndReached={() => console.log('bla bla')}
                >

not working. how can we make infinite scroll with list component?

You need to use the onEndReachedThreshold prop to trigger the onEndReached callback
Try this
<List
         onEndReachedThreshold={0.1}
         onEndReached={() => console.log('bla bla')}
/>


Multi linear plots

Have a working setup where linear annotations can be plotted for many haplotypes. Things to do: figure out how to add multiple tracks; figure out how to name those tracks; and figure out how to get gfa coordinates from brushings of a specific haplotype.

Merged but not yet tested. Need to run app and find small quirks in merge.


Parallel attention heads

still slower than original llama.c
dual xeon gold run on 40 physical core
llama-rs: 33 tokens/sec
llama-c: 95 tokens/sec

since rayon using channel passing message, with snmalloc can speed it up to 46 tokens/sec on my machine


Livecheckables: Fix brew style

Contributing to homebrew-xorg:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Fixing the issue discovered after I submitted #653

Thank you, Bob!


Backport --pr only backports one commit even if PR merged multiple  commits into target branch

When a PR containing multiple commit is merged using
Rebase and merge then multiple commits are created in the target branch by github.
However when backporting such PR using --pr only one of the several commit is backporting which is really confusing and error prone.

when backporting such PR using --pr only one of the several commit is backporting which is really confusing and error prone.

Is there any possibility you can repro this in a dummy repo? I have some demo scenarios and I can't repro what you are seeing. For instance, https://github.com/backport-org/different-merge-strategies/commit/bdc5a17f81e5f32129e27b05c742e055c650bc54 is a merge commit. If I try to backport that using
backport --repo backport-org/different-merge-strategies --pr 9 --branch 7.x

A PR is created with all the original commits:
https://github.com/backport-org/different-merge-strategies/pull/18/commits

Unfortunately the original case is on a private repository.
I'll try to setup a public repo where I can reproduce this.

Hi @sarod
I was able to reproduce what you experienced in this PR: https://github.com/backport-org/backport-demo/pull/132
I see now that only the last commit is backported. This happen because multiple commits are merged onto the base branch, but no merge commit is added.
Afaict it is not currently possible to programatically determine the resulting commits from "Rebase and merge".

I think that backport tool should fetch the history before the merge commit and include all previous commits that are associated with the PR to the backport PR.

I'm not sure this would work reliably. When a pull request is merged, the pull request branch may be deleted. If this happens it's not possible to access the commits. Even when the branch is not deleted, someone might force push to it or modify it.
Ideally the backport tool backports commits from the base branch only (eg main/master).
I've opened a thread on this and hope someone from Github will chime in.
https://github.community/t/commits-merged-in-via-rebase-and-merge/259570

@sqren from what I tested manually in my situation the merge commit is the latest commit pushed to the main branch.
I think that the other commits can be found by:

querying the history of the main branch right before the merge commit
and using the value of associatedPullRequests field of the grphql commit object to filter only commits originiating from the backporyed PR. This property is really giving you the PR number so I think it would be kept even if the branch is deleted.

Hey @sarod
I opened a PR to fix this problem. You can try it out by installing the beta version of backport:
yarn add backport@beta

You can also use the beta version of the github action:
uses: sqren/backport-github-action@beta

Thanks for letting me know @sarod !
I've released 8.9.0 which contains support for "Rebase and merge" pull requests.


Run burrow and log remain me "to many open files"

I run burrow in Ubuntu18.04 and my kafka cluster topic have problems. Actuall the burrow featch it.
Reading configuration from config
{"level":"info","ts":1555390198.467015,"msg":"Started Burrow"}
{"level":"info","ts":1555390198.4670582,"msg":"configuring","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1555390198.4671006,"msg":"configuring","type":"coordinator","name":"storage"}
{"level":"info","ts":1555390198.467111,"msg":"configuring","type":"module","coordinator":"storage","class":"inmemory","name":"default"}
{"level":"info","ts":1555390198.4671466,"msg":"configuring","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1555390198.4671545,"msg":"configuring","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1555390198.4671655,"msg":"configuring","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1555390198.467196,"msg":"configuring","type":"coordinator","name":"notifier"}
{"level":"info","ts":1555390198.4672005,"msg":"configuring","type":"coordinator","name":"cluster"}
{"level":"info","ts":1555390198.4672089,"msg":"configuring","type":"module","coordinator":"cluster","class":"kafka","name":"gw"}
{"level":"info","ts":1555390198.4672515,"msg":"configuring","type":"coordinator","name":"consumer"}
{"level":"info","ts":1555390198.467268,"msg":"configuring","type":"module","coordinator":"consumer","class":"kafka","name":"consumer_kafka"}
{"level":"info","ts":1555390198.4673438,"msg":"starting","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1555390198.4778962,"msg":"Connected to <IP_ADDRESS>:2181","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1555390198.4947665,"msg":"Authenticated: id=244922155688603479, timeout=6000","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1555390198.4949126,"msg":"Re-submitting `0` credentials after reconnect","type":"coordinator","name":"zookeeper"}
{"level":"info","ts":1555390198.5057065,"msg":"starting","type":"coordinator","name":"storage"}
{"level":"info","ts":1555390198.5057654,"msg":"starting","type":"module","coordinator":"storage","class":"inmemory","name":"default"}
{"level":"info","ts":1555390198.505866,"msg":"starting","type":"coordinator","name":"evaluator"}
{"level":"info","ts":1555390198.5058897,"msg":"starting","type":"module","coordinator":"evaluator","class":"caching","name":"default"}
{"level":"info","ts":1555390198.5059125,"msg":"starting","type":"coordinator","name":"httpserver"}
{"level":"info","ts":1555390198.5060837,"msg":"started listener","type":"coordinator","name":"httpserver","listener":"[::]:8000"}
{"level":"info","ts":1555390198.5061252,"msg":"starting","type":"coordinator","name":"notifier"}
{"level":"info","ts":1555390198.5061557,"msg":"starting","type":"coordinator","name":"cluster"}
{"level":"info","ts":1555390198.50617,"msg":"starting","type":"module","coordinator":"cluster","class":"kafka","name":"gw"}
{"level":"info","ts":1555390198.6272218,"msg":"starting evaluations","type":"coordinator","name":"notifier"}
{"level":"warn","ts":1555390201.1697104,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"Jiqizhixin_parsed","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390201.9561942,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"crawl_alimama_sku_search_results","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"info","ts":1555390202.0582204,"msg":"starting","type":"coordinator","name":"consumer"}
{"level":"info","ts":1555390202.058264,"msg":"starting","type":"module","coordinator":"consumer","class":"kafka","name":"consumer_kafka"}
{"level":"info","ts":1555390203.0553136,"msg":"starting consumers","type":"module","coordinator":"consumer","class":"kafka","name":"consumer_kafka","topic":"__consumer_offsets","count":50}
{"level":"warn","ts":1555390213.7909703,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"Jiqizhixin_parsed","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390214.5719018,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"crawl_alimama_sku_search_results","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390223.8837569,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"Jiqizhixin_parsed","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390224.6640153,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"crawl_alimama_sku_search_results","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}

But by the time goes by, it also have new problems ——"to many open files". Like this:
{"level":"warn","ts":1555390264.6010985,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"Jiqizhixin_parsed","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390273.7764175,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"Jiqizhixin_parsed","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
{"level":"warn","ts":1555390274.5636544,"msg":"failed to fetch leader for partition","type":"module","coordinator":"cluster","class":"kafka","name":"gw","topic":"crawl_alimama_sku_search_results","partition":0,"sarama_error":"kafka server: In the middle of a leadership election, there is currently no leader for this partition and hence it is unavailable for writes."}
2019/04/16 12:51:17 http: Accept error: accept tcp [::]:8000: accept4: too many open files; retrying in 5ms
2019/04/16 12:51:17 http: Accept error: accept tcp [::]:8000: accept4: too many open files; retrying in 10ms

I have try to set ulimit -n 20480, but no matter how big it is, this problems will break out.Maybe after Accept error: accept tcp [::]:8000 problems break out, forget to close socket???
My burrow version is :Burrow_1.2.2_linux_amd64.tar.gz
And my burrow config have only change config/burrow.yaml,other config is default.
[general]
access-control-allow-origin="*"

[logging]
level="info"

[zookeeper]
servers=["<IP_ADDRESS>:2181","<IP_ADDRESS>:2181","<IP_ADDRESS>:2181"]

[client-profile.kafka-profile]
kafka-version="1.0.0"
client-id="burrow-client"

[cluster.gw]
class-name="kafka"
client-profile="kafka-profile"
servers=["<IP_ADDRESS>:6667","<IP_ADDRESS>:6667"]
topic-refresh=120
offset-refresh=10

[consumer.consumer_kafka]
class-name="kafka"
cluster="gw"
servers=["<IP_ADDRESS>:6667","<IP_ADDRESS>:6667"]
client-profile="kafka-profile"
start-latest=true
offsets-topic="__consumer_offsets"
group-whitelist=".*"
group-blacklist="^(console-consumer-|python-kafka-consumer-).*$"

[httpserver.default]
address=":8000"

I think, this is the problem with topic, when you delete topic, burrow fails to detect the topic, delete the topic manually ( marked for deletion is also not accepted, must be deleted completely by all nodes )


Request to create a Task template in o3de/o3de

There are currently 117 issues in o3de/o3de with neither a SIG label nor a triage label. Due to this, these issues are currently not funneling through the cross-sig and SIG triage process, and are not visible in any SIG's backlog. This opens us to risk of issues slipping through the cracks. The vast majority of these issues were created with a blank issue template (vs. the bug or feature request template). We could reduce risk by creating a separate Task template that automatically adds the needs-triage and needs-sig labels, and disabling the ability to select "Open a Blank issue."

Next Steps:

Create a RFC in the rfcs repo and ask for comments in the TSC channel
Screenshot on Create Issue page
Description of what the Task template looks like.
Clearly describe when to use the task vs. feature template


Remove Array.map generic constraint

This constraint does not need to exist - the current emit will work fine, even with undefined values. Converting an array to have holes, while unconventional, is not wrong.

The emit change to generalised iteration (the Luau feature) in fact means that even the input arrays can have holes just fine - but I'll put that in another PR because if affects more than just map


isPostalCode validation for AU locale was checking for six digits instead of four

isPostalCode validation for AU locale was checking for six digits, but Australian Postal Codes are 4 digits. Added a unit test for the use case also

Thanks!


[TimeLine] Fixed AreaSelect error

This PR closes #185

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unexpected escaping of characters since 2.1.1

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
<EMAIL_ADDRESS>Link to runnable example
No response
Steps to reproduce
the changes in<EMAIL_ADDRESS>cause unexpected escaping of normal characters, for example:
├─8  paragraph[3]
│    ├─0 strong[1]
│    │   └─0 link[3]
│    │       │ url: "https://www.example.com"
│    │       │ title: ""
│    │       ├─0 text "Curves on"
│    │       ├─1 emphasis[1]
│    │       │   └─0 text "the"
│    │       └─2 text " ipad. "

generates:
      **[Curves on_the_ ipad. ](https://www.example.com)**

it used to generate:
      **[Curves on_the_ ipad. ](https://www.example.com)**

another example:
├─2 paragraph[1]
│   └─0 emphasis[2]
│       ├─0 text "first"
│       └─1 strong[2]
│           ├─0 text "second"
│           └─1 emphasis[1]
│               └─0 link[1]
│                   │ url: "about:blank"
│                   │ title: "title"
│                   └─0 text "important"

generates:
_first**second_[important](about:blank "title")_**_

before:
_first**second_[important](about:blank "title")_**_

Expected behavior
it should not escape characters that are not needed to be escaped.
Actual behavior
it escapes unexpected characters.
Affected runtime and version
node v20.18.0
Affected package manager and version
No response
Affected OS and version
No response
Build and bundle tools
No response

Hi! You note that a change happened in a version. Did you see the release notes / commits that were made? The changes are intentional. There are commits, there is talk, there are tests. Do you have arguments?

I looked at the changelog but afaiu, the fix should only affect "invalid" mdast trees that would produce whitespace inside formats (eg _ the _). but in my examples above, the escaping also happens for the valid cases, like:
**[Curves on_the_ ipad. ](https://www.example.com)**

Curves on_the_ ipad.
or
_first**second_[important](about:blank "title")_**_

This also indeed touches on “invalidness”. Although it isn’t that: all of this is valid.
Asterisks are different than underscores in markdown. There rules are simpler. They can form emphasis/strong more often, because they are less often used in natural language.  Underscores, in words, as you perhaps know, cannot form emphasis. That is why this escape happens here. That _ is inside on and the. take for example: on_the_ipad: on_the_ipad. See? The underscores show, no emphasis. Not with on*the*ipad: ontheipad.
I can recommend two things:
a) use asterisks
b) there’s a space missing in the example, you likely want on  instead of on
Either is fine?

ok. thanks for the explanation. probably a good thing to switch to * everywhere :-)


Error in lowering tf.Where with iree-import-tf

I use iree-import-tf tool to convert some model, but failed, error log:
:0: error: The following illegal operations still remain:
tf.Where (count: 1)

@sun2011yao ,
In order to expedite the trouble-shooting process, could you please provide a code snippet and the TensorFlow version you are using.

Also please take a look at this link 1 and 2 which provides more information.It helps.Thanks

the run command is 'iree-import-tf --tf-import-type=savedmodel_v1 -o=dlrm.mlir dlrm_model'
dlrm model comes from https://github.com/NodLabs/tensorflow-dlrm
It seems that tf->mhlo does not support where op?

@tilakrayal

using the latest code of tensorflow

@sun2011yao ,
Can you please confirm the tensorflow version you are using and also please provide the code snippet to analyse the issue.Thanks!


LIBUSB_ERROR_ACCESS

Im having some issues getting started.  Any ideas?
64 mac
:/Applications/Processing.app/Contents/Java/core/library:/Users/markpetty/Documents/Processing/libraries/openkinect_processing/library:/Applications/Processing.app/Contents/MacOS/v2/mac
Found path: /Users/markpetty/Documents/Processing/libraries/openkinect_processing/library/v2/mac/
Init Kinect2
[Freenect2Impl] enumerating devices...
[Freenect2Impl] 6 usb devices connected
[Freenect2Impl] found valid Kinect v2 @20:30 with serial<PHONE_NUMBER>47
[Freenect2Impl] found 1 devices
1 Device Connected!
[OpenCLDepthPacketProcessor::listDevice]  devices:
0: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz (CPU)[Intel]
1: Iris (GPU)[Intel]
[OpenCLDepthPacketProcessor::init]  selected device: Iris (GPU)[Intel]
Devce: 0
[Freenect2Impl] enumerating devices...
[Freenect2Impl] 6 usb devices connected
[Freenect2Impl] found valid Kinect v2 @20:30 with serial<PHONE_NUMBER>47
[Freenect2Impl] found 1 devices
[Freenect2DeviceImpl] opening...
[Freenect2DeviceImpl] closing...
[Freenect2DeviceImpl] deallocating usb transfer pools...
[Freenect2DeviceImpl] closing usb device...
[UsbControl::claimInterfaces(IrInterfaceId)] failed! libusb error -3: LIBUSB_ERROR_ACCESS
[Freenect2DeviceImpl] closed
[Freenect2DeviceImpl] failed to open Kinect v2 @20:30!
no device connected or failure opening the default one!
EXIT
closing Kinect v2 :

Hi @markppetty,
could you please specify your source code? Otherwise it will be hard to find the mistake.
-N


perf(Request): use try/catch instead of if..in for query string

use try-catch instead of if..in for query string. try-catch is cheaper
and faster in Python
Fixes #637

[Current coverage][cc-pull] is 100%

Merging [#805][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #805   diff @@
==========================================
  Files            29         29
  Lines          1777       1778     +1
  Methods           0          0
  Messages          0          0
  Branches        299        298     -1
==========================================
+ Hits           1777       1778     +1
  Misses            0          0
  Partials          0          0

Powered by Codecov. Last updated by [53b198c...0e03d1c][cc-compare]
[cc-base-branch]: https://codecov.io/gh/falconry/falcon/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/falconry/falcon/compare/53b198c6d83cb04f051424e9cc33b593c52e65d7...0e03d1cce2a32e829fb218d21f079ca97d3edfa3
[cc-pull]: https://codecov.io/gh/falconry/falcon/pull/805?src=pr

LGTM


ResultActivity layout

Create a layout for result activity of the application, clicking the next button when 10th question is answered should go to this Activity, it should display the final score and contain a button to go back to the home screen and a button to share the application with others. It should also contain text saying Congratulations + username of the current user.  use colorful background gradient according to the theme of the application. You need to do both layout and coding part. If you have any other doubts feel free to ask on the discord server.

claim 😔


cap timers at a unit of time.

we might want to display 30 hours as 30 hours rather than 1 day and 6 hours. Allow the ability to cap.
new Timer('30:00:00', { maxUnit: 'hours' });

the Time class has the same ability
new Time('30:00:00', { maxUnit: 'hours'});

Timers/Times can be dynamical adjusted with setMaxUnit
Other methods where its useful:
Timer.fmtTime('%h hours', {maxUnit: 'hours'});

Covered by #46


error: cannot run gitproxy when running ./scripts/patch-realsense-ubuntu-lts.sh

Package required libusb-1.0-0-dev:  - found
Package required libssl-dev:  - found
Create patches workspace in ubuntu-xenial-hwe folder
cloning to './ubuntu-xenial-hwe'...
error: cannot run gitproxy: no such file or directory
fatal: cannot start proxy gitproxy

Hi @xsqiao   There is almost no information available about using librealsense with gitproxy.  I did find a single case though about adding the gitproxy protocol when trying to clone to ubuntu-xenial that may be helpful.  Please scroll down to the section titled Problem 1 network proxy problem.
https://www.daimajiaoliu.com/daima/47617b2a8900410


Tail-like behaviour

I think it may be useful if oklog have possibility to get some last lines from logs without specifying from/to datetime. Can I get this functionality with current version or it is impossible now?

You can stream, see https://github.com/oklog/oklog/pull/34. But there's no way to query for the last N records right now, because that's not how things are structured on disk. We could emulate it, but it would be inefficient. I would prefer not to offer that as an API for the time being.

Ok, thanks for clarifying! I will close this issue but simply imagine most common case for integration usage such log system as oklog - it is been simply view tail via web interface or commandline. Without this functionality we're got no logs or too many logs with one single query. Not very usable.


Add a schema for values validation

This PR adds the values.schema.json file.
It is the standard schema file for values validation.
The proposed version is relatively naive, auto-generated and without further customization.

Upgrade check failure is directly linked to the type change: the validation of values before upgrades is failing. https://github.com/netbox-community/netbox-chart/actions/runs/10782731200/job/29903300695?pr=334#step:7:107
In theory, this should request a major version bump.

@RangerRick Happy to help 😁
Just so it's clear, the upgrade check will always fail because of the type change without major version bump.

Yeah, well, I was planning on merging it anyway, but i guess our permissions lockdown means I can't, lol. I'll look at it tomorrow.


feature: Remove Component from ValidationState, add IValidationState

Is your feature request related to a problem? Please describe.
At the core of ReactiveUI.Validation are IValidationComponents that expose IObservable<ValidationState>.  All the ValidationRule extensions fundamentally boil down to producing a ValidationState when necessary.  However, it is not an ideal extensibility point because ValidationState is a sealed class, which includes a back-reference to the 'owner' Component.
The ability to produce an ValidationStates directly would be of great benefit.  Even better would be for the API to accept an interface IValidationState which does not require the back reference to the owner  IValidationComponent.  This would allow consumption of observables that implement IValidationState, maximising efficiency, as compared to using one of the existing ValidationRule extension methods to manufacture the ValidationState class for each change in validation (see for example the new method added in #116, which requires two functions to extract the validity and text from a TState).
Describe the solution you'd like
I suggest that a new IValidationState interface is created:
    public interface IValidationState
    {
        bool IsValid { get; }
        ValidationText Text { get; }
    }

This interface should be used wherever ValidationState is currently used in the library.
ValidationState should implement IValidationState, but the Component property should be removed.  This would then be a utility struct for consumers to easily provide a default implementation of IValidationState.  There is also a strong case for changing ValidationState into a struct - it being a single pointer and a bool, and having a sensible default state (though care should be taken to handle a null Text); alternatively, the class should not be sealed, to allow it to be used as a base class for implementors.
A new ValidationRule extension should be added that that accepts an IObservable<IValidationState>.
Describe alternatives you've considered
This is not a required feature, so no alternatives are required, however, it should be considered that accepting an interface will allow for consumers to supply simple Observables of any struct/class that implements that interface, and not use one of the more complex overloads.
Further, the Compoment property appearing in the child element is code smell as there is a forward and back reference between Component and ValidationState, this is generally considered bad practice as it allows for data to become inconsistent, which can introduce bugs.
Describe suggestions on how to achieve the feature
A review of ValidationState.Component shows that the only meaningful usage is in ReactiveValidationObject.OnValidationStatusChange, a private method call, called from an observable in the constructor:
https://github.com/reactiveui/ReactiveUI.Validation/blob/7a38594a8634fd11600528aea4cdb576281e7ca8/src/ReactiveUI.Validation/Helpers/ReactiveValidationObject.cs#L51-L68
This can be rewritten to pass the IValidationCompoment to the method so that it does not need to get it from the IValidationState.
Additional context
Example usage:
// IObservable<ValidationState> where ValidationState implements IValidationState
var passwordsObservable =
    this.WhenAnyValue(
        x => x.Password,
        x => x.ConfirmPassword,
        (password, confirmation) => new ValidationState(
				state.Password == state.Confirmation,
				$"Passwords must match: {state.Password} != {state.Confirmation}"));

this.ValidationRule(
    vm => vm.ConfirmPassword,
    passwordsObservable);

As noted, this is an improvement over the existing example, in that it only produces one ValidationState object, and does not need to make two function calls on each change.  It is also very extensible as any object that implements IValidationState can be consumed.

Thanks for describing your vision of the modified API in detail! Sounds really reasonable. Worth noting btw that we should define the new interface as somewhat like the following to avoid introducing a massive breaking change:
public interface IValidationState
{
    bool IsValid { get; }
    ValidationText Text { get; }
    [Obsolete("This property will be removed soon.")]
    IValidationComponent Component { get; }
}

Currently, we are planning to give people a couple of months to adapt before removing the [Obsolete] APIs completely.

Hi @worldbeater,
As IValidationState would be a new interface anyway it does not need (and shouldn't have) the Component property.  It won't break any existing code for it to be absent as no existing code would know about the interface.
Changing any API method that acccepts ValidationState to now accept IValidationState should likewise be low impact as they would accept the existing ValidationState object (so long as it is modified to implement IValidationState.  Of course, such code would not be able to use the Component property, as it doesn't exist on the new interface (it's only used once in the library anyway as mentioned).
To make changes to ValidationState backwards compatible you can make the Component nullable, and obsolete it.  You can also change the constructor parameter for the component to be optional and obsolete and remove the null check.  If you want to belt and brace it, you could make the whole object obsolete, and instead provide a new ValidationState struct in a different namespace location, that doesn't include Component.

Assuming we have IValidationComponent.ValidationStatusChange exposed to the outer world, and also assuming the fact, that the ValidationContext class implements IValidationComponent, changing ValidationStatusChange from IObservable<ValidationState> to IObservable<IValidationState> would break existing code like shown in this snippet:
IValidationComponent context = new ValidationContext();
context.ValidationStatusChange
    .Select(state => state.Component) // Who knows, there may be folks who rely on this Component property.

Adding an [Obsolete] Component property to the new interface could make the transition less breaking and less painful. I mean, if we are introducing a new IValidationState, we are planning to change the return type of ValidationStatusChange observable anyway. Or do you mean it is worth continuing returning IObservable<ValidationState>, and change the return type to IObservable<IValidationState> later, when we will be removing stuff marked as [Obsolete]?

That's a good point, though I wonder how many people actually do use the Component.  My suspicion is it would be very rare at best as the existing recommended way to use the library is through the ValidationRule extension overloads and the underlying components and states are not particularly surfaced.  The problem of adding it to the new interface is that people coming to use it will have to implement it (though you could provide a default implementation in the interface that returns null to prevent the need for its explicit implementation), whereas, the goal would be to discourage its use entirely.  It seems a shame to add an Obsolete default implementation property to a brand new interface, but it is a safe option.

This has been fully addressed in #130.


Add support for building Python 3 wheels and the starforge-recipes repo

New wheels and changes to build new versions of existing wheels should go in galaxyproject/starforge-recipes.

@natefoo Time to merge this?


Dynamic import not working with Next js app

I am trying to use the package in a Create Next Application according to the instructions on the npm registry here but I get the error ChunkLoadError: Loading chunk 736 failed
sandbox here

The same error is currently throw in the demo sandbox of @excalidraw/excalidraw.

The codesandbox error in demo is due to https://github.com/codesandbox/codesandbox-client/issues/5401, downloading in local will work fine for dev/ prod builds.
For next js can you try with updating __webpack_public_path__  in local ?

closed via #3068


Calendar in a Public Folder

I find these scripts very useful. My task is to export appointments from a calendar of a public folder of a server on-premises.
However, it's not clear to me how the parameters should be used.
I use -IgnoreSSLCertificate -PublicFolders -FolderPath $publicFolderPath -Credential $credential -EwsUrl $ewsUrl -StartsAfter $startsAfterDate -EndsBefore $endsBeforeDate -ExportCSV $csvFile -LogFile $logFile
The folder path is \ABCD\Intranet and Intranet is a calendar type folder.

However, when called, the script always accesses my mailbox and as a result I get the following error message:
_Fehler beim Aufrufen der Methode, da [System.String] keine Methode mit dem Namen "FindItems" enthält.
In Z:\Gruppe Datenverarbeitung\IT-Dokumentationen\Webserver\Intranet-Kalender\Search-Appointments.ps1:1175 Zeichen:13

        $results = $Folder.FindItems($searchFilter, $view)

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : MethodNotFound_

With the same parameters, but with -Mailbox, I get the desired result.

Will test this script with public folders when I get a chance.


git: support submodules

It would be nice to have the git driver at least optionally support repos which are using submodules. A concrete use case is https://phabricator.wikimedia.org/T188023

If the objective is to be able to search a repository for code, having one repository return code from another might make the results confusing.

The idea is that we can search through all of the code we deploy, which might include submodules. @bd808 asked for it to be an option, which I think addresses any potential confusion if you have to explicitly opt-in to it.

I'm going to close this for now, but if there's a reason that supporting submodules, rather than adding each repository separately, feel free to reopen this issue.

The main advantage to using a submodule is that it would index the version of the code that is actually in the submodule, rather than having another repository which indexes master. I'd appreciate if you could re-open this.

@legoktm I think I may not be understanding this properly. If I have some string S that shows up in both a repository R and in a submodule M, and I query for S, would the results show both strings under the results for R, or would there be a separate group of results for M? And would R and M both show up in the "Select Repo" input in the advanced search?


False positive "UninitializedProperty" with Constraint

The following code
use App\Entity\Foo;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\Exception\InvalidArgumentException;

class MyConstraint extends Constraint
{
   /**
     * @var Foo
     */
    public $foo;

    /**
     * @var string
     */
    public $message = 'message';

    /**
     * @param mixed $options
     *
     * @return void
     */
    public function __construct($options = null)
    {
        parent::__construct($options);

        if (!$this->foo instanceof Foo) {
            throw new InvalidArgumentException('The "foo" parameter value is not valid.');
        }
    }

    /**
     * @return string
     */
    public function getDefaultOption()
    {
        return 'foo';
    }

    /**
     * @return array
     */
    public function getRequiredOptions()
    {
        return ['foo'];
    }
}

Is returning an error:
UninitializedProperty - Cannot use uninitialized property $this->foo

But the property is initialized in the parent::construct() since it does
$this->$option = $value

Is it something that can be improved in the symfony plugin (and how ?) or should psalm be more careful with the parent constructor ? @seferov @muglug

@VincentLanglet thank you for the report.

Is it something that can be improved in the symfony plugin (and how ?) or should psalm be more careful with the parent constructor ? @seferov @muglug

Since normalizeOptions method in parent class is a little obscure I don't think psalm itself should be able to handle this but
it can be fixed by the plugin either stubbing Constraint class returning options as it is instead of any array or using plugin hooks. I am need to test it to be sure.

@VincentLanglet thank you for the report.

Is it something that can be improved in the symfony plugin (and how ?) or should psalm be more careful with the parent constructor ? @seferov @muglug

Since normalizeOptions method in parent class is a little obscure I don't think psalm itself should be able to handle this but
it can be fixed by the plugin either stubbing Constraint class returning options as it is instead of any array or using plugin hooks. I am need to test it to be sure.

Since normalizeOptions method in parent class is a little obscure I don't think psalm itself should be able to handle this but
it can be fixed by the plugin either stubbing Constraint class returning options as it is instead of any array or using plugin hooks. I need to test it to be sure.

Hi @seferov, did you find some time to take a look ? :)

Hi @VincentLanglet,
I simplified the problem to this https://psalm.dev/r/2d3d231b58
Maybe psalm should handle this case. @muglug what do you think?


Pantheon: prepare for meson 0.61

Motivation for this change
I have no idea what elementary's current release schedule is as the OS 6.1 kanban has been marked as closed.
Open this just to make sure if someone wants to bump meson, it won't break Pantheon.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg test pantheon

I am still testing this, to build Pantheon with meson 0.61, apply https://gist.github.com/bobby285271/078f88b6f9f9ba85bd68ff942f82d5a2 on top of this PR.

With one last patch applied on elementary-screenshot, the test passed.

@ofborg test pantheon
@ofborg build pantheon.elementary-music pantheon.elementary-camera pantheon.elementary-mail pantheon.elementary-terminal pantheon.elementary-shortcut-overlay pantheon.elementary-code pantheon.elementary-greeter pantheon.switchboard pantheon.elementary-capnet-assist pantheon.elementary-files pantheon.elementary-screenshot


[SR-9795] Cannot use super in lazy property: 'super' cannot be used outside of class members

Previous ID
SR-9795

Radar
None

Original Reporter
@marcomasser

Type
Bug

Environment
Tested with Swift 4.2.1 (Xcode 10.1) and Swift 5 from Xcode 10.2 beta (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>).

Additional Detail from JIRA

Votes
0

Component/s
Compiler

Labels
Bug, StarterBug

Assignee
@theblixguy

Priority
Medium

md5: 75741cacf781b9db21044152b379d272

Issue Description:
I’m not sure this is a bug or if this works as expected:
class Foo {
    var name = "Default Name"
}

class Bar: Foo {
    lazy var fullName: String = {
        return super.name // error: 'super' cannot be used outside of class members
    }()
}

Is there a good reason why super isn’t permitted here? Replacing super with self works fine, as I’d expect because the instance must be fully initialized when lazy properties are accessed.

Hello. Is this issue available to be picked up? Where do i start with it? :)

I am also have the same question. Because I could not understand the first
tour. Who or where could I ask for helping on dropping "dxxplet" and "land
safely"?
The biggest issue for me is the communication /connection seems offline?
「Alexey Ivashko @.***>」在 2022年5月11日 週三，19:25 寫道：

Hello. Is this issue available to be picked up? Where do i start with it?
:)
—
Reply to this email directly, view it on GitHub
https://github.com/apple/swift/issues/52220#issuecomment-1123606919, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/APHMPZSGS7LBTA2BGXFENHTVJOKIZANCNFSM5VUSYQGQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
<Sent from @.***>


Gecko plot - show all genes all the time

We should show all genes in the gene track. Any that are part of the selection should be highlighted.

👍 should we highlight the connected ones as well?
for eg. selecting FTO as a gene returns all the VT/VL/S connected to it. We should probably highlight the genes that share VT/VL with FTO (eg. IRX3/IRX5) ?
I would find this very helpful to dissect the one-to-many assignments.

I should not be reading work-related stuff while on the beach but couldn’t help myself with this one.
I think if people click on FTO for example, I don’t see why the other genes connected to it such as IRX3/5 should get highlighted as well (even if they’re all being targeted by overlapping set of SNPs or make sense biologically speaking ). Only VT and VL and the studies in which they were reported should get highlighted. The question people are asking if they click on FTO is : what variants and phenotypes/studies are connected with this gene?  If they’re interested in seeing FTO, IRX3/5 highlighted at the same time as targets of lipid-related phenotypes, the starting point should be either the study/phenotype that connect the lead/tag variants in the region to these genes or the VT and VL that target those genes.
Sent from my iPhone
On 20 Sep 2018, at 13:46, elipapa <notifications<EMAIL_ADDRESS>wrote:
👍 should we highlight the connected ones as well?
for eg. selecting FTO as a gene returns all the VT/VL/S connected to it. We should probably highlight the genes that share VT/VL with FTO (eg. IRX3/IRX5) ?
I would find this very helpful to dissect the one-to-many assignments.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_opentargets_genetics_issues_117-23issuecomment-2D423136762&d=DwMFaQ&c=D7ByGjS34AllFgecYw0iC6Zq7qlm8uclZFI0SqQnqBo&r=Aush8haVNQv3Cbg5voWXggyiSQ8DTw3yQv8KnEt8Ne4&m=Q7bnh_9Hw2np3SlCGRJAKXpHFAAz0X8PzkCyefyQ6Go&s=xWW9bHTkt4MWMSbfvD_8agV5NX3j822m6gnEU2Wxtwc&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AahKyv3KICxn8LC0VeVvZGMQxsICWl-5FOks5uc3HogaJpZM4Wv4ap&d=DwMFaQ&c=D7ByGjS34AllFgecYw0iC6Zq7qlm8uclZFI0SqQnqBo&r=Aush8haVNQv3Cbg5voWXggyiSQ8DTw3yQv8KnEt8Ne4&m=Q7bnh_9Hw2np3SlCGRJAKXpHFAAz0X8PzkCyefyQ6Go&s=8XGcsCpAjQeoQiMFJFB3fOXRscSAKg-SvaY2zDKAiAs&e=.
--
The Wellcome Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.

To me this looks to behave correctly now. If you play around in the FTO locus you can find connections between BMI related phenotypes and IRX3 (and IRX5).

great work 👍 works a lot better with key, multiple selection and a dropdown giving you options for the gene track.
i think now that all genes are turned on it ends up meeting more my expectation as well. I am able in a couple of click to highlight the relation I know about.
the key is a nice addition and does help in interpreting. two comments on that though:

the distinction between fine mapping and LD is almost impossible to discern. would a dropdown option work better?
could "selected indirectly" become "connected" to simplify the key?

other potential improvements:

clicking a selected element could remove the selection from filters.
switch red and blue so that red is selection and blue is relatedness ?
have some info about the selection in a UI element at the top

@peatroot you now have all genes incorporated in the gecko structure which comes back to your GraphQL client.


Error after installation using MAGMA

Hello,
I have MAGMA installed and I recently tried installing cutorch on a new machine, installation seems fine but afterwards require 'cutorch' generates an error. The output for the command:
luajit -l libcutorch
is:
luajit: Torch internal problem: cannot find metatable for type <torch.Allocator> stack traceback: 	[C]: at 0x7f9af8a40e40 	[C]: at 0x0046b7a0 	[C]: at 0x00406670
I tried reinstalling everything including MAGMA, didn't help.
cutorch 1.0-0 does work, but then I can't use cudnn.
It worked perfectly a few months ago, but I didn't find a way to install an earlier committed version, that would help too.
Thanks!

luajit -l libcutorch always will give that error.
What are the consequences of doing:
luajit -lcutorch?
I suspect that some symbols are missing when linked against magma (especially if magma is a static build and has been built with a CPU BLAS).
Do you use any of cutorch's Magma features like LAPACK functions?
If not, you can do this:
git clone https://github.com/torch/cutorch
cd cutorch
# comment this line: https://github.com/torch/cutorch/blob/master/lib/THC/CMakeLists.txt#L31
luarocks make rocks/cutorch-scm-1.rockspec

I see, the output of
luajit -lcutorch
is:
`luajit: ...nielle_ezuz/torch/install/share/lua/5.1/cutorch/init.lua:2: cannot load '/home/danielle_ezuz/torch/install/lib/lua/5.1/libcutorch.so'
stack traceback:
[C]: in function 'require'

...nielle_ezuz/torch/install/share/lua/5.1/cutorch/init.lua:2: in main chunk

[C]: at 0x0046b7a0

[C]: at 0x00406670

`
and installing after commenting the line produced the same error.
Does it mean the reason is not MAGMA?

I managed to install cutorch after reinstalling MAGMA with openBLAS instead of MKL.
Everything works now, but I didn't manage to install the current version of cutorch with MAGMA that was installed with MKL.
Thanks for the tips!


Package Resolution Failed when adding ApolloCombine via Swift Package manager

"ApolloCombine could not be resolved"
...
"An unknown error occurred, referene 'refs/remotes/origin/main' not found (-1)
Other packages work ok

Sorry. Just now seeing this. The reference should be to 'master', not 'main'.


Structpb: Consideration for supporting time or timestamp types

Is your feature request related to a problem? Please describe.
I would like to be able to use structpb for timestamp types.
Describe the solution you'd like
Probably just have timestamp as one of the Value_X types
Describe alternatives you've considered
Having a nested struct with second and nano int fields, but this means i would need to reserve field names to be treated as a special case so that i know to convert them to time fields. This isn't ideal. It also adds an extra burden on clients to conform to this format, without a proper struct to follow.

The structpb package is intended to dynamically represent arbitrary JSON. I'm not sure how you expect the package to handle timestamps.

Oh i see. I am using it for sending update requests on a resource. We thought of a bunch of different ways to do it but we had settled on wanting to use a map for the fields you want updated. Trying to use the Any object (map<string, Any>) seemed very confusing to use with the type url, so i thought structpb might be a good alternative.
We use generated clients on our frontend, so JSON isn't the biggest concern, although still is one.
But ya i guess if this is purely for JSON than timestamps dont make sense really.

But ya i guess if this is purely for JSON than timestamps dont make sense really.

Got. I'll close this as working as intended, then.

Use of protobuf is generally for more structured messages.  So, for sending update requests on a resource, you may want to define the fields that make up that type of request.  And if timestamp is one of those, then define a Timestamp field for it.


Update k8s.io/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/

This is a...

[x] Feature Request
[ ] Bug Report

Problem:
Outdated content content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html.
content/en/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html 3 insertion(+), 3 delettion(-)

Proposed Solution:
Update content content/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html.
For details, please execute the following command.
git diff 551489f 7b07d19 -- content/en/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html

Page to Update:
https://kubernetes.io/ja/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/

これやります

/close


Auto-add mailto: prefix onchange

Resolves https://github.com/securitytxt/securitytxt.org/pull/81#issuecomment-877272606
Blurring the input in any way will check if the Contact input is in the form user@domain, where each of user and domain have length at least 1 and contain only alphanumeric characters

A-Z
0-9
_
+
.
-

If it matches, then the prefix mailto: is added.
I'm not sure how useful this change will be because the validation error is shown as the user is typing, so they may try to fix it themselves instead of blurring the input. @nightwatchcyber / @rugk do you think it would be better to check after each key press (or more precisely, 'oninput')?

Hi @rugk
I went with this option, which I think works really well and avoids any red appearing on the screen in most cases, which is great

prevent the validation trigger until the focus is lost (blur) and only then also add the mailto: prefix, if needed (before validation of course)

This is ready for review @nightwatchcyber


yes, the error is to accredit the account, not only to sponsor you

Before submitting your bug report

[ ] I believe this is a bug. I'll try to join the Continue Discord for questions
[ ] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS:
- Continuaţi:
- IDE:

Description
yes, the error is to accredit the account, not only to sponsor you
To reproduce
No response
Log output
No response

the error is that you do not accredit accounts and only want sponsorships
Trimis de pe Outlook pentru Androidhttps://aka.ms/AAb9ysg

From: Florea Ghinea @.>
Sent: Monday, April 29, 2024 5:39:18 PM
To: continuedev/continue @.>
Cc: Florea Ghinea @.>; Your activity @.>
Subject: [continuedev/continue] yes, the error is to accredit the account, not only to sponsor you (Issue #1206)
Before submitting your bug report

I believe this is a bug. I'll try to join the Continue Discordhttps://discord.gg/NWtdYexhMs for questions
I'm not able to find an open issuehttps://github.com/continuedev/continue/issues?q=is%3Aopen+is%3Aissue that reports the same bug
I've seen the troubleshooting guidehttps://continue.dev/docs/troubleshooting on the Continue Docs

Relevant environment info

OS:
Continuaţi:
IDE:

Description
yes, the error is to accredit the account, not only to sponsor you
To reproduce
No response
Log output
No response
—
Reply to this email directly, view it on GitHubhttps://github.com/continuedev/continue/issues/1206, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AYA4EQQU75MUFEJI2B6X5MLY7ZLRNAVCNFSM6AAAAABG6O7HSKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI3DSMRSGYYTSNA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi @florinmax36, I'm not quite catching on to the issue here, could you explain a bit more about what you're looking to improve?

I'm going to close this issue because I haven't heard back, but please feel free to re-open if you have the chance to get back with me!


Segwit fixes

Still not completely fixed. Roughly half of my mined blocks are still rejected. I'd rather not merge this until that issue is narrowed down.

Pushed a fix for merkle tree creation. 13/13 blocks accepted after the fix, obviously only very specific ones would've worked before. This lib could really use some tests :)

Updated and confirmed still working fine.<PHONE_NUMBER>e7c41a853680c5d01a5e5365043644d2a6ac29df2bd731d6df212d on segnet mined using bfgminer with these changes integrated. It contains 13 tx, mostly p2wpkh.


Specify a custom path to diktat-analysis.yml

Describe the bug
I have one diktat-analysis.yml and multiple projects:
/repos/rootProj/
- build.gradle
- lint/
    - diktat-analysis.yml
- ...

/repos/subProj/
- build.gradle
- ...

rootProj is my root project. It references other subprojects in other directories.
Expected behavior
I want both /repos/rootProj/build.gradle and /repos/subProj/build.gradle to reference diktat-analysis.yml, like this perhaps:
diktat {
    inputs = files("**/src/**/java/**/*.kt")
    debug = true // turn on debug logging
    config = rootProject.file('lint/diktat-analysis.yml')
}

Is this possible right now?
Environment information

diktat version: 0.2.0
build tool (gradle): 5.6.4
how is diktat run (CLI, plugin, etc.): ./gradlew diktatFix
kotlin version: 1.3.71
operating system: macOS

@aphexcx thanks for your report! We have a very hard dependency on ktlint, so we have some problems with implementing this feature. @petertrr could you please have a look if we can do something with it?

@aphexcx thanks for your report! We have a very hard dependency on ktlint, so we have some problems with implementing this feature. @petertrr could you please have a look if we can do something with it?

@petertrr could you please have a look if we can do something with it?
Actually, this was already being worked on in #682. After this change is released, we will use a workaround to specify single config location in gradle plugin. That pull request has been delayed due to NY holidays, but I believe we could make a release soon.

@petertrr could you please have a look if we can do something with it?
Actually, this was already being worked on in #682. After this change is released, we will use a workaround to specify single config location in gradle plugin. That pull request has been delayed due to NY holidays, but I believe we could make a release soon.

Hey @aphexcx , we've just released diktat 0.3.0 with support for custom config location in gradle plugin. You can use it with field diktatConfigFile in diktat extension. Please try it out. Looking forward for your feedback!

Hey @aphexcx , we've just released diktat 0.3.0 with support for custom config location in gradle plugin. You can use it with field diktatConfigFile in diktat extension. Please try it out. Looking forward for your feedback!

This works great, thank you for such a speedy and useful fix! 💪

This works great, thank you for such a speedy and useful fix! 💪

@aphexcx thank you very much for a report!

@aphexcx thank you very much for a report!


ImportMixin.process_import does not handle exceptions and can return None

Most easily reproduced by not using POST method when the whole point of that view is POSTing data.
This is obviously not the solution, but to prevent regular Exceptions, a quick workaround in import_export/admin.py is possible:
+from django.views.decorators.http import require_POST

@@ -110,7 +111,7 @@ def get_urls(self):
         my_urls = [
             url(r'^process_import/$',
-                self.admin_site.admin_view(self.process_import),
+                require_POST(self.admin_site.admin_view(self.process_import)),
                 name='%s_%s_process_import' % info),

Nice catch, would you like to write a PR for require_POST?
I guess not handling exception in  process_import is ok, as exception would be logged/mailed to admin.

PR includes a different one-liner: decorators = DRY = better style.
Note: i attached a py3 compatibility fix. Might come in handy reviewing other PRs because more unit tests succeed on travis.


'Exception caught evaluating condition,' causes builds to fail ungracefully

I updated from 0.4.1 to the latest master, built at commit 689f6bc4e02d964c738521f575635958d95c7bc8, because I wanted to start using the plugin with Jenkins Workflow jobs (support added in https://github.com/dblock/jenkins-ansicolor-plugin/pull/54). Then my builds which had ANSI color enabled started failing silently. The build job's console log would just end abruptly with no error shown and the build marked as a failure. Finally I looked at the Jenkins service log and found:
2015-09-28 18:24:27.695457500 Sep 28, 2015 6:24:27 PM org.jenkins_ci.plugins.run_condition.BuildStepRunner logEvaluateException
2015-09-28 18:24:27.695459500 WARNING: Exception caught evaluating condition: [java.lang.NumberFormatException: For input string: "31m108 108 108 108 108 108 108 108 108 108 108 108 108 108 108"], action = [Fail the build]
2015-09-28 18:24:27.695461500 java.lang.NumberFormatException: For input string: "31m108 108 108 108 108 108 108 108 108 108 108 108 108 108 108"
2015-09-28 18:24:27.695461500   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2015-09-28 18:24:27.695483500   at java.lang.Integer.parseInt(Integer.java:492)
2015-09-28 18:24:27.695484500   at java.lang.Integer.<init>(Integer.java:677)
2015-09-28 18:24:27.695484500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:120)
2015-09-28 18:24:27.695485500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:166)
2015-09-28 18:24:27.695485500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-09-28 18:24:27.695489500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$ConsoleLogFilterImpl$1.eol(AnsiColorBuildWrapper.java:222)
2015-09-28 18:24:27.695490500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-09-28 18:24:27.695491500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-09-28 18:24:27.695497500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-09-28 18:24:27.695498500   at java.io.PrintStream.write(PrintStream.java:480)
2015-09-28 18:24:27.695498500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-09-28 18:24:27.695499500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-09-28 18:24:27.695500500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-09-28 18:24:27.695504500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-09-28 18:24:27.695505500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-09-28 18:24:27.695505500   at java.io.PrintStream.println(PrintStream.java:807)
2015-09-28 18:24:27.695506500   at org.jenkins_ci.plugins.run_condition.core.BooleanCondition.runPerform(BooleanCondition.java:57)
2015-09-28 18:24:27.695507500   at org.jenkins_ci.plugins.run_condition.logic.ConditionContainer.runPerform(ConditionContainer.java:60)
2015-09-28 18:24:27.695524500   at org.jenkins_ci.plugins.run_condition.logic.Or.runPerform(Or.java:60)
2015-09-28 18:24:27.695525500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.evaluate(BuildStepRunner.java:107)
2015-09-28 18:24:27.695526500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:147)
2015-09-28 18:24:27.695533500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105)
2015-09-28 18:24:27.695533500   at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:108)
2015-09-28 18:24:27.695534500   at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
2015-09-28 18:24:27.695535500   at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:776)
2015-09-28 18:24:27.695539500   at hudson.model.Build$BuildExecution.build(Build.java:203)
2015-09-28 18:24:27.695539500   at hudson.model.Build$BuildExecution.doRun(Build.java:160)
2015-09-28 18:24:27.695540500   at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:536)
2015-09-28 18:24:27.695541500   at hudson.model.Run.execute(Run.java:1738)
2015-09-28 18:24:27.695541500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-09-28 18:24:27.695544500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-09-28 18:24:27.695545500   at hudson.model.Executor.run(Executor.java:381)

Disabling ANSI color fixed the issue. Let me know if I can give you any other info to investigate.

Try to write a test that reproduces this?

Likely something in https://github.com/dblock/jenkins-ansicolor-plugin/commit/b0f9697cc38c0670ff7dc40a3649849d6db891ff.

Try to write a test that reproduces this?

Unfortunately I don't know Java at all so that's probably beyond my abilities. I tested the new build of the plugin on my local Jenkins server, which is the same version that I use in production, with a job that just runs printf "\e[31mHello World\e[0m\n"
That seemed to work fine. My local system is MacOS with Sun Java 6, though, and production is Linux with OpenJDK 7. I will try that test on the prod system when it is idle and see if I can reproduce.

@omehegan Just for clarity, the jobs where you have this issue are they "old-school" freestyle jobs or workflows?

@qvicksilver these were freestyle jobs. I haven't had a chance to try to repro again and dig further, I need to wait for some downtime or try and set up a suitable test env.

@omehegan would be great if you could reproduce it or hint on how to do it. I've had no luck with making it fail the way your build does.

I'll see if I can look into this today.

I am baffled. So far I can't reproduce this on my test server. The exception seems straightforward: it got a string where it was expecting an integer. I can't figure out why though.

I am still able to reproduce this on my production server. I'm trying to figure out what's different between it and my test instance - they have identical versions of Jenkins, builds of the plugin, and are running on the same JDK (OpenJDK 7). Here is a more complete error log than what I initially posted. If you can suggest some additional logging or debugging I could try, I'm all for it.
2015-10-15 05:27:37.966606500 Oct 15, 2015 5:27:37 AM org.jenkins_ci.plugins.run_condition.BuildStepRunner logEvaluateException
2015-10-15 05:27:37.966608500 WARNING: Exception caught evaluating condition: [java.lang.ArrayIndexOutOfBoundsException: 175], action = [Fail the build]
2015-10-15 05:27:37.966609500 java.lang.ArrayIndexOutOfBoundsException: 175
2015-10-15 05:27:37.966610500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:117)
2015-10-15 05:27:37.966611500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:166)
2015-10-15 05:27:37.966689500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-15 05:27:37.966690500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$ConsoleLogFilterImpl$1.eol(AnsiColorBuildWrapper.java:222)
2015-10-15 05:27:37.966691500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-15 05:27:37.966691500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-15 05:27:37.966716500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-15 05:27:37.966717500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-15 05:27:37.966717500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-10-15 05:27:37.966717500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-10-15 05:27:37.966740500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-10-15 05:27:37.966740500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-10-15 05:27:37.966741500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-10-15 05:27:37.966741500   at java.io.PrintStream.println(PrintStream.java:807)
2015-10-15 05:27:37.966742500   at org.jenkins_ci.plugins.run_condition.core.BooleanCondition.runPerform(BooleanCondition.java:57)
2015-10-15 05:27:37.966791500   at org.jenkins_ci.plugins.run_condition.logic.ConditionContainer.runPerform(ConditionContainer.java:60)
2015-10-15 05:27:37.966792500   at org.jenkins_ci.plugins.run_condition.logic.Or.runPerform(Or.java:60)
2015-10-15 05:27:37.966792500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner$2.evaluate(BuildStepRunner.java:107)
2015-10-15 05:27:37.966793500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner$Fail.conditionalRun(BuildStepRunner.java:147)
2015-10-15 05:27:37.966817500   at org.jenkins_ci.plugins.run_condition.BuildStepRunner.perform(BuildStepRunner.java:105)
2015-10-15 05:27:37.966817500   at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder.perform(SingleConditionalBuilder.java:108)
2015-10-15 05:27:37.966818500   at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
2015-10-15 05:27:37.966862500   at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:776)
2015-10-15 05:27:37.966863500   at hudson.model.Build$BuildExecution.build(Build.java:203)
2015-10-15 05:27:37.966863500   at hudson.model.Build$BuildExecution.doRun(Build.java:160)
2015-10-15 05:27:37.966864500   at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:536)
2015-10-15 05:27:37.966864500   at hudson.model.Run.execute(Run.java:1738)
2015-10-15 05:27:37.966896500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-10-15 05:27:37.966896500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-15 05:27:37.966897500   at hudson.model.Executor.run(Executor.java:381)
2015-10-15 05:27:37.966897500
2015-10-15 05:27:37.967868500 Oct 15, 2015 5:27:37 AM hudson.model.listeners.RunListener report
2015-10-15 05:27:37.967869500 WARNING: RunListener failed
2015-10-15 05:27:37.967869500 java.lang.NullPointerException
2015-10-15 05:27:37.967870500   at com.sonyericsson.jenkins.plugins.bfa.BuildFailureScanner.scanIfNotScanned(BuildFailureScanner.java:108)
2015-10-15 05:27:37.967871500   at com.sonyericsson.jenkins.plugins.bfa.BuildFailureScanner.onCompleted(BuildFailureScanner.java:91)
2015-10-15 05:27:37.967871500   at com.sonyericsson.jenkins.plugins.bfa.BuildFailureScanner.onCompleted(BuildFailureScanner.java:65)
2015-10-15 05:27:37.967909500   at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:199)
2015-10-15 05:27:37.967910500   at hudson.model.Run.execute(Run.java:1783)
2015-10-15 05:27:37.967910500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-10-15 05:27:37.967911500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-15 05:27:37.967911500   at hudson.model.Executor.run(Executor.java:381)
2015-10-15 05:27:37.967935500
2015-10-15 05:27:37.970239500 Oct 15, 2015 5:27:37 AM hudson.model.listeners.RunListener report
2015-10-15 05:27:37.970241500 WARNING: RunListener failed
2015-10-15 05:27:37.970241500 java.lang.NullPointerException
2015-10-15 05:27:37.970242500   at jenkins.metrics.impl.JenkinsMetricProviderImpl$ResultRunListener.onCompleted(JenkinsMetricProviderImpl.java:619)
2015-10-15 05:27:37.970243500   at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:199)
2015-10-15 05:27:37.970243500   at hudson.model.Run.execute(Run.java:1783)
2015-10-15 05:27:37.970285500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-10-15 05:27:37.970285500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-15 05:27:37.970286500   at hudson.model.Executor.run(Executor.java:381)
2015-10-15 05:27:37.970287500
2015-10-15 05:27:37.971000500 Oct 15, 2015 5:27:37 AM hudson.model.listeners.RunListener report
2015-10-15 05:27:37.971001500 WARNING: RunListener failed
2015-10-15 05:27:37.971001500 java.lang.NullPointerException
2015-10-15 05:27:37.971002500   at hudson.model.PermalinkProjectAction$Permalink$3.apply(PermalinkProjectAction.java:134)
2015-10-15 05:27:37.971003500   at jenkins.model.PeepholePermalink$RunListenerImpl.onCompleted(PeepholePermalink.java:232)
2015-10-15 05:27:37.971003500   at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:199)
2015-10-15 05:27:37.971047500   at hudson.model.Run.execute(Run.java:1783)
2015-10-15 05:27:37.971048500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-10-15 05:27:37.971049500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-15 05:27:37.971049500   at hudson.model.Executor.run(Executor.java:381)
2015-10-15 05:27:37.971050500
2015-10-15 05:27:37.971801500 Oct 15, 2015 5:27:37 AM hudson.model.Run onEndBuilding
2015-10-15 05:27:37.971802500 WARNING: cserv_build_test_pipeline/label=jenkins-precise64-2 #1862: No build result is set, so marking as failure. This should not happen.
2015-10-15 05:27:37.972385500 Oct 15, 2015 5:27:37 AM hudson.model.Executor finish1
2015-10-15 05:27:37.972386500 SEVERE: Executor threw an exception
2015-10-15 05:27:37.972386500 java.lang.ArrayIndexOutOfBoundsException: 180
2015-10-15 05:27:37.972387500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:117)
2015-10-15 05:27:37.972387500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:166)
2015-10-15 05:27:37.972388500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-15 05:27:37.972424500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$ConsoleLogFilterImpl$1.eol(AnsiColorBuildWrapper.java:222)
2015-10-15 05:27:37.972425500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-15 05:27:37.972426500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-15 05:27:37.972427500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-15 05:27:37.972451500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-15 05:27:37.972451500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-10-15 05:27:37.972452500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-10-15 05:27:37.972453500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-10-15 05:27:37.972453500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-10-15 05:27:37.972486500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-10-15 05:27:37.972487500   at java.io.PrintStream.println(PrintStream.java:807)
2015-10-15 05:27:37.972487500   at hudson.model.StreamBuildListener.finished(StreamBuildListener.java:79)
2015-10-15 05:27:37.972488500   at hudson.model.Run.execute(Run.java:1790)
2015-10-15 05:27:37.972488500   at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
2015-10-15 05:27:37.972489500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-15 05:27:37.972530500   at hudson.model.Executor.run(Executor.java:381)
2015-10-15 05:27:37.972530500

It's definitely not the most recent changes that caused my issue. I have stepped back through the commits and found that the breakage is introduced in between 3d783662a37f8c9dda2c86d97f02ec3928a9ebf0 and 80b9183818f4fce186a009857b09aa78e151791d.

We just need to find out what string is being passed in here, cc: @ejelly since both those commits are his.

@dblock can you tell me where/what I would hook into to log that string? I've been trying to figure that out.

@omehegan if you are able to run the build outside of Jenkins you should be able to get the string that way.

@qvicksilver true, I guess I thought we needed to capture the ANSI control chars. The job doesn't blow up until it tries to print ANSI color.

@omehegan depending on what produces the output you should be able to get the ANSI control chars into a text file as well.

I think if you were to log the buffer in https://github.com/dblock/jenkins-ansicolor-plugin/blob/master/src/main/java/hudson/plugins/ansicolor/AnsiColorBuildWrapper.java#L222 that would work.

Also, another useful thing: disable AnsiColor, run the job, save the output. Then enable ansicolor, run the job, save the output. Compare. The last line will tell us what the text was that caused the job to crash.

Here is the offending string:
base64_suite
    - "a29uaWNoaXdh" == "a29uaWNoaXdh"
    - base64 URL decoded matches input
    - "aGVsbG8gd29ybGQ" == "aGVsbG8gd29ybGQ"
    - base64 URL decoded matches input
    - "Z29vZGJ5ZQ" == "Z29vZGJ5ZQ"
    - base64 URL decoded matches input

When ANSI color is enabled, the last thing I see in the log is "base64_suite," and then the ArrayIndexOutOfBoundsException error (in the Jenkins console log). I presume that the line after that, the first with any color, is what kills us.

I have narrowed the bug down specifically to commit 4ef902bd78dac2df0eff2f0a1ad01b17a6aa691a.
I have discovered I can reproduce the bug with any ANSI color string, including the example ones in the README. There's nothing special about the ones my builds are producing.
Depending on what string is used, you get different exceptions:

printf '\e[31mHello World\e[0m\n' yields this:
2015-10-16 06:05:27.209474500 java.lang.NumberFormatException: For input string: "31m"
2015-10-16 06:05:27.209474500   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2015-10-16 06:05:27.209475500   at java.lang.Integer.parseInt(Integer.java:492)
2015-10-16 06:05:27.209476500   at java.lang.Integer.<init>(Integer.java:677)
2015-10-16 06:05:27.209476500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:120)
2015-10-16 06:05:27.209577500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.collectAmbleCharacter(AnsiHtmlOutputStream.java:193)
2015-10-16 06:05:27.209578500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:179)
2015-10-16 06:05:27.209579500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-16 06:05:27.209579500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$2.eol(AnsiColorBuildWrapper.java:107)
2015-10-16 06:05:27.209658500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-16 06:05:27.209659500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-16 06:05:27.209660500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-16 06:05:27.209733500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-16 06:05:27.209733500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-10-16 06:05:27.209734500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-10-16 06:05:27.209735500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-10-16 06:05:27.209735500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-10-16 06:05:27.209834500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-10-16 06:05:27.209835500   at java.io.PrintStream.println(PrintStream.java:807)
2015-10-16 06:05:27.209836500   at hudson.model.StreamBuildListener.finished(StreamBuildListener.java:79)
2015-10-16 06:05:27.209836500   at hudson.model.Run.execute(Run.java:1790)
2015-10-16 06:05:27.209837500   at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
2015-10-16 06:05:27.209915500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-16 06:05:27.209916500   at hudson.model.Executor.run(Executor.java:381)

Whereas printf '    - \e[32ma29uaWNoaXdh == a29uaWNoaXdh\e[0m' yields this:
2015-10-16 06:07:52.237062500 java.lang.NullPointerException
2015-10-16 06:07:52.237063500   at hudson.plugins.ansicolor.AnsiColorMap.getNormal(AnsiColorMap.java:94)
2015-10-16 06:07:52.237064500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.processSetForegroundColor(AnsiHtmlOutputStream.java:258)
2015-10-16 06:07:52.237064500   at org.fusesource.jansi.AnsiOutputStream.processEscapeCommand(AnsiOutputStream.java:275)
2015-10-16 06:07:52.237080500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:125)
2015-10-16 06:07:52.237081500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:166)
2015-10-16 06:07:52.237082500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-16 06:07:52.237082500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$2.eol(AnsiColorBuildWrapper.java:107)
2015-10-16 06:07:52.237104500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-16 06:07:52.237105500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-16 06:07:52.237106500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-16 06:07:52.237107500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-16 06:07:52.237114500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-10-16 06:07:52.237115500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-10-16 06:07:52.237116500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-10-16 06:07:52.237116500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-10-16 06:07:52.237117500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-10-16 06:07:52.237120500   at java.io.PrintStream.println(PrintStream.java:807)
2015-10-16 06:07:52.237121500   at hudson.model.StreamBuildListener.finished(StreamBuildListener.java:79)
2015-10-16 06:07:52.237122500   at hudson.model.Run.execute(Run.java:1790)
2015-10-16 06:07:52.237122500   at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
2015-10-16 06:07:52.237123500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-16 06:07:52.237126500   at hudson.model.Executor.run(Executor.java:381)

In fact, the presence or absence of a newline char at the end of the string seems to determine whether we get a NPE (no newline) or a NumberFormatException (newline). Is it me, or is this starting to sound like maybe a Java version issue, or a difference in other library versions that is particular to my plugin build env?

What colormap does this build use?

I think the problem is that I renamed member variables in a serializable class without changing the serialVersionUID. So if you upgrade the plugin from an old version, it tries to deserialize the old data into the new class, and fails. I'll file a PR with a fix.

Bah, thanks @sschuberth.

@omehegan I merged that PR, care to try again?

Thanks @dblock and @sschuberth! I'll try tonight and see.
Forgive my ignorance of Java and serialization, but from what little I do know, I don't understand how this could be the problem. The bug only manifests (well, I've only seen it manifest) when I run a new build and it reaches the point of logging ANSI escape sequences. What does this have to do with earlier versions of the plugin and deserializing any "old data?" If that were the issue I would expect to only see the problem when I looked at an old build's console log after updating the plugin.

The configuration for which terminal colors to use gets serialized into the job, so you have an old(er) job that was created and configured with the old version of the plugin.

Great explanation. Thanks!

Unfortunately, with the update I'm still getting this:
2015-10-17 00:12:47.260035500 Exception in thread "/bin/bash -ex /tmp/hudson5696670944209428048.sh: stdout copier" java.lang.NullPointerException
2015-10-17 00:12:47.260192500   at hudson.plugins.ansicolor.AnsiColorMap.getNormal(AnsiColorMap.java:124)
2015-10-17 00:12:47.260193500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.processSetForegroundColor(AnsiHtmlOutputStream.java:258)
2015-10-17 00:12:47.260335500   at org.fusesource.jansi.AnsiOutputStream.processEscapeCommand(AnsiOutputStream.java:275)
2015-10-17 00:12:47.260336500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:125)
2015-10-17 00:12:47.260482500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:166)
2015-10-17 00:12:47.260484500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-17 00:12:47.260529500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$ConsoleLogFilterImpl$1.eol(AnsiColorBuildWrapper.java:222)
2015-10-17 00:12:47.260628500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-17 00:12:47.260629500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-17 00:12:47.260725500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-17 00:12:47.260773500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-17 00:12:47.260773500   at hudson.util.StreamCopyThread.run(StreamCopyThread.java:61)
2015-10-17 00:12:47.278865500 Oct 17, 2015 12:12:47 AM hudson.model.Run execute
2015-10-17 00:12:47.278866500 INFO: test-ansicolor #19 main build action completed: SUCCESS
2015-10-17 00:12:47.299159500 Oct 17, 2015 12:12:47 AM hudson.model.Executor finish1
2015-10-17 00:12:47.299160500 SEVERE: Executor threw an exception
2015-10-17 00:12:47.299161500 java.lang.NumberFormatException: For input string: "31m"
2015-10-17 00:12:47.299161500   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
2015-10-17 00:12:47.299162500   at java.lang.Integer.parseInt(Integer.java:492)
2015-10-17 00:12:47.299162500   at java.lang.Integer.<init>(Integer.java:677)
2015-10-17 00:12:47.299163500   at org.fusesource.jansi.AnsiOutputStream.write(AnsiOutputStream.java:120)
2015-10-17 00:12:47.299188500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.collectAmbleCharacter(AnsiHtmlOutputStream.java:193)
2015-10-17 00:12:47.299189500   at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:179)
2015-10-17 00:12:47.299190500   at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
2015-10-17 00:12:47.299191500   at hudson.plugins.ansicolor.AnsiColorBuildWrapper$ConsoleLogFilterImpl$1.eol(AnsiColorBuildWrapper.java:222)
2015-10-17 00:12:47.299197500   at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
2015-10-17 00:12:47.299198500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
2015-10-17 00:12:47.299199500   at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
2015-10-17 00:12:47.299206500   at java.io.PrintStream.write(PrintStream.java:480)
2015-10-17 00:12:47.299207500   at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
2015-10-17 00:12:47.299207500   at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
2015-10-17 00:12:47.299208500   at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)
2015-10-17 00:12:47.299209500   at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)
2015-10-17 00:12:47.299213500   at java.io.PrintStream.newLine(PrintStream.java:546)
2015-10-17 00:12:47.299213500   at java.io.PrintStream.println(PrintStream.java:807)
2015-10-17 00:12:47.299214500   at hudson.model.StreamBuildListener.finished(StreamBuildListener.java:79)
2015-10-17 00:12:47.299214500   at hudson.model.Run.execute(Run.java:1790)
2015-10-17 00:12:47.299215500   at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
2015-10-17 00:12:47.299230500   at hudson.model.ResourceController.execute(ResourceController.java:98)
2015-10-17 00:12:47.299231500   at hudson.model.Executor.run(Executor.java:381)

I have only taken a cursory glance, but is this maybe related to this?

Ok, so this problem didn't go away with the serialization change. I'll reopen this. @omehegan are you the only one on this thread to have this reproduced?
I guess I can roll up my sleeves this week and try this ...

It sounds that way. Obviously I'm willing to help however I can. If the comments @ejelly linked to are related, it sounds like if I built an old version of the plugin and used it, then upgraded, we would see the issue. That would explain why I couldn't repro it on my test server which only ever had 0.4.1.

So we're saying just close it and ship it?

Eh? No, it sounds like it would be a breaking change for anyone who had a sufficiently old version of the plugin installed. I think we should try to fix. I can engage some Jenkins pros for guidance if that's what we need.

@omehegan There's a lot of speculating going on on this thread about what the root cause is, I re-read everything and I can't even figure out what the issue is anymore. You're the only one with a repro, so, what are you seeing with code from HEAD?

java.lang.ArrayIndexOutOfBoundsException: 175
java.lang.NullPointerException

Some combination of the above?

OK, let me summarize the current state of things. I'm using Jenkins 1.609.3 (LTS release) on 64 bit Ubuntu Trusty, with OpenJDK 7. If my build configs can be trusted, I have never used a version of the plugin earlier than 0.4.1. In the latest HEAD, a freestyle build with a shell script step which just does this: printf "\e[31mHello World\e[0m\n" throws the two exceptions I noted in https://github.com/dblock/jenkins-ansicolor-plugin/issues/57#issuecomment-148869752.
I can't reproduce this on my test Jenkins server, and the only difference between that and production is that it's using Ubuntu Precise. I'm doubtful that that's a factor. I'm wondering if it's possible this is an interaction between two plugins, but I've tried to install all the relevant ones on the test server and it hasn't helped me repro the problem there. I also would think you'd see some reference to another plugin in the stack traces.
I think some of the other exceptions I've seen have partly been the result of the bug occurring during a build on a slave node. The bug causes the job to exit ungracefully, and when it's building on master that seems to generate a fairly straightforward failure (as noted in https://github.com/dblock/jenkins-ansicolor-plugin/issues/57#issuecomment-148869752). When a slave job exits this way Jenkins itself seems to get mad and throw an exception or two of its own.

@omehegan One more thing we should hunt down - a version of jansi. On the failing box see if you have any jansi-1.[something].jar files around?

In my JENKINS_HOME:
./plugins/ansicolor/WEB-INF/lib/jansi-1.9.jar
./war/WEB-INF/lib/jansi-1.9.jar

I just copied ALL of the plugins from my production Jenkins over to the test system, then install latest HEAD of ansicolor, and still can't reproduce there. Bah.

WOO I have repro steps!
The issue is with the JENKINS_HOME/hudson.plugins.ansicolor.AnsiColorBuildWrapper.xml file, which controls the global config of the plugin. My production server has that. My test server does not. When I copy the prod version of the file over to the test server and use HEAD of the plugin, I can reproduce the exceptions.
Furthermore, with hudson.plugins.ansicolor.AnsiColorBuildWrapper.xml in place, if you open the global Jenkins config, you see a billion lines of other exceptions related to the plugin.
So it seems like, relative to @ejelly's comments in https://github.com/dblock/jenkins-ansicolor-plugin/issues/24#issuecomment-72599878, that is the data that we need a way to cleanly migrate across plugin versions. Apparently changing the serialVersionUID in AnsiColorMap.java is not enough to handle this. Can you guys make any more progress with this, given this insight?

@omehegan That's awesome. Care to copy-paste/attach/share the xml file here?

I bet if you install 0.4.1 of the plugin, then go to the Jenkins global config, display the ansicolor config and make a change and save it, the file will be generated. Then install HEAD of the plugin and you should be able to repro.
Here's mine:
<?xml version='1.0' encoding='UTF-8'?>
<hudson.plugins.ansicolor.AnsiColorBuildWrapper_-DescriptorImpl<EMAIL_ADDRESS>  <colorMaps>
    <hudson.plugins.ansicolor.AnsiColorMap>
      <name>xterm</name>
      <fgMap>
        <string>#000000</string>
        <string>#CD0000</string>
        <string>#00CD00</string>
        <string>#CDCD00</string>
        <string>#1E90FF</string>
        <string>#CD00CD</string>
        <string>#00CDCD</string>
        <string>#E5E5E5</string>
      </fgMap>
      <bgMap>
        <string>#4C4C4C</string>
        <string>#FF0000</string>
        <string>#00FF00</string>
        <string>#FFFF00</string>
        <string>#4682B4</string>
        <string>#FF00FF</string>
        <string>#00FFFF</string>
        <string>#FFFFFF</string>
      </bgMap>
    </hudson.plugins.ansicolor.AnsiColorMap>
    <hudson.plugins.ansicolor.AnsiColorMap>
      <name>vga</name>
      <fgMap>
        <string>#000000</string>
        <string>#AA0000</string>
        <string>#00AA00</string>
        <string>#AA5500</string>
        <string>#0000AA</string>
        <string>#AA00AA</string>
        <string>#00AAAA</string>
        <string>#AAAAAA</string>
      </fgMap>
      <bgMap>
        <string>#555555</string>
        <string>#FF5555</string>
        <string>#55FF55</string>
        <string>#FFFF55</string>
        <string>#5555FF</string>
        <string>#FF55FF</string>
        <string>#55FFFF</string>
        <string>#FFFFFF</string>
      </bgMap>
    </hudson.plugins.ansicolor.AnsiColorMap>
    <hudson.plugins.ansicolor.AnsiColorMap>
      <name>css</name>
      <fgMap>
        <string>black</string>
        <string>red</string>
        <string>green</string>
        <string>yellow</string>
        <string>blue</string>
        <string>magenta</string>
        <string>cyan</string>
        <string>white</string>
      </fgMap>
      <bgMap>
        <string>black</string>
        <string>red</string>
        <string>green</string>
        <string>yellow</string>
        <string>blue</string>
        <string>magenta</string>
        <string>cyan</string>
        <string>white</string>
      </bgMap>
    </hudson.plugins.ansicolor.AnsiColorMap>
    <hudson.plugins.ansicolor.AnsiColorMap>
      <name>gnome-terminal</name>
      <fgMap>
        <string>#2E3436</string>
        <string>#CC0000</string>
        <string>#4E9A06</string>
        <string>#C4A000</string>
        <string>#3465A4</string>
        <string>#75507B</string>
        <string>#06989A</string>
        <string>#D3D7CF</string>
      </fgMap>
      <bgMap>
        <string>#2E3436</string>
        <string>#CC0000</string>
        <string>#4E9A06</string>
        <string>#C4A000</string>
        <string>#3465A4</string>
        <string>#75507B</string>
        <string>#06989A</string>
        <string>#D3D7CF</string>
      </bgMap>
    </hudson.plugins.ansicolor.AnsiColorMap>
  </colorMaps>
</hudson.plugins.ansicolor.AnsiColorBuildWrapper_-DescriptorImpl>

I'm able to reproduce this using the steps @omehegan outlined. On the "Manage Jenkins" page I'm informed that:

You have data stored in an older format and/or unreadable data
Looks very much like we need some way of migrating old configuration to new format. Reading up on that now..

@qvicksilver I think the canonical way to do this is through application of readResolve: https://wiki.jenkins-ci.org/display/JENKINS/Hint+on+retaining+backward+compatibility

@omehegan was just looking at that, first try no luck :(

@qvicksilver I had already posted about this issue on the jenkinsci-dev mailing list. Maybe we can get some guidance there: https://groups.google.com/forum/#!topic/jenkinsci-dev/aOma439Sdw8  Otherwise, #jenkins on Freenode IRC is active (I'm in there all the time) and a good place for realtime Q&A.

@omehegan care to try this: qvicksilver@5c8ceaab7d705ea88fc0bfd4d784f0a1da246212 seems to be working.

@qvicksilver Do you think you can turn this into a test? Maybe just try to deserialize that XML? And add a comment that this object is serialized into a configuration and should be altered carefully. This will be a good model with moving forward.

@dblock sounds like a good idea, I'll give it a try!

@qvicksilver yep, your branch works for me as well. However, I notice that it doesn't rewrite the config on disk. Is that expected?

@omehegan I've made no effort for it to rewrite the config so I'd say that is expected. But it would of course be a nice addition.

Make some pull requests! Nice work everyone.

@dblock thanks! PRs coming sometime early next week, just don't have the time to tidy up and write the test right now.

@qvicksilver I guess it doesn't matter if we rewrite the config preemptively. IF a user changes something later, presumably we'll write a new one in the correct format.

BTW, thanks a lot for sticking with this bug, it was important to us to get the plugin working in Workflow projects, and I'm glad I could help unblock the next release!

PR: https://github.com/dblock/jenkins-ansicolor-plugin/pull/62


Added missing gitignore

There are many files on the GitHub project which are not supposed to be pushed.
I have taken the .gitignore from the https://github.com/github/gitignore/blob/main/KiCad.gitignore which is made for KiCad, but have excluded BOM files (xml and csv)

Works flawless. 😁


PG: Credentials

LV-Data.PGSQL.lvclass:Configuration is looking for a file, but credentials should only be stored in a PGPASS file

Issue appeared in Multichannel Lockin.exe (v2.15.0) and VRM.exe (v1.6.4?). It's possible that they are using an old version of LV-Data package

This was due to outdated LV-Data package


Network policies: Non-linked container can communicate on same host

Rancher Versions:
Server: 1.5.0
healthcheck: 0.2.3
ipsec:
network-services: 0.4.8
scheduler: 0.7.4
kubernetes (if applicable):
network-policy-manager:v0.2.4
Docker Version:
17.03.0-ce
OS and where are the hosts located? (cloud, bare metal, etc):
Ubuntu 16.04.1 LTS (4.4.0), bare metal
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancher
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
In network policies, allow linked services, deny for the rest
Create two stacks on the same host.
Ping container from the other stack
Results:
Container get ping response.
This issue is not present for all my hosts.

@courcelm , I tried to follow your steps and am not able to reproduce the issue. In my case , pinging between containers belonging to different stacks times out (even when they are on the same host). Only pinging between containers that belong to linked services succeed.
Could you check that you have "deny" set for "Everything Else" option as well?

I have the same network policies like this screenshot. It seems to be host specific, maybe there is something else. I have a 4 stacks running on this host. Some services are linked within stack , other have external links. I also have stack with load balancer only.

I evacuated the host, rebooted and re-created stacks. The issue is gone.


If no tag matches, just emit some default message.

@jshaughn @mtho11

Merged #873 despite Travis Integration tests failing (like they do much of the time).


Up to npm

Is very more ease to test and use

Forget, i found the name of the package in a closed issue.
npm i infinite-scroll-x --save

I did it. Updated on npm too.
Thanks for help.