Scrollbar showing in IE, not Chrome, when toggled

I have a strange problem in IE. When the sidebar is toggled, scroll bar is showing in the left edge of the screen, with the same css settings as yours. But in Chrome scrollbar is not showing. What could be the reason for this and how could I avoid it showing?

Should be fixed with the flexbox update.


Outlierlizer: Normalize outliers

Implement outlier normalizer using nearest neighbor. Outliers are values below q1-IQR or above q3+IQR

closed by #41


[Concurrency] Ensure we get the right context for captured variables.

The declaration context of an explicitly-captured value is the context
of the original, captured declaration itself... not the closure in which
the value is captured. Account for this in data race checking, by tracking
the effective capture context for such variables. This eliminates some
erroneous complains about accesses to explicitly-captured variables in
concurrent code.
Part of rdar://74281361.

@swift-ci please smoke test


cannot register a node to a running grid hub

Hi guys,
i need your help. I want to add ios driver as a node of a running grid hub.
I proceed as described on the site: https://ios-driver.github.io/ios-driver/?page=scaling
Step 1:
I have a windows7 machine where i start the grid hub with the following command:
$java -cp "ios-grid-0.6.6-SNAPSHOT.jar;selenium-server-standalone-2.47.1.jar" org.openqa.grid.selenium.GridLauncher -role hub
That ist ok. The Grid hub goes up and is running:
INFO - Nodes should register to http://<IP_ADDRESS>:4444/grid/register
INFO - Selenium Grid hub is up and running
Step 2:
I want to add a ios driver on a MacBookPro as a node. I proceed with the following command:
$java -jar ios-server-standalone-0.6.6-SNAPSHOT.jar -hub http://<IP_ADDRESS>:4444/grid/register -proxy org.uiautomation.ios.grid.IOSRemoteProxy -host <IP_ADDRESS> -port 5555
-> that is the output on the MAC:
lpnb1499:iosdriver online$ java -jar ios-server-standalone-0.6.6-SNAPSHOT.jar -hub http://<IP_ADDRESS>:4444/grid/register -proxy org.uiautomation.ios.grid.IOSRemoteProxy -host <IP_ADDRESS> -port 5555
17:13:111 INFO ApplicationStore.  App archive folder:/Users/online/development/iosdriver/applications
version:663b7cc0a7a48ff629b1bcb39bbd78aed1c1e560
Beta features enabled (enabled by -real flag): false
Simulator enabled : true
Inspector: http://<IP_ADDRESS>:5555/inspector/
Tests can access the server at http://<IP_ADDRESS>:5555/wd/hub
Server status: http://<IP_ADDRESS>:5555/wd/hub/status
Connected devices: http://<IP_ADDRESS>:5555/wd/hub/devices/all
Applications: http://<IP_ADDRESS>:5555/wd/hub/applications/all
Capabilities: http://<IP_ADDRESS>:5555/wd/hub/capabilities/all
Monitoring '/Users/online/development/iosdriver/applications' for new applications
Archived apps: /Users/online/development/iosdriver/applications
Build info: ios-driver 0.6.6-SNAPSHOT (built:20141009-1559,sha:663b7cc0a7a48ff629b1bcb39bbd78aed1c1e560)
Running on: Mac OS X 10.10.3 (x86_64)
Using java: 1.8.0_51
Using Xcode install: /Applications/Xcode.app
Using instruments: version:6.3, build: 57536
Using iOS version 8.3
iOS >= 6.0. Safari and hybrid apps are supported.
Applications :
CFBundleName=Safari,CFBundleVersion=600.1.4,/Users/online/.ios-driver/safariCopies/safari-8.3.app
2015-08-12 15:17:13.878:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2015-08-12 15:17:13.930:INFO:oejs.AbstractConnector:Started SelectChannelConnector@<IP_ADDRESS>:5555
17:14:093 INFO StoppableRegisteringRemote.startRegistrationProcess  using the json request : {"capabilities":[{"NSLocationWhenInUseUsageDescription":"Websites you visit may request your location.","CFBundleDevelopmentRegion":"English","UIBackgroundStyle":"UIBackgroundStyleDarkBlur","SBUsesNetwork":3,"CFBundleURLTypes~ipod":[{"CFBundleURLName":"Web App URL","CFBundleURLSchemes":["webclip"],"CFBundleURLIsPrivate":true},{"CFBundleURLName":"Web site URL","CFBundleURLSchemes":["http","https"]},{"CFBundleURLName":"Radar URL","CFBundleURLSchemes":["rdar","radar"]},{"CFBundleURLName":"FTP URL","CFBundleURLSchemes":["ftp"]},{"CFBundleURLName":"Web Search URL","CFBundleURLSchemes":["x-web-search"]},{"CFBundleURLName":"MobileSafari Tab URL","CFBundleURLSchemes":["com-apple-mobilesafari-tab"],"CFBundleURLIsPrivate":true}],"CFBundleIdentifier":"com.apple.mobilesafari","SBMatchingApplicationGenres":["Productivity","Utilities"],"LSRequiresIPhoneOS":true,"CFBundleExecutable":"MobileSafari","instruments":true,"SafariProductVersion":"8.0","supportedLanguages":["ar","ca","cs","da","de","el","en","en-GB","es","fi","fr","fr-CA","he","hi","hr","hu","id","it","ja","ko","ms","nl","no","pl","pt","pt-PT","ro","ru","sk","sv","th","tr","uk","vi","zh-CN","zh-HK","zh-TW"],"MPSupportsExternallyPlayableContent":true,"CFBundlePackageType":"APPL","CFBundleURLTypes~ipad":[{"CFBundleURLName":"Web App URL","CFBundleURLSchemes":["webclip"],"CFBundleURLIsPrivate":true},{"CFBundleURLName":"Web site URL","CFBundleURLSchemes":["http","https"]},{"CFBundleURLName":"FTP URL","CFBundleURLSchemes":["ftp"]},{"CFBundleURLName":"Web Search URL","CFBundleURLSchemes":["x-web-search"]},{"CFBundleURLName":"MobileSafari Tab URL","CFBundleURLSchemes":["com-apple-mobilesafari-tab"],"CFBundleURLIsPrivate":true}],"CFBundleSupportedPlatforms":["iPhoneSimulator"],"simulator":true,"CFBundleDisplayName":"Safari","timeHack":false,"NSUserActivityTypes":["NSUserActivityTypeBrowsingWeb"],"UIViewControllerBasedStatusBarAppearance":true,"UISupportedInterfaceOrientations~ipad":["UIInterfaceOrientationPortrait","UIInterfaceOrientationLandscapeLeft","UIInterfaceOrientationLandscapeRight","UIInterfaceOrientationPortraitUpsideDown"],"resources":{"CFBundleIconFile":"/wd/hub/resources/hash=-2111658072"},"UISupportedInterfaceOrientations":["UIInterfaceOrientationPortrait","UIInterfaceOrientationLandscapeLeft","UIInterfaceOrientationLandscapeRight"],"CFBundleInfoDictionaryVersion":"6.0","CFBundleSignature":"????","DTSDKName":"iphonesimulator8.3","UIStatusBarTintParameters":{"UINavigationBar":{"Style":"UIBarStyleDefault"}},"CFBundleVersion":"600.1.4","applicationPath":"/Users/online/.ios-driver/safariCopies/safari-8.3.app","deviceAlt":["iphone","ipod","ipad"],"UIDeviceFamily":[1,2],"device_Alt":["iphone","ipad"],"UIApplicationDisableLegacyAutorotationKey":true,"UIBackgroundModes":["audio","continuousFallback"],"CFBundleShortVersionString":"8.0","sdkVersion_alt":["8.3"],"sdkVersion":"8.3","CFBundleIcons":{"CFBundlePrimaryIcon":{"CFBundleIconFiles":["icon-about@2x.png","icon-about@3x~iphone.png","icon-about~ipad.png","icon-spotlight@2x.png","icon-spotlight@3x~iphone.png","icon-spotlight~ipad.png","icon-table@2x.png","icon-table@3x~iphone.png","icon-table~ipad.png","icon@2x~ipad.png","icon@2x~iphone.png","icon@3x~iphone.png","icon~ipad.png"],"UIPrenderedIcon":true}},"MallocBehavior":{"NanoAllocator":false},"UIHasPrefs":true,"DTPlatformName":"iphonesimulator","device":"iphone","CFBundleURLTypes~iphone":[{"CFBundleURLName":"Web App URL","CFBundleURLSchemes":["webclip"],"CFBundleURLIsPrivate":true},{"CFBundleURLName":"Web site URL","CFBundleURLSchemes":["http","https"]},{"CFBundleURLName":"Radar URL","CFBundleURLSchemes":["rdar","radar"]},{"CFBundleURLName":"FTP URL","CFBundleURLSchemes":["ftp"]},{"CFBundleURLName":"Web Search URL","CFBundleURLSchemes":["x-web-search"]},{"CFBundleURLName":"MobileSafari Tab URL","CFBundleURLSchemes":["com-apple-mobilesafari-tab"],"CFBundleURLIsPrivate":true}]}],"configuration":{"proxy":"org.uiautomation.ios.grid.IOSRemoteProxy","remoteHost":"http://<IP_ADDRESS>:5555","hubHost":"<IP_ADDRESS>","maxSession":1,"registerCycle":5000,"hubPort":4444,"register":true},"class":"org.openqa.grid.common.RegistrationRequest"}
17:14:096 INFO StoppableRegisteringRemote$1.run  Starting auto register thread. Will try to register every 5000 ms.
17:14:096 INFO StoppableRegisteringRemote.registerToHub  Registering the node to hub :http://<IP_ADDRESS>:4444/grid/register
17:14:148 INFO StoppableRegisteringRemote$1.run  couldn't register this node : Error sending the registration request.
17:19:165 INFO StoppableRegisteringRemote.registerToHub  Registering the node to hub :http://<IP_ADDRESS>:4444/grid/register
17:19:174 INFO StoppableRegisteringRemote$1.run  couldn't register this node : Error sending the registration request.
^C2015-08-12 15:17:25.002:INFO:oejsh.ContextHandler:stopped o.e.j.s.ServletContextHandler{/,null}
2015-08-12 15:17:25.003:INFO:oejsh.ContextHandler:stopped o.e.j.s.ServletContextHandler{/static,null}
And this is the output on the Windows (grid hub):
15:16:10.856 WARN - Max instance not specified. Using default = 1 instance
2015-08-12 15:16:10.857:WARN:osjs.ServletHandler:/grid/register
java.security.InvalidParameterException: Error: org/json/JSONException
at org.openqa.grid.internal.BaseRemoteProxy.getNewInstance(BaseRemoteProxy.java:432)
at org.openqa.grid.web.servlet.RegistrationServlet.process(RegistrationServlet.java:86)
at org.openqa.grid.web.servlet.RegistrationServlet.doPost(RegistrationServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.seleniumhq.jetty7.servlet.ServletHolder.handle(ServletHolder.java:565)
at org.seleniumhq.jetty7.servlet.ServletHandler.doHandle(ServletHandler.java:479)
at org.seleniumhq.jetty7.server.session.SessionHandler.doHandle(SessionHandler.java:225)
at org.seleniumhq.jetty7.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.seleniumhq.jetty7.servlet.ServletHandler.doScope(ServletHandler.java:406)
at org.seleniumhq.jetty7.server.session.SessionHandler.doScope(SessionHandler.java:186)
at org.seleniumhq.jetty7.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at org.seleniumhq.jetty7.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.seleniumhq.jetty7.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.seleniumhq.jetty7.server.Server.handle(Server.java:349)
at org.seleniumhq.jetty7.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at org.seleniumhq.jetty7.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)
at org.seleniumhq.jetty7.server.AbstractHttpConnection.content(AbstractHttpConnection.java:894)
at org.seleniumhq.jetty7.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:948)
at org.seleniumhq.jetty7.http.HttpParser.parseNext(HttpParser.java:857)
at org.seleniumhq.jetty7.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.seleniumhq.jetty7.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)
at org.seleniumhq.jetty7.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)
at org.seleniumhq.jetty7.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)
at org.seleniumhq.jetty7.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)
at java.lang.Thread.run(Unknown Source)
PLEASE help me. I don't have no more idea how to proceed :-(
Google says also nothing i could use as a solution for my problem.

