text:
Angular 14 karma gets stuck after executing tests inside Gitlab Kubernetes Pod runner for ChromeHeadless and does not exit

I checked already the troubleshooting guide. We recently upgraded from angular 12 to angular 14 and since then our pipline gets stuck on testing inside the gitlab pipline after executing all tests, but not on our local maschines.
Now if we execute ng test on our pcs, the testsuite executes, but if our CI pipline in Gitlab (which provisions Kubernets Pods) executes the tests it gets stuck after executing all tests and does not exit anymore (we waited up to an hour)
We have a angular solution with about 10 projects and every project has its own karma config, which are all quite simular.
If we even remove the tests for the last project still the same error happens.
Here is the end of the debug log.

22 06 2022 14:52:58.823:DEBUG [launcher]: google-chrome --user-data-dir=/tmp/karma-70992357 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-background-timer-throttling --disable-renderer-backgrounding --disable-device-discovery-notifications http://localhost:9876/?id=70992357 --headless --disable-gpu --disable-dev-shm-usage --remote-debugging-port=9222
22 06 2022 14:52:59.144:DEBUG [web-server]: servingXXX/node_modules/karma/static/client.html
22 06 2022 14:52:59.152:DEBUG [web-server]: serving: XXX/node_modules/karma/static/karma.js
22 06 2022 14:52:59.175:DEBUG [karma-server]: A browser has connected on socket 6uyWphyJ9WJ_onP_AAAt
22 06 2022 14:52:59.177:DEBUG [web-server]: upgrade /socket.io/?EIO=4&transport=websocket&sid=lGnTmlqb2AH09oXjAAAs
22 06 2022 14:52:59.184:DEBUG [Chrome Headless 103.0.5060.53 (Linux x86_64)]: undefined -> CONNECTED
22 06 2022 14:52:59.184:INFO [Chrome Headless 103.0.5060.53 (Linux x86_64)]: Connected on socket 6uyWphyJ9WJ_onP_AAAt with id 70992357
22 06 2022 14:52:59.185:DEBUG [launcher]: BEING_CAPTURED -> CAPTURED
22 06 2022 14:52:59.185:DEBUG [launcher]: ChromeHeadless (id 70992357) captured in 0.366 secs
22 06 2022 14:52:59.185:DEBUG [Chrome Headless 103.0.5060.53 (Linux x86_64)]: CONNECTED -> CONFIGURING

...cut out..

hrome Headless 103.0.5060.53 (Linux x86_64): Executed 0 of 0 SUCCESS (0 secs / 0 secs)
22 06 2022 14:52:59.491:DEBUG [Chrome Headless 103.0.5060.53 (Linux x86_64)]: EXECUTING -> CONNECTED
Chrome Headless 103.0.5060.53 (Linux x86_64): Executed 0 of 0 SUCCESS (0.003 secs / 0 secs)
22 06 2022 14:52:59.492:DEBUG [launcher]: CAPTURED -> BEING_KILLED
22 06 2022 14:52:59.492:DEBUG [launcher]: BEING_KILLED -> BEING_FORCE_KILLED
22 06 2022 14:52:59.492:DEBUG [Chrome Headless 103.0.5060.53 (Linux x86_64)]: CONNECTED -> DISCONNECTED
TOTAL: 0 SUCCESS
22 06 2022 14:52:59.493:DEBUG [karma-server]: Run complete, exiting.
22 06 2022 14:52:59.493:DEBUG [launcher]: Disconnecting all browsers
22 06 2022 14:52:59.493:DEBUG [launcher]: BEING_FORCE_KILLED -> BEING_FORCE_KILLED
✔ Browser application bundle generation complete.
22 06 2022 14:52:59.494:DEBUG [proxy]: Destroying proxy agents
=============================== Coverage summary ===============================
Statements   : Unknown% ( 0/0 )
Branches     : Unknown% ( 0/0 )
Functions    : Unknown% ( 0/0 )
Lines        : Unknown% ( 0/0 )
================================================================================
22 06 2022 14:52:59.502:DEBUG [coverage]: Writing coverage to /builds/XXX/artifacts/coverage/lib-layout01
22 06 2022 14:52:59.503:DEBUG [launcher]: Process ChromeHeadless exited with code null and signal SIGTERM
22 06 2022 14:52:59.503:DEBUG [temp-dir]: Cleaning temp dir /tmp/karma-70992357
22 06 2022 14:52:59.504:DEBUG [reporter.junit]: JUnit results written to "LAST_PROJECT_PATH/junit-test-results.xml".
22 06 2022 14:52:59.510:DEBUG [launcher]: Finished all browsers
22 06 2022 14:52:59.510:DEBUG [launcher]: BEING_FORCE_KILLED -> FINISHED
22 06 2022 14:52:59.510:DEBUG [launcher]: FINISHED -> FINISHED
22 06 2022 14:53:02.512:DEBUG [karma-server]: Received stop event, exiting.
22 06 2022 14:53:02.512:DEBUG [launcher]: Disconnecting all browsers
22 06 2022 14:53:02.512:DEBUG [launcher]: FINISHED -> BEING_FORCE_KILLED
✔ Browser application bundle generation complete.
22 06 2022 14:53:02.512:DEBUG [proxy]: Destroying proxy agents

As you can see it gets stuck after Destroying proxy agents
Any ideas/tips how I could fix it, work arround it?
One Idea is that our pods don't have too much memory and that the pods run out of memory, but then we still need a solution.
The docker image executing the tests is the latest version of trion/ng-cli-karma
https://hub.docker.com/r/trion/ng-cli-karma/tags
Here is the command line:
ng test --code-coverage --no-watch --browsers=ChromeHeadless --source-map=false
here the karma config of the last project ot be exeucted, but they are essentially the same
module.exports = function (config) {
    config.set({
        basePath: "",
        frameworks: ["jasmine", "@angular-devkit/build-angular"],
        plugins: [
            require("karma-jasmine"),
            require("karma-chrome-launcher"),
            require("karma-jasmine-html-reporter"),
            require("karma-junit-reporter"),
            require("karma-coverage"),
            require("@angular-devkit/build-angular/plugins/karma"),
        ],
        client: {
            jasmine: {
                // you can add configuration options for Jasmine here
                // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
                // for example, you can disable the random execution with `random: false`
                // or set a specific seed with `seed: 4321`
            },
            clearContext: false, // leave Jasmine Spec Runner output visible in browser
        },
        jasmineHtmlReporter: {
            suppressAll: true, // removes the duplicated traces
        },
        coverageReporter: {
            dir: require("path").join(__dirname, "../../artifacts/coverage/XXX"),
            subdir: ".",
            reporters: [{ type: "html" }, { type: "text-summary" }],
        },
        junitReporter: {
            outputDir: require("path").join(__dirname, "../../artifacts/tests/XXX"),
            outputFile: "junit-test-results.xml",
            useBrowserName: false,
        },
        reporters: ["progress", "kjhtml", "junit"],
        port: 9876,
        colors: true,
        logLevel: config.LOG_DEBUG,
        autoWatch: true,
        browsers: ["Chrome", "ChromeHeadless"],
        singleRun: false,
        restartOnFileChange: true,
        failOnEmptyTestSuite: false, // TODO: remove when adding tests
        customLaunchers: {
            chromeHeadless: {
                base: "ChromeHeadless",
                flags: ["--disable-gpu", "--no-sandbox", "--disable-accelerated-video-decode", "--disable-accelerated-mjpeg-decode"],
            },
        },
    });
};

and here the depedencies of our package.json

    "dependencies": {
        "@angular/animations": "^14.0.2",
        "@angular/cdk": "^14.0.2",
        "@angular/common": "^14.0.2",
        "@angular/compiler": "^14.0.2",
        "@angular/core": "^14.0.2",
        "@angular/elements": "^14.0.2",
        "@angular/flex-layout": "^13.0.0-beta.38",
        "@angular/forms": "^14.0.2",
        "@angular/material": "^14.0.2",
        "@angular/platform-browser": "^14.0.2",
        "@angular/platform-browser-dynamic": "^14.0.2",
        "@angular/router": "^14.0.2",
        "@INTERNAL_1": "0.0.11",
        "@INTERNAL_2: "0.0.12",
        "@ngx-translate/core": "13.0.0",
        "angular-split": "^13.2.0",
        "diagram-js": "^8.2.1",
        "hotkeys-js": ">=3.8.7",
        "linqts": ">=1.14.4",
        "ngx-toastr": "^14.2.4",
        "npm": "^8.1.4",
        "resize-observer": ">=1.0.2",
        "rxjs": "~6.6.0",
        "tslib": "^2.3.0",
        "zone.js": "~0.11.4"
    },
    "devDependencies": {
        "@angular-devkit/build-angular": "^14.0.2",
        "@angular-eslint/builder": "13.5.0",
        "@angular-eslint/eslint-plugin": "14.0.0-alpha.0",
        "@angular-eslint/eslint-plugin-template": "13.5.0",
        "@angular-eslint/schematics": "14.0.0-alpha.0",
        "@angular-eslint/template-parser": "14.0.0-alpha.0",
        "@angular/cli": "^14.0.2",
        "@angular/compiler-cli": "^14.0.2",
        "@playwright/test": "^1.21.1",
        "@types/jasmine": "^4.0.3",
        "@types/node": "^12.11.1",
        "@typescript-eslint/eslint-plugin": "5.3.0",
        "@typescript-eslint/parser": "5.3.0",
        "bpmn-js": "^9.0.3",
        "eslint": "^8.2.0",
        "jasmine-core": "^4.2.0",
        "karma": "^6.4.0",
        "karma-chrome-launcher": "^3.1.1",
        "karma-coverage": "^2.2.0",
        "karma-jasmine": "^5.1.0",
        "karma-jasmine-html-reporter": "^2.0.0",
        "karma-junit-reporter": "^2.0.1",
        "ng-packagr": "^14.0.2",
        "typescript": "~4.6.4",
        "webpack-bundle-analyzer": "^4.5.0"
    },
    "overrides": {
        "@angular/flex-layout": {
            "@angular/cdk": "^14.0.0",
            "@angular/common": "^14.0.0",
            "@angular/core": "^14.0.0",
            "@angular/platform-browser": "^14.0.0"
        },

As you can see we upgraded to the latest versions
Thank you very much for your time!

Seems to be actually a problem of the test runner container, closing this for now:
https://github.com/trion-development/docker-ng-cli-karma/issues/14

I have the same problem - when running directly via ng test (angular cli) it terminates fine, but when using an npm script it hangs. This is reproducible on my local machine with karma-browserstack-launcher and latest versions of angular (14.0.3) and karma (6.4.0).
Debug output before it hangs:
...
29 06 2022 13:10:49.487:DEBUG [karma-server]: Run complete, exiting.
29 06 2022 13:10:49.488:DEBUG [launcher]: Disconnecting all browsers
29 06 2022 13:10:49.489:DEBUG [proxy]: Destroying proxy agents
29 06 2022 13:10:49.490:DEBUG [launcher.browserstack]: Shutting down BrowserStackLocal
29 06 2022 13:10:54.570:DEBUG [launcher.browserstack]: Stopped BrowserStackLocal
29 06 2022 13:10:55.656:DEBUG [launcher.browserstack]: Chrome (Windows 10) (worker 117976169) successfully killed.
29 06 2022 13:10:55.658:DEBUG [launcher]: Finished all browsers
29 06 2022 13:10:55.658:DEBUG [launcher]: null -> FINISHED
29 06 2022 13:10:55.659:DEBUG [launcher]: FINISHED -> FINISHED
29 06 2022 13:10:55.662:DEBUG [karma-server]: Received stop event, exiting.
29 06 2022 13:10:55.663:DEBUG [launcher]: Disconnecting all browsers
29 06 2022 13:10:55.663:DEBUG [proxy]: Destroying proxy agents
29 06 2022 13:10:55.664:DEBUG [launcher.browserstack]: Shutting down BrowserStackLocal
29 06 2022 13:10:55.705:DEBUG [launcher]: FINISHED -> FINISHED

Hi,
I am experiencing exactly the same issue in my project after upgrading it to Angular 14. It was working fine on Angular 12.
@daniel-sc , @MichaelPeter , if you find any work around, can you please share it?

Hi @ravasconcelos, we solved it by switching to Chrome instead of using ChromeHeadless since there is no exit script for it. So: browsers: ['Chrome']
Hope it helps you, too.

We have the same Issue after upgrading to Angular 14.
Is there any workaround until now ?

Hi @RobinMobers97 , this hack worked for me: https://github.com/karma-runner/karma-browserstack-launcher/issues/195#issuecomment-1204786412
I hope it will be fixed soon.

Hey @ravasconcelos  thanks that's working :)

Hi,we have the same Issue after upgrading to Angular 14.
Will this be fixed soon?

have you tried to switch from ChromeHeadless to browsers: ['Chrome'] in your karma.conf.json? This worked for us :)

