Multiremote test crashes with allure reporter enabled

Description:

wdio/jasmine test with multiremote config and test suite based on http://webdriver.io/guide/usage/multiremote.html
var mainConfig = require('./wdio.conf');

mainConfig.config.capabilities = {
  macFF: {
    desiredCapabilities: {
      browserName: 'firefox',
      platform: "MAC"
    }
  },
   winFF: {
     desiredCapabilities: {
       browserName: 'firefox',
       platform: "WINDOWS"
     }
   }
};

mainConfig.config.reporters = ['allure', 'junit', 'spec'];

module.exports = mainConfig;

in package.json:
"wdio-allure-reporter": "^0.6.0",
with 'allure' included in 'reporters, the test crashes with the following errors:
./node_modules/.bin/wdio ./wdio.conf.test.inheritance.multiremote.js --spec ./specs/test.multiremote.js --host localhost
let's go
/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/utils/BaseReporter.js:336
                        throw _iteratorError;
                        ^

TypeError: Cannot read property 'uri' of undefined
    at AllureReporter.runnerResult (/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/wdio-allure-reporter/build/reporter.js:254:40)
    at emitOne (events.js:116:13)
    at AllureReporter.emit (events.js:211:7)
    at BaseReporter.handleEvent (/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/utils/BaseReporter.js:324:35)
    at Launcher.messageHandler (/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/launcher.js:624:28)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at emit (internal/child_process.js:772:12)
    at _combinedTickCallback (internal/process/next_tick.js:141:11)
    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/q/q.js:155
                throw e;
                ^

Error [ERR_IPC_CHANNEL_CLOSED]: channel closed
    at process.target.send (internal/child_process.js:588:16)
    at EventEmitter.<anonymous> (/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/runner.js:171:45)
    at emitOne (events.js:121:20)
    at EventEmitter.emit (events.js:211:7)
    at Object.prototype.(anonymous function) [as emit] (/Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/webdriverio.js:783:40)
    at /Users/test/Projects/web/Sources/MyFrontend/autotest/node_modules/webdriverio/build/lib/multibrowser.js:163:23
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