Can you help me?

I'm seeing the same thing (java.security.InvalidParameterException: Error: org/json/JSONException). This is with both the hub and node running on OS X 10.11, though. Java 8.

Doesn't seem to be a Selenium server version issue. I tried a few older versions, notably 2.43.1 (which was the stable one at the time the ios plug 0.6.6-SNAPSHOT was built) which gives a java.security.InvalidParameterException: Error: org/uiautomation/ios/grid/StatusToCapabilitiesService error which indicates lack of support(?) and 2.44.0 (which would be the unstable version at the time), which errors out with the same JSON error as 2.49.0 does...

I'm replying to this because I had the same exact issue.
The problem:
the build version of ios-grid-plugin-0.6.6 seems to be incompatible with the version of selenium-server-standalone that is using a different version of org-json. For sure this issue is dependency conflicts across class paths.
Solution:

Download version 2.4.4 of the grid - https://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar

Launch grid with this command:
java -cp ios-grid-plugin-0.6.6-SNAPSHOT.jar:ios-server-standalone-0.6.6-SNAPSHOT.jar:selenium-server-standalone-2.44.0.jar org.openqa.grid.selenium.GridLauncher -role hub

Launch node with this command (note: replace the urls as necessary, I tried this locally):

java -jar ios-server-standalone-0.6.6-SNAPSHOT.jar -aut ios-build.ipa -hub http://<IP_ADDRESS>:4444/grid/register -proxy org.uiautomation.ios.grid.IOSMutableRemoteProxy -host <IP_ADDRESS> -port 5555

Working:

Done - registered and working.

Hi Guys, thanks for the tip. I will try it out nexy days!

hi, I met this issue too.
I am using selenium-server-standalone-2.53.1.jar and ios-grid-plugin-0.6.6-snapshot.jar to start hub, and using ios-driver-0.6.6-snapshot.jar to start node.
I've tried to use selenium-server-standalone-2.44.0.jar but I have java.lang.IllegalArgumentException: No enum constant org.openqa.selenium.Platform.WIN10
can anybody help me?
Thx


iframe support

hello sir how can i add an iframe

Content: ""
Sent from my iPhone
On Jul 20, 2016, at 12:02 AM, Sarfroz <notifications<EMAIL_ADDRESS>wrote:
hello sir how can i add an iframe
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/craftpip/jquery-confirm/issues/129, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQw9yKoDYmtQ15r2XvaEX8xZ-QYlnbR5ks5qXZ4TgaJpZM4JQZt2.

thanks sir its working fine only it lacks a loadig image as when content
method loads any local file
On Wed, Jul 20, 2016 at 10:02 AM, dvmobley<EMAIL_ADDRESS>wrote:

Content: ""
Sent from my iPhone
On Jul 20, 2016, at 12:02 AM, Sarfroz<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
hello sir how can i add an iframe
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<
https://github.com/craftpip/jquery-confirm/issues/129>, or mute the
thread<
https://github.com/notifications/unsubscribe-auth/AQw9yKoDYmtQ15r2XvaEX8xZ-QYlnbR5ks5qXZ4TgaJpZM4JQZt2

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/craftpip/jquery-confirm/issues/129#issuecomment-233835756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL3kJhME_CW1ZvpPA08IlFMDBqZK2RRRks5qXaTZgaJpZM4JQZt2
.

For loading, you can use jconfirm's showLoading and hideLoading and listen to iframe onLoad event


:construction: add some shapes

With this PR I plan to resolve most (or all) of the FlatShapes
related to issue #13

I made a git mess, so I will close this PR and open a new one with my fork tidy


add 'Access-Control-Allow-Origin' = * header

My workflow for developing tile sets involves creating a tileset with some tool(frequently tippecanoe), viewing with mbview for QA, then another QA step where it gets viewed in an existing style. Having mbview send an Access-Control-Allow-Origin header eliminates the the need to start another server to serve tiles for that final QA step.

Closing due to no activity for > 6 months


Use verify_request_format! method to check valid request format

This commit fix a problem to be able to render error responses for
format distinct to html (for example json) because e.request.format is
returning a Mime::Type object that doesn’t match with the values in
self.class.respond_to that is a hash with keys :html, :json, etc
Using the responders’ verify_requested_format! we are getting exactly
the same goal delegating the tasks in the own responders gem.

Pull Request Test Coverage Report for Build 1565

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-2.8%) to 59.016%

Files with Coverage Reduction
New Missed Lines
%

lib/exception_handler/config.rb
1
77.78%

Totals

Change from base Build 1563:
-2.8%

Covered Lines:
72

Relevant Lines:
122

💛  - Coveralls

Pull Request Test Coverage Report for Build 1565

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-2.8%) to 59.016%

Files with Coverage Reduction
New Missed Lines
%

lib/exception_handler/config.rb
1
77.78%

Totals

Change from base Build 1563:
-2.8%

Covered Lines:
72

Relevant Lines:
122

💛  - Coveralls


setSelectedEvent on onDragCreateEnd

Could we add an option to set the selectedEvent immediately after an event is created? That way the user would not have to re-select the event to increase the duration.

I will thinking about create event like google calendar in version 2.0


How to scan

How to scan

It's meant to operate as a daemon for other applications to pass their files to and have it respond with either good/bad.
You could certainly use it for scanning however of file systems if you opened a bind mount volume and went into the container and executed the appropriate clam commands, however again, that's not what this is designed for..
I use it with my docker-nextcloud repo, and also docker-postal and docker-rspamd.

It's meant to operate as a daemon for other applications to pass their files to and have it respond with either good/bad.
You could certainly use it for scanning however of file systems if you opened a bind mount volume and went into the container and executed the appropriate clam commands, however again, that's not what this is designed for..
I use it with my docker-nextcloud repo, and also docker-postal and docker-rspamd.

Do I need to mount the local directory to the docker container using volumes and then call clamscan?
Can you give me an example?

Yes, that's what I was saying: You could try this as a command line example
docker run -it -v /home/lonefeide2008:/scan tiredofit/clamav:latest bash
Then when inside you would run the clamscan executible against your /scan folder which would be your home directory from outside the container.