@mrs-cp yes, we tried, but it doesn't work :(

have you updated your docker images to trion/ng-cli:14.2.1 or trion/ng-cli-karma:14.2.1, respectively?
plus we set singleRun: true in our karma.conf.json

@mrs-cp yes, i experienced
in  trion/ng-cli-karma:13... that ng test exits but npm run test dont
trion/ng-cli-karma:14.2.1 no way exits
so we have to use  trion/ng-cli-karma:13 and ng test for now

Had a similar issue on github... oddly enough disabling analytics in the ng cli was the trick to get this stable.
Do one of the following:

set the env var NG_CLI_ANALYTICS=false
ng analytics disable
In angular.json

  "cli": {
    "analytics": false
  }

Any update on this?

Hi @ravasconcelos, we solved it by switching to Chrome instead of using ChromeHeadless since there is no exit script for it. So: browsers: ['Chrome']
Hope it helps you, too.

The switch to Chrome worked for us on Gitlab, but not locally.  So we had to define ['Chrome', 'ChromeHeadless'] and specify them differently on the command lines for local vs. Gitlab testing.

We are also facing the same problem on angular 15.x and 16.x
We use maven frontend plugin to build our angular UI,
We also tried a new ng app(version 15 and 16) with same frontend plugin, same problem.
So It is something in the library.
We tried the hacks provided here but unfortunately, they did not work for us.
Anyone able to find some workaround, please share.
For now we are migrating our tests to Jest but that's not an ideal way.

Hi!! I fix the problem and I post in here https://github.com/trion-development/docker-ng-cli-karma/issues/14#issuecomment-1648243510.

So I've got a flavor of this happening with Karma (v6.4.3) being called by Angular's test runner in CI with the following command:
npx ng test --no-watch --browsers=ChromeHeadlessNoSandbox

In researching the problem, I found: https://github.com/karma-runner/karma-browserstack-launcher/issues/195#issuecomment-1204786412
The suggestion therein is simply to add a process exit at the end of the close event on the web server. That would be here: https://github.com/karma-runner/karma/blob/84f85e7016efc2266fa6b3465f494a3fa151c85c/lib/server.js#L473
The "hacky workaround" therein was to add
process.nextTick(() => process.exit(code || 0));

after the removeAllListeners() call. I tried this on my own machine (not the CI host) and it didn't seem to break anything, although I've never had this hangup on my host, just CI.
Looking above, I wonder if the
done(code || 0)

already up there on line 468 would work similarly.
Just food for thought, I'll probably try this out in the next few days, a few folks in the linked thread suggested this helped them with troubles in this area.

authors: CraigWarfordAdaptX MessiasLima MichaelPeter RobinMobers97 alexpalacean borntodesign7 daniel-sc diegoahg gilmorem560 hungerregnuh menzen mrs-cp ravasconcelos

repo: karma-runner/karma


text:
Multithreading and the curb driver

I use tire with the curb driver in a sinatra application.
I get an "Invalid easy handle" when trying to access "Curl::Err::MultiBadEasyHandle" in one request while another request is already searching. This is probably due to curb not being able to share the handles
my configure block in sinatra has these tire specific elements:
#set up curb as http client for Tire
  extend Tire::DSL
  configure do
    client Tire::HTTP::Client::Curb
  end

  set :tire, Tire
  require 'tire/http/clients/curb'

Not sure if that is my architecture or something tire internal

It does not ring any bell to me. The Curb instance is instantiated once and then reused: https://github.com/karmi/tire/blob/master/lib/tire/http/clients/curb.rb#L10.

That might be the problem. Sinatra spawns a new thread for each request on most servers afaik.
Since the curb instance is instantiated once and curb isn't threadsafe, that might make Tire not threadsafe. Not sure how to solve that.

@rb2k: Yeah, I had this suspicion. You can just create another Curb-based client, which creates new client for every request, copying the ~50 lines of code in Tire into your own file, and pass it to Tire.configure { client MyCurbClient }.
Is this all about working around the timeout issue?

@rbk: Ping, any luck with it?

Sorry haven't found the time to open that project since then :(
It is on my "to do" list though :)

Ping, any news? :)

source: gharchive/issue

repo: karmi/tire

license: MIT

license_type: permissive

license_source: github-api


text:
Fix: typos

Fix: typos

Thanks @omahs for making those changes💜
You can also add some authentic content if you wanna add.
Thanks for contributing🚀

source: gharchive/pull-request


text:
github: Add github actions

This PR enables the github actions for agent repository.
Fixes #869
Signed-off-by: Gabriela Cervantes gabriela.cervantes.tellez@intel.com

/test-ubuntu

/test-vfio

authors: GabyCT chavafg

repo: kata-containers/agent


text:
I want to use a 2-channel waveform and save the JSON data generated by the waveform; however, after using exportpcm, the result can only be null

var wavesurfer = WaveSurfer.create({
container: '#waveform',
progressColor: 'red',
waveColor: "#666666",
height: 65,
fillParent:true,
forceDecode:true,
partialRender:true,
pixelRatio:1,
splitChannels: true,
barWidth: 0,
	});
	 wavesurfer.load("music/work.mp3");
	wavesurfer.on("ready", function() {

		console.log(wavesurfer.exportPCM('1024','10000',true,0));
	})
   result：
     Promise {<resolved>: "[null,null,null,null,null,null]"}；
   How to solve this problem！

#1954
possibly related #2091
Does the waveform display, or do you see a single line?
Also, in English please if possible.

waveform display

I want to use a 2-channel waveform and save the JSON data generated by the waveform; however, after using exportpcm, the result can only be null

@guisha can you rename the ticket title in english?

No one?

continue on this ticket #1954

continue on this ticket #1954

authors: entonbiba guisha sundayz thijstriemstra


text:
Add option to use pipenv for virtual environment

From https://pypi.org/project/pipenv/
The problems that Pipenv seeks to solve are multi-faceted:
You no longer need to use pip and virtualenv separately. They work together.
Managing a requirements.txt file can be problematic, so Pipenv uses the upcoming Pipfile and Pipfile.lock instead, which is superior for basic use cases.
Hashes are used everywhere, always. Security. Automatically expose security vulnerabilities.
Give you insight into your dependency graph (e.g. $ pipenv graph).
Streamline development workflow by loading .env files.

I would like to work on this.

That'd be a great addition 👍🏻

authors: DesignrKnight kautukkundan

repo: kautukkundan/omg-badges


text:
connect to lego wedo2

device: LPF2 Smart Hub 2 I/O
scratch-link output:
BLE service not found: [{'services': ['00001523-1212-efde-1523-785feabcd123']}]. Check BLE device.

While I run it with -d, the output is
adtype 128b: None
adtype 16b: None

I add code in scratch_link.py as below:
    def matches(self, dev, filters):
        """
        Check if the found BLE device mathces the filters Scracth specifies.
        """
        logger.debug(f"in matches {dev} {filters}")
        dev_data = dev.getScanData()
        logger.debug(f"dev data: {dev_data}")

and run it with -d. I see the service value is in the Incomplete List of 128-bit Service Class UUIDs. So, I add codes as below
                    service_class_uuid = dev.getValueText(self.ADTYPE_COMP_128B)
                    logger.debug(f"adtype 128b: {service_class_uuid}")
                    if not service_class_uuid:
                        service_class_uuid = dev.getValueText(self.ADTYPE_INCOMP_128B)
                        logger.debug(f"adtype incomp 128b: {service_class_uuid}")
                        if not service_class_uuid:
                            service_class_uuid = dev.getValueText(self.ADTYPE_COMP_16B)
                            logger.debug(f"adtype 16b: {service_class_uuid}")
                            if not service_class_uuid:
                                continue

It works! The set-color command sended from scratch run in the wedo2 controller perfectly.

@zhaowe Thank you so much for sharing your work. It is great to hear that now Lego WeDo2 is working!  I will try to integrate your code changes to the master branch when I have time, probably next week end. Thanks!

@zhaowe I have pushed a change to the bluepy-scratch-link master branch. The change is different from yours to make code cleaner, but I believe it works for Lego Wedo 2.0. If you have chance, please give it a try. Thanks!

authors: kawasaki zhaowe

repo: kawasaki/bluepy-scratch-link


text:
feat: auto retry for random question

Hello,
Thank a lot for this awesome plugin.
This is just a small change, it will auto retry to fetch new random question if current one is premium question.

Hi there,
Thank you for your response.
Let's say LeetCode has 10% premium questions. The probability of getting two premium questions in a row is 1%. However, I see your point; if the user is unlucky, it can be annoying.
Regarding adding user configuration for this behavior, I don't think it's worth it. It would make the plugin configuration more complex. Users can simply retry with a new random question.
So I will close this PR


text:
Update scripts to python3

Since python2 reached EOL, all scripts should be updated to use python3 syntax.
Changes made:

Initial conversion of all python scripts using 2to3 -w scriptname.py
Executed all scripts multiple times to find possible errors that weren't caught by the conversion scripts
most of the changes are related to braces in print statements

