Log4JXml - Removed redundant logging of exception, default IncludeNLogData to false

Skip NLog-namespace handling when IncludeNLogData = false.
For NLog 5.0

This change is

Added WriteThrowableCData to support  #2791

Please rebase this, and then I will merge it - thanks!

@304NotModified Please rebase this, and then I will merge it - thanks!

Done

Thanks!

Codecov Report

Merging #2672 into dev will decrease coverage by <1%.
The diff coverage is 73%.

@@          Coverage Diff           @@
##             dev   #2672    +/-   ##
======================================
- Coverage     81%     81%   -<1%
======================================
  Files        344     344
  Lines      27537   27547    +10
  Branches    3697    3700     +3
======================================
- Hits       22245   22234    -11
- Misses      4225    4245    +20
- Partials    1067    1068     +1

Updated wiki: https://github.com/NLog/NLog/wiki/Log4JXMLEvent-Layout-Renderer (With new includeNLogData default value)


Update temple-osrs

DT2 Bosses, Error Catching for missing Icons

You have a gif with a png file extension which breaks our code scanner.  Don't do this.
src/main/resources/com/templeosrs/bosses/game_icon_ironehb.png:                      GIF image data, version 89a, 16 x 16

Fixed that weird GIF, but I'm not seeing any scanner output in the build details so I hope that was the only one...

The scanner output is not public. Also you have other images which have the same problem--namely the below files:
$ git ls-files *.png | xargs file | grep -E 'png:\s+GIF'
src/main/resources/com/templeosrs/overall.png:                                       GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_agility.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_attack.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_construction.png:                GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_cooking.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_crafting.png:                    GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_defence.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_ehp.png:                         GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_f2pehp.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_fantasyehp.png:                  GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_farming.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_firemaking.png:                  GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_fishing.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_fletching.png:                   GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_herblore.png:                    GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_hitpoints.png:                   GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_hunter.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_ironehp.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_lvl3ehp.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_magic.png:                       GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_mining.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_overall.png:                     GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_prayer.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_ranged.png:                      GIF image data, version 89a, 18 x 18
src/main/resources/com/templeosrs/skills/skill_icon_runecraft.png:                   GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_slayer.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_smithing.png:                    GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_strength.png:                    GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_thieving.png:                    GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_uimehp.png:                      GIF image data, version 89a, 16 x 16
src/main/resources/com/templeosrs/skills/skill_icon_woodcutting.png:                 GIF image data, version 89a, 16 x 16

I see, I suppose I've just been saving images from the OSRS HiScores so I had no idea. I appreciate the insight, I'll get these fixed.

Alright, all should have been replaced. Sorry about that scanner trouble, shouldn't be an issue from here on out.


split joint results figure into two figures

fig 1: v_sun vs m/m
fig 2: z_sun vs m/m and z_sun vs v_sun
This is for the cosmology plots.

Done


MaxInt Error

Problem arises when you try to run pdf2txt. Error trace states can not import max int. I'm running Python 3.5.1. After researching the error, I've come to the conclusion that Python 3.x.x have removed the system constant maxint; hence, the inability to import said maxint.
Um...
Please send aid.

You probably use the original pdfminer from euske or another fork, because this one (called pdfminer.six) was precisely written to circumvent such problems :-)
I just double checked and pdf2txt works fine with Python 3.5.2 here and the only occurence of maxint in the code is in the comment of the following line in utils.py:
INF=2147483647 #from sys import maxint as INF #doesn't work anymore under Python3, but PDF still uses 32 bits ints


make cluster domain configurable

Fixes #278

add new variable clusterDomain to chart
use variable instead of hard coded cluster.domain

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

This is close, but there is a raw portion of the configmap that is patched via the prepare command:
https://github.com/containous/maesh/blob/master/internal/k8s/client.go#L360
This means that the prepare command needs to have this passed as a flag, and then passed onto the k8s client for patching.

Hi @brennerm,
This PR looks great, but we need you to sign the CLA to allow us to move forward with review.
Could you do so?
Thanks!

Done :+1:


Establish /home/<⎕AN> dynamically

... rather than hard-coding the path:
2 ⎕NQ '.' 'GetEnvironment' 'HOME'

Fixed in 0.41.1


Bug Report: Filters Not Applied on Click

When attempting to apply filters to images, either newly captured or from the gallery, clicking on the filters does not produce any change. This issue occurs in two scenarios: applying filters to newly captured images and applying filters to existing images in the gallery.
Steps to Reproduce
Scenario 1: Newly Captured Image

Capture an image using the application.
Click on the 'Filter' option.
Select any filter from the available options.
Observe that the filter is not applied to the image.

Scenario 2: Image from Gallery

Open any image from the gallery within the application.
Click on the 'Filter' option.
Choose any filter from the list.
Notice that the filter is not applied to the image.

Expected Behavior
Selecting a filter should immediately apply the chosen effect to the image, whether it is a newly captured image or an image from the gallery.
Actual Behavior

In both scenarios, selecting a filter does not apply any change to the image.
The issue is consistent, with no response from the application when a filter is selected.

Note
Filters are applied when using the Collage function. But are not working with the Filter selection list somehow.

You need to enable the pipelineprocessing in general. You see anything about that in the logs after you clicked?
The filter button should be hidden if disabled or just apply the filter even if the filter pipeline is disabled in future.

Oh, my bad, this was a mistake on my side. Someone at my brothers party must have disabled it, and I only updated just now and assumed it was because of the update.
Thanks

OK, no problem.
Still the filter application is a bit weird for Collages and GIFs. I will create a followup for this.


What is the recommended solution to clear spin-related cache files in the /tmp directory?

Loving spin otherwise btw!
I've been using spin locally via spin watch during development of an app using 3 components (the spin-fileserver and 2 custom ones) on a Debian Linux system for weeks. Noticed today my /tmp partition was nearly out of space. Seeing thousands of directories called .tmpRANDOM (where RANDOM is a random 6-digit alphanumeric string) with spin.lock (so I know they're related to spin) in /tmp totaling to hundreds of GB!
Not observing any subcommand in the spin CLI addressing cleaning up cache, etc...
Presuming I can kill spin watch and any other instances of spin, and delete all of these via fd '^spin.lock$' /tmp |sed 's/\/spin\.lock$//' |xargs rm -rf?
Is there any other solution you would recommend?
Are there any methods to prevent this behavior... such as... spin automatically deleting cache files in /tmp when it exits?
Thanks!

Spin version (spin --version): spin 1.4.1 (e0bd911 2023-07-12)
Installed plugin versions (spin plugins list --installed)
cloud 0.1.2 [installed]
js2wasm 0.5.1 [installed]
py2wasm 0.3.0 [installed]

Thanks for flagging this.  Spin is meant to delete its temporary directory on exit - I'm not yet sure what's going on here but a possible theory is that, when spin watch detects a change, it is terminating spin up in a way that bypasses the cleanup.  I'll look into this.
In the meantime, yes, it is safe to delete these temporary directories when Spin is not running.  Sorry for the inconvenience!

I've confirmed that this is a spin watch issue.  Running spin up and Ctrl+C-ing it deletes the temp directory; running spin watch creates a new temp directory each time the application is restarted, and Ctrl+C-ing it doesn't delete any of these directories.
spin watch uses watchexec, which controls process termination and restart - that is, we do not directly control the code that actually terminates spin up - and as far as I can tell, it does this by sending SIGKILL, which is handled at the OS level and doesn't give spin up a chance to tidy up behind itself.  I can't see a way for us to override this strategy.  Unless I'm missing something, this gives us two ways forward:

Change spin up so that the temp directory is transient at the OS level.  This would make cleanup safer in general.  I believe on Unix this can be done by holding a file descriptor to the temp directory while unlinking it at the filesystem level, but I am not very au fait with this... and I am not sure if there is a strategy that would be portable to Windows.
Change spin watch to watch files manually, using notify/notify_debouncer_mini, and manage rebuilds/reloads ourselves.  (This could even use the build and up structures in-process instead of shelling out to them.)  This would be fully portable, and would give us more visibility and control going forward, but would involve significant rework.

@calebschoepp thoughts or better ideas?

It looks like watchexec does support sending other signals. A snippet from its repo that seems likely to do what we want: https://github.com/watchexec/watchexec/blob/96bf3d231e6312beda9a589b52e8b64138514293/crates/cli/src/config/runtime.rs#L174-L177

@itowlson did you repro this on Debian linux like the OP? I've run a lot of spin watch on my Mac and at a brief glance I see nothing my /tmp directory so I want to determine if this is only an issue on Debian Linux.

Change spin up so that the temp directory is transient at the OS level. This would make cleanup safer in general. I believe on Unix this can be done by holding a file descriptor to the temp directory while unlinking it at the filesystem level, but I am not very au fait with this... and I am not sure if there is a strategy that would be portable to Windows.

Can you explain what you mean by transient at the OS level in simpler terms. I'm not quite following.

Change spin watch to watch files manually, using notify/notify_debouncer_mini, and manage rebuilds/reloads ourselves. (This could even use the build and up structures in-process instead of shelling out to them.) This would be fully portable, and would give us more visibility and control going forward, but would involve significant rework.