Yes, that's what I was saying: You could try this as a command line example
docker run -it -v /home/lonefeide2008:/scan tiredofit/clamav:latest bash
Then when inside you would run the clamscan executible against your /scan folder which would be your home directory from outside the container.

I found a problem that there is no virus database by default. I am a Chinese user, but the download speed here is very slow. How should I solve it?

Right the container is designed to download a database on first install and will persist if you expose the proper volumes (/data). It's hardcoded where we download the definitions from but I can add in an environment variable for that, however i'm not sure where else we would get them from. Will do so tomorrow.

正确的是，该容器旨在在首次安装时下载数据库，并且如果公开适当的卷（/数据），该容器将保留下来。我们从哪里下载定义是硬编码的，但是我可以为此添加一个环境变量，但是我不确定我们还能从哪里获得它们。明天会这样做。

Thank you very much

Does this container have exposed APIs that can be used

Is this project used correctly?
https://github.com/eliasgranderubio/dagda/blob/master/dagda/analysis/static/av/malware_extractor.py
Run ClamAV
def _clamav_run(docker_driver, temp_dir):
# Docker pull for ensuring the tiredofit/clamav image
docker_driver.docker_pull('tiredofit/clamav')
# Start container
container_id = docker_driver.create_container('tiredofit/clamav',
"clamscan -ri  " + temp_dir,
[
temp_dir
],
docker_driver.get_docker_client().create_host_config(
binds=[
temp_dir + ':' + temp_dir + ':ro'
]))
docker_driver.docker_start(container_id)
# Wait for clamav
output = docker_driver.docker_logs(container_id, True, False, True)
# Stop container
docker_driver.docker_stop(container_id)
# Clean up
docker_driver.docker_remove_container(container_id)
# Return
return output

I'm not so great with Python unfortunately. From my limited view should be correct?

WRT to an API. We do expose port 3310 as a socket to take parameters. Thats the original intent of the container. If you research the way that Clam AV takes socket connections you should be able to pass a file via a TCP socket to it and it should give you a response (OK/FAIL).

I'm not so great with Python unfortunately. From my limited view should be correct?

The result of my test is a failure

WRT to an API. We do expose port 3310 as a socket to take parameters. Thats the original intent of the container. If you research the way that Clam AV takes socket connections you should be able to pass a file via a TCP socket to it and it should give you a response (OK/FAIL).

What is the correct way to use this project?
I didn't figure out how your project was used.

I use it for this purpose - To scan email messages as they come in from Rspamd, as per manual here: https://rspamd.com/doc/modules/antivirus.html

是的，这就是我的意思：您可以尝试将其作为命令行示例
docker run -it -v /home/lonefeide2008:/scan tiredofit/clamav:latest bash
然后在内部时，将对clamscan容器运行可执行/scan文件，该文件夹将是容器外部的主目录。

我发现一个问题，默认情况下没有病毒数据库。我是中国用户，但是这里的下载速度非常慢。我应该如何解决？

Is it supported now?

There's been no updates since we last wrote in here, image is working as intended..

/scan is not in the documentation, can this please be added? What I'm reading here isn't documented and I think this is pretty critical to using this container.


Change default feed

The option to set a custom default feed for self-hosted webrcade would be awesome. That way, you can always have people be able to see the same list automatically. it also gives users who don't wish to use the stock default feed the option to choose not to use it.

url parameter - "?feed=your feed url" or replace the contents of the file-  defaul-feed.json

url parameter - "?feed=your feed url" or replace the contents of the file- defaul-feed.json

As someone who uses a cloud URL, I can’t really replace the default JSON. And I really wouldn’t expect anyone who is using my hosted instance to have the feed url memorised to set the url parameter every time they go to play games.

url parameter - "?feed=your feed url" or replace the contents of the file- defaul-feed.json

changing default-feed.json doesn't work, because:

The one from play.webrcade.com is loaded anyway.
As for the ?feed=URL doesn't seem to work either...

Why are they making so freaking hard to change the default?


transcode: added mp4 output

What does this pull request do? Explain your changes. (required)

Specific updates (required)

How did you test each of these updates (required)

Does this pull request close any open issues?

Screenshots (optional)

Checklist

[ ] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

Closing, it was already implemented in another PR.


feat: show weather info current location instead of "New York City"

Context
Currently, the website shows New York's weather, this PR will enable to the website to show the user's location weather.
Contributers
@KhudaDad414 @yyjlincoln
Related Issues
Closes #3

Good to merge

@KhudaDad414 @yyjlincoln @VaibhaveS this has some conflicts preventing merge, PTAL so we can merge!

@ditsuke I've fixed the merge conflict & also added a small feature to allow the user to search their city without having to choose from the list. Some very small suburbs might not be on the list. PTAL

cc @KhudaDad414 @yyjlincoln @VaibhaveS

@ditsuke I've fixed the merge conflict & also added a small feature to allow the user to search their city without having to choose from the list. Some very small suburbs might not be on the list. PTAL

@yyjlincoln
I really like the new feature, nicely done! Since we already had the approvals and only have a minor change since, I'll go ahead and merge this in.


Use local source for e2e tests

Builder's internal e2e tests do not use the local source for @blackbaud/skyux-builder. This pull request fixes that.

Codecov Report

Merging #493 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #493   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          54     54
  Lines        1682   1682
  Branches      250    250
=====================================
  Hits         1682   1682

Flag
Coverage Δ

#builder
100% <ø> (ø)
:arrow_up:

#runtime
100% <ø> (ø)
:arrow_up:

#srcapp
100% <ø> (ø)
:arrow_up:

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 c4dbff0...b98d7da. Read the comment docs.


Mac0 should use t_cose_mac_add_body_header_params

This is the new way to list parameters to encode. See t_cose_sign_sign. this will get rid of the content type methods.

Fixed by #113


Add JDK 11 compatibility to ballerina 1.2.x

Purpose
This PR adds JDK 11 compatibility to ballerina 1.2.x
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

 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.


Changed initial HTTP request to HEAD from GET

The initial response only needs to get the content-length which will be returned by a HTTP HEAD request without any payload.  Eliminates extra network traffic and minimizes the number of HTTP GET requests on a resource (helps if there is throttling for GET but HEAD is allowed)
addresses: rlmcpherson/s3gof3r#59

Closing this per #59


[JENKINS-37430] Add support for ppc64le

JENKINS-37430
@reviewbybees
it adds support for Power8 platform, these are the commits related with the PR
https://github.com/jnr/jffi/commit/7e22759c08f4a0dc9e3a9158829bf853fbe08e9c
https://github.com/jnr/jnr-unixsocket/commit/767ed30357a1c21ecfd6b474142e01c10a5c5c8b
https://github.com/jnr/jnr-ffi/commit/6d8cdc0ce1a5d6dcfbec5c3b635bfe3232088273

@stephenc WDYT about this upgrade of plugins to support ppc64le

Did you check if Jenkins has been updated to match?
This is somewhat similar to the bouncycastle issue

@stephenc in core there are a previous version of jnr-posix, I am going to review if it works without touch it in both sides.
    <dependency>       <groupId>com.github.jnr</groupId>       <artifactId>jnr-posix</artifactId>       <version>3.0.1</version>     </dependency>

@stephenc I tested that we can keep jnr-posix on same version of core

@reviewbybeesPlease, if someone can review it will be appreciated

:bee:

Would be nice to see the full list of changes in libs.
I suppose we pick much more than a particular fix. Regarding the custom build of <IP_ADDRESS>-jenkins-20276, we should ensure that the all fixes from this custom build are integrated to the upstream

we should ensure that the all fixes from this custom build are integrated to the upstream

Right, I think that is the main task.

@jglick @oleg-nenashev AFAIT by the last comment in https://github.com/jnr/jnr-ffi/pull/23, JENKINS-20276 it is not longer an issue on this library

@reviewbybees done


CI: enable a few more mypy checks

require specific error codes (enable_error_code = "ignore-without-code")
require explicit exports of imports (through redudant as or in __all__, pyright does the same, implicit_reexport)
when pyright and mypy disagree, we can use pyright-specific ignore comments (warn_unused_ignores)

What is the goal of the tests inside TYPE_CHECKING? Is that for compatibility with older versions or are these placeholder for future "not-tests"?

require specific error codes (enable_error_code = "ignore-without-code")
require explicit exports of imports (through redudant as or in __all__, pyright does the same, implicit_reexport)
when pyright and mypy disagree, we can use pyright-specific ignore comments (warn_unused_ignores)

What is the goal of the tests inside TYPE_CHECKING? Is that for compatibility with older versions or are these placeholder for future "not-tests"?

The goal of those tests are code that would raise an Exception if you executed it.  In theory, each of those lines should be picked up by the type checker as being incorrect, so you would need a # type: ignore to tell the type checker that you are expecting it to find an error.  The issue here is that between pyright and mypy, either or both of them will pick up that the code is incorrect.  If both do, or just mypy does, we're fine with a # type: ignore comment.  If only pyright does, then we can use the pyright notation you included in this PR.  If none of them do, it means our stubs are too wide.

The goal of those tests are code that would raise an Exception if you executed it.

Great, I wasn't aware that there are already negative test cases!