Seems good to merge!

authors: Johennes henrik-dmg

repo: kayak/attributions

license_source: bigquery


text:
Simplify element screenshot tests

https://github.com/kblok/puppeteer/pull/2/commits/e2b96df4d73383bdcd46ee2e60b0e08ee965b0a5

this fixes #352

repo: kblok/puppeteer-sharp


text:
Team Aries Code Review

-- This is one of the best code I've seen since the start of my code review, if not the best!
-- Great interface in the end.
-- Congratulation to you kblycaglayan!!!

Hello Team,
Thanks for the feedback.
With all my respect...

authors: jstloyal kblycaglayan


text:
Added tests and modules for mixin, rule stmt and quantifier expressions

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

 re #8
2. What is the scope of this PR (e.g. component or file name):

grammar.js
expr.txt
schema.txt
grammar.json
node-types.json
parser.c
parser.h

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[x] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

This PR does the below tasks

[x] Added the mixin_statement
[x] Added Test Cases for rule_statement
[x] Added modules of quantifier expression in support of PR #11 and added it to parser
[x] Added modules for optional attributes in support of PR #13 and added it to parser
[x] Refined and added more test cases for quantifier expression
[x] Added Protocol and Check in Schema with their module defination

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

PR confilct

Resolved PR conflict occuring

Will fix all unwanted ERROR codes

@Peefy
I found out that the previous PRs merged did not run tree-sitter generate while adding things to grammar.js and so none  of them were parsed, they were just added as ERROR token or something else.
And directly ran the tree-sitter test which also had a lot of ERROR tokens in it and passed it
I'll fix them all and create a commit soon here

@Peefy
The previous PR #14, added number_bin_suffix_expr, and so now for most of test cases, I need to change integer to this number_bin_suffix_expr and list to braces_exprerssion
Don't you think it would cause difficulty in understanding as integer, list previously was much readable when seen in tests

@Peefy
I was just asking, did we need that most recent PR Merged in dotted_name: $ => prec(1, sep1($.identifier, choice('?.','.',))), when we already have attribute and optonal_attribute and optional_item

@Peefy
Could you review it now, I have removed the Error codes in most I guess

repo: kcl-lang/tree-sitter-kcl


text:
docs: correct spelling and punctuation

Preliminary checks

[X] I have read the Code of Conduct
[X] I applied all rules from the Contributing guide
[X] I have checked there is not other Issues or Pull Requests covering the same topic to open

Summary

time-keeping -> timekeeping
per-se -> per se
in-reality -> in reality
Fixed tense
Add comma to increase readability

Oooh thanks @vladdoster for the fixes! 🤗
Let's merge!

authors: kdeldycke vladdoster

repo: kdeldycke/awesome-falsehood


text:
Doesn't work with latest IntelliJ

maybe it could be fixed by this line change?
https://github.com/kdl-org/intellij-kdl/blob/a0db0bf998a01d75d28b00b1d228aea67bc59ade/gradle.properties#L9

Any news on updates?

Sorry missed this ticker. Update is out.

authors: Exidex OriDevTeam meoyawn

repo: kdl-org/intellij-kdl


text:
Parser fails on bare identifiers containing a prefix matching a keyword

Legal bare identifiers with a prefix that matches a keyword cause the parser to return errors. I submitted a PR with test cases to the main repo to help test the desired behavior.
Existing behavior
use kdl::parse_document;

fn main() {
    println!("{:?}", parse_document("null_id"));
    println!("{:?}", parse_document("node null_id=1"));

    println!("{:?}", parse_document("true_id"));
    println!("{:?}", parse_document("node true_id=1"));

    println!("{:?}", parse_document("false_id"));
    println!("{:?}", parse_document("node false_id=1"));
}

Err(KdlError { input: "null_id", offset: 0, line: 1, column: 1, kind: Other })
Err(KdlError { input: "node null_id=1", offset: 0, line: 1, column: 1, kind: Other })
Err(KdlError { input: "true_id", offset: 0, line: 1, column: 1, kind: Other })
Err(KdlError { input: "node true_id=1", offset: 0, line: 1, column: 1, kind: Other })
Err(KdlError { input: "false_id", offset: 0, line: 1, column: 1, kind: Other })
Err(KdlError { input: "node false_id=1", offset: 0, line: 1, column: 1, kind: Other })

Expected behavior
Ok([KdlNode { name: "null_id", values: [], properties: {}, children: [] }])
Ok([KdlNode { name: "node", values: [], properties: {"null_id": Int(1)}, children: [] }])
Ok([KdlNode { name: "true_id", values: [], properties: {}, children: [] }])
Ok([KdlNode { name: "node", values: [], properties: {"true_id": Int(1)}, children: [] }])
Ok([KdlNode { name: "false_id", values: [], properties: {}, children: [] }])
Ok([KdlNode { name: "node", values: [], properties: {"false_id": Int(1)}, children: [] }])

Additional note
I did not submit test cases in the main repo for this, but I just noticed that if a keyword is prefixed with a sign character—which I think is a legal bare identifier—it fails as well. Please ignore if this is intentional! For example:
+false
node -false=1

new parser addresses all of these and there's tests for it now too :)
        let null = doc.get("null_id").expect("expected a null_id node");
        assert_eq!(&null["null_prop"], &KdlValue::Null);

        let tru = doc.get("true_id").expect("expected a true_id node");
        assert_eq!(&tru["true_prop"], &KdlValue::Null);

        let plusfalse = doc.get("+false").expect("expected a +false node");
        assert_eq!(&plusfalse[0], &KdlValue::Bool(true));

        let bar = doc.get("bar").expect("expected a bar node");
        assert_eq!(
            format!("{}", bar),
            "\n         bar \"indented\" // trailing whitespace after this\t\n"
        );

authors: benjreinhart zkat

repo: kdl-org/kdl-rs


text:
Queries randomly show syntax error when there isn't one

Sometimes going directly to a query link and trying to run the query (cmd + enter) shows syntax error. But when you type in the editor (delete & then add again a ; for example), the query syntax is fine. Seems like a react state bug or something?

cc @freefony

repo: kdoran/lookout


text:
UITableView sometimes shows previously queued image.

Hi Alexander,
I am playing around with Nuke, so I created a tableview that contains cells having only an image.
While scrolling faster I realised that the UITableView sometimes shows previously queued image.
Observable.concat(nukeManager.loadImage(with: viewModel.smallPhoto).orEmpty,
                          nukeManager.loadImage(with: viewModel.regularPhoto).orEmpty)
            .bind(to: photoImageView.rx.image)
            .disposed(by: rx.disposeBag)

Any idea why this happens?

Hey,
Make sure that you cancel previous subscriptions and prepare image view for reuse before loading a new image:
disposeBag = DisposeBag()
imageView.image = nil

... load image ...

I did that, but nothing changed.

.bind(to: photoImageView.rx.image)
.disposed(by: rx.disposeBag)

Are you sure you're adding disposables to the correct dispose bag (the one that get's re-created)?

Yes, created a disposeBag on the cell and the same thing occurs

Solved it.

authors: jdisho kean

repo: kean/RxNuke


text:
Limits doesn't work?

it seems this is not synced to KBC

Problém bude asi spíš někde tady: https://github.com/keboola/connection/blob/master/library/Keboola/DeveloperPortalAppSync.php
--
Jakub Matějka
Developer | Keboola Brno
www.keboola.com
On 9 Oct 2018, 15:05 +0200, Ondrej Popelka notifications@github.com, wrote:

it seems this is not synced to KBC
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: JakubMatejka odinuv

repo: keboola/developer-portal

license: mit


text:
README

Create detailed readme file

Need to add test's results label

repo: kechinvv/BabyBlockchain


text:
Provide a Loki Scaler

Proposal
Grafana Loki is an open-source, horizontally scalable, brute-force log aggregation tool inspired by Prometheus. KEDA should provide a Loki scaler to autoscale k8s resources based on quantifiable LogQL (Loki's query language) query results.
Scaler Source
Loki
Scaling Mechanics
Scale based on quantifiable LogQL query results i.e. queries that result in a numeric value.
Authentication Source
Since Loki doesn't define any built-in authentication, basic auth and bearer auth can be used through TriggerAuthentication.
Anything else?
No response

I would like to be assigned to this issue.

Awesome, thanks! Nice addition.

repo: kedacore/keda


text:
Allow to scale differently sized browser nodes on selenium-grid scaler

Proposal
Currently the selenium-grid scaler needs exactly same sizing for every browser node with any browser / platform combination. We are in situation, where windows browser nodes are static and linux browser nodes are scaled by KEDA. Size of our Windows nodes is 4 browser slots / node with two browsers on each. But we wanna to scale linux nodes with just one slot and one browser per pod. In current situation it does not work well, because KEDA supposes, that all browser nodes are same size. We like to have ability to set browser node size for browser / platform combination and be able to read this size from grid, when at least one node of such combination is up.
Use-Case
No response
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
No response

Sounds reasonable :)

authors: rubroboletus zroubalik


text:
Sample example of Leveraging the container lifecycle before the pods are terminated via SIGTERM from K8s

As per https://keda.sh/concepts/scaling-deployments/#scaledobject-spec
Use-Case
Provide a sample app example of using the SIGTERM use case before the  pods are killed.
Leverage the container lifecycle

Kubernetes provides a few lifecycle hooks that can be leveraged to delay termination. Imagine a replica is scheduled for termination and is 2.9 hours into processing a 3 hour message. Kubernetes will send a SIGTERM to signal the intent to terminate. Rather than immediately terminating, a deployment can delay termination until processing the current batch of messages has completed. Kubernetes will wait for a SIGTERM response or the terminationGracePeriodSeconds before killing the replica.

Specification

Provide a sample golang or nodejs app showing how to use trap the SIGTERM and increase the terminationGracePeriodSeconds  before killing the pod.

Im not sure if one can dynamically change the terminationGracePeriodSeconds without bouncing the pod.
But a sample Golang code trapping SIGTERM or SIGINT can be found here.  I'm not sure if that is what you need.
https://gobyexample.com/signals

@balchua . Trapping the signal in the program would be trivial. However i will need to change the terminationGracePeriodSeconds for the  deployment. That would be mean i would have to use client-go to change it. Is that correct?

Modifying the terminationGracePeriodSeconds causes the pod to be terminated and recreated.
Why not set the terminationGracePeriod to be the maximum time your application need to gracefully shutdown.  If your app finishes before that it will be terminated.

authors: balchua linuxbsdfreak


text:
Change छ to ळ

We need to add a few words that pertain to ळ. A bigger analysis (monogram, bigram etc.) needs to be done, but for now, it appears that ळ appears more frequently in शरद-like words.
Temporary change, only for mvp-1.

Also, randomize the list of words! D'oh!

Also, s/इ/ई

repo: kedarmhaswade/vardaL


text:
Add version field to the directive and also generate associated metadata based on version