if 'allure' is removed from the 'reporters' the test goes as expected, i.e
let's go
{ macFF: 'Google', winFF: 'Google' }
Yahoo is now a part of Oath
{ macFF: 'Google', winFF: 'Yahoo is now a part of Oath' }
------------------------------------------------------------------
[undefined #0-0] Session ID: undefined
[undefined #0-0] Spec: /Users/slysenko/Projects/WORK/web/Sources/MyAccount/Frontend/my/autotest/specs/test.multiremote.js
[undefined #0-0] Running: undefined
[undefined #0-0]
[undefined #0-0] test
[undefined #0-0]   ✓ should do something with two browser
[undefined #0-0]
[undefined #0-0]
[undefined #0-0] 1 passing (22s)
[undefined #0-0]

Wrote xunit report to [./junit-reports].
1 passing (22.40s)

@slysenko can you enable verbose log and share it with us?

@slysenko or share example of project.

10:36:46.051 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@2911c5bd
10:36:46.051 INFO - /session: Executing POST on /session (handler: BeginSession)
10:36:46.052 INFO - Found handler: org.openqa.selenium.remote.server.commandhandler.BeginSession@aaf7f11
10:36:46.052 INFO - /session: Executing POST on /session (handler: BeginSession)
10:36:46.055 INFO - Capabilities are: Capabilities {browserName: firefox, handlesAlerts: true, javascriptEnabled: true, locationContextEnabled: true, loggingPrefs: org.openqa.selenium.logging..., platform: MAC, requestOrigins: {name: webdriverio, url: http://webdriver.io, version: 4.9.8}, rotatable: true}
10:36:46.055 INFO - Capabilities are: Capabilities {browserName: chrome, handlesAlerts: true, javascriptEnabled: true, locationContextEnabled: true, loggingPrefs: org.openqa.selenium.logging..., platform: MAC, requestOrigins: {name: webdriverio, url: http://webdriver.io, version: 4.9.8}, rotatable: true}
10:36:46.055 INFO - Capabilities {browserName: firefox, handlesAlerts: true, javascriptEnabled: true, locationContextEnabled: true, loggingPrefs: org.openqa.selenium.logging..., platform: MAC, requestOrigins: {name: webdriverio, url: http://webdriver.io, version: 4.9.8}, rotatable: true} matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.firefox.GeckoDriverService)
10:36:46.055 INFO - Capabilities {browserName: chrome, handlesAlerts: true, javascriptEnabled: true, locationContextEnabled: true, loggingPrefs: org.openqa.selenium.logging..., platform: MAC, requestOrigins: {name: webdriverio, url: http://webdriver.io, version: 4.9.8}, rotatable: true} matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
1527320206072   geckodriver     INFO    geckodriver 0.20.0
1527320206079   geckodriver     INFO    Listening on <IP_ADDRESS>:36971
Starting ChromeDriver 2.37.544337 (8c0344a12e552148c185f7d5117db1f28d6c9e85) on port 28673
Only local connections are allowed.
1527320206198   mozrunner::runner       INFO    Running command: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" "-marionette" "-profile" "/var/folders/yr/b4_dyc6s0l74d73fbrqk9h9w0000gp/T/rust_mozprofile.9GNoZaBbLHUI"
1527320207068   Marionette      INFO    Enabled via --marionette
10:36:47.312 INFO - Detected dialect: OSS
2018-05-26 10:36:48.077 plugin-container[91163:51538759] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xb437, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
1527320208468   Marionette      INFO    Listening on port 49990
10:36:48.591 INFO - Detected dialect: W3C
10:36:48.634 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@7960a485
10:36:48.635 INFO - Handler thread for session 3c7165ca-c3fb-f941-b8fc-09be5c6e8de7 (firefox): Executing POST on /session/3c7165ca-c3fb-f941-b8fc-09be5c6e8de7/url (handler: ServicedSession)
10:36:48.635 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@2311c54
10:36:48.635 INFO - Handler thread for session bc3f8ad9211c20c023b8f2814a8b1ac8 (chrome): Executing POST on /session/bc3f8ad9211c20c023b8f2814a8b1ac8/url (handler: ServicedSession)
10:36:48.635 INFO - To upstream: {"url":"http://google.com/"}
2018-05-26 10:36:48.940 plugin-container[91165:51538891] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0xae37, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
10:36:49.871 INFO - To downstream: {"sessionId":"bc3f8ad9211c20c023b8f2814a8b1ac8","status":0,"value":null}
10:36:50.932 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@7960a485
10:36:50.932 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@2311c54
10:36:50.932 INFO - Handler thread for session bc3f8ad9211c20c023b8f2814a8b1ac8 (chrome): Executing GET on /session/bc3f8ad9211c20c023b8f2814a8b1ac8/title (handler: ServicedSession)
10:36:50.932 INFO - Handler thread for session 3c7165ca-c3fb-f941-b8fc-09be5c6e8de7 (firefox): Executing GET on /session/3c7165ca-c3fb-f941-b8fc-09be5c6e8de7/title (handler: ServicedSession)
10:36:50.937 INFO - To downstream: {"sessionId":"bc3f8ad9211c20c023b8f2814a8b1ac8","status":0,"value":"Google"}
10:36:51.050 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@2311c54
10:36:51.050 INFO - Found handler: org.openqa.selenium.remote.server.ServicedSession@7960a485
10:36:51.050 INFO - Handler thread for session bc3f8ad9211c20c023b8f2814a8b1ac8 (chrome): Executing DELETE on /session/bc3f8ad9211c20c023b8f2814a8b1ac8 (handler: ServicedSession)
10:36:51.050 INFO - Handler thread for session 3c7165ca-c3fb-f941-b8fc-09be5c6e8de7 (firefox): Executing DELETE on /session/3c7165ca-c3fb-f941-b8fc-09be5c6e8de7 (handler: ServicedSession)
1527320211068   addons.xpi      WARN    Exception running bootstrap method shutdown on<EMAIL_ADDRESS>[Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: resource://activity-stream/lib/SnippetsFeed.jsm :: uninit :: line 125"  data: no]Stack trace: uninit()@resource://activity-stream/lib/SnippetsFeed.jsm:125 < onAction()@resource://activity-stream/lib/SnippetsFeed.jsm:141 < _middleware/</<()@resource://activity-stream/lib/Store.jsm:51 < Store/this[method]()@resource://activity-stream/lib/Store.jsm:30 < uninit()@resource://activity-stream/lib/Store.jsm:153 < uninit()@resource://activity-stream/lib/ActivityStream.jsm:274 < uninit()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Applications/Firefox.app/Contents/Resources/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:80 < shutdown()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///Applications/Firefox.app/Contents/Resources/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:196 <callBootstrapMethod()@resource://gre/modules/addons/XPIProvider.jsm:4419 < observe()@resource://gre/modules/addons/XPIProvider.jsm:2279 < GeckoDriver.prototype.quit()@driver.js:3270 < despatch()@server.js:557 < execute()@server.js:531 < onPacket/<()@server.js:506 < onPacket()@server.js:505 < _onJSONObjectReady/<()@transport.js:500
10:36:51.102 INFO - To downstream: {"sessionId":"bc3f8ad9211c20c023b8f2814a8b1ac8","status":0,"value":null}
10:36:51.102 INFO - Removing session org.openqa.selenium.remote.server.ServicedSession@2311c54
10:36:51.112 INFO - To downstream: {"sessionId":"","status":0,"value":null}
*** UTM:SVC TimerManager:registerTimer called after profile-before-change notification. Ignoring timer registration for id: telemetry_modules_ping
1527320211635   geckodriver::marionette ERROR   Failed to stop browser process
10:36:51.645 INFO - Removing session org.openqa.selenium.remote.server.ServicedSession@7960a485

this is from selenium-standalone

describe('test', function() {

  it('should do something with two browser', function() {
    browser.url('http://google.com');
    console.log(browser.getTitle());

    macCh.url('http://yahoo.com');
    console.log(macCh.getTitle());

    console.log(browser.getTitle());
  });
});

var mainConfig = require('./wdio.conf');

mainConfig.config.capabilities = {
  macFF: {
    desiredCapabilities: {
      browserName: 'firefox',
      platform: "MAC"
    }
  },
  macCh: {
    desiredCapabilities: {
      browserName: 'chrome',
      platform: "MAC"
    }
  },
};

mainConfig.config.reporters = ['allure', 'junit', 'spec'];

module.exports = mainConfig;

[10:42:36]  COMMAND	POST 	 "/wd/hub/session"
[10:42:36]  DATA		{"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"chrome","platform":"MAC","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.9.8","name":"webdriverio"}}}
[10:42:38]  INFO	SET SESSION ID 1c35072458f26e7ff82f6b2228d0bdb8
[10:42:38]  RESULT		{"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"networkConnectionEnabled":false,"chrome":{"chromedriverVersion":"2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011)","userDataDir":"/var/folders/hn/22l6gt754f5_ss0dq327rccc0000gn/T/.org.chromium.Chromium.2bkSPa"},"takesHeapSnapshot":true,"pageLoadStrategy":"normal","databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":false,"version":"66.0.3359.181","platform":"Mac OS X","browserConnectionEnabled":false,"nativeEvents":true,"acceptSslCerts":false,"acceptInsecureCerts":false,"locationContextEnabled":true,"webStorageEnabled":true,"browserName":"chrome","takesScreenshot":true,"javascriptEnabled":true,"cssSelectorsEnabled":true,"setWindowRect":true,"unexpectedAlertBehaviour":""}
[10:42:41]  COMMAND	POST 	 "/wd/hub/session/1c35072458f26e7ff82f6b2228d0bdb8/url"
[10:42:41]  DATA		{"url":"http://google.com/"}
[10:42:44]  COMMAND	GET 	 "/wd/hub/session/1c35072458f26e7ff82f6b2228d0bdb8/title"
[10:42:44]  DATA		{}
[10:42:44]  RESULT		"Google"
[10:42:44]  COMMAND	DELETE 	 "/wd/hub/session/1c35072458f26e7ff82f6b2228d0bdb8"
[10:42:44]  DATA		{}

[10:42:36]  COMMAND	POST 	 "/wd/hub/session"
[10:42:36]  DATA		{"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"browserName":"firefox","platform":"MAC","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.9.8","name":"webdriverio"}}}
[10:42:41]  INFO	SET SESSION ID f4cbb740-092b-454d-b68c-e4e0e96c4ade
[10:42:41]  RESULT		{"sessionId":"f4cbb740-092b-454d-b68c-e4e0e96c4ade","capabilities":{"moz:profile":"/var/folders/hn/22l6gt754f5_ss0dq327rccc0000gn/T/rust_mozprofile.KMpxlEj3L56z","rotatable":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"pageLoadStrategy":"normal","moz:headless":false,"moz:accessibilityChecks":false,"moz:useNonSpecCompliantPointerOrigin":false,"acceptInsecureCerts":false,"browserVersion":"59.0.2","platformVersion":"17.5.0","moz:processID":575,"browserName":"firefox","platformName":"darwin","moz:webdriverClick":true}}
[10:42:41]  COMMAND	POST 	 "/wd/hub/session/f4cbb740-092b-454d-b68c-e4e0e96c4ade/url"
[10:42:41]  DATA		{"url":"http://google.com/"}
[10:42:44]  RESULT		{}
[10:42:44]  COMMAND	GET 	 "/wd/hub/session/f4cbb740-092b-454d-b68c-e4e0e96c4ade/title"
[10:42:44]  DATA		{}
[10:42:44]  RESULT		"Google"
[10:42:44]  COMMAND	DELETE 	 "/wd/hub/session/f4cbb740-092b-454d-b68c-e4e0e96c4ade"
[10:42:44]  DATA		{}
[10:42:45]  RESULT		{}

package.json
  "dependencies": {
    "chai": "^3.5.0",
    "htmlparser": "^1.7.7",
    "imap": "^0.8.19",
    "jasmine": "^2.9.0",
    "minimist": "^1.2.0",
    "soupselect": "^0.2.0",
    "ssh2": "^0.5.5",
    "wdio-allure-reporter": "^0.6.0",
    "wdio-jasmine-framework": "0.3.2",
    "wdio-junit-reporter": "^0.3.1",
    "wdio-selenium-standalone-service": "^0.0.9",
    "wdio-spec-reporter": "0.1.2",
    "webdriverio": "4.9.8"
  },

Fixed by #118


use new version picker

@jdanyow,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Fix misplaced end statment

Looks like an {{ end }} statement got misplaced.

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

The existing code is fine. Your change would break it.


html entities encode/decode

this PR includes the following

build the trie data structure for named char reference look up
provide the public api of encode/decode for html entities encode/decode
use the latest html5 named character reference list for html decode.
https://html.spec.whatwg.org/multipage/entities.json

CLA is valid!

it worths effort to decouple it as a standalone package.


feat: allow D&D dice app domain for embeds

Updating src/element/embeddable.ts with the following ALLOWED_DOMAINS

dddice.com
rolldicewithfriends

We still haven't figured out how we wanna handle these, but for our D&D friends, let's ship this!
That said, I've removed the rolldicewithfriends domain as it's not allowing embedding into 3rd party sites.

When entering the dddice.com url into the web embed I get a message saying this url is not allowed. Any idea ? (I use the dddice stream URL).

@dwelle I confirm it works well on the preview of this version (https://excalidraw-git-fork-filbot3-updating-allowed-domains-excalidraw.vercel.app/) but not on producton (app.excalidraw.com). I am an excalidraw+ user.

FYI https://github.com/excalidraw/excalidraw/issues/8659


wierd black box in upper left corner?

when i start ACT theres a wierd black box in the upper left corner of my primary monitor

Is this an overlay? Do you have a screenshot?

here is what it looks like the black rectangle in the left corner never showed up till today

Turn off this.

thanks


Few improvements, avoiding some elses

Thanks..   Can you send the same against the community branch?

Yes, @gfosco. Sorry for the delay.


Support for Ruby2.7?

Hi,
Thank you for your amazing work so far!
However, Ruby2.7 was released in December 2019. Can we have that support with this library, please?
Currently, the build is also failing with Ruby2.5 (with some segfaults) and also with Ruby2.7.
Build logs against 2.5 can be found here: https://launchpadlibrarian.net/464874605/buildlog_ubuntu-focal-amd64.ruby-mpi_0.3.2-2build1_BUILDING.txt.gz
I hope we can switch to 2.7 as quickly as possible :D

Hi utkarsh2102,
Your log said that "mpi.h" was not found.

make[1]: Entering directory '/<>/ext/mpi'
gcc -fdebug-prefix-map=/<>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-2.5.0 -I/usr/include/ruby-2.5.0/ruby/backward -I/usr/include/ruby-2.5.0 -I. -I/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.5.0 -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -fdebug-prefix-map=/build/ruby2.5-hQITb_/ruby2.5-2.5.7=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC  -o mpi.o -c mpi.c
mpi.c:6:10: fatal error: mpi.h: No such file or directory

I succeeded to compile it with ruby 2.5.5.
Could you try again after installing mpi.h?

How do I install mpi.h? :)

MPI (Message Passing Interface) is a protocol for parallel computing.
There are several implementations of the MPI.
The major ones are OpenMP (https://www.open-mpi.org/) and  MPICH (https://www.mpich.org/).
Most OSs, including ubuntu, have their binary packages for them.
Most of the MPI implementations provide a special command to compile MPI applications, e.g., mpicc for C, for users to compile MPI applications without specifying the headers and libraries, such as mpi.h.
If you install a MPI implementation, you should use the mpicc instead of gcc to compile ruby-mpi.

Hi Seiya,
Many thanks for your explanation. It looks like I am able to build with 2.5 :D
However, with 2.7, here's what I get:
mpi.c:5:10: fatal error: narray.h: No such file or directory

Ruby-mpi requires narray (https://masa16.github.io/narray/index.html).
Did you succeed to install it for ruby 2.7?
If so, the extconf.rb failed to find the install path.
You should specify the path of narray.h with the '--with-narray-include=' option for the extconf.rb.
According to your build log for ruby 2.5, the path is '/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.5.0'.
If your install path for ruby 2.7.0 is in the same manner, it may be '/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.7.0'.
It depends on how you install the narray.

Hi, @utkarsh2102
Please check salsa's our team repository: https://salsa.debian.org/ruby-team/ruby-mpi
Close this issue.
Best Wishes,
Youhei


Fix glob on Windows and fix regression

Fixes #1407.
Fixes #1477.

I can test this tonight, but I don't have a windows build environment at the office.

@ChadKillingsworth This is passing on my Windows environment.

Yeah I just meant if we wanted someone else to try it out - since Travis can't build on Windows.

@supersteves Can you help verifying this? Thanks!

@Dominator008 Did you see the comment by @joeltine on #1407? Does that pattern work with this change?

@ChadKillingsworth No it doesn't seem so :(

@ChadKillingsworth OK the regression should be fixed now.

Fix verified :+1:
(strange how Ant failed but Mvn hung, though - but both working now)

Thanks @supersteves !

@Dominator008 can you add a unit test for the --js='!**\./node_modules**.js' pattern?

Other than that lgtm

@dimvar The unit test for --js='!**\./foo**.js' requires creating a temporary directory under the current working directory (see testGlobJs5). This works on my machine, but I'm not sure if it will work internally since we need to have write permission on the current working directory.

OK sounds good. LGTM then. I'll look to see if I can add a unit test internally after this lands. I'll merge this once Travis is done.

@Dominator008 looks like the travis build failed. Can you look into it so we can merge the PR?

@dimvar The Travis build failed for other reasons and I fixed them in #1486. I've rebased this on top of master. Let's see if this one succeeds :)

Thanks! Feel free to merge this once Travis is done.


feat(datepicker): remove deprecated code

Remove all deprecated attribute support

BREAKING CHANGE: This removes inline datepicker attribute support and
attribute pass-throughs in the popup

At first glance I don't see anything incorrect in here.

LGTM, nice work!


update test to reflect copy update

Description
This change was needed because of some recent copy changes to this page
What does this PR do?
just a small access-keys e2e test update
How to test

yarn up in one terminal
yarn cy:e2e -s ./cypress/integration/objectStorage/access-keys.spec.ts in another
Result should be "✔  All specs passed!"

Make sure your the mock service worker is off and your .env contains:
REACT_APP_LOGIN_ROOT
REACT_APP_API_ROOT
REACT_APP_APP_ROOT
REACT_APP_LAUNCH_DARKLY_ID
REACT_APP_CLIENT_ID
MANAGER_OAUTH

For now we can keep the copy hard coded. Later we can work on getting text like this more dynamically.


hasMoved should only be true after an actual move

fixes the touch click issues introduced by the hasMoved logic with some browsers which report non-distant moves
fixes #1288
tested with both mouse-manipulations and events
Pull request type
Check the type of change your PR introduces:

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

@boogheta I have reformulated slightly your fix. I wonder whether we should allow some epsilon there or not (in which case dropping the Math.abs and performing strict equality seems better and more readable).

yep I first experimented with a gap but then realized the problem was actually coming from zero-distance moves, so the epsilon is pointless and you're rewriting is more elegant


Fix K8sContributors twitter handle link in K8s.dev website

Fixes #256

This is a markdown rendering issue with hugo, the link is there in reference form on line 92. I would opt to fix the rendering issue over breaking from the standard of using reference links.

This is a markdown rendering issue with hugo, the link is there in reference form on line 92. I would opt to fix the rendering issue over breaking from the standard of using reference links.

Oh yeah, right. Didn't see that.
https://deploy-preview-257--kubernetes-contributor.netlify.app/resources/services/
Here's the preview for this PR. The issue is fixed.
Thanks, @sandipanpanda 🎉

/lgtm

https://deploy-preview-257--kubernetes-contributor.netlify.app/resources/services/#contributor-communications
cc @mrbobbytables


WIP: Add posibility to add multiple plugin instances of a plugin

Pull Request Test Coverage Report for Build 73

56 of 83 (67.47%) changed or added relevant lines in 9 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-15.3%) to 75.94%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/coffee/synyx/frontpage/DefaultPluginService.java
23
24
95.83%

src/main/java/coffee/synyx/frontpage/PluginInstanceDtoMapper.java
4
6
66.67%

src/main/java/coffee/synyx/frontpage/PluginInstanceDto.java
5
9
55.56%

src/main/java/coffee/synyx/frontpage/ConfigurationInstanceImpl.java
4
9
44.44%

src/main/java/coffee/synyx/frontpage/PluginInstance.java
9
14
64.29%

src/main/java/coffee/synyx/frontpage/PluginsController.java
6
16
37.5%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/coffee/synyx/frontpage/PluginDto.java
1
75.0%

Totals

Change from base Build 71:
-15.3%

Covered Lines:
101

Relevant Lines:
133

💛  - Coveralls


material-ui-pickers support?

First of all, thanks for your work on this library!
I was curious if you'd considered adding support for material-ui-pickers in this library? There are a few existing bs bindings for this library out in the wild, but they are still on the old ReasonReact record API, so would need to be updated (which I was debating doing). I thought it might be useful to bundle those components into this lib, so they can stay in sync with everything else. I get that there would be pros and cons with that, but I thought the pros might outweigh the cons given the small size of the bs/reason community.
I was also curious if it would be possible to generate the bindings for material-ui-pickers using the tools you made to generate all the material-ui bindings?
I'm not asking you to do any of this - but if you had any thoughts or guidance on whether it would be possible to generate and add the material-ui-pickers bindings.

I'd be up for giving a hand with this too.  Had a go at running the tools on material-ui to get a feel for how they worked but didn't have any luck; most of my experience is back end so these are all new tools to me.

I do have some manual bindings for the pickers, not sure if they should be added to the bindings though, as they're probably incomplete and can't be auto-generated. I'll think about it.
In the meantime I'm happy to share them of course, though I can't guarantee that they will work for you.
module DateUtils = {
  type t;

<EMAIL_ADDRESS>"@date-io/date-fns"] <EMAIL_ADDRESS>external dateFns: t = "default";
};

module MuiPickersUtilsProviderDateFns = {
  module MuiPickersUtilsProvider = {
<EMAIL_ADDRESS>"@material-ui/pickers"] <EMAIL_ADDRESS>    external make:
      (
        ~utils: DateUtils.t=?,
        ~locale: DateFns.Locale.t=?,
        ~children: React.element
      ) =>
      React.element =
      "MuiPickersUtilsProvider";
  };

<EMAIL_ADDRESS>  let make = (~locale: option(DateFns.Locale.t)=?, ~children) =>
    <MuiPickersUtilsProvider utils=DateUtils.dateFns ?locale>
      children
    </MuiPickersUtilsProvider>;
};

module Types = {
  type date = Js.Date.t;
};

module Props = {
  type renderDayProps = {
    .
    "day": Types.date,
    "selectedDate": Types.date,
    "dayInCurrentMonth": bool,
    "dayComponent": React.element,
  };

<EMAIL_ADDRESS>jsConverter]
  type adornmentPosition = [ | `start |<EMAIL_ADDRESS>"end"] `end_];

<EMAIL_ADDRESS>jsConverter]
  type openTo = [ | `year | `date | `hour | `minutes];

<EMAIL_ADDRESS>  external make:
    (
      ~labelFunc: (Types.date, string) => string=?,
      ~value: Types.date=?,
      ~adornmentPosition: string=?,
      ~openTo: string=?,
      ~minDate: Types.date=?,
      ~maxDate: Types.date=?,
      ~initialFocusedDate: Types.date=?,
      ~onChange: Types.date => unit,
      ~onClose: ReactEvent.Synthetic.t => unit=?,
      ~onOpen: ReactEvent.Synthetic.t => unit=?,
      ~onError: string => unit=?,
      ~error: bool=?,
      ~label: React.element=?,
      ~helperText: React.element=?,
      ~timeIcon: React.element=?,
      ~dateRangeIcon: React.element=?,
      ~cancelLabel: React.element=?,
      ~clearLabel: React.element=?,
      ~okLabel: React.element=?,
      ~todayLabel: React.element=?,
      ~invalidDateMessage: React.element=?,
      ~keyboardIcon: React.element=?,
      ~maxDateMessage: React.element=?,
      ~minDateMessage: React.element=?,
      ~emptyLabel: string=?,
      ~invalidLabel: string=?,
      ~_DialogProps: Js.t({..})=?,
      ~_InputAdornmentProps: Js.t({..})=?,
      ~_PopoverProps: Js.t({..})=?,
      ~format: string=?,
      ~placeholder: string=?,
      ~animateYearScrolling: bool=?,
      ~autoOk: bool=?,
      ~fullWidth: bool=?,
      ~clearable: bool=?,
      ~disablePast: bool=?,
      ~disableFuture: bool=?,
      ~showTodayButton: bool=?,
      ~keyboard: bool=?,
      ~showTabs: bool=?,
      ~ampm: bool=?,
      ~seconds: bool=?,
      ~onlyCalendar: bool=?,
      ~allowKeyboardControl: bool=?,
      ~disableOpenOnEnter: bool=?,
      ~openToYearSelection: bool=?,
      ~leftArrowIcon: React.element=?,
      ~rightArrowIcon: React.element=?,
      ~onInputChange: ReactEvent.Form.t => unit=?,
      ~renderDay: renderDayProps => React.element=?,
      ~shouldDisableDate: Types.date => bool=?,
      ~variant<EMAIL_ADDRESS>[ | `dialog | `inline | `static]=?,
      unit
    ) =>
    _;
};

module DatePicker = {
<EMAIL_ADDRESS>"@material-ui/pickers"] <EMAIL_ADDRESS>  external make:
    (
      ~labelFunc: (Types.date, string) => string=?,
      ~value: Types.date=?,
      ~adornmentPosition<EMAIL_ADDRESS>[ | `start |<EMAIL_ADDRESS>"end"] `end_]=?,
      ~openTo<EMAIL_ADDRESS>[ | `year | `date | `hour | `minutes]=?,
      ~minDate: Types.date=?,
      ~maxDate: Types.date=?,
      ~initialFocusedDate: Types.date=?,
      ~onChange: Types.date => unit,
      ~onClose: ReactEvent.Synthetic.t => unit=?,
      ~onOpen: ReactEvent.Synthetic.t => unit=?,
      ~onError: string => unit=?,
      ~error: bool=?,
      ~label: React.element=?,
      ~helperText: React.element=?,
      ~timeIcon: React.element=?,
      ~dateRangeIcon: React.element=?,
      ~cancelLabel: React.element=?,
      ~clearLabel: React.element=?,
      ~okLabel: React.element=?,
      ~todayLabel: React.element=?,
      ~invalidDateMessage: React.element=?,
      ~keyboardIcon: React.element=?,
      ~maxDateMessage: React.element=?,
      ~minDateMessage: React.element=?,
      ~emptyLabel: string=?,
      ~invalidLabel: string=?,
      ~_DialogProps: Js.t({..})=?,
      ~_InputAdornmentProps: Js.t({..})=?,
      ~_PopoverProps: Js.t({..})=?,
      ~format: string=?,
      ~placeholder: string=?,
      ~animateYearScrolling: bool=?,
      ~autoOk: bool=?,
      ~fullWidth: bool=?,
      ~clearable: bool=?,
      ~disablePast: bool=?,
      ~disableFuture: bool=?,
      ~showTodayButton: bool=?,
      ~keyboard: bool=?,
      ~showTabs: bool=?,
      ~ampm: bool=?,
      ~seconds: bool=?,
      ~onlyCalendar: bool=?,
      ~allowKeyboardControl: bool=?,
      ~disableOpenOnEnter: bool=?,
      ~openToYearSelection: bool=?,
      ~leftArrowIcon: React.element=?,
      ~rightArrowIcon: React.element=?,
      ~onInputChange: ReactEvent.Form.t => unit=?,
      ~renderDay: Props.renderDayProps => React.element=?,
      ~shouldDisableDate: Types.date => bool=?,
      ~variant<EMAIL_ADDRESS>[ | `dialog | `inline | `static]=?
    ) =>
    React.element =
    "DatePicker";
};

module TimePicker = {
<EMAIL_ADDRESS>"@material-ui/pickers"] <EMAIL_ADDRESS>  external make:
    (
      ~labelFunc: (Types.date, string) => string=?,
      ~value: Types.date=?,
      ~adornmentPosition<EMAIL_ADDRESS>[ | `start |<EMAIL_ADDRESS>"end"] `end_]=?,
      ~openTo<EMAIL_ADDRESS>[ | `year | `date | `hour | `minutes]=?,
      ~minDate: Types.date=?,
      ~maxDate: Types.date=?,
      ~initialFocusedDate: Types.date=?,
      ~onChange: Types.date => unit,
      ~onClose: ReactEvent.Synthetic.t => unit=?,
      ~onOpen: ReactEvent.Synthetic.t => unit=?,
      ~onError: string => unit=?,
      ~error: bool=?,
      ~label: React.element=?,
      ~helperText: React.element=?,
      ~timeIcon: React.element=?,
      ~dateRangeIcon: React.element=?,
      ~cancelLabel: React.element=?,
      ~clearLabel: React.element=?,
      ~okLabel: React.element=?,
      ~todayLabel: React.element=?,
      ~invalidDateMessage: React.element=?,
      ~keyboardIcon: React.element=?,
      ~maxDateMessage: React.element=?,
      ~minDateMessage: React.element=?,
      ~emptyLabel: string=?,
      ~invalidLabel: string=?,
      ~_DialogProps: Js.t({..})=?,
      ~_InputAdornmentProps: Js.t({..})=?,
      ~_PopoverProps: Js.t({..})=?,
      ~format: string=?,
      ~placeholder: string=?,
      ~animateYearScrolling: bool=?,
      ~autoOk: bool=?,
      ~fullWidth: bool=?,
      ~clearable: bool=?,
      ~disablePast: bool=?,
      ~disableFuture: bool=?,
      ~showTodayButton: bool=?,
      ~keyboard: bool=?,
      ~showTabs: bool=?,
      ~ampm: bool=?,
      ~seconds: bool=?,
      ~onlyCalendar: bool=?,
      ~allowKeyboardControl: bool=?,
      ~disableOpenOnEnter: bool=?,
      ~openToYearSelection: bool=?,
      ~leftArrowIcon: React.element=?,
      ~rightArrowIcon: React.element=?,
      ~onInputChange: ReactEvent.Form.t => unit=?,
      ~renderDay: Props.renderDayProps => React.element=?,
      ~shouldDisableDate: Types.date => bool=?,
      ~variant<EMAIL_ADDRESS>[ | `dialog | `inline | `static]=?
    ) =>
    React.element =
    "TimePicker";
};

module DateTimePicker = {
<EMAIL_ADDRESS>"@material-ui/pickers"] <EMAIL_ADDRESS>  external make:
    (
      ~labelFunc: (Types.date, string) => string=?,
      ~value: Types.date=?,
      ~adornmentPosition<EMAIL_ADDRESS>[ | `start |<EMAIL_ADDRESS>"end"] `end_]=?,
      ~openTo<EMAIL_ADDRESS>[ | `year | `date | `hour | `minutes]=?,
      ~minDate: Types.date=?,
      ~maxDate: Types.date=?,
      ~initialFocusedDate: Types.date=?,
      ~onChange: Types.date => unit,
      ~onClose: ReactEvent.Synthetic.t => unit=?,
      ~onOpen: ReactEvent.Synthetic.t => unit=?,
      ~onError: string => unit=?,
      ~error: bool=?,
      ~label: React.element=?,
      ~helperText: React.element=?,
      ~timeIcon: React.element=?,
      ~dateRangeIcon: React.element=?,
      ~cancelLabel: React.element=?,
      ~clearLabel: React.element=?,
      ~okLabel: React.element=?,
      ~todayLabel: React.element=?,
      ~invalidDateMessage: React.element=?,
      ~keyboardIcon: React.element=?,
      ~maxDateMessage: React.element=?,
      ~minDateMessage: React.element=?,
      ~emptyLabel: string=?,
      ~invalidLabel: string=?,
      ~_DialogProps: Js.t({..})=?,
      ~_InputAdornmentProps: Js.t({..})=?,
      ~_PopoverProps: Js.t({..})=?,
      ~format: string=?,
      ~placeholder: string=?,
      ~animateYearScrolling: bool=?,
      ~autoOk: bool=?,
      ~fullWidth: bool=?,
      ~clearable: bool=?,
      ~disablePast: bool=?,
      ~disableFuture: bool=?,
      ~showTodayButton: bool=?,
      ~keyboard: bool=?,
      ~showTabs: bool=?,
      ~ampm: bool=?,
      ~seconds: bool=?,
      ~onlyCalendar: bool=?,
      ~allowKeyboardControl: bool=?,
      ~disableOpenOnEnter: bool=?,
      ~openToYearSelection: bool=?,
      ~leftArrowIcon: React.element=?,
      ~rightArrowIcon: React.element=?,
      ~onInputChange: ReactEvent.Form.t => unit=?,
      ~renderDay: Props.renderDayProps => React.element=?,
      ~shouldDisableDate: Types.date => bool=?,
      ~variant<EMAIL_ADDRESS>[ | `dialog | `inline | `static]=?
    ) =>
    React.element =
    "DateTimePicker";
};

Usage example from one of my code bases:
MaterialUiPickers.(
    <MuiPickersUtilsProviderDateFns
      locale=?{
        DateFns.Locale.set->Belt.Map.String.get(Intl.locale->Intl.localeToJs)
      }>
      <DatePicker
        variant=`inline
        error={error->Belt.Option.isSome}
        helperText=?{
          error->Belt.Option.map(message =>
            intl->ReactIntl.Intl.formatMessage(message)->React.string
          )
        }
        fullWidth=true
        format="P"
        autoOk=true
        disablePast=true
        value={Js.Date.fromFloat(value->float_of_int *. 1000.)}
        onChange={date =>
          onChange(`Int((date->DateFns.getTime /. 1000.)->int_of_float))
        }
      />
    </MuiPickersUtilsProviderDateFns>
  );


Postgres connection timeout

while posting a large bundle there is connection timeout after 120 seconds.
Even after adding the socketTimeout=0 in the connectProperties , connection timeout after 120 seconds.
"default": {
                    "type": "postgresql",
                    "connectionProperties": {
                        "serverName": "localhost",
                        "portNumber": 5432,
                        "databaseName": "fhirdb",
                        "user": "fhiruser",
                        "password": "change-password",
                        "currentSchema": "fhirdata",
			"socketTimeout": 0
                    }
}

00009bc7 com.ibm.tx.jta.embeddable.impl.EmbeddableTimeoutManager      I WTRN0006W: Transaction 00000172E5C5BE53000000012865CE9C1494C99A328B344FC9E38C285820417EA54DA49E00000172E5C5BE53000000012865CE9C1494C99A328B344FC9E38C285820417EA54DA49E00000001 has timed out after 120 seconds.

HI @sridhar-shivraj
Please provide the curl or a synthetic bundle so we can reproduce.
Please also provide the messages.log file.
Also in your server.xml you will need to enable tracing such that we can trace the slowdown.
Thank you

Liberty provides options in server.xml for increasing the transaction timeout (default is 120s). However, we should first look at what is causing the long processing time. Longer transaction times may expose other timeouts (e.g. client connection, firewalls) that might also need to adjusted.

@prb112 here is the message.log and synthetic bundle,  the synthea bundle is 488 resources(2.06MB) this is taking more than 2 min
message.log
Concepción765_Delvalle807_b0c5ee2c-0413-4e81-9736-d5b49940132d.json.zip

Use something like this ```

Thanks @sridhar-shivraj  I'm familiar with the synthetic bundles.  We have loaded the ndjson equivalents.
As @punktilious mentioned, it's helpful to have logs, in your server.xml turning on tracing shows us the path of the processing.  More importantly, it's very helpful to have the full messages.log and trace.log.
In our testing we're averaging over 200 resources a second.  What the limited message shows us is there must be a lot of SearchParameter values extracted and being persisted in your case.

@prb112 @punktilious full messages.log and trace.log
trace.log
messages.log

Liberty provides options in server.xml for increasing the transaction timeout (default is 120s). However, we should first look at what is causing the long processing time. Longer transaction times may expose other timeouts (e.g. client connection, firewalls) that might also need to adjusted.

when i change  the bundle is posted succesfully but i am not getting an response back from the server
message (1).log

@sridhar-shivraj what is the response code?
the default return preference is minimal. https://www.hl7.org/fhir/r4/http.html#ops
You have to set a header Prefer: return=representation or OperationOutcome

The reason you didn't get a response, is a broken pipe, some downstream entity closed the stream.  This is what @punktilious was warning about changing the transaction timeout

client connection

@prb112 @punktilious  were you able to findout what is causing the long processing time from the trace.log i have sent you

@sridhar-shivraj we haven't had time to investigate.  We'll get to investigate some point over the next few days.

@sridhar-shivraj I ran this locally on my laptop using our docker Postgres container and it doesn't get near the timeout:
Completed request[13.234 secs]: tenantId:[postgres1] dsId:[default] user:[fhiruser] method:[POST] uri:[https://localhost:9443/fhir-server/api/v4/] status:[200]

(the first request after server startup may take a little longer, until the optimizer kicks in).
Can you provide any details of how you are running this and where your database is located? Is it running on a laptop? Do you have a hard drive or SSD?

@punktilious our PostgreSQL is also running in docker container with SSD disk. The FHIR server is also running in container in same machine.  It's a datacenter server 3.7 GH 16 core CPU, 64GB RAM.  I don't see any cpu spike or RAM outage on the server. It's beefy enough machine.

Unfortunately the trace.log file rolled so it doesn't contain the full request. I can see each resource takes approximately 64ms, so for ~500 resources, that would be about 30 seconds. There is obviously some time missing from earlier in the request. To see this, we need to configure rolling in the  element:
 <logging traceSpecification=... maxFileSize="20" maxFiles="5"/>

This will roll up to 5 files, each 20MB. Note that this applies to all the Liberty logging files. Make sure you have sufficient disk space.

@punktilious for each resource it is taking 640ms(0.64sec) not 64ms so to post 500 resources it is taking around 5-6 min

The 64ms time I was referring to comes from this
Successfully inserted Resource. id=34196 executionTime=64.031297ms

which is the time taken in milliseconds to insert the resource into the database. It would still be helpful if you could provide the complete trace so that we can look at the end-to-end time.

trace.log
@punktilious here is the complete end-to-end trace.log of single transaction

Thank you @sridhar-shivraj I will review and post an update later today.

@sridhar-shivraj You mentioned that both FHIR server and database are running on the same physical machine, however I'm seeing very long times for very simple select statements, for example, one of the simplest selects we do reads from a small table. Your timings show
[7/6/20 14:04:45:137 UTC] 0014b3ea PostgreSqlRes 2   DB read resource type id complete. executionTime=68.998852ms
[7/6/20 14:04:49:158 UTC] 0014b3ea PostgreSqlRes 2   DB read resource type id complete. executionTime=65.804808ms
[7/6/20 14:04:50:438 UTC] 0014b3ea PostgreSqlRes 2   DB read resource type id complete. executionTime=65.71147ms
[7/6/20 14:04:51:329 UTC] 0014b3ea PostgreSqlRes 2   DB read resource type id complete. executionTime=65.872912ms
...

The consistency of your timings (65ms+) to me hints at some sort of latency in the network path between the FHIR server and database. Are you definitely connected to the database you are expecting to?

Hi @sridhar-shivraj were you able to get your issue addressed?

Hi @prb112  there was some latency issue on our side, we were able to resolve it, thank you and your team for the help resolving it

Excellent news. Thank you.


Typo in Extensions > AlertNotification

Category

[ ] Question
[ x ] Bug
[ ] Enhancement

Expected or Desired Behavior
Spelling of the Alert Notification is incorrect. Came across this while trying to recreate as a new standalone solution.
Observed Behavior
Spelled as "AlertNotiticationApplicationCustomizer" - very easy to overlook the 't' for an 'f'

This issue is resolved with #348 , will show up in the next version of the starter kit.


489 improve harvester sqa rating 2

PR contains a lot of formatting changes. There is no functional changes to java code. I suggest someone fluent in Java has a look at them though.
Changes done here as suggested by John (https://github.com/cessda/cessda.cdc.versions/issues/489#issuecomment-1523461385):

add CONTRIBUTING.md file (see e.g. /cessda.cdc.searchkit)
markdownlint errors
Checkstyle errors (before this PR: 1,743)
Add CITATION.cff file (see e.g. /cessda.cdc.searchkit)

Some notes about the following:
markdownlint errors
There were few errors I see no reason in fixing:

Have 80 character limit in MD tables. I quote myself from the commit:

By default the rule for line length (MD013) enforces to use less than
80 characters for tables. This typically leads to either non-readable
tables or non-rendable markdown.
Few excerpts from "Markdown philosophy" at
https://daringfireball.net/projects/markdown/syntax#philosophy
"Markdown is intended to be as easy-to-read and easy-to-write as is
feasible."
[...]
"Readability, however, is emphasized above all else. A
Markdown-formatted document should be publishable as-is, as plain
text, without looking like it’s been marked up with tags or formatting
instructions."
The Github markdown renderer is totally fine with tables having a line
length beyond 80 characters. However the SQAaaS Bronze badge requires
to comply to all rules of the markdownlint. Therefore this commit
defines a custom style for markdownlint (mdl) that passes tables=false
to the rule 'MD013'. The style does no other customizations to the
default style.
Add file .mdlrc to configure mdl to use the customized style.
Add file .mdl_custom_style.rb which defines the customized style, by
passing tables=false to rule 'MD013'.

I don't know if SQAaaS respects the customized style. Let me know how that plays out.

No duplicate headers in MD file. Again quoting myself:

The changelog contains duplicat headers in different nesting. This is
typical for changelogs and the keepachangelog format enforces it.
Change the default parameter allow_different_nesting for 'MD024' from
false to true.

The markdown renderer of github renders the duplicate headers correctly as links.
Checkstyle errors
I fixed everything I felt comfortable changing. Since I'm not a Java developer, I suggest someone has a look at the changes. Anyway, I'm getting 301 errors now, so the decrease is proportionally large.

Reverted all changes to java files as requested.


[BUG] Breakpoint fails if it's the first encountered statement

With
function f(x, y)
    z = x+y
    a = z*x
    return a
end

Juno.@run f(1, 2) fails to stop if you set the breakpoint on the first line of the body. It works if you set it at the 2nd or later line. It works at the first line of f if you do Juno.@run g() where g() = f(1, 2).

I would argue this is a JuliaInterpreter bug:
julia> JuliaInterpreter.breakpoint(gcd)
8-element Array{BreakpointRef,1}:
 breakpoint(gcd(x::BigInt, y::BigInt) in Base.GMP at gmp.jl:403, line 403)
 breakpoint(gcd(a::T, b::T) where T<:Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8} in Base at intfuncs.jl:31, line 31)
 breakpoint(gcd(a::Integer) in Base at intfuncs.jl:75, line 75)
 breakpoint(gcd(a::T, b::T) where T<:Integer in Base at intfuncs.jl:20, line 20)
 breakpoint(gcd(a::Integer, b::Integer) in Base at intfuncs.jl:77, line 77)
 breakpoint(gcd(a::Integer, b::Integer...) in Base at intfuncs.jl:79, line 79)
 breakpoint(gcd(abc::AbstractArray{#s72,N} where N where #s72<:Integer) in Base at intfuncs.jl:85, line 85)
 breakpoint(gcd(x::P, y::P) where P<:Dates.Period in Dates at C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Dates\src\periods.jl:75, line 75)

julia> frame = JuliaInterpreter.enter_call_expr(Expr(:call, gcd, 2,3))
Frame for gcd(a::T, b::T) where T<:Union{Int128, Int16, Int32, Int64, Int8, UInt128, UInt16, UInt32, UInt64, UInt8} in Base at intfuncs.jl:31
b  1 31  1 ──       Core.NewvarNode(:(za))
   2 31  │          Core.NewvarNode(:(zb))
   3 31  │          Core.NewvarNode(:(k))
⋮
a = 2
b = 3
T = Int64

julia> ret = JuliaInterpreter.debug_command(frame, :finish)

julia> JuliaInterpreter.get_return(root(frame))
1

https://github.com/JuliaDebug/Debugger.jl/issues/134 is the same issue.

Fixed by https://github.com/JunoLab/Atom.jl/commit/8d3040c5a1c07b35b8d39b31ef77658824ecb596.


AwesomeValidation not working inside Fragment

I am trying to use awesome validation in a fragment and it doesn't seem to work. I have previously used it in an activity and it works.

Hi @aj019, it should work with Fragment.  Please check the comments here.  Usually moving the validate() method from onCreateView to onActivityCreated would make it work.  Thanks.

Thanks @thyrlian  using onActivityCreated solved the problem

Cool @aj019 good to hear that.  I'll try to mention this in README.  Thanks again.


⚠ SolarOscp has degraded performance

In 32cafbe, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 118 ms

Resolved: SolarOscp performance has improved in 80ee770 after 19 minutes.


tour: update Spanish tour link

Currently, go-tour-es.appspot.com is a 404, but the correct link
for Spanish tutorial can be seen at gotour-es.appspot.com.

Closing since this was merged. Need to keep an eye on GerritBot in case this happens again.

Old issue, but I wanted to ask where is the git repo for the tour in Spanish.
Thanks!


sandbox: fallback to tput for winsize

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This should improve compatibility with some tests sensitive to the terminal size in the non-tty (CI) environment, such as oakc.

Review period skipped due to critical label.

Have a look at the latest commit and see if the comments make sense.


improvement: 优化合并workflows

Codecov Report

Merging #68 (bd9319f) into V2.1.342rc (55be16f) will decrease coverage by 0.02%.
The diff coverage is 15.00%.

@@              Coverage Diff               @@
##           V2.1.342rc      #68      +/-   ##
==============================================
- Coverage       58.92%   58.90%   -0.03%
==============================================
  Files             394      394
  Lines           25901    25915      +14
==============================================
+ Hits            15263    15266       +3
- Misses          10638    10649      +11

Impacted Files
Coverage Δ

apps/backend/plugin/views.py
33.49% <15.00%> (-0.42%)
:arrow_down:

Continue to review full report at Codecov.

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


Refactor get-all user API

This will remove dynamodb dependencies and recreate users GET endpoint to work with auth middleware. Other implementations have been removed since they depend on the old DB. Do not deploy this to AWS yet. Try to find improvements for this code base so we can ask others to use the same template.

@singhabahu it's better if we can integrate password encryption as well. Link: https://github.com/serverless/examples/tree/master/aws-node-env-variables-encrypted-in-a-file. Will take it to another branch and do it. Other than that code looks perfect.


checkJs emits on top of input file, error TS5055

Bug Report

🔎 Search Terms

checkJs
🕗 Version & Regression Information
observed with:
4.8.4
4.9.0-dev.20221024
4.0.8, 2.3.4 (required allowJs as well)

This is the behavior in every version I tried, and I reviewed the FAQ for entries about checkJs

💻 Code
tsconfig.json
{
    "compilerOptions": {
        "checkJs": true
    }
}

one.js
/** @type string */
export const a = 1

two.ts
import {a} from "./one"

console.log(a)

🙁 Actual behavior
$ ./node_modules/.bin/tsc
error TS5055: Cannot write file '/home/alexeagle/repros/ts_checkJs/one.js' because it would overwrite input file.

🙂 Expected behavior
I wouldn't expect one.js to be emitted since it's a source file

TS also functions as a transpiler so it will still produce an output .js file even for plain JS.  This is intentional and the solution is to set outDir.

I also met this. I was using import type aaa from "folder/with/a.js" and tsc reported error TS5055.
I don't want to use outDir, because my project works well when I tell tsc to output .js files in same folders with ther source .ts files. So how can I avoid the error?


VS Code needs Expand/Collapse controls for ':::' syntax sections in markdown

Hello,
In our markdown documentation articles, the Zone Pivot and Versioning features are example that use the increasingly common syntax of ::: (three colons) at the start of a line, to indicate a special section of content.
In practice, in VS Code markdown editor, when scrolling through .md file that has ::: sections, presently it is too difficult to really follow which section I am currently in.
It would help the ease of editing if I could expand/collapse these sections. Or maybe some other technique?
Thank you.
GeneMi (or perhaps contact Erik Hopf too)
2021/January/25

VS code's built-in markdown support targets common mark, which does not support ::: blocks
However I believe an an extension could add folding support for these

VS code's built-in markdown support targets common mark, which does not support ::: blocks
However I believe an an extension could add folding support for these


Old shinyproxy pods not deleted by the operator due to operator exceptions being thrown.

I scoured the shinyproxy operator config docs and after not finding an option to terminate old shinyproxy pods I discovered the shinyproxy operator itself was throwing errors.
2 errors stand out to me from the following shinyproxy operator logs:

Caught an exception while processing event ShinyProxyEvent(eventType=CHECK_OBSOLETE_INSTANCES...: This explains why we have a huge list of old shinyproxy pods which are not being terminated.

12:25:02.137 [atcher-worker-1] WARN  eu.op.sh.co.ShinyProxyController     - Caught an exception while processing event ShinyProxyEvent(eventType=CHECK_OBSOLETE_INSTANCES, shinyProxy=null, shinyProxyInstance=null, retried=false). [Attempt 5/5] Not re-processing this event.

# Describing the operator, seeing all linked shinyproxy pods.
...
    Hash Of Spec:        fbcc16f401d576da8b2b59094f6e07dc5723eefa
    Is Latest Instance:  false
    Hash Of Spec:        01d0beee33c612b92bc28560febac80eecff246c
    Is Latest Instance:  false
    Hash Of Spec:        c0eb2bfac0dd0c1cf426286af180c9d6a8efd294
    Is Latest Instance:  false
    Hash Of Spec:        fcbfd4f1d429657a7c4565984bab55506af9b06c
    Is Latest Instance:  false
    Hash Of Spec:        6db6fea3f15e7e20fcbdc7e29ff2ee47adde9a12
    Is Latest Instance:  false
    Hash Of Spec:        29dfbe853cec465bf90ecdb7eba12196b64381f7
    Is Latest Instance:  false
    Hash Of Spec:        43ead635d242be06cbb38cf4e4eaf99f00c9c621
    Is Latest Instance:  false
    Hash Of Spec:        afd6e70fbd4e59dabe9ee1a4f37fb0751532fdae
    Is Latest Instance:  false
    Hash Of Spec:        5f9ff7a8c138de919edf8b8ddc26c42fd4da2d65
    Is Latest Instance:  false
    Hash Of Spec:        4483e8889ff5dcab3a529bdc5520d69564b298ac
    Is Latest Instance:  false
    Hash Of Spec:        58c35bd8e50f6847fcdd02addc2980dc33f1be9b
    Is Latest Instance:  false
    Hash Of Spec:        31db954a008227c2e278373255935b8f9bb65de3
    Is Latest Instance:  false
    Hash Of Spec:        f2d0dc369c242d61a0f4ff71a1d40d94205554fd
    Is Latest Instance:  false
    Hash Of Spec:        ae0cbd081dcb643192a7e881e8e2491a435ec091
    Is Latest Instance:  true

sp-shinyproxy-dev-rate-rs-01d0beee33c612b92bc28560febac80epr4xl   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-0ca11437d19750ea62d19140dee8a5524txlj   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-0ce152a1e5b1ae58847301446d3e552dxh64w   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-11e8c0c49732350a93c8f3d7ebdb5859tnjvr   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-1dd6de6442a299b3a63e9eb69618bec555scq   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-1eb397919124a3b1cfb58243474c5f45s479f   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-2291893b87cd2e51e647c60ea11c7855ct9vd   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-25637d13e8dccb8b3020e5e721fc1f105zz57   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-29dfbe853cec465bf90ecdb7eba12196lfjkg   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-2b54f4584de5bd5c2b8c9f84760f5cb9vslxx   1/1     Running   0          7d2h
...
sp-shinyproxy-dev-rate-rs-c0eb2bfac0dd0c1cf426286af180c9d6rnbc6   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-ca8fd4b2134bfe66ece29318aa93076bwsgdz   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-d61b2d614f50f15d6c81ea61ce272ccb7r9hb   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-e93de208664caa110095f15b84119a22ls5zb   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-f2d0dc369c242d61a0f4ff71a1d40d945czjf   1/1     Running   0          42m
sp-shinyproxy-dev-rate-rs-f8659de8fbaf3db67d8348368930e800x2c5d   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-fbcc16f401d576da8b2b59094f6e07dc772b8   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-fcbfd4f1d429657a7c4565984bab5550b4tvp   1/1     Running   0          7d2h
sp-shinyproxy-dev-rate-rs-fd1c132a1e8e2273d53a05e632c43a4cngldp   1/1     Running   0          7d2h

Unrecognized field "timestamp": Some health checks that aren't properly configured?

12:25:05.168 [atcher-worker-1] WARN  eu.op.sh.co.ShinyProxyController     - Caught an exception while processing event. [Attempt 3/5]
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "timestamp" (class eu.openanalytics.shinyproxyoperator.controller.RecyclableChecker$Response), not marked as ignorable (2 known properties: "isRecyclable", "activeConnections"])
 at [Source: (String)"{"timestamp":"2023-12-12T12:25:05.168+00:00","status":404,"error":"Not Found","path":"/actuator/recyclable"}"; line: 1, column: 109] (through reference chain: eu.openanalytics.shinyproxyoperator.controller.RecyclableChecker$Response["timestamp"])
        at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1127) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2023) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1700) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperties(BeanDeserializerBase.java:1650) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:539) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1405) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:351) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:184) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3629) ~[shinyproxy-operator.jar:2.0.0]
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3597) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.RecyclableChecker.checkServer(RecyclableChecker.kt:82) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.RecyclableChecker.isInstanceRecyclable(RecyclableChecker.kt:54) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController.checkForObsoleteInstances(ShinyProxyController.kt:293) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController.receiveAndHandleEvent$tryReceiveAndHandleEvent(ShinyProxyController.kt:109) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController.receiveAndHandleEvent(ShinyProxyController.kt:118) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController$receiveAndHandleEvent$1.invokeSuspend(ShinyProxyController.kt) ~[shinyproxy-operator.jar:2.0.0]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:178) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:166) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.CancellableContinuationImpl.completeResume(CancellableContinuationImpl.kt:513) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.channels.AbstractChannel$ReceiveElement.completeResumeReceive(AbstractChannel.kt:907) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.channels.ArrayChannel.offerInternal(ArrayChannel.kt:83) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.channels.AbstractSendChannel.send(AbstractChannel.kt:134) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController.scheduleAdditionalEvents(ShinyProxyController.kt:307) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController.access$scheduleAdditionalEvents(ShinyProxyController.kt:43) ~[shinyproxy-operator.jar:2.0.0]
        at eu.openanalytics.shinyproxyoperator.controller.ShinyProxyController$scheduleAdditionalEvents$1.invokeSuspend(ShinyProxyController.kt) ~[shinyproxy-operator.jar:2.0.0]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) ~[shinyproxy-operator.jar:2.0.0]
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665) ~[shinyproxy-operator.jar:2.0.0]
12:25:05.177 [atcher-worker-1] WARN  eu.op.sh.co.ShinyProxyController     - Caught an exception while processing event. [Attempt 4/5]

apiVersion: openanalytics.eu/v1alpha1
kind: ShinyProxy
metadata:
  name: shinyproxy-dev
  namespace: dev
spec:
  spring:
    session:
      store-type: redis
    redis:
      password: <REDACTED>
      sentinel:
        master: shinyproxy
        password: <REDACTED>
        nodes: <REDACTED>,<REDACTED>,<REDACTED>
  management:
    endpoints:
      web:
        exposure:
          include: info,health,beans,prometheus,metrics
    metrics:
      export:
        prometheus:
          enabled: true
  server:
      secureCookies: true
      frameOptions: sameorigin
      forward-headers-strategy: native
      servlet:
        multipart:
          max-file-size: 50MB
          max-request-size: 50MB
  logging:
    file:
      name: shinyproxy.log
    level:
      io.undertow: DEBUG
      eu.openanalytics: DEBUG
      org.springframework: DEBUG
  proxy:
      store-mode: Redis
      stop-proxies-on-shutdown: false
      title: Development
      logoUrl: ""
      landing-page: /
      heartbeat-rate: 10000 #in miliseconds
      heartbeat-timeout: 60000 #in miliseconds
      container-wait-time: 60000 #in miliseconds
      default-proxy-max-lifetime: 1440 #in minutes
      port: 8080
      authentication: openid
      openid:
        auth-url: https://<REDACTED>/oauth2/v2.0/authorize
        token-url: https://<REDACTED>/oauth2/v2.0/token
        jwks-url: https://<REDACTED>/discovery/v2.0/keys
        client-id: <REDACTED>
        client-secret: <REDACTED>
        username-attribute: email
        roles-claim: roles
      usage-stats-url: micrometer
      container-backend: kubernetes
      kubernetes:
        internal-networking: true
        namespace: dev
        pod-wait-time: 600000 #in milliseconds
        image-pull-policy: IfNotPresent
        image-pull-secrets:
        - name: docker
      template-path: ./templates
      template-groups:
      - id: demo
        properties:
          display-name: DEMO
      specs: []
  kubernetesPodTemplateSpecPatches: |
      - op: add
        path: /spec/containers/0/env/-
        value:
          name: REDIS_PASSWORD
          valueFrom:
            secretKeyRef:
              name: redis
              key: redis-password
      - op: add
        path: /spec/containers/0/env/-
        value:
          name: dev
          valueFrom:
            secretKeyRef:
              name: secret
              key: dev
      - op: replace
        path: /spec/containers/0/livenessProbe
        value:
          failureThreshold: 2
          httpGet:
            path: /actuator/health/liveness
            port: 9090
            scheme: HTTP
          periodSeconds: 1
          initialDelaySeconds: 140
          successThreshold: 1
          timeoutSeconds: 1
      - op: replace
        path: /spec/containers/0/readinessProbe
        value:
          failureThreshold: 2
          httpGet:
            path: /actuator/health/readiness
            port: 9090
            scheme: HTTP
          periodSeconds: 1
          initialDelaySeconds: 140
          successThreshold: 1
          timeoutSeconds: 1
      - op: add
        path: /spec/volumes/-
        value:
          name: shinyproxy-templates-dev
          persistentVolumeClaim:
            claimName: shinyproxy-templates-dev
      - op: add
        path: /spec/containers/0/volumeMounts/-
        value:
            mountPath: "/opt/shinyproxy/templates"
            name: shinyproxy-templates-dev
      - op: add
        path: /spec/containers/0/resources
        value:
          limits:
            cpu: 1
            memory: 1Gi
          requests:
            cpu: 0.5
            memory: 1Gi
      - op: add
        path: /spec/serviceAccountName
        value: default
  kubernetesIngressPatches: |
    - op: add
      path: /metadata/annotations
      value:
        nginx.ingress.kubernetes.io/proxy-buffer-size: "128k"
        nginx.ingress.kubernetes.io/ssl-redirect: "true"
        nginx.ingress.kubernetes.io/affinity: cookie
        nginx.ingress.kubernetes.io/proxy-read-timeout: "420"
        nginx.ingress.kubernetes.io/proxy-send-timeout: "420"
        nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
        nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
        nginx.ingress.kubernetes.io/proxy-body-size: 5000m
        cert-manager.io/cluster-issuer: sectigo
    - op: add
      path: /spec/ingressClassName
      value: nginx
    - op: add
      path: /spec/tls
      value:
        - hosts:
          - dev.example.com
          secretName: dev-tls
  image: example.com/openanalytics/shinyproxy:3.0.2
  imagePullPolicy: Always
  image-pull-secrets:
  - name: docker
  replicas: 1
  fqdn: dev.example.com

If there's anything I can try, let me know.

@leynebe any luck in fixing this?

@cdenneen No. I have not had the time to properly imvestigate. I was hoping you guys had an easy solution or some tips. It's getting more urgent though, non of the shiny pods are killed upon upgrade, so it's beginning to get obscene how many pods that are just running and wasting money. I'll have a look when I find the time or priorities change.

@leynebe I don't work on this project. Just user like yourself. If you find solution let me know.  I'm actually having more of an issue with the proxied apps staying around. I have stop-proxies-on-shutdown: false so I do expect to see them staying around for a bit but I tested and when I clicked same app again it spun up new pod for it rather than the one running for 4hrs

@LEDfan

Usually there is no need to configure this option, so I would advice to just remove it. If you do need this option, it would be useful to know the reason, such that we can either better cover this use-case or document it on the website.
I will try adding this default option back. Thanks for the research and explanation!!

@LEDfan This worked. Thanks a bunch!


Cargo doesn't heed --jobs passed to make

https://github.com/newsboat/newsboat/commit/9a25e0bbc196111be4ab48233e1caa5872113254
Steps to reproduce:

run make -j1
wait for Cargo to be called
notice that Cargo starts many rustc instances instead of one

Why is this a problem?
Because computers should do what they're told.
More practically, this is a problem on Cirrus CI. We build Newsboat in a Docker container there. A container is limited to 2 CPUs, so we run make -j3. However, Cargo detects the host machine's CPU count, and starts way more processes. As a result:

we have to over-provision the memory, asking for 8GB even though each compiler instance by itself never takes up more than 400 MB (that's true both for C++ and Rust compilers on AMD64)
some performance is lost to task switching

Additional info:
I couldn't find any built-in variable that stores the argument passed via --jobs. This means we can't just pass it to Cargo.
In our Makefile, Cargo is listed just as another target, alongside C++ object files. This means that make -j2 might run a C++ compiler in one slot, and Cargo in another—meaning we get N+1 jobs running (N is the number of CPUs). With make -jN, this means the build is using twice the memory it should. Making %.o depend on Cargo fixes the problem, but will probably lead to some funny consequences (you try to rebuild a single .cpp, but Make starts the whole of Cargo).

One of my @codingteam friends, @ma1uta, found a solution: GNU Make's jobserver. I'll submit a PR with it shortly.
Thanks also to two other @codingteam members, @matwey and pink_snow; some good ideas there!


Use assert_in_delta when testing float values

Set the delta as tight as possible, but allow for float approximations when performing float calculations in the exercises (i.e. 1_016.21 vs 1_016.20999999). Still use assert_equal when methods should return
specific floats.
This addresses #1199.

Sorry, for some reason Solargraph didn't warn me about Rubocop indentation warnings? Rebased the branch.


Add ability to Drill Down for Clusters.

The cluster details should list all commands which are links to the cluster.

This is essentially a duplicate of #94. Will focus on that one and just close this one.


Added custom headers support to Flask client

In our test suite, we need to send a HTML-specific Accept header in order to differentiate HTML requests from JSON ones. In order to add support for that, we need custom headers from splinter's Flask client. In this PR:

Added custom header support for Flask client (based off of Django client)
Added test

Notes:
For anyone who wants 0.7.3 compatible support, we wrote that out here:
https://github.com/underdogio/splinter/compare/6993e85...underdogio:e7b81e5

@twolfson thank you!


Add an alert box in VS for Mac sections of tutorials, to warn about impending retirement of VS for Mac

https://devblogs.microsoft.com/visualstudio/visual-studio-for-mac-retirement-announcement/

Thanks for the heads-up, @tdykstra. We're going to go ahead and remove it from the Blazor node now on the idea that getting devs started with it while we know its on its way out will just end in tears for those who like it. I'm going to work it for the Blazor node via #30219 on Tuesday.


Fix collision solving between world boundary and shapes in motion (2D)

Fixes https://github.com/godotengine/godot/issues/65047
Before:

After:
https://user-images.githubusercontent.com/229837/187241838-b6494930-f5c9-41fd-8d4c-2d129ada4fd1.mp4

Thanks!

The changes in this PR are not enough to fix the issue in 3.x. Check out https://github.com/rburing/godot/tree/solve_static_line_motion_2d if you want to try it yourself.


Allow overlay on top of Action Bar in Android

I'm not sure if this is applicable to iOS, but right now, the drawer slides out under the Action Bar, contrary to the current design convention which slides over the Action Bar. In addition, I would like to place a translucent layer over my app to provide some textual help for first time users, but I'm not able to set this layer above the Action Bar.
As such, I had to resort to implementing my own Action Bar, and forgoing all the default features that come with it (e.g. Action, SearchAction, page title etc.)

@wilsonna Being able to control the visibility of the app bar is high on our list. In an upcoming update we will allow you to show and hide the app bar so that you can use the space of the entire screen.

Thanks Moritz :)

Closing as a duplicate of #234.
@wilsonna Please reopen if this issue would not be solved by a mechanism to just hide the app bar.

I'm not sure if I have the rights to re-open the issue. Can't seem to find the re-open button.
This would not be resolved by hiding the app bar as the intention of the overlay is to provide help over certain actions or buttons of the page, and the action bar may contain actions which I wish to focus on.

@wilsonna You are right that the linked issue is not a duplicate of your idea to place content above the main toolbar (action bar).

While i still see that the issue could be interesting we don't think it is high priority.

With tabris 2.0 you will be able to place content above the new tabris.ui replacement called NavigationBar.


feat(changelog): support releaseCount property to re-generate changelog

ISSUES CLOSED: #23

Coverage decreased (-0.6%) to 93.243% when pulling a2ec57afbe18c0e0bdf5f9d40ea3293ac3a31958 on feature/support-release-count into ee2d9cf5e8bd1046e4f68d0aab1848645aacc80c on master.

Coverage decreased (-0.6%) to 93.243% when pulling a2ec57afbe18c0e0bdf5f9d40ea3293ac3a31958 on feature/support-release-count into ee2d9cf5e8bd1046e4f68d0aab1848645aacc80c on master.

Coverage decreased (-0.6%) to 93.243% when pulling a2ec57afbe18c0e0bdf5f9d40ea3293ac3a31958 on feature/support-release-count into ee2d9cf5e8bd1046e4f68d0aab1848645aacc80c on master.

:+1: code & git message.
This is a very handy feature. Sometimes we want to re-generate the changelog for a existing project. Thanks for adding feature. There is a small typo on README infrormation.

Coverage decreased (-0.6%) to 93.243% when pulling 64e4e0dd4b68d77d19f37de06ea449da8069e45a on feature/support-release-count into ee2d9cf5e8bd1046e4f68d0aab1848645aacc80c on master.

@leonardoanalista
Can you add the following to the package.json file that way
I can use npm install to pull down your branch?
{
  // ...
  "version": "0.0.0-semantically-released.0"
  // ...
}


GUI for problem definition

[x] random initial state
[x] symmetries
[x] i/o ? (on hold depending on what is happening with David)
[x] solver details
[ ] #22

Target will be added later


Suggestion: check out pkg

It serves similar purpose to nexe. It might be worth comparing results of both.
Link

I've already tried pkg, but that hasn't worked either. At this point, my focus is on fixing other things.


Shuffle Button Not Working. I saw the other issue, I'm making this one to highlight the problem more.

🧐 Have you read the FAQ and viewed similar issues?

[X] I have read the FAQ
[X] I have checked older issues, open and closed
[X] I did a clean install of SpotX as described in the FAQ

Сountry of your account
America
What is your Spotify Plan?
Free
Do you have Spicetify installed?
No
ℹ Computer information
- Spotify: Newest
- Windows: 10.0.22621 N/A Build 22621
- PowerShell: 5.1.22621.963

📝 Description

I press the shuffle button
I press fast forward
The songs change but not shuffle
I press it again, it smart shuffles

No screenshots because its pretty self-explanatory
📸 Screenshots
No response

I tried the clean installations and steps done in issue #515 didnt work


FIX React element areas should be specific to areas not the page

Fixes #387
Currently the new elemental area editor does not support multiple areas per page - where it apparently did previously. This PR updates the read blocks mutation to read per area rather than page. Addiitonally there's some more fixes to help multiple blocks per page:

Updated the readBlocks mutation to fetch per area and not page
Added some padding on the bottom of the field
Renamed elementAreaId to just areaId in the React code - element is already in the name of all the components
Updated sortBlock optimistic updates as needed
Updated addElementToArea mutation to specify the variables for the refetchQuery to run

cc @clarkepaul

It appears the actions aren't working for Behat 😞 .

I've updated from feedback but I haven't had a chance to re-test sorting. I'd like to do that before any merge. Thanks for the feedback so far!

Drag and drop isn't working for me - console errors

It looks like this is happening because ElementDragPreview is rendered without providing an elementTypeType to it, which then renders a Header that requires an elementTypeType prop called type which doesn't get provided.
I had a quick go at patching this but I don't know enough about the implementation. @ScopeyNZ could you please have a look at fixing that up?

That's all fixed up now. Thanks for the debugging assistance @robbieaverill 🙂 . Refer to the last commit if you were interested in how I addressed the issue.


Multi-Import of plan records

currently, when you Import plan records twice, the plan records for Dates in the future may be in the database twice.
Instead, when importing plan records, old records in the past should stay in the database, new records of the currently imported Batch should overwrite the old ones, so that a consistent plan record Import is possible.

this issue still persists. When doint two imports in a row, the records of both imports are stored.


Fix rename of a module in instructlab

instructlab.config got renamed to instructlab.configuration
Signed-off-by: Russell Bryant<EMAIL_ADDRESS>

replaced by #25 - i forgot i had started this here


min supported versions

matplotlib

The docs and README state the minimum version of matplotlib==2.2.2. However, there is no matplotlib==2.2.2 built for Python 3.8 on conda-forge, so environment resolve fails. We should bump the minimum supported version to matplotlib==2.2.4, which seems to be the first built for Python 3.8 available on conda-forge.

geopandas

The docs, README, and requirements state the minimum version of geopandas>=0.4.0. However, testing fails with geopandas==0.4.0. This is a very old version of geopandas. Need to find the actual minimum supported one.

xref #169

Following NEP 29, the min geopandas is 0.8.2 and matplotlib 3.3.3. I'd pin that and ignore the rest.

Tests failing in the MIN-env due to descartes. Shall we bump minimum to geopandas==0.9.0? I vote yes.

Yeah, I think that is fine.


bar.set(0) resets but if i again call bar.animate(1) the circle is not animating.

            bar.animate(1.05, {}, function() {                 bar.set(0);                 bar.animate(1.0);             });
Iam trying to implement the following,
if i trigger this functionality it should repeatedly, set to 0 and start from 1. like a clock.
Thanks in advance

Found out the solution. need to setTimeout() between them.
            function repeated() {
                bar.animate(1, { duration: 30000 }, function() { bar.set(0); });
                setTimeout(function() {
                    repeated();
                }, 1000);
            }

First 30 sec it will from 0 to 1
setting path to 0
wait 1000
call again


Read me should be updated to illustrate git + github based newer approach?

@mkwiatkowski Should I send PR?

No, I'll take care of this.


Yaki Mobile - Croped icon

Requirement
look why on iOS the search icon is crop on the team-declaration-summary screen.
To do
Fix this cropped icon and try it on iOS and android
Test
Don't test required

search icon was removed


Fix shortcut widget

I updated the branch to use ShortcutManagerCompat.createShortcutResultIntent(). This seems to make shortcuts work on devices where they previously didn't.
However, the shortcuts now use the app icon to indicate which app the shortcut is coming from. So our shortcuts look like this right now:

I think we should use the account image instead. However, this is probably a larger effort. So I created issue #7906 to keep track of the enhancement.
Tested on:

Android 14, Pixel 8
Android 14 (CalyxOS), Pixel 3
Android 13, Fairphone 4
Android 14 (Google APIs), Emulator
Android 10 (Google APIs), Emulator
Android 5.0, Emulator

@wmontwe: GitHub doesn't let me add you as a reviewer. Presumably because you've created the PR. Can you please have a look at my changes.

@cketti I had a quick check and it doesn't seem to work on my Android 12 device.

Thanks for checking. I'm downloading an Android 12 image for the emulator right now and will have a look.
Does the old code without this change work on your Android 12 device? What flavor of Android is it running?

The old code works on my device: Samsung Android 12 tested with OneUi Launcher and Nova Launcher.

I wasn't able to reproduce this. API 31 emulator images worked fine for me. But using the old method on API 31 and older and the new method on API 32 and newer also worked in my tests. So I created PR #7907 using this approach.

Closing this in favor of #7907


vscode is not dump to js function?

can you tell me why
javascript is not dump to this function in Imported external files？
I'm very grateful

Jump*


Configuration -> State

In this issue needs move all not-configuration entities to Module States

Done (1.3.0)


VoiceOver on Mac keeps saying row 1 collapsed

testing #32858

on mac, enable voice over
select a collapsed folder in the explorer
it endlessly keeps saying row 1 collapsed, it doesn't say the name of the folder

I cannot reproduce the endless VoiceOver (just once). Seems related to https://github.com/Microsoft/vscode/issues/10135
ARIA wise the node is a role="treeitem" with aria-expanded="false"

If someone has a clue how to change this on macOS, help welcome.

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed.
Thanks for your understanding. Happy coding!


support aws IMDSv2

Please provide a description of this PR:
fixes: https://github.com/istio/istio/issues/45825

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
f9b97c5c07b92f3eacac508f22dcd67ab3cca401
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
9519669c39966d28f55b0a3129195c9a579ef9dd
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
9519669c39966d28f55b0a3129195c9a579ef9dd
link
true
/test release-notes

lint_istio
9519669c39966d28f55b0a3129195c9a579ef9dd
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
9519669c39966d28f55b0a3129195c9a579ef9dd
link
true
/test lint

release-notes_istio
1a33415050534d474e215bbc39ec61ddb092b7f3
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/cherry-pick release-1.19

@jacob-delgado: new pull request created: #46405

In response to this:

/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jacob-delgado: #46312 failed to apply on top of branch "release-1.19":
Applying: support aws IMDSv2
Using index info to reconstruct a base tree...
M	pkg/bootstrap/platform/aws.go
M	pkg/http/get.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/http/get.go
CONFLICT (content): Merge conflict in pkg/http/get.go
Auto-merging pkg/bootstrap/platform/aws.go
CONFLICT (content): Merge conflict in pkg/bootstrap/platform/aws.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 support aws IMDSv2
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jacob-delgado: new issue created for failed cherrypick: #46805

In response to this:

/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jacob-delgado: #46312 failed to apply on top of branch "release-1.19":
Applying: support aws IMDSv2
Using index info to reconstruct a base tree...
M	pkg/bootstrap/platform/aws.go
M	pkg/http/get.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/http/get.go
CONFLICT (content): Merge conflict in pkg/http/get.go
Auto-merging pkg/bootstrap/platform/aws.go
CONFLICT (content): Merge conflict in pkg/bootstrap/platform/aws.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 support aws IMDSv2
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@jacob-delgado: new issue created for failed cherrypick: #46807

In response to this:

/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

In response to a cherrypick label: new pull request created: #46808

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.18 from head istio-testing:cherry-pick-46312-to-release-1.18: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-46312-to-release-1.18."}],"documentation_url":"https://docs.github.com/rest/pulls/pulls#create-a-pull-request"}


Dataname

https://github.com/Unibeautify/parse-framework/blob/10c573cd881f23759a327a33a1e3bf3b7eb7d609/parse.ts#L32
Should the last item in the array be "types"?

Good catch.


Allow JSON in Environment Variables

This change allows the keyfile JSON contents to be accessed from environment variables. It allows for configuration without writing the file to disk. This is useful when using pre-packaged docker containers and other deployment scenarios.
Currently Gcloud only supports the project identifier and keyfile path in environment variables. The path must point to an actual file.
require "gcloud/datastore"

ENV["DATASTORE_PROJECT"] = "project-identifier"
ENV["DATASTORE_KEYFILE"] = "/path/to/keyfile.json"

@datastore = Gcloud.datastore
@entity = @datastore.find "Task", 123

This change allows for the JSON to be in the environment variable instead of being read from a file.
require "gcloud/datastore"

ENV["DATASTORE_PROJECT"] = "project-identifier"
ENV["DATASTORE_KEYFILE_JSON"] = "{\"private_key_id\": \"...\", \"private_key\": \"...\", \"client_email\": \"...\", \"client_id\": \"...\", \"type\": \"...\"}"

@datastore = Gcloud.datastore
@entity = @datastore.find "Task", 123

Addresses #109

@jgeewax @silvolu @thagomizer Thoughts?

I like it. More flexibility is good and not having to write out files makes some scenarios easier.

Looks like the explicit JSON overrides the file path silently. I foresee some frustrating debugging unless we log a warning that you're providing two explicit keys...
Any thoughts on that?

I don't think it overrides as much as it adds a new step in the lookup process for authentication. Here is the old process:

Specify credentials file provided in code
Specify credentials file provided in env var
Discover credentials file in the Cloud SDK's path
Discover GCE credentials

The new process with this change is now:

Specify credentials file provided in code
Specify credentials file provided in env var
Specify credentials json provided in env var
Discover credentials file in the Cloud SDK's path
Discover GCE credentials

I do think that this needs to be spelled out very clearly in the documentation. But as long as it is communicated well I don't believe it will be confusing or frustrating.

Cool - yes no problem at all with the order of evaluation. LGTM then, so long as we document this somewhere :)
See https://github.com/GoogleCloudPlatform/gcloud-python/pull/830/files for my first pass at outlining how auth works for gcloud-python. If that looks OK, we should open an issue to do likewise for gcloud-ruby.

I have updated this to work on the recent pubsub additions, and added an Authentication guide spelling out the order followed. Thoughts?

Thanks @blowmage


[To rel/1.2] [IOTDB-6104] Remove tmp directory for udf query completely while query end

cp from https://github.com/apache/iotdb/pull/10817

coverage: 48.093% (+0.007%) from 48.086% when pulling c0a41b3cce6a27bff00072b945e25de86e17ff2e on IOTDB-6104-1.2 into 571905fac18161b5eebd7de6e0805ef33b0a7495 on rel/1.2.


no-extra-boolean-cast

Current dependencies on/for this PR:

main

PR #120   👈

This comment was auto-generated by Graphite.


Bad rendering inside the latest ComfyUI_frontend v1.3.19

The UI was changed and this is it

I am having the same issue.
Please support. xiè.xiè

I am having the same issue.
Please support. xiè.xiè

You can move the Workspace Manger menu by grabbing  from the "six dots" icon (on top of the Edit menu in the screenshot).

You can move the Workspace Manger menu by grabbing from the "six dots" icon (on top of the Edit menu in the screenshot).

Forgot to say thank you. It does help a little.
A little CSS would fix this I think. Shame it's such a good mod.
This issue if fixed and the ability to right click on a workflow and add to a folder would make this mod 5 stars.

You can move the Workspace Manger menu by grabbing from the "six dots" icon (on top of the Edit menu in the screenshot).

Forgot to say thank you. It does help a little.
A little CSS would fix this I think. Shame it's such a good mod.
This issue if fixed and the ability to right click on a workflow and add to a folder would make this mod 5 stars.


Add Vite 3.0 support

New Vite 3.0 was released.
This plugin works with Vite 3.0 on my projects.

@ai, thanks for the help.
But can you give me advice about bumping version of plugin?
I think this is minor update according to semver, because 3 version added using OR operator, am I right?

Ok, thanks. I thought it didn't apply to the patch version as there was a major release in the Vite
But I agree for my plugin nothing changes. so patch is enough
Btw I have released the package


Fix ConnectionString

I'm surprised why the ConnectionString is changed in the commit https://github.com/simplcommerce/SimplCommerce/commit/37bd05e15b7b0c38cbfb0c07aeb4ef739a9937ba so it breaks everyone /cc @thiennn @rafsanulhasan

The intend is to support the full version, in case you have a SQL Express you can change the default naming from the configuration manager, so you can use . instead of .\SqlExpress

I think it would be better off using MSLocalDB. It comes pre-installed with visual studio and this is what I use to run locally. No issues so far and the connection string will never have to change again.

maybe @tdavisjr is right @thiennn

Here is the string for your reference:
"DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=SimplCommerce;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"

Should Be "DefaultConnection": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=SimplCommerce;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;MultipleActiveResultSets=True"

The PR #608 should fix this issue permanently

How about this? As simple as possible
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=SimplCommerce;Trusted_Connection=True;MultipleActiveResultSets=true"

good


Import pass enhancement

This pull request addresses issues mentioned in #78. To enable generic pass configuration I implemented PassConfig base class which provides a clean way to add, check, and use options to a pass. ImportPass of SystemVerilog backend extends this base class to implement its own options.

This pull request adds the following features to the import pass

An import pass configuration class that extends a generic pass configuration base class. This provides a clean approach to set up options with default values, check option values, and interface with the pass that requires these options.
The import pass configuration class currently supports options that specify

Verilator source file, file list, include directory, and output make directory
Verilator


Request: User search by name API

Hi,
are there any plans or is it possible currently to search users by name?

We have actually experimented a couple of times with user search, each time its failed for various reasons. It's one of those things that seems simple until you actually build it, we found that because there are so many users providing the correct relevancy was non-trivial. So, for that reason I very much doubt we will be building this anytime soon.


feat(Lifecycle Hooks) Integrate the fields with lifecycle hooks

fixes #150

Can somebody point to an example of this being used? I couldn't find anything in the documentation... Given that i want to wait until formly is done setting up the form...


[LWJGL3+Linux] Graphics#setUndecorated(true) when maximized causes invisible window

Issue details
In the LWJGL3 backend, when a window is maximized and Gdx.graphics.setUndecorated(true) is called, the window becomes invisible. It can still be minimized and un-minimized, but this does not affect it visually. Windows behind this invisible window can be seen and interacted with.
Calling Gdx.graphics.setUndecorated(true) with a window that is in the foreground but not maximized will behave as expected.
This occurs reliably on my Linux Mint 18 system. I have not tested on other platforms.
Reproduction steps/code
import com.badlogic.gdx.backends.lwjgl3.*;
import com.badlogic.gdx.*;

public class WindowTest{
    public static void main(String[] args){
        Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
        config.setMaximized(true);
        new Lwjgl3Application(new ApplicationAdapter(){
            @Override
            public void create(){
                Gdx.graphics.setUndecorated(true);
            }
        }, config);
    }
}

This example creates an invisible window immediately upon startup. Commenting out Gdx.graphics.setUndecorated(true); leads to an empty black window, as expected.
Version of LibGDX and/or relevant dependencies
1.9.9
Please select the affected platforms

[ ] Android
[ ] iOS (robovm)
[ ] iOS (MOE)
[ ] HTML/GWT
[ ] Windows
[X] Linux
[ ] MacOS

@Anuken i tested on master branch, linux ubuntu 16.04, i don't have any issues : i get a black screen with or without setUndecorated true/false. Might be related to Mint?

Probably is, because I get the same issue with SDL, which doesn't even use GLFW.

If this issue isn't even related to glfw, there is nothing we can do about it. Closing it for now.