We want to have tests that the type checker should pick up as being invalid code.

The current way of having the ignore comments but not checking whether they are needed, doesn't test these negative test cases. As you mentioned it would be good to also use pyright to check whether it needs the ignore comments.
I will try to look into why mypy/pyright accept some of these negative tests. If we are not able to make mypy/pyright error on the negative tests, should we simply create an issue to keep track of these negative tests being accepted?

The goal of those tests are code that would raise an Exception if you executed it.

Great, I wasn't aware that there are already negative test cases!

We want to have tests that the type checker should pick up as being invalid code.

The current way of having the ignore comments but not checking whether they are needed, doesn't test these negative test cases. As you mentioned it would be good to also use pyright to check whether it needs the ignore comments.
I will try to look into why mypy/pyright accept some of these negative tests. If we are not able to make mypy/pyright error on the negative tests, should we simply create an issue to keep track of these negative tests being accepted?

Maybe we should move all of the negative tests to a separate test file, keep the ones (with the correct # type: ignore or #pyright comments, and then note the ones that are currently "failing", in the sense that we want to type checker to error out on them, and those are the ones that go into an issue.

I will separate this PR into two PRs: w/wo warn_unused_ignores.

It will be difficult to have mypy and pyright both reporting which ignores the don't need as mypy has no mypy-specific ignore comments (https://github.com/python/mypy/issues/12358) but pyright does not need a lot of the ignores in the pandas-stubs itself:
pandas-stubs/_libs/tslibs/timedeltas.pyi:118:17 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:104:67 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:136:54 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:137:54 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:138:54 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:139:54 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:141:17 - error: Unnecessary "# type: ignore" comment
pandas-stubs/_libs/tslibs/timestamps.pyi:148:17 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/arraylike.pyi:15:72 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/arraylike.pyi:16:72 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/series.pyi:1107:61 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/series.pyi:1138:61 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/series.pyi:1751:61 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/series.pyi:1752:20 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/arrays/datetimelike.pyi:45:104 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/arrays/datetimes.pyi:15:64 - error: Unnecessary "# type: ignore" comment
pandas-stubs/core/indexes/base.pyi:208:51 - error: Unnecessary "# type: ignore" comment

It will be difficult to have mypy and pyright both reporting which ignores the don't need as mypy has no mypy-specific ignore comments (python/mypy#12358) but pyright does not need a lot of the ignores in the pandas-stubs itself:

Yes, and that creates the dilemma for us.  We have to put in #type: ignore where we know mypy is wrong, or where we are expecting the type checker to report an error.  But we can't separate out the cases between mypy and pyright
I'm presuming that this PR is not ready to be reviewed, given you said you'd split it into two.

I'm presuming that this PR is not ready to be reviewed, given you said you'd split it into two.

I think it should be ready to merge: I removed warn_unused_ignores.
Personally, I think it would be an improvement to already enable warn_unused_ignores (and use pyright-specific codes where needed without requiring that pyright reports its unneeded ignore comments). Especially, after your recent PRs, there are many negative test cases without any ignore comments.

Thanks @twoertwein

Especially, after your recent PRs, there are many negative test cases without any ignore comments.

Actually, I didn't add any negative tests.  It turned out that using pytest.skip() was causing both mypy and pyright to not check the code that followed.  But that code would not execute with pytest (e.g., df.plot()).  So I used if TYPE_CHECKING to make sure the API was checked


Allow for secrets when creating resources

Description
As a TRE Administrator
I want the API to accept secrets when creating resources
So that I can add them to a secret store
Acceptance criteria

[ ] Secrets are not shown in the state store database as plain text before the resource is created
[ ] Secrets are removed after they have been added to the secret store

If you look at the test_create_guacamole_service_into_base_workspace test, and ultimately when you create a workspace; you have to pass in the Workspace_Client_Id/Secret. This gets stored inside the "Resource" document in cosmos and is ultimately passed to a bundle. Now we don't want to see that secret in the document, but it needs to get passed to Terraform for it to end up in the Workspace KeyVault

We had a discussion this morning during standup regarding this ticket. Some notes from that discussion are below.
Consider creating a resource which accepts secret as an input. Currently, the flow works like this:
User issues a request to API with a secret. This is persists in Cosmos currently. A message with the secret is also sent to Service Bus, which gets read by Resource Processor. Resource Processor passes that secret and installs the resource bundle. In terraform configuration of the bundle, the secret is then saved into a keyvault. For example, when we install Guacamole into workspace, it then references a secret already stored in the keyvault.
There are broadly two ways to go about this:

@tamirkamara's suggestion: Not persisting secret in Cosmos. This means we don't have to deal with encrypting and decrypting of the secret. However the update flow is unclear. When updating a resource, the same set of input parameters is required as when installing a resource, which means that Resource Processor will need to provide a secret, which at this point it does not have access to, unless a special solution is implemented for this.

@ross-p-smith's suggestion: Persisting secret in Cosmos. This means we need to encrypt secret in API when it is stored, using some sort of Primary Key which will be stored in Core Keyvault, and decrypt it in Resource Processor before sending it to the bundle during installs and updates. This solves problem of resource update but requires encrypting and decrypting secrets in Cosmos, which now need to be treated as a special value type.

A consideration to keep in mind is that secrets also need to be rotated, both the resource secrets and Primary Key (if solution 2 is used).

Some thoughts on each...

The install parameters can be different to the upgrade parameters at the API level, and they map to different actions in the bundle. In the bundle YML you'd need to maybe pass in a blank string, (or have a default val for the var in TF) and check for that in TF.

If we're looking to persist the secret in some form, rather than encrypting it why not just store the secret in KV and persist the URI (or secret name + KV ID) to the object in Cosmos? If you avoided referencing a specific secret version then the secret could be rotated without any impact. The secret name and KV ID would be passed to TF which could grab the value as needed via a data block.

The question is how do we store the value in KeyVault in the first place. The value we want to store is created outside of TRE, by an AAD Administrator. It has to be passed into TRE

We could ask the AAD Administrator to add it to the KeyVault, but now we have an AAD Admin doing an Azure Role.
We could have an API that has one responsibility: adds secrets to a workspace vault and it doesn't do it through TF. This would have to be done after the Workspace is created.

I'm not sure how a secrets API endpoint would work given all the mechanics of the API trigger a deploy after the resource is initially posted?

yea it may well be better to not persist them anywhere - but it's only the workspace creation secret that is problematic isn't it? Once the workspace is there all subsequent secrets could live in the workspace KV?

I'm supportive of going one step forward without persisting the secret anywhere for now. But, are we sure we don't have any "update" or custom actions that are going to suffer from this? @marrobi, do you know?
+1 on the idea to persist into keyvault (instead of encrypt/decrypt) longer term.

@damoodamoo

but it's only the workspace creation secret that is problematic isn't it? Once the workspace is there all subsequent secrets could live in the workspace KV?

They will live in the workspace KV, the problem is how they get there. In a scenario when a secret is supplied by the user, which is what we're discussing here, the secret is supplied in the request, and currently all of the parameters from request are stored in Cosmos (including the secret, unencrypted), and that's going to be true for any resource.
I don't think we can make requests to store secrets in the workspace KV from the API, as workspaces are not accessible from core by design (https://microsoft.github.io/AzureTRE/azure-tre-overview/networking/#workspaces)

I didn't appreciate the network isolation aspect between Core / Workspaces. An idea to discuss then:

New KV in core dedicated to storing resource secrets.
We find a way to identify a property as being a secret (we need to do this for any approach I guess)
In the API, we scan the properties, find any secrets, push to KV and store the secret name in Cosmos instead

... this is only if we feel there's a need to store the secrets at all, which I guess is also up for debate :)

@damoodamoo That sounds good and in line with what @ross-p-smith  and I discussed offline yesterday.
I think for the first step I'll make the change to stop writing secrets to Cosmos, for which, as you say, we also need to identify which properties are secrets. Then as a second step we can make the KV change.


Vertical align the file browser's icons.

1. What does this change do, exactly?
Vertical align the file browser's icons.
2. Please link to the relevant issues.
No issues reported.
3. Which documentation changes (if any) need to be made because of this PR?
No.
4. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have squashed any insignificant commits
[x] I am willing to help maintain this change if there are issues with it later

 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.

So, it looks like this. https://files.tosiney.com/

We kept them aligned as they currently are to fix this problem, which arises with your changes:

So, while I appreciate your consideration in making this PR, I don't think we will accept it; it looks fine as-is and even looks better when filenames wrap.

@mholt that should be easy to fix by just making sure the text is in a div/block which won't wrap the text on the second line to further to the left than it should.


Build failure with message "Could not get unknown property 'gpr.user' for root project 'mbeddr.formal'"

I clone the repo and started to build by executing ./gradlew at the terminal and the build fails with the following message:

Configure project :
Local build detected, version will be SNAPSHOT

FAILURE: Build failed with an exception.

Where:
Build file '<Local_PATH_omitted>/mbeddr.formal/build.gradle.kts' line: 128

What went wrong:
Could not get unknown property 'gpr.user' for root project 'mbeddr.formal' of type org.gradle.api.Project.

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 328ms_

you need to configure gradle.properties as described in the readme.md - https://github.com/mbeddr/mbeddr.formal/blob/master/README.md
you also need to set in gradle.properties the following two variables (defined also in gradle.properties.example)
github_username=
github_token=

The build fails with the same error message after specifying the GitHub credentials. Is there a way I can debug the build file.

please try in gradle.properties  (instead of github_username and
github_token)
gpr.user=
gpr.token=
On Thu, Apr 27, 2023 at 4:38 PM Waqar Ahmed @.***>
wrote:

The build fails with the same error message after specifying the GitHub
credentials. Is there a way I can debug the build file.
—
Reply to this email directly, view it on GitHub
https://github.com/mbeddr/mbeddr.formal/issues/72#issuecomment-1525816913,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK63VKO7YZTL6K5F3AG5N3XDKAHDANCNFSM6AAAAAAXM7ZOUU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks. Now I got the following error:
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details

Configure project :
Local build detected, version will be SNAPSHOT

Task :build_allScripts FAILED
Buildfile: /home/waqar/Documents/misc/tools/mbeddr.formal/build/scripts/build_all_scripts.xml
Trying to override old definition of datatype module

BUILD FAILED
/home/waqar/Documents/misc/tools/mbeddr.formal/build/scripts/build_all_scripts.xml:48: Problem: failed to create task or type generator-settings
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any / declarations have taken place.
Total time: 0 seconds
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':build_allScripts'.

Process 'command '/usr/lib/jvm/jdk-11/bin/java'' finished with non-zero exit value 1

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 4s
5 actionable tasks: 3 executed, 2 up-to-date

please double check that you set the variables
mpsHomeDir=C:/XYZ/MPS_2021_3_2
mbeddr.formal.home=C:/XYZ/mbeddr.formal.migration
On Thu, Apr 27, 2023 at 9:04 PM Waqar Ahmed @.***>
wrote:

Thanks. Now I got the following error:
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use
--status for details
Configure project :
Local build detected, version will be SNAPSHOT
Task :build_allScripts FAILED
Buildfile:
/home/waqar/Documents/misc/tools/mbeddr.formal/build/scripts/build_all_scripts.xml
Trying to override old definition of datatype module
BUILD FAILED
/home/waqar/Documents/misc/tools/mbeddr.formal/build/scripts/build_all_scripts.xml:48:
Problem: failed to create task or type generator-settings
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any / declarations have taken place.
Total time: 0 seconds
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':build_allScripts'.

Process 'command '/usr/lib/jvm/jdk-11/bin/java'' finished with non-zero
exit value 1

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 4s
5 actionable tasks: 3 executed, 2 up-to-date
—
Reply to this email directly, view it on GitHub
https://github.com/mbeddr/mbeddr.formal/issues/72#issuecomment-1526193706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK63VNM3EHC5DT6653Z2FDXDK7MDANCNFSM6AAAAAAXM7ZOUU
.
You are receiving this because you commented.Message ID: <mbeddr/mbeddr.
@.***>

I was using MPS_2021.2 as instructed in the README. However, when I changed to MPS_2021_3_2 the build is successful. After that, I followed the instruction with MPS and set the path variable mbeddr.formal.home to the cloned repo. When building the com.mpsbasic, I got the following error:
Java library jar should be extracted into build script: ${mpsbasics.code}/solutions/com.mpsbasics.docx4j.lib/lib/checker-qual-2.8.1.jar
-- -- was input node: [modules] BuildMps_Solution "com.mpsbasics.docx4j.lib"[4653181259421558709] in com.mpsbasics.build.build@0
-- was template node: r:54537613-52b5-40a8-b223-e87f0960b04f(jetbrains.mps.build.mps.generator.template.main@generator)/3189788309732145594
Java library jar should be extracted into build script: ${mpsbasics.code}/solutions/com.mpsbasics.docx4j.lib/lib/commons-compress-1.21.jar

appologies, I fixed the MPS version in the readme
After the gradle build is successful, you are done. You can open the safety
project, the tutorial, and browse the models
On Fri, Apr 28, 2023 at 4:27 AM Waqar Ahmed @.***>
wrote:

I was using MPS_2021.2 as instructed in the README. However, when I
changed to MPS_2021_3_2 the build is successful. After that, I followed the
instruction with MPS and set the path variable mbeddr.formal.home to the
cloned repo. When building the com.mpsbasic, I got the following error:
Java library jar should be extracted into build script: ${mpsbasics.code}/solutions/com.mpsbasics.docx4j.lib/lib/checker-qual-2.8.1.jar
-- -- was input node: [modules] BuildMps_Solution "com.mpsbasics.docx4j.lib"[4653181259421558709] in @.***
-- was template node: @.***)/3189788309732145594
Java library jar should be extracted into build script: ${mpsbasics.code}/solutions/com.mpsbasics.docx4j.lib/lib/commons-compress-1.21.jar
—
Reply to this email directly, view it on GitHub
https://github.com/mbeddr/mbeddr.formal/issues/72#issuecomment-1526889927,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK63VIMLT6F2JK3UPYSQF3XDMTHNANCNFSM6AAAAAAXM7ZOUU
.
You are receiving this because you commented.Message ID: <mbeddr/mbeddr.
@.***>