Here's an example:
appversion: 0.3
name: demo
controller: DeploymentConfig
containers:
- image: tomaskral/nonroot-nginx
services:
- portMappings:
  - "8080"

Note: appversion is just an example, we can have a better name.
Note: Also, this is not kedge version but the application/service version.
This field can be used to generate some kind of annonation metadata that can be used later. e.g

openshift/generated-by:  kedge-init
openshift/appversion: 0.4
kubernetes/generated-by:  kedge-init
kubernetes/appversion: 0.4

Why do we need this?

Metadata can be used to retrospect
The appversion field can be used later to add capability to tooling that could possibly pick up a certain version and deploy that.

This'd work with OpenShift Service Catalogs and Helm charts, right?
For example, when creating a Helm chart, it'll populate the version section.
Just version seems good instead of appversion (I know you said it's temporary :+1: )

This'd work with OpenShift Service Catalogs and Helm charts, right?
For example, when creating a Helm chart, it'll populate the version section.

yes this can be one of the places where it can be used

Just version seems good instead of appversion (I know you said it's temporary  )

I think that in future will have to start versioning kedge format (probably based on kubernetes api versions). Calling it just version might be confusing and easily mistaken for kedge format version.
This field should indicate Application version (or version of given application definition). appversion, applicationVersion or something along those lines is more suitable.

Just a suggestion to keep it appversion, as 'key' we are using for name is 'app' in labels. (Maybe I am wrong). Please let me know the final key name we should keep.
And we want to add the key-value pair in labels or annotations?

IMO appversion should be without quotes appversion: 0.3 but eventually we will updates types.go so we can allow both int and string input similar to #438

IMO appversion should be without quotes appversion: 0.3 but eventually we will updates types.go so we can allow both int and string input similar to #438

@cdrage
I disagree with this, to be honest. portMapping is a different story because that can be a real integer.
But his has to be always a string. If we do this for appversion than we should do that for every string field to be consident and that is not feasible.

since PR is merged, we can close this issue ?

I believe so :+1:

authors: cdrage kadel piyush1594 pradeepto surajnarwade

repo: kedgeproject/kedge


text:
Finishing touches: get pool's TVL and claim history

Closes: #112
Two changes here:

Emit CovrageClaimed event from AssetPool.claim
We were not emitting an event from the asset pool when a portion of tokens
was claimed as coverage. Having this event in the pool can help to
calculate historical APY without having to look at risk manager
implementation. This is handy because we may have multiple
implementations of a risk manager in the future.

Added AssetPool.totalValue function
The function returns the current collateral token balance of the asset
pool plus the reward amount (in collateral token) earned by the asset
pool and not yet withdrawn to the asset pool.
This function will be helpful for dApp to compute the current TVL of the
asset pool without having to query asset pool and rewards pool
separately.

Seems like emitting event bumps up gas cost.
Rest of the code looks good.

authors: dimpar pdyraga

repo: keep-network/coverage-pools


text:
Fix wait-for-stake log

Fixed a mistake that got through in the last PR. There are two objects supplied to a string with 1 template. This will fix it.

Thanks for the contribution, I'll merge once the tests pass.

repo: keep-network/keep-core


text:
tx v3 two tests

Pull Request type
Draft
Please add the labels corresponding to the type of changes your PR introduces:
Testing

Bugfix
Feature
Code style update (formatting, renaming)
Refactoring (no functional changes, no API changes)
Build-related changes
Documentation content changes
Testing
Other (please describe):

Resolves: #1574
What is the new behavior?

Two new tests to tx v3

In this commit i added a line in lib.rs, related to the transactions version, because it seems for me that we had to do that, and then i tried to run the given_hardcoded_contract_run_invoke_tx_v3_fails_sender_not_deployed and still not working. The left side is failing, it is returning ok(()). And it has to return error. And the other tests that i added is failing too.

Since cairo v0.10, transaction are splitted to two function validate and execute, this splitting allows for a protocol-level distinction between invalid and reverted transactions, so i think you should not run_non_revertible_transaction for v3 in starknet/src/lib.rs, and in your test you call get_invoke_dummy which produce a v1 invoke transaction maybe you should take a look and write an get_invoke_v3_dummy i hope this will help you out

Right now Im working in that, in creating a new get_invoke_v3_dummy but there is a lot of parameters that i dont know how to get them...

did you check https://github.com/starknet-io/SNIPs/blob/main/SNIPS/snip-8.md ? if you still need help on get_invoke_v3_dummy go check an implementation of it at this PR : #1597 in mod.rs

I dont know why in this code:
#[test]
fn given_hardcoded_contract_run_invoke_tx_v3_on_argent_account_then_it_works() {
    new_test_ext::<MockRuntime>().execute_with(|| {
        basic_test_setup(2);
        let none_origin = RuntimeOrigin::none();

        let chain_id = Starknet::chain_id();
        let mut transaction = get_invoke_v3_argent_dummy(chain_id);
        if let starknet_api::transaction::InvokeTransaction::V3(tx) = &mut transaction.tx {
            tx.signature = sign_message_hash(transaction.tx_hash);
        };

        assert_ok!(Starknet::invoke(none_origin, transaction));
    });
}

I'm getting this error:
failures:

---- tests::invoke_tx::given_hardcoded_contract_run_invoke_tx_v3_on_argent_account_then_it_works stdout ----
thread 'tests::invoke_tx::given_hardcoded_contract_run_invoke_tx_v3_on_argent_account_then_it_works' panicked at crates/pallets/starknet/src/tests/invoke_tx.rs:654:9:
Expected Ok(_). Got Err(
    Module(
        ModuleError {
            index: 1,
            error: [
                1,
                0,
                0,
                0,
            ],
            message: Some(
                "TransactionExecutionFailed",
            ),
        },
    ),
)

The invoke function inside of the assert_ok! is throwing that error.
The test is almost the same as this one:
#[test]
fn given_hardcoded_contract_run_invoke_on_argent_account_then_it_works() {
    new_test_ext::<MockRuntime>().execute_with(|| {
        basic_test_setup(2);
        let none_origin = RuntimeOrigin::none();

        let chain_id = Starknet::chain_id();
        let mut transaction = get_invoke_argent_dummy(chain_id);
        if let starknet_api::transaction::InvokeTransaction::V1(tx) = &mut transaction.tx {
            tx.signature = sign_message_hash(transaction.tx_hash);
        };

        assert_ok!(Starknet::invoke(none_origin, transaction));
    });
}

Some of those tests that i just made. Are not working, there is a comment in the tests to know that. And if you see, the tests that are supposed to fail, are the ones that are working. And those tests that are supposed to passed, are failing because they return an error. So maybe im doing something wrong here :/

repo: keep-starknet-strange/madara


text:
Provide defaultRenamer as 3rd parameter

Hello,
I have a little feature request.
The defaultRenamer, as far as I understand, converts a file name to camelCased name. At the same time, it correctly removes the file extension using path.extname(id).
Actual Result
In my case, I'm providing .d.ts files. That causes a problem, because
const id = 'my-file.d.ts'
path.basename(id, path.extname(id)) // returns `my-file.d`

Obviously, I can just define the rename function myself. However the the new rename function would do almost the same as defaultRenamer.
Proposed Solution
Provide a 3rd argument to rename option function
rename: (name, id, defaultRenamer) => // remove extension manually and use defaultRenamer

Is it something that would be considered? Should I create a PR?
Or is there another more suitable solution ?

Thank you for your request.
First, let me clarify the issue. This is your problem I guessed from your comments:

Your requirement is to convert foo-bar.d.ts to fooBar.
But the current defaultRenamer1 converts it to fooBarD.

1defaultImportRenamer may be a more appropriate name.
So, you proposed the feature: providing the defaultRenamer as the 3rd argument when the plugin calls option.rename:
https://github.com/kei-ito/rollup-plugin-glob-import/blob/01a25ec89633c47d5f75833328bde0edecdd0c5c/lib/index.js#L49
Supposed fix:
const exported = options.rename(null, id, defaultRenamer);

IMO, exporting defaultRenamer and make it require/import-able is more reasonable than providing it as an argument. Here's my PR: https://github.com/kei-ito/rollup-plugin-glob-import/pull/65
P.S. You may have already noticed, this plug-in does not work well with TypeScript. This is why this project is still written in JavaScript not TypeScript.

I've published v0.4.4 which exposes camelCase and defaultRenamer.
https://github.com/kei-ito/rollup-plugin-glob-import/blob/1988fe466916262c65c70e0c120a88f3dff3cc37/lib/index.js#L7-L10

Wow that was fast, thanks a lot.
To your question: I'm using this plugin to combine many small files into 1 index file. Without this plugin I would have to do it manually. All these small files have their .d.ts definition. For internal reasons, the sources should be in .js rather than .ts. Well, since I'm combining the .js files, I have to combine the d.ts files as well - with the help of rollup-plugin-dts.
Can you enlighten me why the PR contains now __proto__: null, in the many outputs ?

Thank you for your information! It will be useful in future development.

Can you enlighten me why the PR contains now proto: null, in the many outputs ?

Because I pushed off-topic commits below to #65, it includes some off-topic changes. Sorry for having confused you.

1cd6104 chore: update deps (off-topic) This updates rollup from v1.16.2 to v1.24.0.
2f554a3 feat: export defaultRenamer
49850a5 test: defaultRenamer
680f456 chore: reinstall  (off-topic)
41ad637 chore: rerun tests  (off-topic) This includes the __proto__: null changes.

The modified files are the results of the test to help users understand what this plugin does.
FYI:

https://github.com/rollup/rollup/releases/tag/v1.22.0
The 3rd feature introduces __proto__: null.
https://runkit.com/kei-ito/rollup-and-proto

So everything works well. I'm not sure if you planned any more changes via this ticket. Anyway, feel free to close the ticket. I got all the help I needed.

authors: kei-ito stropho

repo: kei-ito/rollup-plugin-glob-import


text:
シンプルなSlackbotを作成する

Doneの定義

Slack上でChatGPTと会話出来る為のサーバーが実装されている事

対応完了したのでクローズ

repo: keitakn/chat-gpt-slack-bot


text:
Oi, bom dia, gostaria de pedir para adicionar uma fonte nova

Source name
Argos Comics Madara
Source link
https://argoscomics.com.br
Source language
Português
Other details
No response
Acknowledgements

[X] I have checked that the extension does not already exist by searching the extension listing and verified it does not appear there.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[X] I will fill out all of the requested information in this form.

repo: keiyoushi/extensions-source


text:
Mangakakalot extension - wrong source

Source information
Mangakakalot 1.4.8
Source language
English
Steps to reproduce
Install Mangakakalot extension.
Open any manga.
Expected behavior
Extension source should be Mangakakalot and nit Manganato
Actual behavior
The extension is sourcing from Manganato instead of Mangakakalot.
Mihon/Tachiyomi version
0.16.5
Android version
13
Other details
This seems to be an issue with the extension.
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Ah, I understand that they are sister sites, but it is still weird that opening Mangakakalot's WebView when on a manga page sends me to Manganato's site and not Mangakalot.

Upon further inspection it seems that opening the WebView in the extension menu it correctly opens Mangakakalot's site, but once you open in WebView on a manga page it sends you to Manganato.
I guess I'll close the issue, but that is some weird behaviour on their end


text:
要如何判断  Chrome下载成功？

请问，当网页下载文件大小不同，并且不确定下载需要多久的时候，如果用 wait 会遇到大文件没下载完，小文件下载完成后浪费时间的情况。要如何判断  Chrome下载成功？
https://www.videvo.net/video/7/
click download-button
wait 10  <----------------------------- 这里希望可以被优化，自动判断chrome下载状态

谢谢。

Hi @kangyiwen
You can try and use visual automation to check for something generic in the chrome download bar at the bottom. Here is an example, whereby I check if "secs left" is present and wait.
https://github.com/kelaberetiv/TagUI/releases/download/v6.46.0/TagUI_Windows.zip
if present('secsleft.png')
	wait 1

secsleft.png

@ruthtxh  谢谢，我用的方法是： 判断下载文件目录，是否有目标文件。
我试试你这个方法。

Hi @kangyiwen to clarify, the secsleft.png is the highlighted portion, so it is like this:

Adding on, following structure will keep checking every second to see if the download is completed
for n from 1 to infinity
    if present('secsleft.png')
        wait 1

Or the following, if you wish to cap the time to wait to 5 minutes (300 seconds)
for n from 1 to 300
    if present('secsleft.png')
        wait 1

也许我的屏幕太大了，这个方法不太好用。  方法我理解了，谢谢。

改进了下
https://www.videvo.net/video/8/
wait 3
click download-button
wait 3
for n from 1 to 100
	echo `present('mb.png')`
	if present('mb.png')
		wait 3
	else
		echo 下载完成
		break

authors: kangyiwen kensoh ruthtxh

repo: kelaberetiv/TagUI


text:
ask step to ask using desktop popup window if visual automation is used - KIV

At the moment, ask step will popup the question for user input if Chrome is used for automation. If Chrome is not used, the question will be prompted in the command prompt / terminal window.
However, if a user is using the visual automation engine to do the workflow, the question being asked in the terminal window will not be visible and probably be blocked by other apps in the foreground.
Thus it makes sense to ask the question as a desktop popup window. This can be done through the SikuliX engine.

A downside though, is users will not be able to pipe data into tagui command to answer those questions.
For eg ask.tag
ask what's your name?
echo `ask_result`

On macOS, doing echo ken | tagui ask.tag -n will let the script run and print ken as the result. If visual automation is used, the question will appear in a popup and will not be receiving piped data anymore. This looks like a edge use case which implementing above change should lead to more benefits than this con.

As part of this issue, also evaluate whether it makes sense to add ask step into live mode. Previously it was not added, since user can set variables like ask_result directly in live mode.

prioritise on other features, KIV until a real user actually asks about this

Below example will show an input box for user to ask something. You can even customise title, default value etc, then return the value back to TagUI to do further processing. Besides input box, you can also show popup message box for info, or show a box with yes or no to choose. The full list of possibilities are here - https://sikulix-2014.readthedocs.io/en/latest/interaction.html#popups-and-input-dialogs
vision output_sikuli_text(input('What is your name?', 'some default value', 'TagUI RPA'))
input_result = fetch_sikuli_text()
echo `input_result`

SikuliX is very powerful for non-web-based automation. a lot of customisations can be done. including automating on a 2nd monitor, or finding some image to the left or right of some existing match. The full API is very wide, so TagUI can only build in a subset of what SikuliX can offer.
Overview - https://sikulix-2014.readthedocs.io/en/latest/
Full list of functions - https://sikulix-2014.readthedocs.io/en/latest/genindex.html


text:
Updated template references

Updated project references to version 5 according to #13.

Thank you again!

authors: kellyethridge rpgrca

repo: kellyethridge/SimplyVBUnit


text:
remove wiki

The wiki is out of date and has not been maintained for quite some time. It would probably be more beneficial to remove it in favour of docs.
ref: #207

Done.

authors: bacongobbler kelseyhightower

repo: kelseyhightower/confd


text:
Support for a (HashiCorp) Vault backend

Any plans to add support for the HashiCorp Vault backend?

I too would be very interested in seeing this.

I'm working on it right now. I actually have a working prototype that supports token authentication, github authentication and userpass authentication. The only "problem" I'm facing is how to actually extract the data. When accessing a specific key in vault it returns a map of keys and values. To make the templating engine work, I need to pick a specific value. currently, I'm extracting a key called "value". any ideas?

@odedlaz if you can encapsulate that map into a struct, we could template that out. I'd imagine that those keys and values are important to the user. What exactly does the map look like when it's returned? Haven't worked with Vault before.

@bacongobbler, confd expects a key-value store and the value lookup method signature is
func (c *Client) GetValues(keys []string) (map[string]string, error)

which means that for each key, the backends needs to find a string value.
Changing the method signature would be a big change in the way confd works.
I can do that, but I think it's an over-kill now.
take a look at my pull request: https://github.com/kelseyhightower/confd/pull/383

@bacongobbler , I've made the proper adjustments to make it work. please take a look at my pull request and tell me what you think: https://github.com/kelseyhightower/confd/pull/383

Vault support has been added via #383

@odedlaz This is exactly the functionality that I am looking for. Were you able to use confd template to get user:pass from vault's secrets engine?

authors: bacongobbler jacklei kelseyhightower nickithewatt odedlaz sporkmonger


text:
failed to get sandbox image "k8s.gcr.io/pause:3.2"

I am in China, and the network here does not allow access to "k8s.gcr.io", so I need to replace the default container Repository.
I have specified "--pod infra container image". Why do still use the default? because of the use of containerd?
[root@k8s-master1 kubernetes]# kubectl get pod -A
NAMESPACE     NAME                    READY   STATUS     RESTARTS   AGE
kube-system   kube-flannel-ds-c5bz4   0/1     Init:0/1   0          14m
kube-system   kube-flannel-ds-f6s6m   0/1     Init:0/1   0          4m17s

Events:
  Type     Reason                  Age   From               Message
  ----     ------                  ----  ----               -------
  Normal   Scheduled               31s   default-scheduler  Successfully assigned kube-system/kube-flannel-ds-f6s6m to k8s-node2
  Warning  FailedCreatePodSandBox  1s    kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image "k8s.gcr.io/pause:3.2": failed to pull image "k8s.gcr.io/pause:3.2": failed to pull and unpack image "k8s.gcr.io/pause:3.2": failed to resolve reference "k8s.gcr.io/pause:3.2": failed to do request: Head "https://k8s.gcr.io/v2/pause/manifests/3.2": dial tcp 64.233.189.82:443: i/o timeout

[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=containerd.service
Requires=containerd.service

[Service]
ExecStart=/usr/local/bin/kubelet \\
  --config=/var/lib/kubelet/kubelet-config.yaml \\
  --image-pull-progress-deadline=2m \\
  --kubeconfig=/var/lib/kubelet/kubeconfig \\
  --tls-cert-file=/var/lib/kubelet/${HOSTNAME}.crt \\
  --tls-private-key-file=/var/lib/kubelet/${HOSTNAME}.key \\
  --network-plugin=cni \\
  --register-node=true \\
  --container-runtime=remote \\
  --container-runtime-endpoint=unix:///var/run/containerd/containerd.sock \\
  --pod-infra-container-image=ccr.ccs.tencentyun.com/google-container/pause:3.2 \\
  --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:58Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

I found the "sandbox_image" of containerd

repo: kelseyhightower/kubernetes-the-hard-way


text:
🛑 bigdata is down

In ed9a486, bigdata (https://bigdata.ministep.cn/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: bigdata is back up in a0ffa17 after 22 hours, 42 minutes.

repo: kemistep/upptime


text:
discover data

!@#$%^&()_)(&^%$#@#$%^&()(&^%$#@!@#$%^&()(&^%$#@#$%^&*

nice work


text:
Join Us Page

https://bankless-new.netlify.app/new-members
Design: https://i.imgur.com/iPDEtzF.png

Link the Join now button to Discord.

Link the Join now button to Discord.

Please provide the link url  so that I can add it to join now button


text:
Finish plugin feature

[ ] Add tests for examples
[ ] Expand documentation
[ ] Add documentation for examples
[ ] Add documentation to readme on how to build/test the project

Split the remaining tasks into a single documentation task.

repo: kenkaijie/pyetta


text:
自分が今まで何回WAやTLEをしているのかなど、失敗にフォーカスしたUserページがほしい

沢山バグを埋め込んだプログラマーほど、バグの防ぎ方を知っているのではないかと思い、WAした回数や問題数が調べたくなりました。
UserページにAchievementとは別にFailuresのような失敗の歴史が見えるタブを作りたいです。
WA率の推移みたいなのもみたいです。

ログインしてSubmissionsのページでWAでフィルターすればカウントできることにきづきました。

repo: kenkoooo/AtCoderProblems


text:
unanounced tracking?

After installing/enabling this plugin uBlock origin blocks this for EasyPrivacy List

If none will answer me I will report plugin to octoprint

if none will answer me I will report the plugin to octoprint

repo: kennethjiang/OctoPrint-Slicer


text:
Add 'binary_stdio' run flag to allow running commands with binary output

Use case:
>>> import delegator
>>> len(delegator.run("head -c16KiB", /dev/urandom").out)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/podvody/Repos/delegator.py/delegator.py", line 77, in out
    self.__out = self.std_out.read()
  File "/usr/lib64/python3.4/codecs.py", line 319, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdf in position 0: invalid continuation byte
>>> len(delegator.run("head -c16KiB /dev/urandom", binary_stdio=True).out)
16384

let's change this to just binary.

@kennethreitz @nateprewitt updated the PR.

@nateprewitt ahh, sloppy me, now it should be alright :)

Great catch on the block/binary semantics @nateprewitt should be fixed now! 🎉

Ok, I think this looks good to me. Thanks @shaded-enmity!

authors: kennethreitz nateprewitt shaded-enmity


text:
Issue with blueprints

Hey,
Thanks a lot for the beautiful extension. I'm having some trouble with including this for Blueprints. I created an issue on Stackoverflow before, I hope it's alright... Could you help me along a little bit?
Thanks a lot in advance!

Hi @LennartKloppenburg, I answered your question on Stackoverflow, closing this one for now.

authors: LennartKloppenburg tkrajca

repo: kennethreitz/flask-sockets


text:
Difficult response after request from an TLS client which not supporting TLS SNI

We did some tests with openssl s_client -connect 23.23.115.5:443 to simulate our embedded client.
We can't get an connection successfully with this method and got always "Internal_error" . After digging deeper we found  openssl s_client -connect 23.23.115.5:443 -servername www.httpbin.org is working fine.
The https://tools.ietf.org/html/rfc6066 states:

If the server understood the ClientHello extension but does not recognize the server name, the server SHOULD take one of two actions: either abort the handshake by sending a fatal-level unrecognized_name(112) alert or continue the handshake.

It would be very nice to change the response to "unrecognized_name" instead of "Internal_error"
This will help others to find the root cause much faster ;-)

This likely requires @kennethreitz to talk to the right thing at their hosting provider.

We require SNI, I believe.

@kennethreitz right, I believe that @wodo is explaining that what is being returned currently is incorrect for that requirement.

This issue should be closed because:

httpbin.org requires SNI, which is fairly common and reasonable these days, and
The RFC section quoted is not actually being violated.  Note that it says:

If the server understood the ClientHello extension but does not recognize the server name

This does not apply in the case of openssl s_client -connect 23.23.115.5:443, because the client does not send an SNI extension block in this case, therefor it sent no server name, and did not send an unrecognized server name.

authors: javabrett kennethreitz sigmavirus24 wodo

repo: kennethreitz/httpbin

license: isc


text:
Recursive use of pipenv shell

We would have to use pipenv shell while building a CLI project. So, once we switch to the new shell and suppose if we forgot and executed pipenv shell again it then creates a new shell once again and we have to exit two times to get back to the default shell.
It'd be great if we have already used pipenv shell, the next time it maybe gives a message saying "You're already in the pipenv shell".

Hey @OrkoHunter, could you tell me which shell you're using?
I currently get a warning in standard bash saying Be aware that this environment will be nested on top of 'your-project-name' when I try to activate the shell more than once. I believe most prompts are modified to also include the virtualenv name that pipenv is using after pipenv shell is used once. Is this not behaviour you're seeing?

Hey @nateprewitt
I am using oh-my-zsh shell and I am not seeing any messages. :-/

Ok, we can look into trying to detect if the shell has been activated and raising a message. If we go down that route I'm almost wondering if we should just prohibit running pipenv shell from inside the shell. I'm not sure if there's a real use case for allowing that in the first place.

authors: OrkoHunter nateprewitt

repo: kennethreitz/pipenv


text:
make --ignore-hashes automatic

when no hashes are present

So I thought about this when we were implementing --no-hashes, and while this is definitely more convenient, it defeats the point of the hashes. --no-hashes in general is a bit weird with us having --require-hashes on every install command.
Hashes become opt-in rather than opt-out at that poin, which I'm not saying is the wrong approach, but they will become prone to silent failure.
If we go this route, we just need to make sure we a big note that this feature is now opt-in when receiving Pipfile.lock files from third parties.

Could hashes be enabled/disabled by a setting in the Pipfile?

It could but I don't think that addresses the issue. If the hashes are present in the file that's going to lead people to believe it's using hashes unless they specifically instruct pipenv not to. I agree that no hashes in the file would suggest we aren't checking hashes but that's also something we shouldn't expect people to have to check on every project they install.
Honestly, I think I'm OK with opt-in for hashes because they've been more of a struggle than the value they've provided (in my experience). That way when the user knows they're deploying in an environment where they don't want to worry about tampering, they specify --require-hashes in the build, just like pip.

I like the current functionality, i just think we should automatically enable --ignore-hashes if no hashes are present.

done!

authors: jacebrowning kennethreitz nateprewitt


text:
Provide ciphers list for HTTPS requests

Hi,
Since Python 2.7, the ssl module implements a way to provide a list of available ciphers to the SSL object [1]. It would be nice if this feature could be reflected in Requests (and in Urllib3 as well).
I know it's not a key feature but some web servers have a Long Handshake intolerance [2] and that makes tools (and Python scripts) based on OpenSSL 1.0.1+ fail at handshake. A workaround is to provide a short list of ciphers instead of all the available ones.
I've looked into trough the Requests documentation and googled. I didn't find a way to do it. Maybe there is, if so i would appreciate a bit of help :)
Thanks !
[1] http://docs.python.org/2/library/ssl.html?highlight=ssl#ssl.wrap_socket
[2] https://github.com/ssllabs/research/wiki/Long-Handshake-Intolerance

Hi,
I had exactly the same needs, and I needed some time to find how to add the specific ciphers. So if I may, I will just add what I did so people can find it (please correct me if I am completely wrong):
from requests.packages.urllib3.contrib import pyopenssl
pyopenssl.DEFAULT_SSL_CIPHER_LIST = 'your list her'
This will also be handy for people bumping into issues with the OpenSSL version of Ubuntu 14.04 and Requests 2.7 and python 2.7.6
(see:  here  and  here )

Hi,
The following worked for me!
import requests

requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += ':RC4-SHA'
try:
    requests.packages.urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST += ':RC4-SHA'
except AttributeError:
    # no pyopenssl support used / needed / available
    pass

Taken from: http://stackoverflow.com/questions/32650984/why-does-python-requests-ignore-the-verify-parameter/32651967#32651967

Please do not do it this way. Instead, follow the approach in this blog post and change the ciphers only for specific sites. RC4 is extremely dangerous and broken, and enabling it in the way shown in @athoik's comment will enable it for all sites, opening you up to trivial attacks. If you must allow RC4 or other removed ciphers, do so on a site-by-site basis.

@Lukasa, I only had to enable the AES256-SHA in my case.
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'AES256-SHA'

I just copy / pasted the original solution.

Ah, I see. In general this is still using a sledgehammer to crack a nut, and a per-host approach as discussed above is the better way to go.

I am wondering why does requests provide a list of DEFAULT_CYPHERS in ssl_ when ssl already provides one.
It took me a long time to discover that it was the reason for the issue I was having. I find SSL is hard to debug enough to have different layer adding their own filters, it is only a the end of my journey now that I know the problem that I find this useful discussion and blog post.
The solution you are proposing is nice but it requires that we change the code and to use a session, this means possibly a lot of refactoring.
Also because the server is controlling the encoding there is nothing we can do in the client code, so restricting the list just makes the connection fail.
Shouldn't we let people restrict the list easily with publicly documented methods rather than making hard for everyone to use the default values?

I am wondering why does requests provide a list of DEFAULT_CYPHERS in ssl_ when ssl already provides one.

A number of reasons. For example:

On older Python versions the ssl module does not provide a list of default ciphers.
The Python ssl module list is not updated after the release of the module: we can update ours much faster than others. For example, we removed 3DES from our list and got out a release within a month, whereas it took many months for Python to do so, and most Python users still have not seen this update.

The solution you are proposing is nice but it requires that we change the code and to use a session, this means possibly a lot of refactoring.

Yes. However, Sessions are a good thing that should be used in all but the simplest of codebases, so it's a major help. And if your code is simple, you can just create a global session and change all your calls to requests.x to session.x. The refactoring is intentionally very simple.

Also because the server is controlling the encoding there is nothing we can do in the client code, so restricting the list just makes the connection fail.

This represents a severe misunderstanding of how TLS works. The client and server together decide which cipher suite is used, based on the server selecting its preference from the list the client supports. The client is responsible for defending itself against the server making bad choices. Clients need to have an opinion about what ciphers are acceptable for use.
If your assertion is that the client should allow whatever cipher suite the server chooses, then you are essentially saying that TLS does not serve a security purpose for you at all: it is merely an operational inconvenience. In that case I recommend you don't use HTTPS: you're just adding complexity to your work for no reason.
Otherwise, the client is responsible for preventing old and badly configured servers from leaking client data.

Shouldn't we let people restrict the list easily with publicly documented methods rather than making hard for everyone to use the default values?

No.
Requests has a strong cultural bias towards "secure by default". Essentially, if you use Requests in the default configuration then we guarantee that you are using a configuration that is secure based on our understanding of the network threat ecosystem at the time we released.
Users should not opt-in to secure configurations because that creates an ecosystem in which only those who have the knowledge to understand the risks are secure. Requests aims to ensure all our users are secure, not just those who are keeping up to date with the crypto literature.
So our policy is that we will be secure, and give you opt-outs. We don't promise to make them easy: we'll let you point the gun at your foot, but we won't necessarily provide an easy switch to do it. If you have to do a little bit of work to reduce your security, then that is a reasonable trade-off for ensuring that casual users don't accidentally do it.

Thank you, you are making very good points. I wish the customization would be documented in requests doc along with some troubleshooting tips, the interface is awesome but this was not a good experience...

Yeah, this is an understandable concern. Generally we don't want to make things like this super easy to find just to discourage their use a bit more, which is why we've traditionally resorted to "documenting" this kind of thing in blog posts rather than inline.

authors: Lukasa alainrobert athoik cecemel damiengermonville

repo: kennethreitz/requests


text:
Feature/search

What: Added Search functionality via Algolia

Why: Site Usability

How: Using Algolia DocSearch

I'm not sure, at this point, how to style.
Tried using Glamorous itself but it seems as if I am missing something for the style to appear

I'll upload to now for a sample

Thanks @RIanDeLaCruz! I just force-pushed to your branch to resolve some merge conflicts (your branch was pretty out of date :sweat_smile:). Please make sure you pull before doing any more work.
Could we get help here from someone? How should we style this? cc @jonmajorc, do you have any ideas?
By the way, this is AWESOME!!!!

Thanks! 😄

Ok, I have a style to be reviewed. I'm running into some knowledge limit with github though. :) How do I push my version of this branch back to this feed? I added this branch as a remote but I am assuming I don't have write access?

Closing in favor of #235

authors: RIanDeLaCruz kentcdodds motleydev

repo: kentcdodds/glamorous-website


text:
Can't get the src of the current slide

Hi,
I am using slick in a list of images and in some point I want to get the src of the current slide. From the functions I've seen I can only get the index of the current slide (0,1,2 ..). Is there a way to do that from the library? or it is not supported yet? Otherwise I have to do it using other ways.
Thank you in advance.

you can do something on the base slick object like
$('myelement')[0].slick.$slides[currentSlide]

repo: kenwheeler/slick


text:
Responsive not working after breakpoint

The plugin is awesome :smile: thanks!
I'm trying to set up an slider, but I'm having trouble with the responsive option.
When I load with a wider with than the breakpoint it works well until I resize below the breakpoint and the slider disappears.
If I load the screen with a smaller width than the breakpoint the slider never shows up, even when I resize pass the breakpoint.
Codepen here!
I've tryed adding  mobileFirst: true and switching the settings, and things get even worse.
Starting from mobile looks ok, but after the breakpoint the slides overlay.
Codepen here too!

Could be related to #1300 ?

Yes! I think so. Could not your codepen because I'm on the phone, but looks to be the same problem.
Kenwheeler mentioned today in Scotch.io slack it is not working properly atm.

I have added Pull request for this error: https://github.com/kenwheeler/slick/pull/1660
Works just great in my case :)

Sorry for the problems with grids/rows.
We will do our best to sort these out in a major update.

authors: Bartlomiejsz ethanclevenger91 gillchristian simeydotme


text:
IE 9 and earlier

Does the slider not work on anything older than IE 9? I just tried http://www.uniquedesigns.co.nz/trucold and the images are stacked, not sliding
====================================================================
[  paste your jsfiddle link here  ]
use this jsfiddle to reproduce your bug:
http://jsfiddle.net/simeydotme/fmo50w7n/
we will likely close your issue without it.
====================================================================
Steps to reproduce the problem

...
...

====================================================================
What is the expected behaviour?
...
====================================================================
What is observed behaviour?
...
====================================================================
More Details

Which browsers/versions does it happen on?
Which jQuery/Slick version are you using?
Did this work before?

Is there any console errors being logged? Those would be helpful to identify if there are explicit IE9 errors.


text:
Slick slider glitch on first time load

Slides are not loading correctly, all slides are showing once at width 128px.
We are using multiple slick slider on single page with same HTML, CSS, and Jquery. When slider loads on the screen with cleared cache, there is a glitch. All slides are showing once at width 128px. When we change screen resolution, change slide or reload page, then slides are showing and working correctly.
When a browser has the cache for this website then there is not a glitch in the slider. We changed the location of Javascript because we think maybe the browser doesn't find the JS on time. We are attaching a screenshot of our problem, please look at that.

https://transport.continental-me.com/en/pages/testing
We have checked this issue on Google Chrome, Mozilla Firefox, and Opera.
We are using a 1.9.0 version of the slick slider and 3.3.1 version of jquery.

Hi! I tested your website on microsoft edge, mozilla and chrome using their respectives anonymous tabs.
Edge: No glitch, perfectly normal
Mozilla: No glitch either
Chrome: This was tricky, the first time I opened I saw the glitch you posted but not when I closed and opened the anonymous tab again. But then trying a few more times I see this "glitch" which only lasts until the next picture slides, then it's normal again. Weird. I attached the picture below so you can have a look at that.

@giseleml Thank you for your prompt reply,
You right, when we close and open it from the anonymous tab it looking normal because that's time browser save the website cache. After cache saving it working fine.

Do you have any solution?

having the same issue but only when lazyLoad: set to ondemand.

authors: asimhameeddev giseleml meirroth


text:
[WIP] Begin "Create a project" path through docs

Signed-off-by: Meg McRoberts meg.mcroberts@dynatrace.com

Replaced by https://github.com/keptn/keptn.github.io/pull/1407 and https://github.com/keptn/keptn.github.io/pull/1385 .  I am closing this.


text:
Generated API Token do not pass remote execution plane validation

Affected Component

[ ] Approval
[ ] Bridge
[ ] CLI
[ ] Datastore
[ ] Docs
[ ] Distributor / Event Broker
[X] Helm
[ ] Istio
[ ] Jmeter
[ ] Kubernetes Integration
[ ] Openshift Integration
[ ] REST API
[ ] Webhook

Describe the bug
When keptn is installed, it will create an api-token (https://github.com/keptn/keptn/blob/master/installer/manifests/keptn/charts/control-plane/templates/core.yaml#L1) which contains upper and lowercase characters.
If you want to install a remote execution plane (helm-service) this token will be validated (https://github.com/keptn/keptn/blob/master/helm-service/chart/values.schema.json#L32) and is failing cause the regex is case-sensitive and only accept lowercase chars.
Expected behavior
Keptn API token is valid for remote execution plane.
The pattern should be
^(?i)([a-z0-9][a-z0-9-.]{2,63})(:[0-9]+)?$

I'm sorry, I just looked within the wrong line, blame on me!

repo: keptn/keptn


text:
bridge can't access mongodb when oauth is enabled

Your issue may already be reported! Please search on the issue tracker before creating a new one.
Environment

Client OS (e.g., Linux, macOS, Windows): Any
Keptn Version (keptn version): 1.2.0
Kubernetes Cloud Provider (e.g., GKE, AKS): Any
Kubernetes version (kubectl version): Any

Any
Affected Component

[ ] Approval
[x] Bridge
[ ] CLI
[ ] Datastore
[ ] Docs
[ ] Distributor / Event Broker
[ ] Helm
[ ] Istio
[ ] Jmeter
[ ] Kubernetes Integration
[ ] Openshift Integration
[ ] REST API
[ ] Webhook

Describe the bug

Currently the bridge service is unable to connect to mongodb due to its environment variable pointing to a host that doesn't exist. MONGODB_HOST: keptn-:27017.
> bridge-server@ start /usr/src/app/server
> node --experimental-specifier-resolution=node dist/server/server.js
[Keptn] 2023-02-24T21:38:07.419Z error   [Server] Error while starting the application. Cause : MongoServerSelectionError: getaddrinfo ENOTFOUND keptn-
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bridge-server@ start: `node --experimental-specifier-resolution=node dist/server/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bridge-server@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

The recent fix for mongo host overrides (#9470 #9471) introduced this defect. In that PR changes were made to the configuration such that mongo.service.nameOverride was stripped from the chart.
-              value: '{{ .Release.Name }}-{{ .Values.mongo.service.nameOverride }}:{{ .Values.mongo.service.ports.mongodb }}'
+              value: '{{ .Release.Name }}-mongo:{{ .Values.mongo.service.ports.mongodb }}'

However bridge was missed when this happened. Resulting in bridge crash looping whenever it needs to talk to mongodb.
https://github.com/keptn/keptn/blob/afe2ac73ce7c66acbe60d859250e7f4250c009ae/installer/manifests/keptn/templates/core.yaml#L154
To Reproduce
Steps to reproduce the behavior:

Install keptn with oidc enabled

Expected behavior
Bridge should not crashloop when oidc is turned on.
Current behavior
Bridge is crash looping with the following error:
> bridge-server@ start /usr/src/app/server
> node --experimental-specifier-resolution=node dist/server/server.js
[Keptn] 2023-02-24T21:38:07.419Z error   [Server] Error while starting the application. Cause : MongoServerSelectionError: getaddrinfo ENOTFOUND keptn-
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bridge-server@ start: `node --experimental-specifier-resolution=node dist/server/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bridge-server@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Screenshots

Additional context

fixed by https://github.com/keptn/keptn/pull/9524

@thisthat & @robbert229 -- I ran into this issue upgrading Keptn from 1.1.0 to 1.3.0 using Helm. Is there a disconnect between the 1.3.0 Helm chart release and the 1.3.0 release on this repo?

@WalkerSasser our helm chart has the same release of the repo, after the refactoring we did not  introduce the change proposed by @robbert229, I started a pr to fix it. In the mean time you can use the chart changing this  https://github.com/keptn/keptn/pull/9656/files#diff-cdadd3bdfa83bb05ebea07ff71587edb2f970e7986cfe9d5ce8aa447b7b71186R155

authors: RealAnna WalkerSasser robbert229 thisthat


text:
#222 Removed service entries for Dynatrace tenant

Since Istio is configured to allow all outgoing traffic, it is not necessary to create service entries. Creating the service entries caused this issue.

Valid point. I removed the createServiceEntry.sh as well as template files that were used by this script.
(In addition, I removed the createCluster.sh file which is also obsolete and never used.)


text:
Getting Started docs page - images broken

Already fixed this issue

authors: agardnerIT thschue

repo: keptn/lifecycle-toolkit


text:
Asynchronous ensembles design

An ensemble is generally more accurate than the models in it. And more, the ensemble is known to be statistically more robust (reproducibility to random seeds and uncertainty estimate calibration). Asynchronous ensembles may exploit efficiently the underlying massively parallel devices (e.g., GPU). A proper asynchronous design does not multiply the computing time compared to the number of base models.
This is why I propose two designs:

Design named shared_session. Models are built in the same TF session. One TF session (arbitrary rank=0) is responsible for gathering and combining predictions.
Design named multiprocessing. Models are built in independent TF sessions. They are distributed with the multiprocessing built-in python package. The parent process gathers and combines predictions with Numpy.

In both cases, on my Intel CPU I5, an ensemble of 4 CNNs is only 2 times slower than 1 CNN.

Asynchronous Ensemble designs comparison is now there:
https://github.com/PierrickPochelu/AsynchronousEnsemble

repo: keras-team/keras-io


text:
U-net Image Segmentation Multi-class

I'm trying to do an image segmentation problem where I want to segment 5 objects in an image. I'm using a U-net architecture. My final layer looks like this:
conv_final = Conv2D(OUTPUT_MASK_CHANNELS, (1, 1))(up_conv_224)
conv_final = Activation('sigmoid')(conv_final)
model = Model(inputs, conv_final, name="ZF_UNET_224")
However I get an error saying:
ValueError: Error when checking target: expected conv2d_24 to have shape (224, 224, 5) but got array with shape (224, 224, 3)
This is the generator that I'm using
image_generator = train_datagen.flow_from_directory(
    'data/train',  # this is the target directory
    target_size=(224, 224),
    color_mode = 'rgb',# all images will be resized to 150x150
    batch_size=batch_size,
    class_mode=None,
    seed = 1)  # since we use binary_crossentropy loss, we need binary labels

this is a similar generator, for validation data
mask_generator = mask_datagen.flow_from_directory(
    'data/train',
    target_size=(224, 224),
    color_mode = 'rgb',
    batch_size=batch_size,
    class_mode=None,
    seed = 1)

train_generator = zip(image_generator, mask_generator)

What can I do to fix this? Any help appreciated!

If I'm not wrong you are passing images which only have three channels, color_mode='rgb' so therefore keras expects (224, 224, 3) where the three represents RGB channels, somewhere you are making the model expect (224, 224, 5) which means, it's looking for five channels when actually there are only three channels in reality.
If you post the entire code I'd be happy to help.

Hello, thanks for your response. I was able to figure out that the Keras ImageDataGenerator and flow_from_directory do not support images with 5 channels, so I had to write a custom generator for that purpose.
I have a different problem now though. I took this network with pretrained weights that was trained on the same set of images but the end goal was different. The network was trained to produce a single output, while I need to learn a mask with all 5 objects I need segmented in the image. I thought simply popping the final layer of this network with a Conv2D(num_classes, (1,1), activation='sigmoid) would do the trick but I'm getting really bad performance. I have only 24 images to train on and one to test on so I thought transfer learning would be a great idea. Any ideas about how to debug this problem? I'd be happy to post some results from the images and masks if you'd like to help.
The pretrained network is available here: https://github.com/ZFTurbo/ZF_UNET_224_Pretrained_Model/blob/master/zf_unet_224_model.py
I just changed the output layer.

repo: keras-team/keras


text:
Working with h5 file

Hi,
I'm saving a model to disk:
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.save("model.h5")
print("Saved model to disk")

Then, removing one layer
import h5py
h = h5py.File("model.h5")
del h["model_weights/dense_2"]
h.close()

and re-importing by name:
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.load_weights("model.h5", by_name=True)

gives me:

KeyError: "Unable to open object (object 'dense_2' doesn't exist)"

What is the reason for this ? The option by_name=True should accept that some layers are absent ?

The answer is:
h["model_weights"].attrs["layer_names"]=[b'dense_1', b'dense_3']


text:
MultiHeadAttention layer save and load changes weight

Please go to TF Forum for help and support:
https://discuss.tensorflow.org/tag/keras
If you open a GitHub issue, here is our policy:
It must be a bug, a feature request, or a significant problem with the documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
Here's why we have that policy:.
Keras developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.
System information.

Have I written custom code (as opposed to using a stock example script provided in Keras): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
TensorFlow installed from (source or binary): pip install tensorflow
TensorFlow version (use command below): v2.4.0-49-g85c8b2a817f 2.4.1
Python version: 3.7.11
Bazel version (if compiling from source):
GPU model and memory: https://aws.amazon.com/ec2/instance-types/g4/
Exact command to reproduce: see the source code below

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the problem.
trained a small model with a MHA layer and save model (savedModel) and load it back, the weight of the MHA layer changed. I have checked similar thread like this, the suggestion was to fix the seed given to the kernel_initializer, so did that as shown below, but does not fix the problem. Notably, if just build the model and save without training (.fit), loading back the model, then the outputs are consistent.
Describe the current behavior.
model.save and then load back have different weight in the MHA layer and gives rise to different output from forward pass.
Describe the expected behavior.
save and load back should be consistent
Contributing.

Do you want to contribute a PR? (yes/no): no
If yes, please read this page for instructions
Briefly describe your candidate solution(if contributing):

Standalone code to reproduce the issue.
from tensorflow.keras.layers import MultiHeadAttention, Concatenate, Add, Dense
from tensorflow.keras.initializers import glorot_uniform
import tensorflow as tf
from tensorflow.keras.optimizers import Adam

def encoder_layer_simple(units, d_model, num_heads, dropout, name="encoder_layer"):
    assert d_model % num_heads == 0

    depth = d_model // num_heads
    query = tf.keras.Input(shape=(None, d_model), name="query")
    key = tf.keras.Input(shape=(None, d_model), name="key")
    value = tf.keras.Input(shape=(None, d_model), name='value')

    attention, attn_weights = MultiHeadAttention(num_heads, key_dim=depth, value_dim=depth, dropout=dropout,
                                                 kernel_initializer=glorot_uniform(seed=0))(
        query=query, value=value, key=key, return_attention_scores=True)
    attention = tf.keras.layers.LayerNormalization(epsilon=1e-6)(attention + value)

    # ffwd sub-layer
    outputs = tf.keras.layers.Dense(units=units, activation='relu')(attention)
    outputs = tf.keras.layers.Dense(units=d_model)(outputs)
    outputs = tf.keras.layers.Dropout(rate=dropout)(outputs)

    outputs = tf.keras.layers.LayerNormalization(epsilon=1e-6)(outputs + attention)

    return tf.keras.Model(inputs=[query, key, value], outputs=outputs, name=name)

then create an 'encoder' model and do a fit
encoder = encoder_layer_simple(512, 400, 8, 0, name='test_encoder')

query = tf.random.uniform([256, 100, 400])

enc_x = {'query':query, 'value':query, 'key':query}
enc_y = tf.random.uniform([256, 100, 400])
encoder.compile(Adam(),'MSE')
encoder.fit(x=enc_x, y=enc_y)

save_path = "path_to_model"
encoder.save(save_path)
loaded = tf.keras.models.load_model(save_path, compile=False)

eout = encoder(enc_x)
lout = loaded(enc_x)

np.allclose(lout.numpy(), eout.numpy()) # will output False

also can get weight matrix from the MHA layer, close but different
encoder.get_layer("multi_head_attention").get_weights()[0][1, 4, 1:10]

array([ 0.01589977,  0.01451083, -0.00762749, -0.00915873,  0.00802898,
0.00830225, -0.01598875,  0.01182209,  0.01533959], dtype=float32)
loaded.get_layer("multi_head_attention").get_weights()[0][1, 4, 1:10]

array([ 0.01591637,  0.01452216, -0.00764309, -0.00916362,  0.0079951 ,
0.0082739 , -0.01598743,  0.01181626,  0.01530811], dtype=float32)

I would like to work on this issue

@sanatmpa1 @yesufeng I tried reproducing the issue using the code provided by you and could not find an error. The loaded weights were the same.
You can find the code for the following here.
Python used: Python 3.7.12
Tensorflow version used: 2.6.0
I think the issue is fixed in the current release. If so you can please close the issue.

@sanatmpa1 @yesufeng I tried reproducing the issue using the code provided by you and could not find an error. The loaded weights were the same. You can find the code for the following here. Python used: Python 3.7.12 Tensorflow version used: 2.6.0 I think the issue is fixed in the current release. If so you can please close the issue.

@sanatmpa1 thank you! seems that I need access to that drive. (ysduke@gmail.com)

Was that code helpful? @yesufeng

Was that code helpful? @yesufeng

again I don't have access to it

sorry for the inconvenience. https://colab.research.google.com/drive/1wzh8t-BiwuzRJZ1jW_gtsyqIy-2B2Zpj?usp=sharing

@yesufeng,
Can you take a look at the above comment by @MrinalTyagi ? Thanks!

verified with tf2.5+, it works. Thank you!

authors: MrinalTyagi sanatmpa1 yesufeng


text:
Type check for K.set_epsilon

Summary
Add type check when setting epsilon.
Related Issues
PR Overview

[N] This PR requires new unit tests [y/n] (make sure tests are included)
[N] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[Y] This PR is backwards compatible [y/n]
[N] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

I'm afraid that would be against duck typing. Take this example:
import numpy as np
a = np.zeros(4, np.float16)
print(isinstance(a[0], float))
# False

I would suggest converting to a float instead, this will work for a broader range of types.

authors: abhaikollara gabrieldemarmiesse


text:
Missing and Merged References

In latest stable release 0.4.1 and current development version 0.4.2-Snapshot, there is an issue regarding references parsing in some Pdfs.
Some references are being merged together, In my observation, these are usually links to websites (not cited papers). Some references are not being parsed as references and these altogether affect the reference sequence in overall text.
Paper Title : An automatic keyphrase extraction system for scientific documents
Attached are the respective TEI files generated via grobid latest stable version and current development version. An image file that is highlighting the exact issue is also attached.
In attached example, references # 45 and 46 got merged, whereas , reference # 47 and 48 are not part of bibList.
0.4.1.txt
0.4.2_Snapshot.txt

These very short references to software tools and systems (45-48 in your example) are reference styles almost not present in the training data currently (training is almost only bibliographical references to journal and conference articles, reports or books). We would need more training examples similar to this article (but articles that can be re-used freely as public training data) to have reliable results.

Who can test this PDF? I am too poor to access knowledge :D


text:
Adapt to convolutionnal layers

Are there any plans to adapt this work to convolutionnal layers in tensorflow ?

same question


text:
Add to the readme a new way to get advertisment keys

Summary :memo:
Victron has added a new feature to its apps: a button to read the instant readout encryption data so i've edit the readme to explain how to use it
Details

changed to readme to explain how to access easily to the data.
kept the OSX way because even on the mac application they give the mac address representation
added a new Headless section (raspberry pi for ex)

As you may have noticed, i'm not english so feel free to check if the things i've wrote are errorless
Thanks a lot guys for this work, I love the dashboard i've been able to build with repo.

Thanks @keshavdv for victron-ble, and thanks @joscelyn for this MR.
I noticed a typo: recieve -> receive
Other than that, looks good to me!

thx @lnussbaum !

Maybe a link to https://community.victronenergy.com/questions/187303/victron-bluetooth-advertising-protocol.html can be also inserted. There is a screenshot about this (Not really up-to-date)

authors: jedie joscelyn lnussbaum

repo: keshavdv/victron-ble

license: Unlicense


text:
Corrected visitors badge

In this PR, I have solved #30

it looks like old profile page host website is not working now, I have visitors badge on top of profile. that badge will be visible when  websites works properly.


text:
Fields with Reactive Rules are not reset to a good state when the required attribute is conditional on another field's value

Environment

OS: macOS 10.12.6
Node: macOS 10.12.6
NPM: 5.6.0
react-advanaced-form: 1.6.7

What
Current behavior
A field with a reactive rule does not reset to a non-error state after its error state has been initially triggered. To clarify, if a custom rule is set on a field and you set the required attribute to depend on another field having a value, it is not reset if you delete the value from the other field.  To get the value back to a good state, you have to refresh the page in the browser.
Use Case
This is happening when I'm implementing a password change form between old, new and confirm password fields.
Expected behavior
If a field with a conditional required reactive prop has been triggered to an error state, if you remove the value from the field on which it depends, the field with the reactive rule should be set to a non-error state.
How
I modified the SingleTarget example in your codebase on the master branch to exhibit the bug.

Modify SingleTarget.jsx with the code below. Run npm run storybook
begin typing a value in lastName. Notice the red outline on the other 2 fields.
Now remove the value you just typed.
Notice the red outline is removed from firstName but not fieldThree.  This also happens with custom validation messages. The validation message is not removed.

import React from 'react'
import { Form } from 'react-advanced-form'
import { Input } from '@examples/fields'
import Button from '@examples/shared/Button'

export default class RxPropsSingleTarget extends React.Component {
  render() {
    return (
      <React.Fragment>

Single target

        <Form onSubmitStart={this.props.onSubmitStart}>
          <Input
            name="firstName"
            label="First name"
            hint="Required when `lastName` has value"
            required={({ get }) => {
              return !!get(['lastName', 'value'])
            }}
          />
          <Input name="lastName" label="Last name" />
          <Input
            name="fieldThree"
            label="Some field three"
            hint="Must match when `lastName` has value"
            rule={({get, value}) => {
              return value === get(['lastName', 'value']);
            }}
            required={({ get }) => {
              return !!get(['lastName', 'value'])
            }}
          />
          <Button>Submit</Button>
        </Form>
      </React.Fragment>
    )
  }
}

Hi, @johnpreed. Thank you for reporting this. My apologies for getting back to you after such delay.
I think this issue has to do with concurrency of state updates. It's been a problematic aspect for long time, and I've tried to solve it once and for all under #354. It may also be related, if not identical, to #352.
I am quite busy with other things now, but I will try to publish that changes so you can test out if new state update mechanism would eliminate the issue you are describing.

authors: johnpreed kettanaito

repo: kettanaito/react-advanced-form


text:
correct typo for Python npm_install call.

Typo spotted in the readme, with incorrect syntax for import of npm_install from npm.finders

Thanks!

authors: msansoni raphael-boucher


text:
🛑 My Fuel is down

In 8be296f, My Fuel (https://myfuel.ctor.io) was down:

HTTP code: 500
Response time: 3101 ms

Resolved: My Fuel is back up in e979889.

repo: kevinbrechbuehl/upptime


text:
🛑 Coiffeur Cocoon is down

In 3d99cb6, Coiffeur Cocoon (https://www.coiffeur-cocoon.ch) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Coiffeur Cocoon is back up in f31157f.