Definitely agree on some of the advantages here that you've listed. That being said I ended up not going in this direction (and I spent some significant time trying) because we would have had to handle so many cross OS details ourselves.
I think what Lann linked is the right direction to explore. In our implementation we are only using Outcome::Stop which after some digging appears to be backed by SIGKILL (hence the issue we're having). In Lann's example they use Outcome::Signal() to be able to send something other than SIGKILL. We could send something like SIGINT instead. The catch is that it looks like we'll have to use macros to keep using Outcome::Stop on Windows since the Unix signals aren't supported.

@lann Yeah the CLI does it.  I did quite a bit of gazing at it trying to figure out how to set the equivalent of --stop-signal in the library.  But I think it's not a direct property, it's an Outcome we choose.  So we can maybe change https://github.com/fermyon/spin/blob/45b14fb48eada7c87d38b570945210e8a9d2a8f5/src/watch_state.rs#L82 or something like that to send Outcome::Signal(...) instead of Outcome::Stop.  @calebschoepp does that sound right?
@calebschoepp Yes, I am using Ubuntu on WSL.
By "transient at the OS level" I was thinking of the way Unix allows you to create a file, grab a descriptor / handle / ID / something, then delete the file, and the in-memory thing means the file continues to exist as long as the in-memory thing does.  My understanding (which I look forward to having corrected) is that Unix files are essentially reference counted, with each directory entry being a reference (and there can be several directory entries for the same file because links).  Only when all entries/links are deleted does the actual file get destroyed (hence Unix calling it "unlink" rather than "delete").  And process holding an open reference counts as a link.  So if a process creates a file on disk (1 link), opens it (2 links), then deletes the file on disk (1 link), the file still exists!  But when the process closes the handle it goes down to 0 links and gets removed.  Sorry I am explaining this very meanderingly but hopefully it rings bells!
But yeah if we change the Outcome::Stop to Outcome::Signal(SIGINT) then the above rambly paragraph becomes irrelevant!

or something like that to send Outcome::Signal(...) instead of Outcome::Stop. @calebschoepp does that sound right?
Yes that is what I'm advocating. With the caveat that I think we need to keep using Outcome::Stop for Windows.

By "transient at the OS level"...
Thanks that helped.

Changing Stop to Signal(Interrupt) fixed the thing where it didn't clean up temp directories, but introduces a rather bigger problem where it sometimes continues to serve the previous build after a change.  It looks like in these cases the build is not completing before the app is started (visually, Finished building all Spin components is not printed before the up output such as Logging component stdio to... starts appearing).  This was not happening with the Stop outcome.  Continuing to investigate.

In these cases spin build starts but does not exit (normally) and does not complete the build.  This is implied by some test logging, and is confirmed by running spin up - the .wasm file remains the old one.  It is as if build had been killed before it could write out the updated binary.

Oh!  I think there is an overlap.  Here is a trace.  Here, Spin is modified to print SPIN STARTING as soon as it enters main, and SPIN EXITING as the last thing it does before returning from main.
*** handling effect SourceChange in current state Running
*** SPIN EXITING OKAY: Args { inner: ["/home/ivan/github/spin/target/debug/spin", "trigger", "http"] }
*** SPIN STARTING: Args { inner: ["/home/ivan/github/spin/target/debug/spin", "build", "-f", "spin.toml"] }
*** SPIN EXITING OKAY: Args { inner: ["/home/ivan/github/spin/target/debug/spin", "up", "-f", "spin.toml"] }
Building component dioxus-test with `cargo build --target wasm32-wasi --release`
    Blocking waiting for file lock on package cache
    Blocking waiting for file lock on package cache
*** handling effect ChildProcessCompleted in current state Building
*** SPIN STARTING: Args { inner: ["/home/ivan/github/spin/target/debug/spin", "up", "-f", "spin.toml"] }
*** SPIN STARTING: Args { inner: ["/home/ivan/github/spin/target/debug/spin", "trigger", "http"] }

The build process prints STARTING before the up process prints EXITING.  We rightly get ChildProcessCompleted for the up process.  But watch has already moved into the Building state and kicked off spin build.  And so watch mistakenly thinks the completion is for the build process... which causes it to go into the Running state and (I think) stop the current process (i.e. kill spin build) and do a Startoutcome (which I think inRunningkicks offspin up`).
So watch needs to change to actually wait for spin up to fully exit, before going into its build routine.  It currently seems to switch and kick off the build immediately on the source file change, which worked when process killing was instantaneous, but is no longer safe if process exit waits for cleanup code for run.


Extrude shape along a 3D path

I am building coil like 3D object.

The best solution I found so far is union of rotated cylinders (see the code below), but:

it leaves the gaps between segments
it is slow

Wouldn't it be nice to have some sort of extrude_along_the_path API to do the trick?
'use strict';

const mag = vec => Math.sqrt(
    vec.reduce((res, e) => res + Math.pow(e, 2), 0));

const rotx = vec => -Math.atan2(
    Math.sqrt(Math.pow(vec[0], 2) + Math.pow(vec[1], 2)),
    vec[2]
  ) * 180 / Math.PI;

const rotz = vec => -Math.atan2(vec[0], vec[1]) * 180 / Math.PI;

const wireSegment = (pos, vec) =>
    translate(pos,
        rotate([rotx(vec), 0, rotz(vec)],
            cylinder({r: .5, h: mag(vec), fn: 8})
        )
    );

const turnPattern = [
    [ 0, 2,  10], [ .5, .1,  1 ], [ .5, .1,  .5], [ 1 , .1, .5 ],
    [ 6, 1,   0], [ 1,  .1, -.5], [ .5, .1, -.5], [ .5, .1, -1 ],
    [ 0, 2, -10], [-.5, .1, -1 ], [-.5, .1, -.5], [-1,  .1, -.5],
    [-6, 1,   0], [-1,  .1,  .5], [-.5, .1,  .5], [-.5, .1,  1 ]
];

const genTurns = (nTurns, pattern) => {
    const patternLength = pattern.length;
    const fullTurns = nTurns | 0;
    const tailTurns = (nTurns - fullTurns) * patternLength;
    let res = [];
    for (let i = 0; i < fullTurns; i++) {
        res = res.concat(pattern);
    }
    for (let i = 0; i < tailTurns; i++) {
        res = res.concat([pattern[i]]);
    }
    return res;
};

const coil = nTurns => {
    const turns = genTurns(nTurns, turnPattern);
    const res = turns.reduce((res, turn, i) => {
        const {root, pos} = res;
        return {
            root: root.union(wireSegment(pos, turn)),
            pos: pos.map((e, i) => e + turn[i])
        };
    }, {
        root: {union: el => el},
        pos: [0, 0, 0]
    });
    return res.root.setColor([1, .3, .1]);
};

const main = () => coil(5 + 9/16);

Hi @drom !
There is something like that in the works :) I hope to get it done by the end of next week.
in the meantime , you can , with a bit of hacking around get close by using solidFromSlices

Side note : I really like your coding style of small specialized functions, if you can help out, it would be awesome :)

@kaosat-dev thank you, I will try solidFromSlices and will test new API once available.
I would love to help with the project. I am new to solid geometry but using JS instead of some DSL language over OpenSCAD like approach is really powerful idea.

@drom I hope you do not mind, I created a copy of this here https://github.com/jscad/csg.js/issues/68 as it is part of the 'core' features (csg.js)


wikiqid Apple gets an exception (node 5.7.1)

wikidata-cli 1.3.1
$ wikiqid Apple

TypeError: Cannot convert undefined or null to object
    at Function.keys (native)
    at parseIds (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/bin/wikiqid:43:20)
    at tryCatcher (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/promise.js:502:31)
    at Promise._settlePromise (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/promise.js:559:18)
    at Promise._settlePromise0 (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/promise.js:604:10)
    at Promise._settlePromises (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/promise.js:683:18)
    at Async._drainQueue (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/async.js:138:16)
    at Async._drainQueues (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/async.js:148:10)
    at Immediate.Async.drainQueues [as _onImmediate] (~/.nodebrew/node/v5.7.1/lib/node_modules/wikidata-cli/node_modules/bluebird/js/release/async.js:17:14)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

it seems that the server didn't returned the expected response, I made a patch to get better error reports, could you try to update to the latest version and retry?

Gladly. The root of the problem:
Context:
 { servedby: 'mw1277',
  warnings: { wbgetentities: { '*': 'Unrecognized value for parameter \'sites\': uswiki' } },
  error:
   { code: 'param-missing',
     info: 'A parameter that is required was missing. (Either provide the item "ids" or pairs of "sites" and "titles" for corresponding pages)',
     messages: [ [Object] ],
     '*': 'See https://www.wikidata.org/w/api.php for API usage' } }

oh, seems that the local language detection function was just plain wrong, returning the region instead of the language two letters code (in your case us instead of en, thus the wrong site parameter uswiki). I fixed it there bca05bb and published it as a new patch. Could you confirm that it fixes the issue?

It finds New Delhi and Apple (the fruit).


Added hackathons page

[x] Create Hackathon Schema
[x] Create Hackathons Page all the hackathons will be listed here

[x] Used Gallery View to Show all the Images of Respective Hackathons

Latest hackathon first like hackvsit 4 then 3 then 2 then 1

Latest hackathon first like hackvsit 4 then 3 then 2 then 1

Done 👍🏻


ENH changes for split sysroot

We have to patch the repo data for the old binutils to make them conflict with the old sysroot before we can merge this.

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

closes #24

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin rerender

We shouldn't merge this to main just yet because this would bring in another conflicting sysroot.

So I am pretty out of my depth here. Right now this simply rearranges the sysroot we have, or does it do something more?

gcc_linux-64 packages we have currently vendor the sysroot. sysroot_linux-64 is not used by any package at the moment.

@conda-forge-admin rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin rerender

@isuruf what is the ordering of merging this? I see a gfortran failure and am wondering if we need to merge the compiler change first?

woops! done!

@conda-forge-admin rerender

Alright. Seems like this is ready to roll?


ci(test): run test workflow for each push on any branch

This PR was intended to run tests on CI against the latest commits pushed by GitHub Actions, but GitHub Actions do not allow recursive workflows. I often forget that and consider workarounds. This change is meaningless.


Give each question a ID to allow linking to specific questions.

what it says in the title! this has already been implemented in 30 seconds of css, and would be extremely useful, for example to link a friend to a specific question without them having to find it manually.

The readme does have these, however the generated site does not. It might not be to hard to implement, however the question becomes "what is a unique id we can use" since questions are long, and snippet names are kind of long too. Still a great suggestion.
It looks like it can be put into the build script pretty easily and just based on the snippet name. Then we just merely need to add an anchor to the beginning of each snippet box, and a link that can easily be copied to the header question.
This implementation will cause breaks in links if the snippet file name changes, but that shouldn't be happening anyways.
This should be easy enough. Thanks for the suggestion!

@derpmarine168 took me much more than a weekend to find time to add one line of code. This is solved now in #129 and should be live very soon. Thanks for recommending this! 👍


Redirects not working

Trying to use redirect()->back(); after an POST request the HTTP Header are show on the page body, like:
HTTP/ 303 See Other
Host: localhost:8080
Date: Thu, 08 Feb 2018 09:56:58 -0200
Connection: close
X-Powered-By: PHP/7.2.2-1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Cache-control: no-store, max-age=0, no-cache
Content-Type: text/html; charset=UTF-8
Location: http://localhost:8080/login

The motive is that the HTTP Version is not set.
Looking on system/HTTP/Response.php, line 597, the sendHeaders() is called. And adding $this->setProtocolVersion('1.1'); just before could solve this issue.
But I'm not sure if is the correct place to set it.

redirect()->back(); continues not working. Seems that the RedirectResponse is not getting the shared instance of the Response set in the CodeIgniter. Having the following error:
Return value of CodeIgniter\HTTP\Message::getProtocolVersion() must be of the type string, null returned

BASEPATH/HTTP/Message.php at line 363

In Common.php:768:
function redirect(string $uri=null)
{
	$response = Services::redirectResponse(null, true);
	var_dump($response);exit;

	if (! empty($uri))
	{
		return $response->to($uri);
	}

	return $response;
}

protected 'protocolVersion' => null

A temporary solution was to add the following in the Response constructor:
$request = \Config\Services::request();
$this->setProtocolVersion($request->getProtocolVersion());


Broken latest release

Using the ant-javacard jar to build our CAP files, it now generates a lot of different errors and doesn't compile the cap. But everything is OK when using the previous version.
I spent some time to figure out what's wrong, and ultimately using the previous version, it works well, as before.
I use JDK 8 (1.8.0).
With jckit/targetkit = 3.0.5u4/3.0.5u4, I got something like that :
...
  [convert] [ INFO: ] conversion completed with 0 errors and 1 warnings.
   [verify] Verification passed

BUILD FAILED
build.xml:6: java.lang.UnsupportedOperationException
        at com.sun.nio.zipfs.ZipPath.toFile(ZipPath.java:660)
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
        at java.util.ArrayList.forEach(ArrayList.java:1259)
        at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:390)
        at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
        at pro.javacard.capfile.CAPFile.strip(CAPFile.java:435)
        at pro.javacard.ant.JavaCard$JCCap.execute(JavaCard.java:795)
        at pro.javacard.ant.JavaCard.execute(JavaCard.java:152)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
        at org.apache.tools.ant.Task.perform(Task.java:350)
        at org.apache.tools.ant.Target.execute(Target.java:449)
        at org.apache.tools.ant.Target.performTasks(Target.java:470)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
        at org.apache.tools.ant.Main.runBuild(Main.java:818)
        at org.apache.tools.ant.Main.startAnt(Main.java:223)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)

With jckit/targetkit = 3.10r20210706/3.0.5u4, I get that :
...
  [convert] [ INFO: ] Converter [v3.1.0]warning: You did not supply export file for the previous minor version of the package
  [convert]
  [convert] [ INFO: ]     Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
  [convert]
  [convert]
  [convert] [ INFO: ] conversion completed with 0 errors and 1 warnings.

BUILD FAILED

When using v21.12.31, everything works fine, our cap is compiled and verified in both cases.
That suggests there are some regressions in the 23.04.03 latest release.

Thanks for reporting! I rolled back the release status. There's something wrong that allowed the tests to not run/pass as well, so need to investigate


dynamic overload to RouteBuilder interferes with autocomplete

When I used to write this much code:
Get["/status"] = context => context.
autocomplete would tell me where I need to go next, making Nancy very easy to pick up.  Now autocomplete sees the dynamic overload and offers nothing useful.  Did this change recently?  There are probably good reasons for the dynamic overload, but I wanted to be sure you noticed the tradeoff.
I am running Resharper 5.0 on MSVS 2010.  If this is better on Resharper 6.0 then disregard I should probably just upgrade that.
thanks for the hard work

Oh sorry, I hadn't looked into the change deeply.  It seems the other overload is complete gone now.


test(x/swaprouter): TestCreatePool (merge)

Closes: #XXX
What is the purpose of the change
Merging test for swaprouter's CreatePool

Merging since this is a test


Minor changes to compatibility actionbar

changed portrait version of compatibility action bar so that it sits
in a horizontal scroll view - this looked really weird when there were
too many tabs especially that all the auto scrolling text was moving
that the same time - requires more that 4 tabs to test
changed action bar view so that when a tab is selected (without user
input) it scrolls into view if it was not visible - this matches
behaviour in ICS (not sure about HC)

This is covered under v4.0 which will have a release candidate tomorrow. Thanks for the pull request though!

Sound great... looking forward to it... Keep up the amazing work.


Make SectionChanger visible after Drag&Drop

[Issue] https://github.com/Samsung/TAU-Design-Editor/issues/377
[Problem] Section Changer is not active after Drag&Drop.
[Cause] display:none is not removed since element.package.name
is not 'section' but 'sectionchanger' after D&D.
[Solution] Remove display:none for sectionchanger as well.
Signed-off-by: Grzegorz Czajkowski<EMAIL_ADDRESS>

This file does not use tabs but spaces. Should I convert the whole file to make travis happy?

Maybe not whole file but modifying eg code section you've been working on should do the trick - Travis checks only diffs.

I fixed indention in diff + added separate commit with eslit --fix on this file,


Roll Flutter Engine from 3fbe87c088d3 to e94475e16e89 (1 revision)

https://github.com/flutter/engine/compare/3fbe87c088d3...e94475e16e89
2024-09-20<EMAIL_ADDRESS>Roll Skia from a1d882ec91e2 to c79d632de004 (3 revisions) (flutter/engine#55315)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC chinmaygarde@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.

Unsubscribe
On Fri, Sep 20, 2024, 10:55 AM auto-submit[bot] @.***>
wrote:

auto label is removed for flutter/flutter/155452, due to - The status or
check suite Windows tool_integration_tests_2_7
https://cr-buildbucket.appspot.com/build/8736277904556193793 has
failed. Please fix the issues identified (or deflake) before re-applying
this label.
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/pull/155452#issuecomment-2363917703,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR7EZHWC2JETDE3OUOBVQTDZXQZNJAVCNFSM6AAAAABOR365K6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRTHEYTONZQGM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Register provider via policy For IoTFirmwareDefense.

Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

/azp run java - iotfirmwaredefense - ci

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

/azp run java - iotfirmwaredefense - mgmt - tests


Added a few operators to the Velocity class.

#1968

LGTM.
FWIW, our style guide is here:
https://github.com/flutter/engine/blob/master/sky/specs/style-guide.md
https://github.com/flutter/engine/blob/master/sky/specs/design.md


When will you upgrade the vesion of dependency assembly Fody to 3.3?

Currently(2018-11-22), the latest version of Fody is 3.3, and the nuget release package can only works with 2.* version of Fody.
Do you have a plan to support Fody with version 3.*？

see https://github.com/304NotModified/Fody.Stamp/issues/27
there is no date yet. Haven't found time to fix it, so any help would be awesome :)

If you want , I can try to upgrade the Fody to latest 2.* version.(2.5.0).
I encounter problem when use 2.0.3 version of Fody
https://github.com/304NotModified/Fody.Stamp/issues/49

close this issue according https://github.com/304NotModified/Fody.Stamp/pull/52


Audit - Cascading Delete

I have found that when I delete a parent object that has a child list (1 to many relationship), EF deletes the parent and all of the children because I set it up to cascade delete all of the child objects.  However the only thing that is written to the audit tables as a EntityDeleted is the parent object (no child objects).  Given this, I would never actually be able to recreate the object from the audit trail or see what it was prior to deletion.
The only way I can see to get around this is to add code that will manually delete all of those child rows.  I can do that but it seems like a lot of extra coding to handle this one case.
Is there a better way to deal with this scenario?

Hello @joejarvis64,
Unfortunately, cascade delete happen on database side, so there is nothing we can do here.
I have answered a similar question this week on StackOverflow: EF Core audits for cascade deleted values

Cascade Delete happen on the database side. Entity Framework doesn't need to be aware which entity will be deleted.
Entity Framework only tracks changes and delete the base object.
Edit: Answer subquestions
You are right. I'm the owner of EF+.
Technically, a library could handle this, but this will come with a severe performance drawback. I'm not aware of any feature or library which handle the cascade delete scenario for auditing.
Suggestion?
There is some suggestion, but I'm pretty sure you will not like any of them, and I don't either recommend them for performance reason:
•Do not use cascade delete (force you also retrieving/deleting related entities)
•Create ON DELETE Trigger and Log at database side.
I don't think a good solution exists for this scenario.

Unfortunately, we have no plan currently to support cascade delete for our auditing library since it may cause some performance issue (retrieving all related entities!)
Let me know If I answered correctly to your question.

Thanks for the reply.
Maybe another option would be to recreate the object and all of its children from the audit trail?  It seems like all of the info would be there so it "should" be possible.  Although I could see that getting a little complex.

Yes, it can be complex very fast.
If you have by example 100 parents, how to you retrieve all child value efficiently for each of them?
Unless the database size is very small, this features will become in no time a performance bottleneck.

Hello @joejarvis64 ,
I will close this issue since it's not really related to our library but how cascade delete work (on database side). I don't think either we will ever support it.
Let me know if you still have some questions


website url fetched is wrong

The website_url fetched is actually a privacy policy URL
When we get the parsed information for the application com.albankmobile.tablet, website_url it gives is https://www.albanybank.com/privacy.aspx which is actually a privacy policy.

I’ve merged your PR. Closing this issue.

Thanks @chadrem


[Feat]: Command to Link Other Notes Into Text Area

app
joplin-vscode-plugin
Is your feature request related to a problem? Please describe.
In the joplin app a plugin exists to support linking other notes in the text using the key-sequence @@
https://github.com/roman-r-m/joplin-plugin-quick-links
Describe the solution you'd like
It would be great if there was a command which allows inserting a markdown link to another note such that it presents:

Most recent notes at the top of the list
Accepts a search query to find the notes of mention
Possibly accepts linking to headings/anchors contained within the note

Describe alternatives you've considered
There currently exists the functionality to "copy link" to create a markdown link to the current note, or from the joplin viewer panel another note. This would be great functionality if possibly to integrate with the @@ sequence as a snippet, or as a command which accepts a shortcut.
Additional context
No response

I'd probably try to avoid adding support for the new syntax features of the markdown editor, but maybe add a shortcut that pops up an input box where you can search for a note and insert a link at a specified location in the current editor. In addition, it is interesting to list the reference notes of the current note and the notes that reference the current note through the command, but I don't use note links very much, so it has not been implemented.

A shortcut/command would be great!
I see the issue with adding new syntax features as you've mentioned. VSCode itself should one day be able to handle command execution from snippets so when a user types @@ I can link that to command joplinNote.searchLinks for example. https://github.com/microsoft/vscode/issues/10561

Fixed, ref: https://github.com/rxliuli/joplin-utils/releases/tag/joplin-vscode-plugin%400.9.0

How awesome, thanks. I will test it out today!


Make Trans.QueryBuilder.with_translation_ilike/5 private

The function Trans.QueryBuilder.with_translation_ilike/5 has public access.  This function should not be directly accessed and instead should be used by calling the Trans.QueryBuilder.with_translation/5 function.
This change will produce a modification of the Trans API, so I have to think in which version it should be included.

This issue is already fixed.


Revert "Stop creating the classpath mappings file."

Reverts vespa-engine/vespa#18544
SecretStore integration tests started failing with:
[12:46:55.254] mvn -P  clean package --batch-mode --quiet -DskipTests -Dmaven.repo.local=/tmp/vespa/17/.m2/repository
[12:47:46.427] [ERROR] Failed to execute goal com.yahoo.vespa:vespa-maven-plugin:7.430.2:generateTestDescriptor (generate-test-descriptor) on project secret-store-test-app: Failed to analyze test classes: /tmp/vespa/17/workdir/target/test-classes -> [Help 1]

Are we sure it's related?

The test worked on 7.430.1 and started failing on  7.430.2, and this was the only commit on 7.430.2. We'll see when the test is run with version with this change


Add a "Check Environment" script to the tutorials

Currently there are quite complicated prerequisites for those who do not run Cloud Native apps locally. It would be nice to automate the environment compatibility checker for the tutorial in https://keptn.sh/docs/quickstart/

stale


Support to show how many activities are waiting to be executed in a task list

It's been asked for many users.

Is there any idea about this feature implementation?

@longquanzheng could you share a little more of where you would like to see this information?
The first thing that came to mind were the grafana metrics, were we mainly look at schedule to start latency as well as task scheduled RPS. https://cadenceworkflow.io/docs/operation-guide/monitor/#cadence-default-persistence-monitoring
But I wanted to ask if this is something that could be more useful on the cadence-web ui

It was a long time ago so my memory is vague.
But I got users asked me in the context of operations, seeing how may tasks
in ui directly would be easier than looking at the metrics
Thanks,
Quanzheng
On Fri, Nov 1, 2024 at 10:38 AM Josue Alexander Ibarra <
@.***> wrote:

@longquanzheng https://github.com/longquanzheng could you share a
little more of where you would like to see this information?
The first thing that came to mind were the grafana metrics, were we mainly
look at schedule to start latency as well as task scheduled RPS.
https://cadenceworkflow.io/docs/operation-guide/monitor/#cadence-default-persistence-monitoring
But I wanted to ask if this is something that could be more useful on the
cadence-web ui
—
Reply to this email directly, view it on GitHub
https://github.com/uber/cadence/issues/4857#issuecomment-2452300281, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCQPM67AASM3F2VUV27M6DZ6O4BZAVCNFSM6AAAAABRAVOUQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJSGMYDAMRYGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

duplicate.


Idea / Request: handle two HC apps

I have 4 devices which I monitor with the integration. Unfortunately, I am blocked almost every day due to reaching the 1000 API calls.
As a workaround, would it not be possible to switch the integration to another HC app (with its own client ID and secret) on a time-controlled basis (e.g. at midday) and thus have 2 x 1000 calls?
But that is really just a thought. I have no idea whether this is possible at all.
Greetings, Carsten

Nice idea but it can't be done. The OAuth authentication is handled by HA and it can't handle more than one app at a time.
That said, try to enable debug logging for the integration and uploading a full 24h log from when it gets blocked and I'll try to see if there is a way to reduce the number of calls so it happens less frequently.

Ok, I got that. You need the 24h debug log from the block time? or a 24h period in which it works?

24h before the time it got blocked

so, it took a while, as HC has been working well for the last few days. Now the API call block seems to have struck again.
Attached is the LOG of the last approx. 24 hours BEFORE the block.
HA_log.zip
But it is very large, sorry.

My guess its you coffemaker.
You have 2011 "HTTP GET /api/homeappliances/" in your logfile and your coffemaker is calling 1116 times.
I have a washer, dryer, dishwasher, cooktop and a coffemaker and half my calls is related to my coffemaker

@Sdahl1234 is right, most of the calls are related to the coffee machine. In version 0.5.3 I made some optimizations that should reduce some unnecessary calls but I don't expect that to make a dramatic improvement. It just seems that the machine is very heavily used, making coffee almost every 10 minutes. Is that a home environment or an office?

well, the normal use of a family with 2 "teenage" children.
But on Saturday, of course, it is more intense.
Especially in the morning with an extensive breakfast is drunk more and different. But overall, the really does not run exissiv. It has everyone his personal settings in terms of strength, quantity, etc.. Maybe that is what triggers the many calls.

At the moment, we have purchased 3996 cups of coffee and about 700 mixed milk drinks.
We have been using the machine since 11.01.2021. This means on average 4700 / 525 days = 9 cups per day. And that's probably about right, emotionally speaking...

No worries, I asked because I'm trying to convince HC to raise the rate limit and looking for examples of normal use that generate more calls than they allow.
In the mean time, please update to the latest version and upload the log again when it gets blocked.

I have also noticed that every 15 minutes the SSE conection is timing out.
i have been away all day and not using any appliances and its making 44 calls between every connection timeout.
I can see digi303 has the same SSE connection time out every 15 minutes.
2022-06-26 23:14:52 DEBUG (MainThread) [home_connect_async.homeconnect] The SSE connection timeed-out, will renew and retry
2022-06-26 23:14:52 DEBUG (MainThread) [home_connect_async.homeconnect] Connecting to SSE stream
I hope it would be possible either to reduce calls or convince HA to increace the limit because this integration "rocks".

Yes, the integration is really incredibly useful. Huge praise to ekutner.
Some examples of what I use it for:

displaying the residual heat in the oven (which the oven itself no longer does).
switching the light above the hob on and off when it is used / no longer used.
starting the dishwasher when the balcony PV system produces enough electricity.
switching on (and selecting the correct coffee setting) the coffee machine.
in progress: switching on the extractor bonnet when the hob is in intensive use.

And I still have some ideas...
I hope that HC will realise that 1,000 calls is not enough for many appliances. But maybe  ekutner can actually programme a workaround.

I have also noticed that every 15 minutes the SSE conection is timing out.

This is by design, it's there as workaround to the fact the HC event streams tend to get stuck and stop receiving events except for the KEEP-ALIVE messages that keep on coming just so it's harder to notice other events are lost ;)

It makes sense but it seems to trigger a "load appliance data" every time it reconnects and makes a lot of calls.
Not using any of my 5 appliances triggers 44 calls every 15 minutes and seems to be triggered by the reconnect.
6 hours standby and my limit is reached.

The loading of the data is not related to the SSE stream reconnecting. It happened because the integration received a DISCONNECTED event, followed shortly after by a CONNECTED event. If you think this is happening every time the SSE stream times out and reconnect then please upload the complete log.

Hi. I dont know if its related to reconnecting, but i receive a lot of disconnect -> connect events
Is it possible to ignore the reload on the connect event or handle the disconnect/connect events diffrent to prevent the reload?
I have attached my logs from the day where no appliances has been in use.
home-assistant.log
An upgrade to 0.5.3 and reboot around 23:57

First conclusion from the log is that these events are unrelated to the stream timeout schedule, they happen without a reconnect as well. This is definitely not normal and I guess there are a few possible sources listed by likelihood:

Connectivity problem to your local wifi. Make sure your washer has a good and stable wifi connection.
Some weird problem specific to your appliance and the HC. I would suggest trying to de-register it from the HC service then
re-register it again, low probability but worth the try.
A bug with the appliance firmware that causes it to repeatedly disconnect and reconnect from the service. If the first two guesses prove to be wrong then I would open a ticket with HC and see if they can shed a light on it.

I don't have a reliable way to distinguish between this issue, which I've only seen once so far, and legitimate disconnect/connect events, so I'm not going to add special handling for it.

I rebooted my google wifi network and did a factory reset on my washer and connected it to HC app again just to be sure it was not any of 1 or 2.
11 minutes later i got my first disconnection from the server. Local connection is fine
It's only my washer that has this issue

That is interesting information. Just to confirm, you tried to completely remove it from the service, so it  stopped sending events related to that appliance then reconnected it and it still sends those disconnect/connect events?

while I was in "24h blocking mode" I removed it from the app and made a factory reset and re-added it again.
In the App i could see it still disconnected and connected lots of times.
 App said disconnected both local and server. I was hoping not to get blocked if the washer was offline and turned off.
The log is from where the integration starts after blocking period expired and washer turned off.

I will try to create a new HC account and add only the washer to check if its account related or appliance related.

Good test. I'll let HC know when they respond to the ticker, in a month...

Interesting. Where did you find and how did you install the update?

Happy to hear that.

so far I have not been blocked again. However, I have noticed that some of the sensors on my oven are no longer working (quick heat, steam function, selected temperature, all unavailable.).
Was there a change in the new integration, or is this due to Home Connect?


Delete unused image

Not sure what this is,
but it doesn't seem to be used anywhere.

An old artifact from times gone by. Whoops, and thanks!


add middle name and suffix, #45

Pull Request Test Coverage Report for Build 474

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.688%

Totals

Change from base Build 467:
0.0%

Covered Lines:
928

Relevant Lines:
1371

💛  - Coveralls


onMounted not executed

When using the onMounted function in the setup. The code in onMounted is never executed.
TestComponent.vue
import { defineComponent, onMounted} from 'vue';
import { useStore } from 'vuex';

export default defineComponent({
  setup() {
    const store = useStore();

    onMounted(async () => {
      await store.dispatch('test');
    });

    return {};
  },
});

TestComponent.spec.ts
import { mount } from '@vue/test-utils';
import TestComponent from './TestComponent.vue';

describe('test', () => {
  it('assert test is dispatched', async () => {
    const mockStore = {
      dispatch: jest.fn(),
    };

    const wrapper = mount(TestComponent, {
      global: {
        provide: {
          store: mockStore,
        },
      },
    });

    expect(mockStore.dispatch.mock.calls.length).toEqual(1);
    expect(mockStore.dispatch.mock.calls[0][0]).toEqual('test');
  });
});

I think it should, but you probably need to add await nextTick() or await flushPromises().
See https://vue-test-utils.vuejs.org/v2/guide/async-suspense.html

Yes, that worked!


[ACI-2290] Xcode DerivedData cache commands

let's continue on https://github.com/bitrise-io/bitrise-build-cache-cli/pull/28


Update TravisCI badge

The TravisCI badge on the home page points to the fork I created a few weeks ago.  It would be better to enable TravisCI for the main repo and update the badge to point to that.

Thanks, Luke. I've updated the badge.


Add downstream tests

This PR adds some downstream tests.

Should we add one from from ClimaAtmos examples too, or is the test good enough?

Ideally, the Atmos unit tests should give a good signal to whether the examples work or not. So, if a change here does not break the Atmos unit tests but does break examples, then the Atmos tests need to be expanded on.
Otherwise, where do we stop? Do we also add the long runs? This is like what @sriharshakandala was talking about. Please confirm, @Sbozzolo.

Should we add one from from ClimaAtmos examples too, or is the test good enough?

Ideally, the Atmos unit tests should give a good signal to whether the examples work or not. So, if a change here does not break the Atmos unit tests but does break examples, then the Atmos tests need to be expanded on.

I absolutetly agree with this.
ClimaTimesteppers doesn't depend on Thermodynamics, so you can remove that.
There is an additional coupler test you can add to run a few steps of AMIP. It will probably fail right now because SST and SIC artifacts became too big that cannot be downloaded automatically. You can start by downloading those files automatically (as we do here), but I will also produce a smaller version that can be downloaded automatically in the future.

There is an additional coupler test you can add to run a few steps of AMIP. It will probably fail right now because SST and SIC artifacts became too big that cannot be downloaded automatically. You can start by downloading those files automatically (as we do here), but I will also produce a smaller version that can be downloaded automatically in the future.

IMO, we should stick to the unit tests, which should have a tightly coupled signal to the experiments, and encourage/support a culture of thorough unit tests.

There is an additional coupler test you can add to run a few steps of AMIP. It will probably fail right now because SST and SIC artifacts became too big that cannot be downloaded automatically. You can start by downloading those files automatically (as we do here), but I will also produce a smaller version that can be downloaded automatically in the future.

IMO, we should stick to the unit tests, which should have a tightly coupled signal to the experiments, and encourage/support a culture of thorough unit tests.

ClimaCoupler is very different: unit tests in ClimaCoupler are only for the coupling infrastructure but have no physics in it (with the coupler intentially left as a thin and agnostic package). All the physics is in the ClimaEarth experiment, which runs AMIP. Turning ClimaEarth into its own package is part of our longer term project goals, but that is not currently being worked on.

ClimaCoupler is very different: unit tests in ClimaCoupler are only for the coupling infrastructure but have no physics in it (with the coupler intentially left as a thin and agnostic package).

There are physics-related pieces in the ClimaCoupler test suite. For example, here's a function with physics currently in the test suite:
function FieldExchanger.update_sim!(sim::TestAtmos, fields, _)
    (; F_turb_ρτxz, F_turb_energy, F_turb_moisture) = fields
    ρ_int = sim.integrator.ρ
    @. sim.integrator.p.energy_bc = -(F_turb_energy)
    @. sim.integrator.p.ρq_tot_bc = -F_turb_moisture
    @. sim.integrator.p.uₕ_bc = -(F_turb_ρτxz / ρ_int) # x-compoennt only for this test
end

All the physics is in the ClimaEarth experiment, which runs AMIP. Turning ClimaEarth into its own package is part of our longer term project goals, but that is not currently being worked on.

If something in the ClimaEarth experiment relies on some sort of physics, that should also be included in the unit test suite. In fact, if it's only exercising components from Atmos, then we should catch that even earlier, in the Atmos unit tests. I would rather us be consistent about this, than make exceptions that people don't understand and are subject to change (first its AMIP, next its CMIP). As @sriharshakandala said during our discussion, running all upstream experiments is not scalable, and I agree. Our unit tests should have a good signal that the experiments will run, if they don't then the unit tests should be expanded on.

Consider that the coupler team is composed by 1 person at the moment. ClimaEarth is currently living inside ClimaCoupler because there is no person-power to work on it and make it a separate package with its unit tests.
I absolutely agree with you that unit tests should be enough and we should expand on them, but if you don't include the ClimaEarth test I can tell you that you are missing an important piece that is important to us.

I absolutely agree with you that unit tests should be enough and we should expand on them, but if you don't include the ClimaEarth test I can tell you that you are missing an important piece that is important to us.

Which pieces? I can help add them to the coupler unit test

Perhaps the root of the issue comes from the fact that we've developed the coupler so far with component model-agnostic coupling infrastructure in src/, and some component model-specific adapter code in experiments/ClimaEarth/ - for example extensions of getter and setter functions we need to update fluxes. The long term goal is to move all the model-specific code in experiments/ClimaEarth/ into the respective component repositories, but that isn't the state we're at currently.
The ClimaCoupler unit tests do cover our source code, e.g. interface functions, flux calculations, etc, but they don't cover the component model-specific experiment code. This is why a short downstream AMIP experiment is helpful to inform us if e.g. any interfaces have broken. I agree that we should have thorough unit tests for all of our code, but ClimaCoupler is in a tricky situation right now and as Gabriele said it will require some considerable work to get it to where we want it to be.
Also, I'm not sure what is meant by adding a unit test for the AMIP experiment - would this look like running a coupled simulation for a couple of timesteps, or something different?
@charleskawczynski @Sbozzolo

Ok, fair point about considerable remaining work. I'm fine with adding this test temporarily. Is there a relatively future-proof way to add it to the downstream tests here?

Ok, fair point about considerable remaining work. I'm fine with adding this test temporarily. Is there a relatively future-proof way to add it to the downstream tests here?

I think the best way is to add the same test Atmos is using (added here). It's been in the test suite there for a few months and as far as I know it hasn't caused problems


Pass in implicit wait to expected conditions like stalenessOf?

We can pass in a timeout for a failing expected condition:
browser.wait(EC.stalenessOf(elementThatIsNotStale), 3000, 'Error: Element was found in the dom');

Can we pass in a value to override the implicit timeout that is currently being used on success?
I.e., I would like to make sure an element is not attached to the dom, but I would not like to wait for the 30s that our implicit timeout is set to. I would like too pass in both the fail and the pass timer:
browser.wait(EC.stalenessOf(elementThatIsStale), 3000, 3000, 'Error: Element was found in the dom');

This way it only checks for 3 seconds, regardless of pass or fail, before returning the results.
Is there a way to pass in an implicit timeout override?
Edit:
Expected conditions also do not work with element.all.

Hi there!
Your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thanks, I will go ahead and do that. Reading through the code, it appears that is not built in to protractor, so I meant for this to be a bit of a feature request if it didn't exist.

If this is a case where there really is something special about the 3 second timing, it may be appropriate to use browser.sleep(3000) here instead of browser.wait. In any case, closing issue as a question, thanks!


Improvement: Make local server generate client leave messages more similarly to real services

Can be demonstrated in any of the examples - load in local mode, hit refresh a couple times, and inspect the quorum members.  There will be lots of zombie clients because no leave messages were generated (you can also check the deltas in the sessionStorage to verify this).

i believe the deli timeout for client is 5 min, do they disappear after that.

Looks like they do leave after 5 minutes, which is good to know.  Still seems like we should be able to do something to better approximate what customers will observe in normal operation with the real services, esp. trying to avoid things like:

Demos using audience/presence showing zombies for 5 minutes after a refresh
No summaries generated for 5 minutes after the most recent refresh

Basically - though zombie clients can exist in real scenarios, they're not the norm and they disrupt/hinder several features we'd want to demo or test.
Maybe some onbeforeunload handler in the LocalDocumentDeltaConnection that calls deltaConnection.disconnect()?  Or if that feels too much like a "clean" disconnect we could have it reach straight to the LocalWebSocketServer to unsubscribe the pubsub?

no doubt that it can be improved, just wanted to call out the current behavior is expected.

Updated title to better reflect that this is an improvement.


playground - tutorial bug

The background of the code block is white in light mode, should be black

PR - https://github.com/AElfProject/aelf-playground-next/pull/75

Resolved in production:


#7 #8 #10 created new nodejs server with typescript setup; integrated prisma ORM into new nodejs server; added Readme file to new server

Cleaned tsconfig and DonorForm files


Setting 13.0 will use 13.0 Beta on macos-11

How can I avoid using xcode 13 beta when I specify 13.0. I know I can use latest-stable to get 13.0 at the moment, but I dont want it to automatically use latest, I want to be in control of when it changes.

I created a pull request with "-stable" option for when specifying semvers.


New api, to easily use VisTrails in other applications

This adds an easy-to-use API, that hides the internals and exposes wrappers.

[X] VisTrails initialization
Don't load packages at startup
Fixes argv handling for IPython
Fixes logging
[X] Loading pipelines and vistrails
[X] Package and namespace wrapper
[X] Execution
[ ] Sending custom input to pipeline
[x] Getting execution output
[x] IPython integration (rich-text)
[ ] "Output modes"
Pipeline modification, can be done in a future iteration

Current status: notebook

IPython integration is there! Pipelines are rendered with Graphviz:

as well as version trees. Some PathObjects, like images, also show up as rich objects:

Well, that is cool.

attn @danielballan

Way cool!
On Tue, Feb 17, 2015 at 6:25 PM, Remi Rampin<EMAIL_ADDRESS>wrote:

IPython integration is there! Pipelines are rendered with Graphviz:
http://nbviewer.ipython.org/github/VisTrails/VisTrails/blob/53cba6b14637cdd87bf162b8e592d8b7c8c1e7d7/vtapitest.ipynb
as well as version trees. Some PathObjects, like images, also show up as
rich objects:
http://nbviewer.ipython.org/github/VisTrails/VisTrails/blob/53cba6b14637cdd87bf162b8e592d8b7c8c1e7d7/vtapitest.ipynb
—
Reply to this email directly or view it on GitHub
https://github.com/VisTrails/VisTrails/pull/24#issuecomment-74777882.

vistrails-dev mailing list
<EMAIL_ADDRESS>http://lists.vistrails.org/mailman/listinfo/vistrails-dev

--
Juliana Freire, PhD
Professor, Computer Science & Engineering
Director of Graduate Studies, Center for Data Science (CDS)
Faculty Member, Center for Urban Science & Progress (CUSP)
New York University
<EMAIL_ADDRESS>(718) 260-4128
Admin: Ann Messinger, Program Operations Manager
phone:<PHONE_NUMBER>, email<EMAIL_ADDRESS>

After today's meeting: could add a way to define modules with a cell magic, and add them or replace them in the workflow.
%%pythonsource my_adder
#in: value1 basic:Integer
#in: value2 basic:Integer
#out: value basic:Integer
value = value1
value += value2

vistrail.replace_module('+', my_adder)

Something that I'm missing is overriding output modules configuration. What I had initially envisioned was:
import vistrails as vt
vistrail = vt.load_vistrail("terminator.vt")

with vt.output_mode('ImageOutput', 'file',
                    directory='/tmp/', prefix='apitest_image', format='png'):
    vistrail.execute()


[WIP] Creating the new worker abstraction

Contributions: We are not currently taking public contributions - see our contributions policy. However, we are accepting issues and we do want your feedback.

Description
ripped everything  apart and created a new worker abstraction.
should be readable in commit order
Tests
it's a WIP pr. Testing still in progress
Documentation
will be documented in the next pr
Primary reviewers
@jamiebrynes7 @samiwh

closing it in favor of the newest worker abstraction PR


Remove Timeline screenshots for PROD env

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


Dropdown inside tables get cropped out

Before the ui-scroll, the dropdown shows properly

After adding the ui-scroll, the dropdown extends the scroll inside the table. That's because the viewport height must be constrained...

Any way to overcome this?

@amejiarosario I believe, the answer is "yes". Looks like a markup issue and there should be a way to solve it by dropdown styles adjustment. I'm not strong enough in css stuff to suggest a solution blindly, but I could try to make a research... if you make a repro (plunker or whatever)

@dhilt thanks a lot your quick response! Here is the plunker illustrating the issue:
https://plnkr.co/edit/22e9bo
When you go to the last row (#25) and click edit you will see that the dropdown it's cropped out ... Let me know if you are able to figure it out. I'd really appreciate it since I have spent some days on this :)

@amejiarosario Thanks for repro! I made a little research, it seems to be a common issue (for example http://stackoverflow.com/questions/35128366/overlay-bootstrap-dropdown-menu-over-hidden-scrollbar), which is surely not a responsibility of the ui-scroll directive, and I could't find simple solution.
But! There is a repo under the roof of our lovely Angular-UI team, which is called angular-ui/bootstrap. This is a great wrapper for native bootstrap components. Among other things, it has Dropdown directive wich has a lot of useful settings. And one of these settings is "dropdown-append-to-body". It appends the inner dropdown-menu to the body element. So the dropdown-menu will be rendered over all HTML-document, regardless of its initial place in DOM.
Please take a look for https://angular-ui.github.io/bootstrap and try Dropdown directive, this should help!

Thanks for your answer @dhilt, spot on! I ended up using dropdown-append-to-body and also dropup for the ones at the bottom.


go.dev: fixed-width font is half the size of surrounding body text in pkg.go.dev pages

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/govim/govim@v0.0.26/cmd/govim?tab=overview
What is your user agent?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.66 Safari/537.36

Screenshot

What did you do?
Loaded the page
What did you expect to see?
Consistent font sizes in the README section.
What did you see instead?
Fixed-width fonts about half the size of the surrounding body text.

Fixed.


Context Menu being rendered outside of global App context

Describe the bug
Hi there!
A React component passed as the contextMenu prop is being rendered, when triggered, outside the global App tree. Making it appear as another root of the app and not being able to reach any of the parent contexts/context providers. I believe it's a major limitation, making it impossible for the context menu to be a full-fledged React component.
Steps to Reproduce the Bug or Issue

Go to the sandbox link.
Follow the 'go to example' link.
Try to open up the context menu of a node
Experience an error

(Switch from ContextMenu to ContextMenu_safe to see the working menu)
Expected behavior
As a user, I would expect the Context Menu component not to fall outside the global App tree/flow, thus being unable to consume any of the context providers.
Screenshots or Videos

Platform

Reagraph Version: 4.1.0
OS: macOS latest
Browser: Chrome latest

Your Example Website or App
https://codesandbox.io/s/damp-smoke-dnn8d6?file=/src/index.graph.tsx
Additional context
No response

The context menu uses import { Html } from '@react-three/drei';. I'm not doing anything outside of that so I'd recommend we log this on the drei repo.


[Feature Request] Range slider should not have identical value max and min

Existing Component
Yes
Component Name
Slider
Description
Range slider should not have identical value max and min. I think need override values when this happened.
Example. step = 10. If change [20, 20] override [20,30] or [10, 20]

Yes, ofc. But I think it's a good attribute for the component. Ok. Thank you for Element UI.


Azure OpenAI All ChatMessages nums  21 less

HI
Azure OpenAI All ChatMessages (Question) nums error,The actual consumption quantity is 21 less,Please Check.

This sounds like this issue: #28
Can you verify, whether their solution / explanation may also fit your issue?

I has cout System Role,but also 21 less

Can you list some examples of input + expected output? Also, please double check your inputs against https://platform.openai.com/tokenizer
If the linked website results in the same token counts as JTokkit, then the problem lies somewhere else and is outside the scope of this library

closed due to inactivity


Load Jabba configuration from yaml/yml alternatively to JSON to shorten the config file.

Is your feature request related to a problem? Please describe.
Arrays and JSON make config file unwieldy and long. Support YML
Describe the solution you'd like

The configuration parser should accept both JSON and YML and determine what file contents are based on file suffix
YML de-serialisation should result in same struct as today

type Config struct {
	Policies   map[string]Policy
	Routes     []Route
	Resources  map[string][]ResourceMapping
	Connection Connection
}

implement this by translating yml to json, then feed it to the  existing config parser for simplicity. this prevents any idiosyncratic parsing.


vm crashes in HttpClient

  HttpClient client = new HttpClient();

  start() async {
    while(true) {
      var req = await client.postUrl(...);
      req.write(....);
      var resp = await req.close();
      await resp.drain();
      print(resp.statusCode);
    }
  }

  for(int i = 0; i < 100; i++) {
    start();
  }

bin/eventhandler_win.h: 439: error: expected: !HasPendingRead()
dart 1.19.0 + win10

So you are doing 100 simultaneous requests.
Can you say anything more about the requests or the responses. I can't reproduce this on Windows 7, so I'll have to find a Win10 machine.


Error while fetching extension info

Question
While fetching extension info I get the following error:
2023-03-13T12:53:16.338+0100    DEBUG   Using token cache from /home/pankow/.cache/shopware-api-client-token.json
2023-03-13T12:53:16.338+0100    DEBUG   Impersonating currently as blackpoint GmbH (15387)
2023-03-13T12:53:16.610+0100    DEBUG   GET: https://api.shopware.com/companies/15387/allocations
2023-03-13T12:53:16.922+0100    DEBUG   GET: https://api.shopware.com/plugins?producerId=88&search=BpaPlatformVideoIframeCookieHandler
2023-03-13T12:53:17.009+0100    DEBUG   GET: https://api.shopware.com/plugins/13552
2023-03-13T12:53:17.365+0100    DEBUG   GET: https://api.shopware.com/plugins/13552/pictures
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xc43c59]

goroutine 1 [running]:
github.com/FriendsOfShopware/shopware-cli/cmd/account.glob..func11(0x182ba20, {0xc00031ca60?, 0x1?, 0x1?})
        github.com/FriendsOfShopware/shopware-cli/cmd/account/account_producer_extension_info_pull.go:158 +0x1599
github.com/spf13/cobra.(*Command).execute(0x182ba20, {0xc00031ca30, 0x1, 0x1})
        github.com/spf13/cobra@v1.6.1/command.go:916 +0x862
github.com/spf13/cobra.(*Command).ExecuteC(0x182a040)
        github.com/spf13/cobra@v1.6.1/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
        github.com/spf13/cobra@v1.6.1/command.go:968
github.com/spf13/cobra.(*Command).ExecuteContext(...)
        github.com/spf13/cobra@v1.6.1/command.go:961
github.com/FriendsOfShopware/shopware-cli/cmd.Execute({0x123c8b8?, 0xc000453da0})
        github.com/FriendsOfShopware/shopware-cli/cmd/root.go:27 +0x65
main.main()
        github.com/FriendsOfShopware/shopware-cli/main.go:12 +0x4a

Have I done something wrong or could this be a bug?

Looks like a bug.
Can you invite me temporary to the company<EMAIL_ADDRESS>

@shyim Invitation sent. I hope the permissions are sufficient.


aos-data-once="true" does not animate on elements that start with display:none

This is:

Bug

Specifications

AOS version: 2.3.4
OS: All
Browser: All

Expected Behavior
Show hidden dom elements, then AOS.refresh().
Elements with attribute aos-data-once="true" should animate once on scroll.
Actual Behavior
Elements do not animate. They are visible immediately rather than animated on scroll.
Steps to Reproduce the Problem
See https://codepen.io/trobie/pen/eYeNwNp

I have experienced this bug as well. Glad to see it already documented here.


Unable to enable HDR if is disabled ||||| 2) HdrEnabled attribute always shows True even when HDR is not enabled

This is my first time ever submitting an issue, please go easy on me if I'm doing something incorrect here. I absolutely love this utility, however the fact that at no point can I get it the enable HDR (from the state of disabled of course) to work is a real bummer. Turning HDR on and off from the command line was the exact use case that led me to the WindowsDisplayManager project.
I am experiencing two issues:

Unable to actually enable HDR at any time using this utility
HdrEnabled attribute always shows True even when HDR is not enabled

This is the first time I've ever debugged a powershell script, but it does appear that the reason I am unable to EnableHdr() is because it the utility already thinks it is enabled. As I mentioned previously, The HdrEnabled attribute always shows true on my system, and because of this attribute always saying it is True, I cannot successfully call EnableHdr().
Hope this helps.

Thanks for your interest in my project and for the debug details!
Sorry for the delay- I haven't had much time for this project since I started it. Life has gotten in the way so far this year, but hoping to find some time to give this a little TLC soon.
In the meantime would you be able to provide debug logs? You can set a debug log level to get a much more verbose output from the tool. This might give us a bit more detail on the unexpected HDR state.
I'm using PowerShell framework as a dependency to handle logging. Hacky but easy way to set debug log level is run Set-PSFConfig -FullName PSFramework.Message.Info.Maximum -Value 8 before using the tool. I'd just recommend setting it back to 3 when you are done otherwise any other PowerShell modules you may have running will keep writing debug logs and may slow down.
More details here:
https://psframework.org/documentation/documents/psframework/logging/basics/message-levels.html
In the least I think I should add a force option to just ignore what we think the current state is and try to change it anyways.

Hi Patrick
Just wanted to say I am also having the same issue with EnableHdr(). The code thinks HDR is enabled when it really isn't.
I don't have logs but can't send some your way if needed.
Thanks again for this code! It's awesome. I attached a screenshot of what I see.

I can confirm that by commenting out the true statement in the "HDR enablement state is already $enablement for target $($this.FriendlyName), nothing to change" function, it fixes the problem.
For anyone else having this issue, this is how I solved it:
Navigate to where the module is installed, which by default is usually:
C:\Program Files\WindowsPowerShell\Modules\WindowsDisplayManager\
Using ethier Notepad++ or VSCODE, open the following file
C:\Program Files\WindowsPowerShell\Modules\WindowsDisplayManager\1.1.1\structures\Display.psm1
Then find the part of the code:
        if ($currentHdrInfo.HdrEnabled -eq $enablement) {             Write-PSFMessage -Level Debug -Message "HDR enablement state is already $enablement for target $($this.FriendlyName), nothing to change"             return $true         }
and change to
        if ($currentHdrInfo.HdrEnabled -eq $enablement) {             Write-PSFMessage -Level Debug -Message "HDR enablement state is already $enablement for target $($this.FriendlyName), nothing to change"           #  return $true         }
Then Save. You might need to save the file to you Desktop Folder, then manually move it to this directory with Admin Permissions.
 This is a quick fix, as if you run "$primaryDisplay.DisableHdr()" it will still display as "True" even though it is "False:
What the "#" does above is forcing the code to execute anyway, even if it thinks HDR is already turned on and vice versa. I tested it on my computer, and it works flawlessly!


Further split services unit tests into Routers/Servers/Controllers

Further split services unit tests into Routers/Servers/Controllers

The client module contains da-vinci-client which contains most of the server code. This PR splits the unit tests into more categories based on the venice components like router/server/controller etc which should improve total UT CI runtime further from 28 mins to 12mins. Also fixed the some flakiness in SIT tests for jdk8.

How was this PR tested?

CI
Does this PR introduce any user-facing changes?

[x] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

can you merge https://github.com/linkedin/venice/pull/1334/files in this PR and close https://github.com/linkedin/venice/pull/1334/files?

good catch! I forgot to merge that


adding citation with DOI as URL

Adding the DOI as URL...

..gives:

But the DOI shown there will link to https://doi.org/https://dx.doi.org/10.22000/786
Most frequently the DOI is displayed as an URL including the resolver, hence, users might add the DOI as an URL which gives this error.

For now, we have added a placeholder text as below so that the user stick to this format.


[Question] Blacklist possible bug - java?

Hi!
I want to ignore all image and other requests for certain domains that I'm not interested.
I saw that it should be possible to ignore images by using the loadImages settings.
I've tried using desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "loadImages", false);, it seems to be working (via screenshot).
Next step was to ban some domains from being requested, so, I've tried using blacklist feature as
desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "blacklist", Arrays.asList("/http(?:s)?:\\/\\/.*(?:googlevideo|youtube|ggpht|ytimg|googleads|gstatic)\\/?(?:.*)?/gi"), and it seems to NOT work.
To be sure, I've used a proxy (littleproxy), to get the requests, and, I still se that phantomjs issues calls to the domains on my blacklist (googlevideo, youtube and such).
I see that phantomjs is using my configuration, by looking at the startup log configuration:
Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"httpProxy":"<IP_ADDRESS>:8888","proxyType":"manual","sslProxy":"<IP_ADDRESS>:8888"},"phantomjs.page.settings.userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36","phantomjs.page.settings.loadImages":false,**"phantomjs.page.settings.blacklist":["/http(?:s)?:\\/\\/.*(?:googlevideo|youtube|ggpht|ytimg|googleads|gstatic)\\/?(?:.*)?/gi"**]}
The problem I thought it was that my slashes were being passed as escaped from java code (I need to put double slashes to escape the representation of single slash).
I thought that these double slashes were making the javascript regex not to work.
Then, I've made a simpler regex as
/http(?:s)?:.*(?:googlevideo|youtube|ggpht|ytimg|googleads|gstatic|google)(?:.*)?/gi, with no double slashes, still, I see requests for youtube and other domains on my proxy.
Can anyone help me with that? Am I missing something?
The regex can be tested here: https://regex101.com/r/3unpVY/2/
ps.: using the capability key "phantomjs.page.blacklist", as stated on README.MD, doesn't work either, and it doesn't even show on the startup json configuration.

@ivanviragine your running ghostdriver 1.2.0.  blacklist support was added in 2.0.0.

Thanks @jesg!
Indeed, that copied code was a test on 1.2.0, BUT, I've tested on new version also:
Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"mac-unknown-64bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"httpProxy":"<IP_ADDRESS>:8888","proxyType":"manual","sslProxy":"<IP_ADDRESS>:8888"},"phantomjs.page.settings.userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36","phantomjs.page.settings.loadImages":false,"phantomjs.page.settings.blacklist":["/http(?:s)?:.*(?:googlevideo|youtube|ggpht|ytimg|googleads|gstatic|google)(?:.*)?/gi"]}
Still, same problem. Am I missing something?

@ivanviragine
/http(?:s)?:.*(?:googlevideo|youtube|ggpht|ytimg|googleads|gstatic|google)(?:.*)?/gi is a regex literal which is not supported right now.  i would not use g this will force the matcher to find all possible matches which is slower.

Thanks @jesg!
Can you please point out where can I find information about it?
I've also tried a simpler regex, as the one from "BlacklistWhitelistTest", but still...

@ivanviragine
the following should filter out those domain names.
^https?:\/\/[^\/]*(?:youtube|ggpht|ytimg|gstatic|google)[^\/]*\/?

Can you please point out where can I find information about it?

mozilla regex docs

@jesg thanks again!
the problem with this regex is that, for some reason, ghost driver passes the escaped string to the configuration as:
"phantomjs.page.settings.blacklist":["^https?:\\/\\/[^\\/]*(?:youtube|ggpht|ytimg|gstatic|google)[^\\/]*\\/?"]
So, the double dashes doesn't work on javascript.
This is a bug, it shouldn't pass the double dashes, for double dashes we should use 4 dashes in Java, then it would be double on javascript settings.
Anyway, I've tried a simpler regex:
.*(?:youtube|ggppht|ytimg|gstatic|google).*
And tested on Chrome's console, as:
var re = new RegExp('.*(?:youtube|ggpht|ytimg|gstatic|google).*'); var str = 'https://yt3.ggpht.com/-GMRFjXetcCw/AAAAAAAAAAI/AAAAAAAAAAA/dMZnVdB2aQE/s88-c-k-no-mo-rj-c0xffffff/photo.jpg'; console.log(str.search(re) !== -1);
It works, returning true (index == 0).
I've based this on the code from session.js, which is basically this:
if(url.search(pageBlacklist[i]) !== -1) {      net.abort();      _log.debug("blacklist abort " + url); }
So, I really don't know if blacklist is working as expected.
I've tried setting the blacklist through:
desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_PAGE_SETTINGS_PREFIX + "blacklist", blacklist); desiredCapabilities.setCapability("phantomjs.page.blacklist", blacklist);
It seems that the second way, which is the one on README.MD doesn't show on the logs, so I think we may need to update README.MD also.

@jesg besides the escaping problem, I think the blacklist still doesn't work... have you checked my example from last comment? Also, there may be an error on README.MD, since it states that blacklist's key is "phantomjs.page.blacklist", but, neither using this key nor "phantomjs.page.settings.blacklist", I've got it to work.

phantomjs.page.blacklist is correct.  you can look at the unit test.

@jesg as I told, it isn't working, or, at least, I'm missing something...
Please, try running this code, which is basically the same as your unit test:
import java.util.Arrays;
import org.littleshoot.proxy.HttpFilters;
import org.littleshoot.proxy.HttpFiltersAdapter;
import org.littleshoot.proxy.HttpFiltersSourceAdapter;
import org.littleshoot.proxy.HttpProxyServer;
import org.littleshoot.proxy.impl.DefaultHttpProxyServer;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.http.HttpObject;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
public class BlacklistWhitelistTest {
    private static HttpProxyServer server = null;

public static void main(String[] args) {
	DesiredCapabilities sCaps = new DesiredCapabilities();
	sCaps.setJavascriptEnabled(true);

    sCaps.setCapability(
            "phantomjs.page.whitelist",
            Arrays.asList("png$")
    );
    sCaps.setCapability(
            "phantomjs.page.blacklist",
            Arrays.asList("^https:..github.com", "^https:..assets-cdn.github.com")
    );

	/** proxy pra logar as requests **/
	server = DefaultHttpProxyServer
			.bootstrap()
			.withPort(8888)
			.withFiltersSource(new HttpFiltersSourceAdapter() {
				public HttpFilters filterRequest(HttpRequest originalRequest, ChannelHandlerContext ctx) {
					return new HttpFiltersAdapter(originalRequest) {
						@Override
						public HttpResponse clientToProxyRequest(HttpObject httpObject) {
							System.out.println("====================");
							System.out.println(httpObject.toString());
							return null;
						}

						@Override
						public HttpObject serverToProxyResponse(HttpObject httpObject) {
							System.out.println("====================");
							System.out.println(httpObject.toString());
							return httpObject;
						}
					};
				}
			}).start();

    Proxy seleniumProxy = new Proxy();
    seleniumProxy.setHttpProxy("<IP_ADDRESS>:8888");
    seleniumProxy.setSslProxy("<IP_ADDRESS>:8888");
    sCaps.setCapability(CapabilityType.PROXY, seleniumProxy);
    /** proxy pra logar as requests **/

    WebDriver d = new PhantomJSDriver(sCaps);
    d.get("https://github.com");

    System.out.println(d.getPageSource());

    server.stop();
}

}
This prints the page source, so, the blacklist Arrays.asList("^https:..github.com", "^https:..assets-cdn.github.com") isn't working.
====================
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
CONNECT assets-cdn.github.com:443 HTTP/1.1
Proxy-Connection: keep-alive
Host: assets-cdn.github.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1
So, it still issues requests to "github.com".

@ivanviragine thanks for the detailed example.  i'll look at this in more detail this weekend.
the phantomjs code i'm using is non-blocking and is invoked after a connection is established.  so i would expect the blacklist capability to cancel the request after a connection is established.

Thanks @jesg !
For completeness sake, here's the pom dependency for littleproxy:
		<dependency>
			<groupId>org.littleshoot</groupId>
			<artifactId>littleproxy</artifactId>
			<version>1.1.2</version>
		</dependency>

@ivanviragine thanks for showing me a great debugging tool.
i'm not seeing the proxy response object when i turn off the blacklist and the whitelist so there isn't much i can say.

the double escape is not an issue.  ghostdriver is calling JSON.stringify on a string which double escapes the string.
https://github.com/detro/ghostdriver/blob/master/src/request_handlers/router_request_handler.js#L59

Thanks @jesg!
What about the blacklist functionality itself? Did you got the output from proxy request and/or the page source?

What about the blacklist functionality itself?

it looks fine to me.  if you set the log level to debug you should see the abort log statements after the request has been made.

@jesg I don't know if you read all my comments here... one of us is missing something... hope it's not me :P
when printing the page source, it prints the HTML from github... which I think it shouldn't.
also, the proxy prints the requests, which I think it shouldn't.
and, finally, the screenshots shows pictures from assets.github... which it also shouldn't.
it may log that it is aborting the connection, but sounds like it really isn't.
sorry to insist!


Define/explain what 'novalidate' is in the docs

I looked through every page of the docs and could only find instances of novalidate in the code as an attribute on form, but no accompanying explanation.

Good point. It's an HTML5 attribute.
From MDN.
This Boolean attribute indicates that the form is not to be validated when submitted. If this attribute is not specified (and therefore the form is validated), this default setting can be overridden by a formnovalidate attribute on a  or  element belonging to the form.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form

Hah! You beat me to it. I was reading a bunch of docs on it (including that one) while waiting for a response. I found this article with a bit more info on it and an example. Very curious, had never heard of this feature before.
I would still recommend adding something about it to the docs, just to explain why it's there and that no, in fact it doesn't have much to do with this plugin (perhaps giving readers this link and/or the MDN one).

thank you for your feedback.
I'll try to add explain.

Perhaps its worth it to add this attribute to the form automatically? This is what jquery validate does, and I can't see a reason why you wouldn't want it.

Perhaps its worth it to add this attribute to the form automatically? This is what jquery validate does, and I can't see a reason why you wouldn't want it.

+1


chore: Better Readme Header

I think the reason the pipeline fails is because of the uppercase letters in the first two commit messages. We can just merge anyway imo once you're happy with the contents.


Missing deprecation warnings from docs and release notes

It seems that all synonyms have been deprecated:
https://github.com/tapjs/node-tap/blob/84ff0dd507f6c965c2b1520f45fab1b458c7163c/lib/tap.js#L20-L36
This information has been left out of the release notes for v15 (https://github.com/tapjs/node-tap/releases/tag/v15.0.0). Also, the documentation (https://node-tap.org/docs/api/asserts/) does not call out that the synonyms should not be used.

Ah! I see that "Deprecate aliases." in the release notes is meant to cover this. I think this is a bit too vague. I didn't put the two together until I saw the commit message for https://github.com/tapjs/node-tap/pull/649 in the blame log.
Regardless, the website docs still promote these aliases as viable.

Yeah, the docs should be updated.  Patch welcome, or I'll get to it next week most likely.