Okay. I can open the tutorial project and browse through the code. However, I couldn't get the same FASTEN environment and features as in First steps and the integration of NuSMV when starting MPS.
Is this environment only available for Windows? It appears that I may have to switch to Windows to get going with FASTEN.

There are three tutorial projects -

tutorial - mostly the DSLs stack on NuSMV
tutorial-mdcc - the model-driven-code-checking demo
tutorial-safety - the safety assurance DSLs

FASTEN integrates external model checking tools - in
"rcp_resources\external_tools" are the binaries (windows + linux) - you
just put them in PATH and calling nusmv should work

if you use the RCP (binary distribution of FASTEN they should work
right-away)

On Fri, Apr 28, 2023 at 3:15 PM Waqar Ahmed @.***>
wrote:

Okay. I can open the tutorial project and browse through the code.
However, I couldn't get the same FASTEN environment and features as in First
steps and the integration of NuSMV
http://youtube.com/watch?v=bOm-WyQJV_E when starting MPS.
Is this environment only available for Windows? It appears that I may have
to switch to Windows to get going with FASTEN.
—
Reply to this email directly, view it on GitHub
https://github.com/mbeddr/mbeddr.formal/issues/72#issuecomment-1527548176,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK63VM6FAP3U4QACVHKPR3XDO7GHANCNFSM6AAAAAAXM7ZOUU
.
You are receiving this because you commented.Message ID: <mbeddr/mbeddr.
@.***>


Chat up and down arrow key scrolls over chat channel message history

#2881

Now that the state overhaul has been deployed you can use this with the chat messages kept in the chatChannel object once you rebase


Move shopping cart icon to last position in footer

The footer has a shopping cart icon. It should be the last icon in the row

Hi, there
Kindly assign this task to me

Assign me please. :)

Picking this up

Please can you assign this to me

@angiejones I have opened a PR of this issue please review...

Hi @angiejones,
Thanks for assigning me this issue. I've opened a pull request for the changes:https://github.com/TBD54566975/developer.tbd.website/pull/850
Let me know if you have any questions or feedback.


ESM1.5 COVID TwoYearBlip runs

resolution_complete type_CMIP6 (other)   |    by<EMAIL_ADDRESS>
30 member ensemble of COVID TwoYearBlip simulations (2015-2050)
exp name: SSP-245-tyb-01 .. 30
branched from: HI-05..34
cmip6 exp name: ssp245-covid
cmorisation only at this stage, but experiments will be published under DAMIP

Issue migrated from trac:384 at 2024-01-31 18:36:26 +1100

<EMAIL_ADDRESS>changed status from new to closed

<EMAIL_ADDRESS>changed milestone from Run complete to Archived

<EMAIL_ADDRESS>commented

CMORised and sent to NCI for publication.

<EMAIL_ADDRESS>set resolution to complete


HADOOP-18217. ExitUtil synchronized blocks reduced to avoid exit bloc…

…king halt + enlarged catches (robustness) to all Throwables (not just Exceptions)

Description of PR
I've reduced the synchronized blocks scope so System.exit and Runtime.halt calls aren't within their boundaries, so ExitUtil wrappers do not block each others (System.exit never returns if called and no SecurityException is raised, so ExitUtil.terminate was never releasing the acquired lock, thus forbidding ExitUtil.halt to be able to halt the JVM even when in the middle of a graceful shutdown, thus it was not behaving like the 2 wrapped java's methods System.exit/Runtime.halt which do not block each other)
I've altered throwable handling:

what is catched: was nothing or only Exception, now all Throwables are catched (even ThreadDeath)
what is rethrown: when exit/halt has been disabled, if what was catched is an Error it will be rethrown rather than the initial ExitException/HaltException. Other Throwables will be added as suppressed to the Exit/HaltException
what wasn't catched: if not disabled, even is something was raised that wasn't catched before, it is now catched and System.exit/Runtime.halt is always called
what is suppressed: if the what needs to be rethrown is changed on the way, the newly to-be-thrown will have the old one as a suppressed Throwable. I've also done this for the Exit/Halt Exception that can supress Throwables that are not Error (might not be a so good idea)

How was this patch tested?
No more tests than the existing ones (if any). This case is not really hard to reproduce but the test would need to exit a JVM. I've not added such tests because if unit does not fork, it would kills the test suite (thus impacting all tests). I think developing a robust test for this specific case is way more hard and  dangerous to offset the cost of a review, the risk of what could be missed by this review.
Easiest way can be reproduced the initial bug: having a shutdown hook call ExitUtil.terminate, have another thread that will call ExitUtil.halt after (use pauses to ensure it calls it after the hook), witness the JVM not stopping and needing either an external kill or a internal Runtime.halt call, maybe check the JVM threads' stacks too to view the ExitUtil.terminate call stuck on System.exit, and ExitUtil.halt call stuck on ExitUtil.terminate.
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
17m 59s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  1s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
41m 26s

trunk passed

+1 :green_heart:
compile
25m  9s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
21m 50s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m 45s

trunk passed

+1 :green_heart:
mvnsite
2m  7s

trunk passed

-1 :x:
javadoc
1m 38s
/branch-javadoc-hadoop-common-project_hadoop-common-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
hadoop-common in trunk failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

+1 :green_heart:
javadoc
2m  9s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m 24s

trunk passed

+1 :green_heart:
shadedclient
27m 18s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 10s

the patch passed

+1 :green_heart:
compile
24m  2s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
24m  2s

the patch passed

+1 :green_heart:
compile
21m 36s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
21m 36s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
1m 23s
/results-checkstyle-hadoop-common-project_hadoop-common.txt
hadoop-common-project/hadoop-common: The patch generated 3 new + 2 unchanged - 0 fixed = 5 total (was 2)

+1 :green_heart:
mvnsite
1m 55s

the patch passed

-1 :x:
javadoc
1m 26s
/patch-javadoc-hadoop-common-project_hadoop-common-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
hadoop-common in the patch failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

+1 :green_heart:
javadoc
1m 59s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m  1s

the patch passed

+1 :green_heart:
shadedclient
25m 37s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m  8s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m 13s

The patch does not generate ASF License warnings.

246m 22s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4255

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 0b98321b98d7 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 55b71c8b9bf2840f3bae05c97703eb2c08672b58

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/1/testReport/

Max. process+thread count
2019 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

checkstyle is complaining about line length. move the comments to the lines above the source and all is good. we don't normally have comments of any kind on the same lines as code

Hi,
Thanks for the reviews. I've started to adjust my code to integrate them.
Ok, I'll adjust code style about comment + rename the variable to caught. I'm also adjusting the javadoc to make it clear that in enable mode all throwables are caught, even errors (except maybe only ThreadDeath if it happen after the last try/catch). And in disable mode, the argument exception is re-throw suppressing other internally thrown throwables unless at least one is an error, in which case the 1st error one is rethrow, suppressing anything else. like before the patch: I don't document about RuntimeException subclasses or Error that could be thrown by System.exit/Runtime.halt.
About atomic versus volatile. The "disable" flags (for halt and exit) are not used in test-and-set pattern, nor any kind of do-several-actions that would have to be atomically done so volatile has enough thread sharing capabilities. The "first(Exit|Halt)Exception" fields would benefit from it though so I'm changing them to AtomicReference. It the "disable" flags were more tightly coupled with the "first" fields, then a synchronized would be needed to handle both field values and ensure they always describe a legit ("flag", "first") tuple but that's not the case here too: each can be resetted whatever the other value is. Moving to Atomic has also another benefit: it allows to remove all synchronized blocks on the ExitUtil class, so even if badly/evil code enters a synchronized blocks on ExitUtil.class and never leaves it, ExitUtil terminate/halt code will still be able run without blocking.
About tests : Since i'm changing to AtomicReference I will add some (i still have to check about maybe some existing one) but only when in disable mode.
When enable mode, I'm a bit afraid of the impact if I miss something in the tests. A real test would require to spawn an external JVM with a valid classpath that would need to call ExitUtil with expected codes and check its return code when it dies or kills it after a timeout (the expected codes need to differ from those due to a kill on timeout). If the test for some obscur reason really go wrong and do not kill the external JVM I don't want to impact other tests because of a hanging JVM. If the server/platform is supposed to have a long uptime, I don't want to leak spawned processes, making it an unstable/unreliable testing environment after several test runs. I don't know if such tests would need to be cross platform too. I've access only to windows and linux, not MacOS so i won't be able to check if I really kill the spawned JVM (i would use java.lang.Process which should be portable, even for the kill). I also don't know the impact on other developpers if they run tests on their own machine.

thanks for that detailed explanation.
you are right that spawning jvms and trying trigger timeouts would be trouble. lets just rely on code review here.
atomic references sound file

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 53s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
42m 52s

trunk passed

+1 :green_heart:
compile
25m  1s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
21m 31s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m 30s

trunk passed

+1 :green_heart:
mvnsite
1m 57s

trunk passed

-1 :x:
javadoc
1m 34s
/branch-javadoc-hadoop-common-project_hadoop-common-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
hadoop-common in trunk failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

+1 :green_heart:
javadoc
1m 54s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m  4s

trunk passed

+1 :green_heart:
shadedclient
25m 48s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  8s

the patch passed

+1 :green_heart:
compile
24m  2s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
24m  2s

the patch passed

+1 :green_heart:
compile
21m 41s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
21m 41s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 24s

the patch passed

+1 :green_heart:
mvnsite
1m 55s

the patch passed

-1 :x:
javadoc
1m 28s
/patch-javadoc-hadoop-common-project_hadoop-common-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
hadoop-common in the patch failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

+1 :green_heart:
javadoc
2m  1s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m  5s

the patch passed

+1 :green_heart:
shadedclient
25m 46s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m 10s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m 16s

The patch does not generate ASF License warnings.

228m 29s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4255

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 21a14d2e3f09 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / f279d644ee91e335c63cd090baf0635edc325655

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/2/testReport/

Max. process+thread count
3135 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

The JDK11 javadoc failures seems to all come from an InodeTree.java class this patch does not touch. The only 2 classes (ExitUtil.java and TestExitUtil.java) it is responsible for neither raise javadoc errors not warnings. But i may have miss-read the report :)
If i want to fix the javadoc issue on InodeTree i should open another JIRA/check one is not already working on it ? Also my last pushed commit triggered this last failed build, if another pull request for another JIRA fixes the InodeTree javadoc issue, will it also trigger another (hopefully good) build for this patch pull request ? (sorry I'm not new to git but very new to pull requests :/)

the inode stuff has been fixed elsewhere. if you rebase or merge your pr, it will go away. or we just ignore it, which simplifies keeping this commit history/discussion valid

Hi @HerCath Thanks for the PR. Did you get a chance to address the comments from @steveloughran ? Seems to be pending for a while. If you busy, I will happy to make some progress.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 54s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
40m 15s

trunk passed

+1 :green_heart:
compile
24m 55s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
21m 36s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m 29s

trunk passed

+1 :green_heart:
mvnsite
1m 57s

trunk passed

+1 :green_heart:
javadoc
1m 32s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m  4s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m  3s

trunk passed

+1 :green_heart:
shadedclient
25m 57s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  5s

the patch passed

+1 :green_heart:
compile
24m  2s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
24m  2s

the patch passed

+1 :green_heart:
compile
21m 37s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
21m 37s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m 23s

the patch passed

+1 :green_heart:
mvnsite
1m 56s

the patch passed

+1 :green_heart:
javadoc
1m 23s

the patch passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m  3s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
3m  3s

the patch passed

+1 :green_heart:
shadedclient
25m 51s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m 24s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m 17s

The patch does not generate ASF License warnings.

224m 32s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/5/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4255

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux d87a77336653 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 518fefc06263d557206b21afe17ceb5338025371

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/5/testReport/

Max. process+thread count
3135 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4255/5/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


[BUG] LogForwarder resource lost in between upgrades when upgrading from 5.0.x -> 5.2.x

Describe the bug
Log Forwarder Gravity resource gets lost during upgrade from 5.0.x to 5.2.x
This same issue is NOT happening when upgrading from 5.2.x to 5.5.x, the log forwarder resource persists.
To Reproduce

on a Gravity 5.0.x cluster (I used 5.0.36) create a log forwarder resource
upgrade to 5.2.x
the log forwarder resource shouldn't be present anymore

Expected behavior

the log forwarder resource should persiste in between upgrades

Logs
# 5.0
11:17:41 root@telekube0:/# sudo gravity version
version:        5.0.36
git commit:     582368d59d129774824ca5d1d672fd5480688057

11:17:41 root@telekube0:/# gravity resource get logforwarders
Name           Address               Protocol
----           -------               --------
forwarder1     <IP_ADDRESS>:514     udp

# 5.2
$ sudo gravity version
Edition:        enterprise
Version:        5.2.16
Git Commit:     28ba168d755dd8f5b2f413ba75c6853bb8a5b841

$ sudo gravity resource get logforwarders
Name           Address               Protocol
----           -------               --------

Environment (please complete the following information):

OS [e.g. Redhat 7.4]: Ubuntu 18.04
Gravity [e.g. 5.5.4]: 5.0.36 -> 5.2.16
Platform [e.g. Vmware, AWS]: on prem

one more detail... the Gravity Log Forwarder resource is also lost in the process:
23:17:12 root@telekube0:/# gravity resource get logforwarder
Name           Address               Protocol
----           -------               --------
forwarder1     <IP_ADDRESS>:514     udp
23:17:17 root@telekube0:/# kubectl get -n kube-system cm log-forwarders
NAME             DATA      AGE
log-forwarders   1         22m
23:17:19 root@telekube0:/# gravity version
version:        5.0.36
git commit:     582368d59d129774824ca5d1d672fd5480688057

telekube0:/$ gravity version
Edition:        enterprise
Version:        5.2.17
Git Commit:     ac0c7b9dc4d2dfc5330158b04bd88e9ce853a64c
telekube0:/$ gravity resource get logforwarder
Name     Address     Protocol
----     -------     --------
telekube0:/$ kubectl get -n kube-system cm log-forwarders
NAME             DATA      AGE
log-forwarders   0         1h

Merged.


Colors suggestion for uncommitted lines

First of all, thank you for developing this theme I really enjoyed every theme you have here but I just have one issue with it which is this:

I wonder is there any way you can adjust these uncommitted lines' color? Because IIRC all of the themes have the same issue which is them being quite invisible to the eyes.

Is this just for the JetBrains plugin?
I think VScode's is just fine

I want the line in the gutter to not be obvious, because it takes up a lot of space and breaks up the look and feel of the editor. I don't want to always see it, but I should be able to see it if I start to look for it.
However, I do agree that the error stripe mark (defined in the diff & merge section of intellij) in the scrollbar side, could be a bit more obvious.
I'll have some time later to play around with it, and see see if I like the changes
Probably will be some variant like this (didn't mess with the light themes yet)


change CPU meaning to threads, not cores

Also add Moo cluster.

It seems like the setup is somewhat heterogenous. The moo cluster seems to use number of cores! Can you modify that back to number of cores?

Maybe also include PR for moo?


Make unit tests working on any kernel hosts

Describe the bug
Related to #200, it is recommended to execute the unit tests when packaging an application for Debian/Ubuntu. From what I understand, tests will run in a "chroot" environment it seems we cannot control the host kernel.
To Reproduce
For example, if the host kernel is a v5.4 one, these tests are failing: test-path-manager, test-commands, test-mptcpwrap.
Expected behavior
Maybe skipping these tests if the kernel is not one that is supported would allow me to run all tests instead of disabling some of them on all builds.
Additional context
Debian/Ubuntu packaging, #200
======================================
   mptcpd 0.8: tests/test-suite.log
======================================

# TOTAL: 17
# PASS:  14
# SKIP:  0
# XFAIL: 0
# FAIL:  3
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test-path-manager
=======================

configuration.c:check_file_perms() File "/etc/mptcpd/mptcpd.conf" does not exist.
configuration.c:parse_config_file() Unable to load mptcpd settings from file '/etc/mptcpd/mptcpd.conf'
configuration.c:mptcpd_config_create() path manager plugin directory: tests/plugins/noop/.libs
Required kernel MPTCP support not available.
test-path-manager: test-path-manager.c:92: test_pm_create: Assertion `info->pm != NULL' failed.
FAIL test-path-manager (exit status: 134)

FAIL: test-commands
===================

tests/.libs/test-commands: bind of test address <IP_ADDRESS> to interface 1 failed: Unknown error -1
configuration.c:check_file_perms() File "/etc/mptcpd/mptcpd.conf" does not exist.
configuration.c:parse_config_file() Unable to load mptcpd settings from file '/etc/mptcpd/mptcpd.conf'
configuration.c:mptcpd_config_create() path manager plugin directory: tests/plugins/noop/.libs
Required kernel MPTCP support not available.
test-commands: test-commands.c:473: setup_tests: Assertion `info->pm' failed.
FAIL test-commands (exit status: 134)

FAIL: test-mptcpwrap
====================

Test case 0: PASS
Test case 1: PASS
Test case 2: PASS
Test case 3: mptcpwrap: changing socket protocol from 0x0 to 0x106 (IPPROTO_MPTCP) for family 0x2 type 0x1 fd -1
ERROR: socket() call failed unexpectedly.
FAIL test-mptcpwrap (exit status: 1)

For the last test (mptcpwrap), this commit might fix the issue: https://github.com/intel/mptcpd/pull/203/commits/321bad53a8d29233cd979e4eda81ccbfe9f9ada7 (but I think you need a bit more, see my comment on the PR)
But maybe we want a "skip" instead of a "pass"?

I don't think we can skip tests without patching since the generated Makefile doesn't support that, AFAICT, but we can declare tests that are expected to fail.  Something like the following can be used to invert the result of tests that are failing:
make check XFAIL_TESTS="test-commands test-path-manager"

Assuming the two tests listed above are failing, the test suite summary would look like the following:
============================================================================
Testsuite summary for mptcpd 0.8
============================================================================
# TOTAL: 17
# PASS:  15
# SKIP:  0
# XFAIL: 2
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
See tests/test-suite.log
Please report to<EMAIL_ADDRESS>============================================================================

The exit status for the make check would then be 0, i.e. a successful run.

@ossama-othman thank you for your reply and the idea!
I cannot easily use XFAIL_TESTS in my case because I don't know which host kernel will be used to package mptcpd: I could have a "recent" kernel and have all tests passing or an older one where the 3 tests fail. If I set XFAIL_TESTS, it will be OK with old kernels but not with recent ones :)
Here is the workaround I used:
# Some tests require a recent enough kernel to be validated. If the host kernel
# doesn't support creating MPTCP sockets or have the PM not supporting one
# feature or another, the following tests are going to fail. Easier to ignore
# them for the moment.
TESTS = $(notdir $(basename $(wildcard tests/test-*)))
TESTS_KERNEL = test-path-manager test-commands test-mptcpwrap

override_dh_auto_test:
        make check VERBOSE=1 TESTS='$(filter-out $(TESTS_KERNEL),$(TESTS))'
        make check VERBOSE=1 TESTS='$(TESTS_KERNEL)' || true

In other words, we always ignore these 3 tests which is not perfect but I guess this workaround will be OK for Debian: better than nothing!
Hopefully we don't need to change this list too often :)
If you prefer not to skip some tests if the kernel is not supporting some required features, feel free to close this ticket as "wont-fix".

Perhaps we should modify these tests so that they don't fail when running on a kernel without MPTCP support.

I was looking a bit at this issue but I just realised libcheck doesn't support marking tests as "skip" (no ck_skip()) even if it prints the number of skipped tests in the summary and PR have been sent for that but not applied. Is this correct? :)

I looked into test skipping a bit more.  The Automake documentation isn't very clear about it so I dove in to the Automake test-driver script source to see how tests are marked as skipped, and found the following:
case $tweaked_estatus:$expect_failure in
  0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
  0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
  77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
  99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
  *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
  *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
esac

This shows that a exit status of 77 corresponds to a SKIP test result, so I tried the following hack to test the 77 exit code:
diff --git a/tests/test-commands.c b/tests/test-commands.c
index 0088d8b..07b9519 100644
--- a/tests/test-commands.c
+++ b/tests/test-commands.c
@@ -630,7 +630,7 @@ int main(void)
         mptcpd_pm_destroy(info.pm);
         mptcpd_config_destroy(info.config);

-        return l_main_exit() ? 0 : -1;
+        return l_main_exit() ? 77 : -1;
 }

and got the following test summary:
make[4]: Entering directory '/home/ossama/work/mptcpd/worktrees/init-d-script/tests'
...
PASS: test-path-manager
SKIP: test-commands
PASS: test-configuration
...
============================================================================
Testsuite summary for mptcpd 0.8
============================================================================
# TOTAL: 17
# PASS:  16
# SKIP:  1
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

What do you think about leveraging the 77 exit code to mark the test as SKIP if we know the test can't be run due to missing MPTCP support?

Nice!
Yes, good idea to use the 77 exit code!
It strange this is not "properly" documented.

Nice! Yes, good idea to use the 77 exit code!
It strange this is not "properly" documented.

Yeah, it's a little too "magic".  :)

It turns out Automake does document the exit codes under the Scripts-based Testsuites section in its manual.  Using the proper Web search terms helped.    :)

It turns out Automake does document the exit codes under the Scripts-based Testsuites section in its manual. Using the proper Web search terms helped. :)

Thank you for the link, good to know :-)

Pull request #216 also addresses a part of the issue.


Create intermediate symlink for switching between build and launch modules

Summary

Avoids changing /workspace permissions, creating instead a symlink in /tmp which points to build modules during build and launch modules at launch. The /tmp symlink is pointed to by the node_modules symlink in /workspace (i.e. /workspace/node_modules -> /tmp/node_modules -> {build, launch}-modules layer).
The exec.d script is now only run when node_modules is required for both build and launch. If node_modules is only required at launch, /workspace/node_modules would already be symlinked to /layers/.../launch-modules/node_modules so the exec.d script wouldn't be necessary.
Use Cases

This allows users to build apps when the build-time and run-time uids are different.
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

Forgot to modify the tests for the exec.d script, rectifying now

In testing, I noticed React apps failing to run on stacks with a read-only /workspace dir since React tries to create and modify /workspace/node_modules/.cache. There currently does not seem to be a good way of configuring the cache location (as there is in Angular, for example).


Update open-methods.js

Correct an error when you tried to "decide" and the queue is already empty

This patch corrects a "fatal error", but it still leave a UX error: if you "decide" all the queue and beyond, and then rewind, you cannot  move the cards anymore. I send another PR which correct both issues.


IDFA explainer popup on iOS

Godot version
4.1
Plugin version
3.0.0
System information
iOS
Phone information, if applicable
iOS
Issue description
In order to submit apps to Apple App Store, we must show the UMP IDFA explainer window on non-European devices. I have no problem getting UMP to show the GDPR/AppTrackingTransparency popups when I'm testing Europe devices, but I can't seem to get the IDFA explainer to show on non-Europe devices. It seems that the UMP sdk has built-in functionality for this, so I'm not sure if it's just a bug with the plugin
I am getting consent_status=NOT_REQUIRED, and UserMessagingPlatform.consent_information.get_is_consent_form_available() seems to returning "false"
Steps to reproduce

UMP seems to be mostly working properly, and is showing the regular GDRP popup on Android and iOS
It won't show the IDFA explainer popup on iOS

Additional context
No response

Actually, I managed to get this working. Here are the steps I took:

On the Admob website/dashboard, make sure you have created separate 'projects' for the Android version of your app and the Apple/iOS version of your app. I was using my 'Android version' Gad Application Identifier, when it should have been my 'Apple/iOS' Gad Application Identifier
Follow all the steps here (Inlcuding AppTrackingTransparency framework in XCode, and adding NSUserTrackingUsageDescription to your info.plist in XCode)
(Not sure if this is necessary) In XCode, make sure your project is being signed correctly in Signing&Capabilities

@PickleJesus123 thank you so much for this information, I will update the documentation

@PickleJesus123 thank you so much for this information, I will update the documentation

No problem! Seems like your Admob plugin is becoming super popular!


isoslam/io.py - load files

Two packages are currently used to load files this pysam and cgat
Write and test isosla/io.py functions for...

[x] load_bam() - pysam
[x] load_bed() - cgat
[x] load_gtf() - cgat
[x] load_vcf() - pysam

There are some possible alternatives for gtf and
bed which would allow removing the dependency on cgat.

Closed by #82 and #83


cmake is time consuming, stuck in hunter

When i execute cmake -Hdepthai-core -Bdepthai-core/build -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local, it stuck in hunter get package. Then the terminal will show like this:
--- LOG BEGIN ---
Protocol "https" not supported or disabled in libcurl
I have try my curl in terminal, it's support https. The test like this:

After i enter the above command( cmake -Hdepthai-core -Bdepthai-core/build -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local), the terminal will stuck in this way:

After about two~three hours, it will show some error like:  Protocol "https" not supported or disabled in libcurl。
Can anyone help me? Thank you!!!

Supply metarial. After about 3 hours later, the error occurs like i said:

@shmm91
Do you mind retrying? We observed similar in our case.
If it still doesn't work, do you mind letting me know your system configuration? Which OS, any modifications, which libcurl, etc..?

@themarpe, thank you for your reply! I have tried several times since yesterday.
My os is Ubuntu18.04.5, ROS melodic, Nvidia GTX1080Ti.
curl 7.77.0 (x86_64-pc-linux-gnu) libcurl/7.77.0 OpenSSL/1.1.1 zlib/1.2.11 OpenLDAP/2.4.45
Release-Date: 2021-05-26
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc Asynch

@shmm91
It seems you have some different/custom version of curl.
I'm on Ubuntu 20.04 and have the following:
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Release-Date: 2020-01-08
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets

And the following is default on 18.04
curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Release-Date: 2018-01-24
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

2 possibilities it seems:

https://askubuntu.com/a/821269 - your custom curl wasn't built with some options like SSL/etc.. to enable https (OpenSSL is specified however, which is strange)
It seems like syntax issue when specifying the URL could cause a valid https URL to fail with above message. But this hasn't happened anywhere else before, which is why I'd check your curl first.

(rechecked on Ubuntu22.04 and it comes with an even newer curl, where things also work as expected)
Just to make sure we are on the same page - can you try cloning the repo with https/ssh, or use the release package? What was the current means of retrieving the sources?

@themarpe , thank you for your reply!
I clone the package with the following command: git clone git@github.com:luxonis/depthai-core.git.
After several days test, I have found the key issue.
The cmake is build without curl support.
I re-install cmake with curl support, then everything is ok. I will close this issue, thank you!!!


Support for Terraform 0.13

Are there any plans to enable support for the latest version of Terraform?
Currently only 0.11 (v1) and 0.12 (v2) are supported.

Hi John,
Yes, I am planning to update this repo to support more versions in the very near future.

v2.23.0 has been just released with the support for newer versions (0.12 and newer).

Wow, fast turnaround; thank-you @antonbabenko 👍


Fix for wkpdf binary load error

Hi plessl,
I got your message and went straight ahead with a fix. Here it is.
Maxime

Awesome, thanks a lot!
That was really a silly error. The Rakefile should have stated the following:
gemspec.executables   = ['wkpdf']

instead I have forgotten the plural 's' on executables.
Finally, wkpdf works again as intended.
Cheers,
Christian


Build hangs with no diagnostics

Bug Report

🔎 Search Terms

🕗 Version & Regression Information
I have been incrementally implementing my inferred-types repo for a couple years. I basically just put in cool TS tricks when I find them.
First in the 4.x TS versions I ran into issues where the repo would crash with no reference to my code in the stack trace. I raised an issue and was happy to see it was fixed in the 5.x branch very quickly. Sadly it was only a few hours before I was without diagnostics again. This time the problem wasn't a crash but rather that tsc would just hang. I decided to first make sure that all my linting errors/warning were removed and then I followed that with a visual inspection of the extensive type tests I have in the repo to try and spot errors. At this point I have done everything I know how to do, all tests appear to pass (both runtime and type tests). There are no linting warnings or errors in src or test and yet when I run either of:

tsc -b -f -diagnostics
tsc --noEmit --diagnostics

it just hangs (although potentially a red herring ... it's worth that as I've been bumping around in the dark and re-trying to run these commands ... occasionally it completes and the results are typically useful though it appears to pick up many false positives WRT to errors).
Versions:
typescript: 5.0.3
node: 16.18.23
OS: macOS Ventura 13.2.1
As touched on above, this started becoming an issue for me in the late versions of TS 4.x but has continued into TS 5.x. For what it's worth, I am DYING to get this fixed as my backlog is now crazy. I'm very happy to create a top quality video on my lessons learned when I get there. Any links which might also help me monitor and optimize performance would be super useful too. For instance:

I have no idea of how to expect the "TS cost" for statically importing a small set of types from a large library. Is the cost only associated to those types imported?
Is there a way to incrementally compiling sections of TS and then linking them together at the end?
I am looking through this content on Performance and hope to find some techniques to improve the efficiency of my types but really any good resources would be a real help.

Please keep and fill in the line that best applies:
-->

This is a not a "crash" but tsc hangs (which is maybe even worse)
This is the behavior in every version post 4.x and all 5.x versions

⏯ Playground Link
I'd love to be able to illustrate this in the playground but I have no idea how I'd do this (it's likely not possible). Fortunately it is very easy to reproduce with my repo:
Repo
I use pnpm as a package manager so you'll be able to do a full reproduction with:

pnpm install
pnpm diagnostics

💻 Code

no idea as I am getting zero diagnostics from tsc
🙁 Actual behavior
running tsc never completes. No error messages, no warning messages, just silence.
🙂 Expected behavior
I'd be happy to get an error or warning that might help point me to what area of my code is causing problems. I do sort of suspect now that it might just be scale not a particular error but I'm just shooting in the dark.

I don't know if this helps or is more of a red herring, but I've created a feature branch called performance where I thought if maybe I'd split the src/types, src/runtime, and src/constants directories into separate TS projects and then use references. I also did the same thing with the test directory.
In Visual Studio Code the type inference is now very fast in almost all cases but sadly I still get either hanging behavior with tsc or when I ran tsc --traceResolution in the src/types directory it does finally complete but then I get errors like this:

And yet from Visual Studio Code there is no problem resolving this symbol:

found in the file referenced in the error above.

I can provide more details if this is helpful.

Seeing the same issue in v 5.1.6

Seeing the same issue in v 5.1.6

@JulianKingman please provide a repro.

I'm trying to narrow it down, but in the meantime here's the codebase: https://github.com/CollaborativeEconomics/monorepo
Go into apps/partners and run pnpm build (or npx tsc).

OK, so the issue was that I had a file with the same name in two different places (AddOrganizationForm). I'm trying to create a minimal repro.

Also, not sure if it's directly related, but I noticed about a dozen spawned node instances that made my laptop quite warm.

11/11/2024 still encountering the bug, when running tsc --noEmit on a Next.js 13.2.4 project with TypeScript 5.0.3, the process hangs indefinitely without producing any diagnostics output or error messages. our codebase is a moderately-sized codebase (~100 files), The hanging behavior is consistent across multiple runs and prevents proper CI/CD pipeline execution.