AppID on client side

To initialize the agora kit engine I need to call this method on the client side:
AgoraRtcEngineKit.sharedEngine(withAppId:  APP_ID, delegate: self)
But what if I want to store my APP_ID on the server side, and not send it to the client side in order to protect my API keys?
Can it be achieved?

of course. you can request from your server your appid and use that to initialize your rtc engine instance.
to achieve better security, take a look at here https://docs.agora.io/en/live-streaming-premium-legacy/token_server?platform=iOS

@plutoless yes that’s what I’m doing at the moment. The issue is that the endpoint on the server for requesting the appid could be compromise and this could lead to my keys being stolen, that’s why I was wondering if there’s a way to not need the appid at all at the client side which will reduce the risk of stealing my api keys

as i mentioned above, you can use token approach which is more secure compared to appid approach

Oh sorry, didn’t catch that.
thank you !


Use git submodules for Qt Base and Qt WebKit

Covers this pull request also: https://github.com/ariya/phantomjs/pull/12578
As discussed here: https://groups.google.com/forum/#!topic/phantomjs-dev/TVJDJ2K_5R8
Check list:

[x] Windows
[x] Linux
ALERT: we can't build PhantomJS on OS X in a simple way right now, because Apple removed OpenSSL headers in XCode 7.
We have to figure out the way to build PhantomJS with OpenSSL installed via Brew.

You can see additional commits for Windows platform. They're necessary for successful build.
Fixes:
#12426

\o/
thanks for picking this up. it's a great step forwards, imo.

Included fix for XCode 7

/cc @ariya Works on all platforms

Starting from a clone of master, I merged the pull request and tried it.
I am on OS X Yosemite 10.10.5 but with xcode 7 installed
 xcodebuild -version
Xcode 7.0.1
Build version 7A1001

Here are the results of my attempts, first on an already checked out phantomjs project, reset --hard on master.
build

The first run of build.sh failed

> ./build.sh --confirm
System architecture... (Darwin 14.5.0 x86_64)

./preconfig.sh: line 187: /Users/jean/dev/sdev/src/github/phantomjs/src/qt/qtbase/configure: No such file or directory

I noticed build.py and  ran it, the first run of build.py also failed :

> python build.py
----------------------------------------
               WARNING
----------------------------------------

Building PhantomJS from source takes a very long time, anywhere from 30 minutes
to several hours (depending on the machine configuration). It is recommended to
use the premade binary packages on supported operating systems.

For details, please go the the web site: http://phantomjs.org/download.html.

Do you want to continue (Y/n)? y
Executing in /Users/jean/dev/sdev/src/github/phantomjs: git submodule init
Submodule '3rdparty-win' (https://github.com/Vitallium/phantomjs-3rdparty-win.git) registered for path 'src/qt/3rdparty'
Submodule 'qtbase' (https://github.com/Vitallium/qtbase.git) registered for path 'src/qt/qtbase'
Submodule 'qtwebkit' (https://github.com/Vitallium/qtwebkit.git) registered for path 'src/qt/qtwebkit'
Executing in /Users/jean/dev/sdev/src/github/phantomjs: git submodule update --init
Cloning into 'src/qt/3rdparty'...
remote: Counting objects: 1226, done.
remote: Total 1226 (delta 0), reused 0 (delta 0), pack-reused 1226
Receiving objects: 100% (1226/1226), 95.71 MiB | 395.00 KiB/s, done.
Resolving deltas: 100% (529/529), done.
Checking connectivity... done.
Submodule path 'src/qt/3rdparty': checked out '60d059226c243f0d8576e22c3ea9f0de6672359d'
fatal: destination path 'src/qt/qtbase' already exists and is not an empty directory.
Clone of 'https://github.com/Vitallium/qtbase.git' into submodule path 'src/qt/qtbase' failed

ERROR: Failed to build PhantomJS! Initial update of git submodules failed.

After deleting the qtbase directory, I got it to build.
I also cloned the phantomjs repo anew and tried the same steps :
obviously build.sh still fails, build.py did work out of the box.
tests
In the "old" checkout, once build.py has succeeded. running

python test/run-tests.py  yields

AssertionError: expected 7 to be 6

  :32 in showErrorEqual
	at global code (/Users/jean/dev/sdev/src/github/phantomjs/phantom-pr/test/standards/javascript/date.js:6:13)
The test standards/javascript/date.js FAILED

standards/javascript/function.js:
standards/console/console_log.js:
regression/issue12482.js:
/run-tests.js:
Started
.........................................................................F....................................................................................

WebPage object should not set invalid cookies
  Expected 'Invalid-Cookie-Name=Invalid-Cookie-Value' to be undefined.
  Expected 1 to be 0.

Finished in 5.185 seconds
158 specs, 2 failures

The test /run-tests.js FAILED

cd test;python run-tests.py yields

standards/javascript/date.js:
AssertionError: expected 7 to be 6

  :32 in showErrorEqual
	at global code (/Users/jean/dev/sdev/src/github/phantomjs/phantom-pr/test/standards/javascript/date.js:6:13)
The test standards/javascript/date.js FAILED

standards/javascript/function.js:
standards/console/console_log.js:
regression/issue12482.js:
/run-tests.js:
Started
.........................................................................F....................................................................................

WebPage object should not set invalid cookies
  Expected 'Invalid-Cookie-Name=Invalid-Cookie-Value' to be undefined.
  Expected 1 to be 0.

Finished in 5.185 seconds
158 specs, 2 failures

The test /run-tests.js FAILED

In the "new" checkout

python test/run-tests.py  yields

cd test;python run-tests.py yields

AssertionError: expected 7 to be 6

  :32 in showErrorEqual
	at global code (/Users/jean/dev/sdev/src/github/phantomjs/test/standards/javascript/date.js:6:13)
The test standards/javascript/date.js FAILED

standards/javascript/function.js:
standards/console/console_log.js:
regression/issue12482.js:
/run-tests.js:
Started
.........................................................................F....................................................................................

WebPage object should not set invalid cookies
  Expected 'Invalid-Cookie-Name=Invalid-Cookie-Value' to be undefined.
  Expected 1 to be 0.

Finished in 5.273 seconds
158 specs, 2 failures

Adding the bin directory of the corresponding checkout to the path results in the same failures in both cases.
After checking the travis-ci build @ https://travis-ci.org/ariya/phantomjs it looks like the correct way to run the tests is `test/run-tests.sh
boths run yielded
 test/run-tests.sh
Started
.........................................................................F....................................................................................

WebPage object should not set invalid cookies
  Expected 'Invalid-Cookie-Name=Invalid-Cookie-Value' to be undefined.
  Expected 1 to be 0.

Finished in 5.512 seconds
158 specs, 2 failures

Still from the travis-ci run it looks like there is another test suite to run ./test/run-tests-ghostdriver.sh
in both case, the test suite hangs after
SUCCESS for test shouldNotBeAbleToSwitchBackToInitialWindowUsingEmptyWindowNameParameter(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest

Full log
SUCCESS for test useDriverButDontQuit(ghostdriver.DriverBasicTest) in test class ghostdriver.DriverBasicTest
SUCCESS for test findElementViaXpathLocator(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
FAILURE for test gettingAllCookies(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test shouldThrowExceptionIfAddingCookieBeforeLoadingAnyUrl(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test failToFindNonExistentElement(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test deletingAllCookies(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test shouldUsePageTimeoutToWaitForPageLoadOnInput(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test findMultipleElements(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldNotHandleCasesWhenAsyncJavascriptInitiatesAPageLoadFarInTheFuture(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test shouldAllowToDeleteCookiesEvenIfNotSet(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test findNoChildElementsMeetingCriteria(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test deletingOneCookie(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test checkEnabledOnGoogleSearchBox(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test findChildElement(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldNotAllowToCreateCookieOnDifferentDomain(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test SubmittingFormShouldFireOnSubmitForThatForm(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test failFindElementsForInvalidXPathLocator(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldBeAbleToCreateCookieViaJavascriptOnGoogle(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test findNoElementsMeetingCriteria(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldRetainCookieInfo(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test checkClickOnINPUTSUBMITCausesPageLoad(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
FAILURE for test modifyingACookie(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test findElementWithImplicitWait(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test addingACookie(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
FAILURE for test shouldWaitForPossiblePageLoadOnlyWhenClickingOnSomeElement(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test failFindElementForInvalidXPathLocator(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldAllowToSetCookieThatIsAlreadyExpired(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
FAILURE for test findActiveElement(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test shouldWaitForOnClickCallbackToFinishBeforeContinuing(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test gettingAllCookiesOnANonCookieSettingPage(ghostdriver.CookieTest) in test class ghostdriver.CookieTest
SUCCESS for test findChildElements(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
SUCCESS for test checkDisplayedOnGoogleSearchBox(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 2.0.3](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 2.0.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test findElementsWithImplicitWait(ghostdriver.ElementFindingTest) in test class ghostdriver.ElementFindingTest
FAILURE for test checkClickOnAHREFCausesPageLoad(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 2.0.1](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldHandleCasesWhereJavascriptCodeInitiatesPageLoadsThatFail(ghostdriver.ElementMethodsTest) in test class ghostdriver.ElementMethodsTest
SUCCESS for test checkAttributesOnGoogleSearchBox(ghostdriver.ElementQueryingTest) in test class ghostdriver.ElementQueryingTest
SUCCESS for test throwExceptionWhenInteractingWithInvisibleElement(ghostdriver.ElementQueryingTest) in test class ghostdriver.ElementQueryingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 2.0.0](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test getTextFromDifferentLocationsOfDOMTree(ghostdriver.ElementQueryingTest) in test class ghostdriver.ElementQueryingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.10.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldSwitchToTheRightFrame(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test checkLocationAndSizeOfBingSearchBox(ghostdriver.ElementQueryingTest) in test class ghostdriver.ElementQueryingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.10.1](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test failToSwitchToFrameByName(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.10.0](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.9.1](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test pageSourceShouldReturnSourceOfFocusedFrame(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test scrollElementIntoView(ghostdriver.ElementQueryingTest) in test class ghostdriver.ElementQueryingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.9.0](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldSwitchBetweenNestedFramesPickedViaWebElement(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.8.3](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test searchForCheese(ghostdriver.GoogleSearchTest) in test class ghostdriver.GoogleSearchTest
SUCCESS for test switchToFrameByNumber(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.8.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
FAILURE for test doubleClick(ghostdriver.MouseCommandsTest) in test class ghostdriver.MouseCommandsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.8.1](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test handleClickWhenOnClickInlineCodeFails(ghostdriver.MouseCommandsTest) in test class ghostdriver.MouseCommandsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.8.0](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.7.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
FAILURE for test clickAndRightClick(ghostdriver.MouseCommandsTest) in test class ghostdriver.MouseCommandsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.6.4](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldTimeoutWhileChangingIframeSource(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
FAILURE for test clickAndHold(ghostdriver.MouseCommandsTest) in test class ghostdriver.MouseCommandsTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.5.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldSwitchBetweenNestedFrames(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.4.4](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
FAILURE for test move(ghostdriver.MouseCommandsTest) in test class ghostdriver.MouseCommandsTest
SKIPPED for test shouldBeAbleToExecuteMultipleAsyncScriptsSequentiallyWithNavigation(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.3.2](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test shouldBeAbleToClickInAFrameAfterRunningJavaScript(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToPassMultipleArgumentsToAsyncScripts(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SUCCESS for test shouldBeAbleToClickAndEventsBubbleUpUsingJquery[jQuery Version: 1.2.6](ghostdriver.ElementJQueryEventsTest) in test class ghostdriver.ElementJQueryEventsTest
SUCCESS for test findGoogleInputFieldInjectingJavascript(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SUCCESS for test switchToFrameByElement(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldBeAbleToSwitchToIFrameThatHasNoNameNorId(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test setTimeoutAsynchronously(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SUCCESS for test shouldBeAbleToExecuteMultipleAsyncScriptsSequentially(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SKIPPED for test executeAsyncScriptMultipleTimesWithoutCrashing(ghostdriver.ScriptExecutionTest) in test class ghostdriver.ScriptExecutionTest
SUCCESS for test titleShouldReturnWindowTitle(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test enumerateWindowHandle(ghostdriver.WindowHandlesTest) in test class ghostdriver.WindowHandlesTest
SUCCESS for test shouldBeAbleToClickInAFrame(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test shouldSwitchBackToMainFrameIfLinkInFrameCausesTopFrameReload(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test switchToFrameByName(ghostdriver.FrameSwitchingTest) in test class ghostdriver.FrameSwitchingTest
SUCCESS for test openPopupAndGetCurrentUrl(ghostdriver.WindowHandlesTest) in test class ghostdriver.WindowHandlesTest
SUCCESS for test shouldReturnLogTypeHar(ghostdriver.LogTest) in test class ghostdriver.LogTest
SUCCESS for test enumerateWindowHandles(ghostdriver.WindowHandlesTest) in test class ghostdriver.WindowHandlesTest
SUCCESS for test shouldReturnLogTypeBrowser(ghostdriver.LogTest) in test class ghostdriver.LogTest
SUCCESS for test shouldReturnListOfAvailableLogs(ghostdriver.LogTest) in test class ghostdriver.LogTest
SUCCESS for test executePhantomJS(ghostdriver.PhantomJSCommandTest) in test class ghostdriver.PhantomJSCommandTest
SUCCESS for test navigateAroundMDN(ghostdriver.TimeoutSettingTest) in test class ghostdriver.TimeoutSettingTest
SUCCESS for test switchBetween3WindowsThenDeleteSecondOne(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest
SUCCESS for test switchToSameWindowViaHandle(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest
SUCCESS for test shouldBeAbleToClickALinkThatClosesAWindow(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest
SUCCESS for test switchBetween3WindowsThenDeleteFirstOne(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest
SUCCESS for test shouldNotBeAbleToSwitchBackToInitialWindowUsingEmptyWindowNameParameter(ghostdriver.WindowSwitchingTest) in test class ghostdriver.WindowSwitchingTest

As a suggestion : a note in either README.ms or CONTRIBUTING.md on

how to build the repo (that I can contribute)
how to properly run the tests
since digging in travis.yml is not obvious

Also travis.yml may need to be updated since it tries to build the project with build.sh and not build.py ...

how should I install phantomjs now ? from source, which takes a lot of time ? from brew ? I'm stuck on this since 1 week now.
this is my brew config output:
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 3c9da0212be124c6aa7d2e14ed1c13b14767f01e
Last commit: 6 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit haswell
OS X: 10.11-x86_64
Xcode: 7.1 => /Applications/Xcode-beta.app/Contents/Developer
CLT: <IP_ADDRESS>.1.1441394355
Clang: 7.0 build 700
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-p645
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /Users/aldo/.rbenv/shims/ruby => /Users/aldo/.rbenv/versions/2.2.3/bin/ruby
Java: 1.8.0_25

@alduro for now you have to checkout the github repo, merge this pull request manually and build from source. in #212902, @Vitallium says that he might provide nightly builds for each platforms.

FYI: I'll merge it TODAY!
/cc @ariya @JamesMGreene @milianw @zackw

@Vitallium Make sure to rebase first, commit 97d9ea2 is already in master.
I am doing some testing now.

@zackw yeah, I'll rebase it first.

Problem: after merging the branch, git submodule init for some reason only registers the 3rdparty and qtwebkit modules, not the qtbase module, which of course causes the build to fail.  I am investigating.

It appears that the qtbase submodule directory was never committed, even though its configuration was committed.  (Why it is possible to do this, I shall file in the infinite heap of baffling git design decisions.)
To fix, take a fresh clone of the branch, then run
$ git submodule add -b phantomjs --name qtbase -- https://github.com/Vitallium/qtbase.git src/qt/qtbase

After this completes, git status should print
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	new file:   src/qt/qtbase

Commit that, push, take a second fresh clone, and make sure git submodule status prints three lines, not two.

I could never get into git submodules.

Further notes:

Please add Source/ThirdParty/leveldb/release/ and Source/.pch/ to qtwebkit/.gitignore.

Build fails on OSX with Xcode 7.1 even if openssl is installed via port.  This is probably because the Xcode compiler doesn't look in /opt/local by default.  I don't mind if this is fixed later.

Build fails on Linux with gcc 5 (possibly only if GStreamer dev packages are installed) with
 platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
   In function ‘void webKitWebSrcSetProperty(GObject*,guint,const GValue*,GParamSpec*)’:
 platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:357:9:
   error: reference to ‘GMutexLocker’ is ambiguous
 In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:32:0,
                  from /usr/include/glib-2.0/glib.h:32,
                  from /usr/include/gstreamer-0.10/gst/gst.h:27,
                  from platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:24,
                  from platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:21:
 /usr/include/glib-2.0/glib/gthread.h:276:14:
   note: candidates are: typedef void GMutexLocker
 In file included from platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:43:0:
 ../WTF/wtf/gobject/GMutexLocker.h:32:7:
   note:                 class WebCore::GMutexLocker

I do want this fixed before merging.  Didn't we used to explicitly disable GStreamer support in preconfig.sh?

Ok. Thanks.
I added a workaround (hack) to compile PhantomJS with XCode 7. But it's not presented in this PR yet.
Let's disable GStreamer completely.

Test failures on Linux (with gcc-4.9 and no gstreamer):
ff..f.......................f............s................E...........s.F..f..
module/webpage/render: ERROR
XPASS: JPEG
XPASS: JPEG (format option)
XPASS: JPEG (quality option)
XPASS: JPEG (format and quality options)
ERROR: PhantomJS exited successfully when test failed

standards/javascript/date: FAIL
FAIL: new Date()
  assert_equals: expected 6 but got 7
  at /home/tbbscraperentry/phantomjs/test/standards/javascript/date.js:4:18

Update:

Committed QtBase.
Added a workaround for XCode 7. Can someone check it?

@zackw I updated the build script. Could you please have a look? I'm not sure how we should handle flags from an environment variable.

@Vitallium With your update, the build goes through on my Mac.  And I think I've solved the GStreamer problem, patch shortly.

... for values of "shortly" no sooner than "after I recompile the entire thing from scratch again :-("

CORRECTION: The problem with the standards/javascript/date test is not due to something that changed in this pull, it's a dependency on the time zone.  I will do a separate pull request to address that, later.

This allows a successful build on Linux/gcc5 with the gstreamer libraries available.  Should probably be put through its paces elsewhere.
diff --git a/build.py b/build.py
index 605ec90..e52dbdf 100755
--- a/build.py
+++ b/build.py
@@ -190,6 +190,8 @@ class PhantomJSBuilder(object):
                 "-no-mtdev",
                 "-no-libudev",
                 "-no-evdev",
+                "-no-pulseaudio",
+                "-no-alsa",
                 "-no-feature-PRINTPREVIEWWIDGET"
             ]

@@ -307,7 +309,12 @@ class PhantomJSBuilder(object):
         configureOptions = [
             # disable some webkit features we do not need
             "WEBKIT_CONFIG-=build_webkit2",
-            "WEBKIT_CONFIG-=netscape_plugin_api"
+            "WEBKIT_CONFIG-=netscape_plugin_api",
+            "WEBKIT_CONFIG-=use_gstreamer",
+            "WEBKIT_CONFIG-=use_gstreamer010",
+            "WEBKIT_CONFIG-=use_native_fullscreen_video",
+            "WEBKIT_CONFIG-=video",
+            "WEBKIT_CONFIG-=web_audio",
         ]
         if self.options.webkit_qmake_args:
             configureOptions.extend(self.options.webkit_qmake_args)

And one more addition to .gitignore: .qmake.stash in both qtbase and qtwebkit.

@zackw steps to make it work on Mac ? Thanks.

@alduro Install Xcode command line tools. Install either Homebrew or MacPorts. Use whichever of those you picked to install OpenSSL. Then build.py from this branch should Just Work. You might also have to install a couple other third-party libraries that way, I can't remember.

Merging. I warned.

@zackw thanks. I will now try from master since this PR was merged.

@Vitallium Is there any reason to keep build.sh and build.cmd around at this point?

@zackw I left them for compatibility. Will remove them in the near future.

@zackw did work perfectly on master. On Xcode 7.1 running build.py. Thanks.

The build is failing for me in Xcode 8, because the git submodule commands in build.py are setting qtbase HEAD to a random commit instead of to the branch phantomjs.
That's causing this error to appear.  The commit checked out doesn't use xcodebuild as described in that answer, so qtbase/configure is showing the Xcode not set up properly error.
Note, the phantomjs branch em does properly use xcodebuild.
I'm working around this by manually checking out the proper branches and running python build.py --skip-git.


[otbn] byte/bit shift mixed up in simulator

It seems that in the dmem model of the otbn simulator in the load_i32 method in this line the shift amount has to be indicated in multiples of 32 bits, not bytes

You're right! I think this was fixed by PR #3485 (by deleting the code in question). Does that look right to you?

Yes, didn't see this, this should fix it. This should also fix #3509, right?

Oh, I hadn't got to the end of my inbox yet! Yes, I hope so.

fixed with #3485


F′ Proves Flight Readiness Plan for Pleiades 5

With an April/May launch time frame we think the last time that we will be able to upload software to the Pleiades satellites will be in Feb/March. To hit this window fprime-proves needs to:

[ ] Investigate if OTA updates are possible maybe using an RTOS like Zephr or FreeRTOS
[ ] Ping the hardware watchdog GPIO pin at least every 1.6 seconds
[ ] Get the radio working using Radiolib
[ ] Get the CAN transceiver working for board-to-board communication with the battery board (Best for CalPoly/Alex)
[ ] Get the SD card working so we can store mission data
[ ] Get the I2C multiplexer (TCA9456) working so we can communicate with the sensors

[ ] Temp sensor first - I2C
[ ] Ambient light sensors - I2C
[ ] Send commands to the embedded motor drivers for magentorquers - I2C
[ ] IMU 6-deg freedom acceleromter/gyro - I2C
[ ] IMU 6-deg freedom magnetometer - I2C

[ ] Add attitude control and determination algorithm (CalPoly is working on this)
[ ] Get the RTC working

[ ] We need to be able to set the time
[ ] We need to be able to read the time
[ ] We need to be able to set alarms that will toggle a GPIO pin
[ ] We need to be able to activate trickle charge

Hey Nate, finally just circling back to this now! This looks like a pretty good list of tasks to me, I will start breaking them out into their own issues.


Missing applicationUrl does not inherit dashboard url

Fixes https://github.com/dotnet/aspire/issues/225

How do you know it’s working without a test 👀

I tried to write a test, but it's kinda difficult... how do you get the endpoint info for the app? Users can find it by looking at the logs.

I think this test would be exposing an end point that dumps config or all env variables. The test would look at the effective config.


Microsoft authentication has been broken since last release

The Azure authentication no longer works in the live branch.  It seems that there has been major refactoring and azure.py is missing the function:
def update_token(token):
    session['azure_token'] = token
    return token

also the last part of azure_authorized should have index.login as the parameter to url_for:
    return redirect(url_for('index.login', _external=True, _scheme='https'))

However this does not completely solve the issue on mysetup, and a successful login is still redirected back to the login screen with a "cannot create user" error.  If I can work out the cause I'll submit a PR

Hmm things are working now.  I blame Azure and AAD.  But the above 2 changes are still required for the main branch.

Submitted PR #674 with the above corrections

The #674 PR has been merged. Closing the issue.


How to send placeholder values in tensorflow to shap's DeepExplainer ?

TfDeepExplainer code break when sending float placeholders. Can we send placeholder ?

@akhileshacc you might find issue #1201 helpful.


incorporate 61850 logic function blocks as recommended by 61850-7-500

As an engineer
I want to edit logic functions according to 61850-7-500
So I can edit all substation configuration parts with CoMPAS

This is more a placeholder.


Modal image

By changing the background-size from cover to background-size: 100% 100% in the last PR, the modal image loses the responsiveness and cause the image to stretch. I set the property back to cover, but this hides the photo credit on the image. I then tried to set the background-position-y property to bottom, but this causes a just a tiny bit of whitespace beneath the image. Do you have any ideas for getting this just right?

Looks good, calc to the resuce to shift it down a pixel https://css-tricks.com/a-couple-of-use-cases-for-calc/#article-header-id-4
background-position-y: calc(100% + 1px)

Voila!


[Feature]: add CI/CD workflows to build and commit dist/index.js

Feature description
add CI/CD workflows to build and commit dist/index.js
Motivation
No response
Additional context
No response

ref

https://github.com/release-drafter/release-drafter#usage
https://zenn.dev/kounoike/articles/20220211-easy-generate-release-notes


Add additional scripts and notebooks - Jorge

Adding additional notebooks and scripts required by Paddy.  Thanks, Jorge


Why whoever is predicted to "man" ?

When I run your model，I get this result：

rather than your example：

There is a variable in the code called "offset". This has be dynamically changed in accordance to the bounding box size. And I haven't given the time to program it. If I recall correctly I change that variable to zero when running this image.


Locate Shared Anchors.

So.. I create everything and it works fine on the sample project etc etc.... but when it comes to Locating a shared anchor I create and share anchor to my Azure page then when i close and reopen i... click locate shared anchor it says... anchor number not found

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cb0af698-4a74-9098-691f-ecbbb0419398
Version Independent ID: d5fe9b9e-c802-423d-ac8e-dba87fa8766e
Content: Tutorial: Share anchors across sessions and devices - Azure Spatial Anchors
Content Source: articles/spatial-anchors/tutorials/tutorial-share-anchors-across-devices.md
Service: azure-spatial-anchors
GitHub Login: @RamonArguelles
Microsoft Alias: rgarcia

@milligan21 Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

uff still not working. I tried it again and again. Am I able to store the anchor key somewhere else? or does it have to be in asp.net?

I am having the same issue I think, it just always says "Failed to store the Anchor Key to "myasp.net address".  I have followed the tutorial three times now, and it just does the same thing each time.

I am on my 4th time around.... still doesnt work!! I "borrowed" or should i say.. some guy sent me his URL and it worked fine. No idea why mine isnt working and his is

Its saving the anchors to the cloud app but it says on my app that its failed..... and gives me "Created anchor1. Next: stop cloud anchor session". but never works . On the URL i borrowed it would give me a result of 0 or 1

Close the issue since the problem has been resolved here, https://github.com/Azure/azure-spatial-anchors-samples/issues/172. Thanks!

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Possible solution for nullable support

Hi all,
Great package, definitely the best out there for the structure and data type validation I've needed, however theres one issue I currently have which I hope you could provide some guidance one. Its not your actual issue, but one I hope that I could be pointed in the right direction as to the possible solutions.
I'm currently using Redoc for my static documentation generator, which is great. However this uses the Open API spec, which as much may be similar to JSON Schema, does actually diverge, and I'm facing the exact same issue that is documented in this blog post: https://philsturgeon.uk/api/2018/03/30/openapi-and-json-schema-divergence/
Essentially, I have a number of nullable parameters and I need to be able to have them properly validated against and documented on.
Abiding by JSON Schema
When I have the following set;
"contact_email": {
      "type":["string","null"],
      "format": ""
}

this pleases the JSON schema fine, but spoils the rendering within the API docs. (its prints the datatype as stringnull and all example request fields show as a null value).
Abiding by Open API
When I have the following set;
"contact_email": {
      "type":"string",
      "nullable":true,
      "format": ""
}

this pleases the API docs, but rightfully breaks the JSON Schema validation when some of my responses go through, as the null value isn't adhered too, which is correct as per the JSON schema.
So I'm left with a number of options;

Move validator to Open API spec
I've had a play about with some, and none of them seem to be any good.

Move docs
Same as above but with the documentation rendering. If you know of any decent JSON Schema automated documentation, please let me know.

Fork JSON Schema project
I could fork this project and add in support for an OpenAPI adapter to convert any of the given data into Open API spec

Pre-process the schema
I could pre-process the schema to ensure all nullable entries are included as part of the type prop and not its own nullable prop.

I've probably answered my own question about with a number of answers so I'm keen to understand if anyone has experienced this and how they got around it.
Thanks all,

@jb0o I'm not overly familiar with OpenAPI, so this may not be applicable - but would moving the null type into an anyOf container be a suitable solution?
"contact_email": {
      "anyOf": [
            { "type": "string", "format": "" },
            { "type": "null" }
      ]
}

This ensures that the type declaration is a string, rather than an array, but preserves the behavior you are wanting. I'm not sure whether this is enough to satisfy OpenAPI's desire for a single type, but it's worth a shot.
If it is useful for documentation generation, you could also add nullable, as per the following:
"contact_email": {
      "nullable": true,
      "anyOf": [
            { "type": "string", "format": "" },
            { "type": "null" }
      ]
}

JSON Schema will simply ignore unknown keywords, so nullable will have no impact on validation behavior, but I assume that OpenAPI will still make use of it.

Further to the above - if you don't want to make manual changes to your schema, the transformation I suggested is trivial to carry out in a preprocessor, as it's just a simple rearrangement.

@jb0o in an attempt to cleanup this repo we are trying to filter the issues and see which ones might be closed. Is it safe to assume this is a rather old issue, which sadly was left unanswered, and can be closed? Feel free to close it yourself with some comments if helpful.


[main] Wallet connect doesn't fully connect

Describe the bug
This happens on all deployments forked from main.
Connecting a wallet doesn't fully reflect on the UI state.
Link to ticket in discord
To Reproduce
Steps to reproduce the behavior:

Go to bridge in a disconnected state
Connect with MM, Rabby, etc
After connecting, the "Connect Wallet" prompt still shows
If a refresh is performed, then the state updates such that the wallet is shown as connected

https://vercel.live/link/frontend-connext-bridge-git-jt-path-loa-9c466f-connext-979dc950.vercel.app?via=deployment-domains-list-branch

UPDATED LINK: https://frontend-connext-bridge-l678pmv1n-connext-979dc950.vercel.app/EZETH-from-ethereum-to-arbitrum?amount=

jt/path-load-refactor-continued-1 is the correct branch to merge, no issue with main-sync-with-cutover

Merged into main-sync-with-cutover.


x509 Authentication

You could use this to set the username.
x509.getSubject(cert)
Parse certificate with x509.parseCert and return the subject.
const x509 = require('x509');
var subject = x509.getSubject(__dirname + '/certs/nodejitsu.com.crt');
/*
subject = { countryName: 'US',
postalCode: '10010',
stateOrProvinceName: 'NY',
localityName: 'New York',
streetAddress: '902 Broadway, 4th Floor',
organizationName: 'Nodejitsu',
organizationalUnitName: 'PremiumSSL Wildcard',
commonName: '*.nodejitsu.com' }
*/

Hello,
as a temporary solution, now Mongoclient requests a username if you want a x509 username. Your solution is way better but currently I'm in windows and having some trouble with npm and cant install npm packages properly.
Thanks & Cheers

Still does not authenticate.
Authentication db should be $external. I'm not sure if the app picks up the username from the dialog.
2016-06-05T13:25:12.353+0300 I NETWORK  [initandlisten] connection accepted from <IP_ADDRESS>:55526 #48 (3 connections now open)
2016-06-05T13:25:12.365+0300 I ACCESS   [conn48] Unauthorized: not authorized on hubitor to execute command { listCollections: true, filter: {}, cursor: {} }

It clears the fields in standard authentication type when setting certs and saving.

Actually you should pick standard or certificate authentication, both is not applicable. But I guess we need an authentication DB option while connecting via certificate.

In that case how is the username determined?

There should be a new checkbox named as Use x509, and when you check it a new textbox appears in certificate tab.
Here:

Are you sure, you are using the newest source code ?

I see. thanks.
I did download the master branch but I will do it again to make sure.

Please let me know, if it works for you, I'm planning to make a release today.

Works great.
Thanks:-)

Finally I'm glad it works :) Thanks for your feedback !


M0-1-10:  Generates lot of false positives for used functions

Affected rules

M0-1-10

Description
The query M0-1-10 generates a significant amount of false positives while analyzing "unused functions". These are noticed especially in the following scenarios.

constexpr functions
template instantiations
special member functions (constructors, destructors, operators, conversion operators)

This results from the fact that CodeQL cannot track the usages of such functions in compile time constructs like constexpr, static_asserts, templates etc.
Example
test.hpp
template <class T>
constexpr T to_underlying(T value) noexcept { // M0-1-3 violation reported here
  return static_cast<T>(value);
}

test.cpp
#include <type_traits>
#include "test.hpp"

template <typename T1, typename T2>
constexpr bool StaticAssertTypeEq() noexcept {
  static_assert(std::is_same<T1, T2>::value, "T1 and T2 are not the same type");
  return true;
}

template <typename T, int val>
class X
{
  T arr[val];
};

void foo()
{
  struct dummy {
    dummy() noexcept(false) { static_cast<void>(0); } // M0-1-3 violation reported here
  };
  // usage of dummy
  static_assert(!std::is_nothrow_default_constructible<X<dummy, 5>>::value,
                "Must not be nothrow default constructible");
}

int main()
{
  int a;
  StaticAssertTypeEq<decltype(to_underlying(a)), int>(); // usage of to_underlying
  foo();
  return 0;
}

Proposed Fix(es)
Hi @lcartey, kindly let me know your valuable insights whether the following can be acceptable or not.
The MISRA2008 standard doesn't highlight any specific exception for this rule. However, considering CodeQL's limitation and to make it more practical to check the results of this query, can we propose to restrict this query in the following way? I would like to seek opinions about the same.

Avoid analyzing functions that are constexpr because CodeQL has known limitations about tracking the usages of constexpr functions/expressions.
Avoid analyzing explicitly defaulted functions. Since the user has marked it as "default", should we consider these as candidates for unused functions?
Avoid analyzing functions which result from template instantiations. Since the function has been instantiated, there should be an explicit call.
Avoid analyzing special member functions (constructors, destructors, operators, conversion operators). This is proposed mainly because their usages in compile time constructs are not tracked properly by CodeQL.
Treating test stubs from GoogleTest framework as a likely entry point. E.g. a function named "TestBody" can be treated as a GoogleTest function and considered as an entry point. We can think of making it more specific by checking GoogleTest's stub function's characteristics.

Hi Rakesh. Thanks again for reporting this. To take each suggestion in turn:

Avoid analyzing functions that are constexpr because CodeQL has known limitations about tracking the usages of constexpr functions/expressions.

Yes, I think that would be reasonable.

Avoid analyzing explicitly defaulted functions. Since the user has marked it as "default", should we consider these as candidates for unused functions?

default was added to the language after MISRA C++ 2008, so wasn't considered when the rule was written. While you could argue that a default function that is never called is unused in the strict sense of the word, I think

Avoid analyzing functions which result from template instantiations. Since the function has been instantiated, there should be an explicit call.

Functions from template instantiations should already be excluded (but contribute to whether the uninstantiated version of the function is considered used or not). Do you have a specific example where they are not?

Avoid analyzing special member functions (constructors, destructors, operators, conversion operators). This is proposed mainly because their usages in compile time constructs are not tracked properly by CodeQL.

I think we can exclude special member functions which are marked constexpr - because those I would expect we may not be able to report accurately, due to the automatic folding of constants. In other cases, I would expect to have enough information in the database to judge whether the function is or isn't used.
I note that the equivalent rule in MISRA C++ 2023 (Rule 0.2.4) does exclude special member functions, so another option would be to split the rule into two queries (one for special member functions, one without) so as to enable deviations to be applied to this case.

Treating test stubs from GoogleTest framework as a likely entry point. E.g. a function named "TestBody" can be treated as a GoogleTest function and considered as an entry point. We can think of making it more specific by checking GoogleTest's stub function's characteristics

Yes, the query already has a concept of an EntryPoint abstract class that can be extended to support other types of entry points.

Thanks a lot @lcartey for your valuable inputs! I will incorporate suggestions (1), (4) and (5) above. Any thoughts on finding out the call to the dummy constructor in the example above? I can see that there is a type mention for dummy at the static_assert statement location, so I was thinking maybe I can check if an unused constructor's type mention resides in a used function, I can mark that constructor call as "used". But, I am not able to get this information from the AST.

Closing as completed by #725.


Add a skill to count capital words in a text

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your PR.
Describe the contribution to the taxonomy

A skill to count the capital letters in text. The current implementation had a few bugs (described below).

Input given at the prompt

   How many capital letters are in the text "Hello World"?

Response that was received

  The text "Hello World" contains one capital letter, which is 'H' at the beginning of the word 'Hello'.

Response that is now received instead

  The text "Hello World" contains two capital letters. The capital letters are 'H' and 'W'.

Input given at the prompt

   How many capital letters are in the text "There should be SEVEN Capital letters returned"?

Response that was received

  The text "There should be SEVEN Capital letters returned" contains seven capital letters, as stated in the question itself. The capital letters are 'S', 'E', 'V', 'E', 'N', 'C', and 'R'.

Response that is now received instead

  The text "There should be SEVEN Capital letters returned" contains seven capital letters. The capital letters are 'T', 'S', 'E', 'V', 'E', 'N', and 'C'.

Contribution checklist

[ ] tested contribution with lab generate
[ ] lab generate does not produce any warnings or errors
[x] all commits are signed off (DCO)
[x] the qna.yaml file was linted

Thank you for your contribution to InstructLab! Unfortunately, once a Github repo is made public, all open PRs are automatically closed since they link against a private repo. We have detected that your PR might have been one of the ones affected by this change. If you are still interested in contributing your improvement, please fill out the following short form by no later than May 3rd, and we will get back to you with the additional steps necessary once we have had time to assess the PRs of those still interested:
https://forms.gle/V7SrPPMZDo6iGDYu8


Reorganize Button Layout

The current Button Layout is very jumbled and non-intuitive. I would like to rearrange the button layout and make it more friendly.
Proposed Solution:
Arrange the buttons in a way that is similar to most of the calculator layouts.
Please assign me this issue under the HacktoberFest tag.

Nice idea, I already assign this issue to you. Thank you

Merged


[Feature Request] Homepage- UTD Web Links

Overview
A featured article section to promote articles and allow users to easily find popular articles.
Proposal
Implement components relevant to the featured article section.
Supplementary Information

Closing as duplicate of #49


Windows start up issues on main

Plugin install workflow seems to be seeing issues with Windows JDK 11/17.  After several rerun attempts did not see any altered behavior and additional logging seems to indicate the security index isn't being created in a timely fashion.
Failure
From https://github.com/opensearch-project/security/actions/runs/3625326485/jobs/6113250804
Invoke-WebRequest: D:\a\_temp\2d6b1604-a1a3-410d-a119-3204283a8b44.ps1:6
Line |
   6 |  Invoke-WebRequest -SkipCertificateCheck -Uri 'https://localhost:9200/ …
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | OpenSearch Security not initialized.

Logs after node start
[2022-12-06T00:43:22,300][INFO ][o.o.s.OpenSearchSecurityPlugin] [fv-az206-877] Node started
[2022-12-06T00:43:22,304][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] Will not attempt to create index .opendistro_security and default configs if they are absent. Use securityadmin to initialize cluster
[2022-12-06T00:43:22,304][INFO ][o.o.s.OpenSearchSecurityPlugin] [fv-az206-877] 0 OpenSearch Security modules loaded so far: []
[2022-12-06T00:43:22,304][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] Background init thread started. Install default config?: false
[2022-12-06T00:43:22,304][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] Try to load config ...
[2022-12-06T00:43:22,304][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] security index not exists (yet)
Error: 2-06T00:43:22,304][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,304][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,304][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
Error: 2-06T00:43:22,320][ERROR][o.o.s.c.ConfigurationLoaderSecurity7] [fv-az206-877] Failure no such index [.opendistro_security] retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT] (index=.opendistro_security)
[2022-12-06T00:43:32,341][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] Unable to load configuration due to java.util.concurrent.TimeoutException: Timeout after 10SECONDS while retrieving configuration for [INTERNALUSERS, ACTIONGROUPS, CONFIG, ROLES, ROLESMAPPING, TENANTS, NODESDN, WHITELIST, ALLOWLIST, AUDIT](index=.opendistro_security)
[2022-12-06T00:43:35,350][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] Try to load config ...
[2022-12-06T00:43:35,350][INFO ][o.o.s.c.ConfigurationRepository] [fv-az206-877] security index not exists (yet)
...

The Failure no such index lines repeat every 10 seconds as the background job attempts to bootstrap the cluster.
Impacted Pull Requests

6x failures https://github.com/opensearch-project/security/pull/2299
2x failures https://github.com/opensearch-project/security/pull/2297

@peternied I am looking at this now. I am not sure what changed that is causing the issue because it seemed to work fine before. I need to figure out how to make sure the index is populated since I am not sure how that works.

There's an issue on core for this as well: https://github.com/opensearch-project/OpenSearch/issues/5470
The fixes have been merged, this may be resolved as soon as another distribution build runs.

@cwperks thank you for letting me know about this. It looks like this may be a different issue sadly. There issue seems to only impact 1.3.7 whereas this in on main. We also never get the Error opening log file message they do. Maybe I am misunderstanding their issue though? What do you think?
If it is the same then that is great haha cause then we do not need to worry about this.


NVME types not generated

Actual behavior
All types from nvme.h are ignored.
Expected behavior
The types should be generated from nvme.h
Repro steps

NativeMethods.txt content:

NVME_IDENTIFY_CNS_CONTROLLER
NVME_IDENTIFY_CNS_IO_COMMAND_SET
NVME_LOG_PAGES

Context

CsWin32 version: 0.3.18-beta+dc807e7787
Target Framework: net 6.0
LangVersion (if explicitly set by project): latest

Closing as metadata bug. Will reopen there.


Add registration link on Docs.

Request from Vedant:

@it09 @js-ts announcement banner for the event has been added on the top of the docs site. Please review the attached screenshot and pull request here: https://github.com/bacalhau-project/docs.bacalhau.org/pull/216

This change has been merged live by Vedant.


test against windows Path explicitly

@shahpnmlab's PR broke the tests - fixed here

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 98.05%. Comparing base (25ba498) to head (02d2d53).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   98.05%   98.05%
=======================================
  Files           4        4
  Lines         154      154
=======================================
  Hits          151      151
  Misses          3        3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


DALI backend not releasing device memory

Hello!
I was excited for the 16-bit TIFF decoding, but there is a bug regarding the DALI backend not releasing memory when model is unloaded. Even when you unload the DALI model and load it again, it will consume more memory than previously. Although it converges to a fixed number, it is very high - 7Gb for batch size 3.

In the image, you can see, that when a DALI model is loaded, the memory increases, which is fine. The dip is when the model is unloaded. It doesn't release the memory to the initial minimum. When loading the model again, the memory increases again. I've done this model "reloading" multiple times and after some time the memory growth stops.
DALI version: 1.22.0dev, but I think the problem persists with older versions too.
from nvidia.dali import pipeline_def
import nvidia.dali
import nvidia.dali.fn as fn
import nvidia.dali.types as types

def set_normalization_value(pixel_value):
    condition = pixel_value > 255.0
    neg_condition = condition ^ True
    return condition * 65535.0 + neg_condition * 255.0

@pipeline_def(
    batch_size=3,
    num_threads=1,
    device_id=0,
    output_dtype=[types.FLOAT],
    output_ndim=[4],  # Dimensions of image, not including batch dimension
)
def decode_pipeline():
    images = fn.external_source(device="cpu", name="input_0", dtype=types.UINT8, ndim=1)
    images_2 = fn.external_source(
        device="cpu", name="input_1", dtype=types.UINT8, ndim=1
    )
    images_3 = fn.external_source(
        device="cpu", name="input_2", dtype=types.UINT8, ndim=1
    )
    images = fn.experimental.decoders.image(
        images,
        device="mixed",
        dtype=types.UINT16,
    )
    images_2 = fn.experimental.decoders.image(
        images_2, device="mixed", dtype=types.UINT16
    )
    images_3 = fn.experimental.decoders.image(
        images_3, device="mixed", dtype=types.UINT16
    )

    images = fn.transpose(images, perm=[2, 0, 1])
    images_2 = fn.transpose(images_2, perm=[2, 0, 1])
    images_3 = fn.transpose(images_3, perm=[2, 0, 1])
    images = fn.cast([images], dtype=types.FLOAT)
    images_2 = fn.cast([images_2], dtype=types.FLOAT)
    images_3 = fn.cast([images_3], dtype=types.FLOAT)
    image_max_value = fn.reductions.max(images)
    normalization_value = set_normalization_value(image_max_value)
    images /= normalization_value
    images_2 /= normalization_value
    images_3 /= normalization_value
    images = fn.stack(*[images, images_2, images_3], axis=0)
    return images

pipe = decode_pipeline()
pipe.serialize(filename="model.dali")

This is how the pipeline was generated. I don't think the pipeline is the problem, rather the DALI backend not cleaning up the memory.
To reproduce this problem:

Launch Triton Inference Server with DALI nightly backend
Load DALI model explicitly
Make inference request to the said DALI model
Unload the model
Repeat steps 2.-5.

Is there a way to limit the memory growth (because 7Gb over the baseline is too much) or fix this issue?
I want to decode 3x5000x10000x3x2(size of uint16) images - it should be around 900Mb of pure data.

Hi @appearancefnp ,
thanks for reaching out. I'm not sure I understand correctly what you'd like to do, but are images, images_2 and images_3 supposed to create a batch?
In DALI, batches are implicit. That means, that such DALI pipeline:
@pipeline_def(
    batch_size=3,
    num_threads=1,
    device_id=0,
    output_dtype=[types.FLOAT],
    output_ndim=[4],  # Dimensions of image, not including batch dimension
)
def decode_pipeline():
    images = fn.external_source(device="cpu", name="input_0", dtype=types.UINT8, ndim=1)
    images = fn.experimental.decoders.image(
        images,
        device="mixed",
        dtype=types.UINT16,
    )

    images = fn.transpose(images, perm=[2, 0, 1])
    images = fn.cast([images], dtype=types.FLOAT)
    image_max_value = fn.reductions.max(images)
    normalization_value = set_normalization_value(image_max_value)
    images /= normalization_value
    return images

already works on batch of 3 images. Having images_2 and images_3 very likely boosts the memory consumption and is not necessary for batch processing.
Also, please correct me if I'm wrong, but the TIFFs you're working with - 3x5000x10000x3x2(size of uint16) sum up to about 1.8GB of data per batch (I assumed, that the 3 at the beginning of the shape is the batch dimension)? If so, after adding some additional memory for the fn.transpose, the amount of memory looks legit.
Lastly, about the loading/unloading/memory consumption. DALI uses the lazy-allocation model. It means, that when the DALI pipeline is fed with data, DALI tries to handle the input data with existing memory. If whatever DALI has already allocated is not enough, DALI allocates additional memory. Naturally, this process will grow asymptotically and will plateau on the size of memory, which is required to handle the biggest batch possible. For example, if my dataset contains images of various sizes, but the largest one is 1920x1080x3 (uint8), then for batch_size=7 simple DALI decoding pipeline will plateau on about 43MB.
Unloading DALI correctly frees the allocated memory, but as an optimization, a given DALI pipeline when loaded will allocate the same amount of memory it freed before. Since allocations are one of the most expensive operations, this helps in avoiding the warmup phase after unloading/loading DALI pipeline. Is that OK with you? Or would your use-case require starting the warmup from scratch?
Hopefully my explanation here was clear. If you have any other questions, don't hesitate to ask :)

Thanks for the reply!
I know the pipeline looks weird, but my model input consists of three RGB images. I know it's a weird way to do it, but currently it is designed this way. But this is not the problem I want to address right now.
The problem is that after unloading the models, i would want to free the memory.

After unloading DALI models, the triton inference server keeps the memory and does not release it. If I could unload it completely and load it again it would be great. The model warmup is not a problem :) The GPU memory is the problem! Because for my use case, I want to free the GPU memory from the inference server and use it else where. So yes, I want the warmup from scrath :)

I see. This actually might be a bug, I'd need to check this out. Thanks for reporting and the repro. I'll be posting status updates here.
Cheers!

I did some more research on this topic. Generally, it's not a bug, it's a feature.
Our intention in DALI was not to deallocate GPU memory, virtually ever (it's freed it after process is killed). The reason is that we're keeping a pool of GPU memory, shared by all DALI Pipelines per a given process and creating subsequent Pipeline object is way cheaper, when the memory is already allocated. The peaks marked by arrows in the image above are rather a something unwanted in this behaviour - these are the parts of external libraries, where we cannot control the memory allocation.
That being said, I believe that the use-case presented above is a valid point to ask and a legit reason to introduce a possibility to actually free the GPU memory. We'll introduce such possibility in DALI and DALI Backend. I'll be posting the status updates here.

@szalpal Thanks for the updates! I know it's expensive to reallocate GPU memory in terms of time, but if it's an optional configuration setting, the would be great!
Cheers!

That being said, I believe that the use-case presented above is a valid point to ask and a legit reason to introduce a possibility to actually free the GPU memory. We'll introduce such possibility in DALI and DALI Backend. I'll be posting the status updates here.

@szalpal, curious if this feature ever got added? My team ran into this issue recently and thought it was a bug. We were creating and destroying cuda shared memory regions many times sequentially in the same process, and saw GPU memory usage increase until we ran out of memory. This did not happen prior to our switch to dali_backend (we are using dali_backend for image preprocessing, which was previously done before writing the image to shared GPU memory). Our proposed fix is to avoid creating and destroying shared memory many times in the same process, but would be good to know if there is a way to avoid increasing memory usage and warmup from scratch instead.

@nrgsy ,
We did not add it to DALI Backend, however I believe required functionality exists already in DALI, therefore I'll create a PR adding it. Thank you for bringing attention to this.

@nrgsy , @appearancefnp ,
The PR is merged. You can expect the feature in next Triton release.


Anyone can distribute dividends to community coin holders prorata

Bitcoin (maybe colored coins) sent to a an account (smart contract?)
They are sent to community token holders pro-rata based on the cap table

Our current leading suggestion is ethereum, both for smart contracts and currency for dividend distribution.
We envsion:

generate ethereum keypair in browser
user saves private key or BIP32 (human words)
user enters key or BIP to log in
we run geth node to support swarmbot
user never runs eth, geth, wallet, nothin'

Spike on changetip, circle, sfox, blockchain.info / PMs.

https://docs.coinkite.com/api/send_adv.html#new-send-adv


Fix compilation of examples

Since 3.4 nettle defines base64_encode_raw like this:
void base64_encode_raw(char *dst, size_t length, const uint8_t *src);

So examples have to be adjusted. More read at
https://git.lysator.liu.se/nettle/nettle/blob/nettle_3.4_release_20171119/NEWS#L49-53

Thank you!  Merged now.


fix: provide a class for vim.api (take 2)

As far as I can tell this doesn't break completion.

Cool, not home right now so won't merge it blindly this time 😅
Will double-check everything tomorrow!

The fix for this was actually easier: https://github.com/folke/neodev.nvim/commit/e27c03b3e312c08e2d4aeed2a0f76199a9729529


Please add a LICENSE file to this repo

First of all, thank you for sharing this project with us!
I saw that the README.md has a badge which says this repo is under the MIT license:

https://github.com/zjunlp/OneGen/blob/ea266e1d44e1e83ea0c219dd81b59e1fb726853b/README.md?plain=1#L6

However, there's no LICENSE file with the text of the license that would formalize it. Would you mind adding it?
You can find the text of the license at https://opensource.org/license/MIT and https://choosealicense.com/licenses/mit/
Once added, this will also add a badge to the repo to clearly identify it as an MIT-licensed project.
Thank you!

Hi, thank you for pointing this out! I have now added the MIT License file to the repository. You can find it here to formalize the licensing.
Please let me know if everything looks good now.
Thanks again!

Looks great, thank you @MikeDean2367 !


Error loading data

we should add cloning the repo as a step since we need the data stored in /data/store_sales.txt. If it's optional because they could have their own data, we should state that.

get the following syntax error -

hspark> LOAD DATA LOCAL INPATH ‘/Users/rhagarty/journeys/hspark_journey/data/store_sales.txt’ INTO TABLE store_sales
17/10/17 13:51:03 INFO HBaseSQLCliDriver: Processing LOAD DATA LOCAL INPATH ‘/Users/rhagarty/journeys/hspark_journey/data/store_sales.txt’ INTO TABLE store_sales
17/10/17 13:51:03 INFO SparkSqlParser: Parsing command: LOAD DATA LOCAL INPATH ‘/Users/rhagarty/journeys/hspark_journey/data/store_sales.txt’ INTO TABLE store_sales
org.apache.spark.sql.catalyst.parser.ParseException:
mismatched input '‘' expecting STRING(line 1, pos 23)

== SQL ==
LOAD DATA LOCAL INPATH ‘/Users/rhagarty/journeys/hspark_journey/data/store_sales.txt’ INTO TABLE store_sales
-----------------------^^^

fix the quote issue. please git pull.


[FEATURE REQUEST] Mock actor objects for using testing

I would like to suggest a mock/test actor object, implemented in the Python SDK, that would allow for easy and portable unit testing of various methods, without any dependency on the Dapr sidecar being up, or other processes being active. Essentially it would be an way to create an object that has all the methods an actor has, giving you the ability to call them in tests and check the result.
A code example of what I envisage the final result would look like would be (the specifics or names here do not particularly matter, it's just for demonstrating the idea):
testactor = TestActor(MyActor)
assert testactor.some_method(some_args) == what_you_expect

How I envisage this interacting with the various Actor features:
Actor activation / _on_activate()
This could either be automatically called on object instantiation, essentially replacing __init__ (just as Dapr does when instantiating a new actor instance) or be left as a method for the user to call manually . I'm not really sure what method I prefer. If you keep it as a separate method every time the mock object is used one would have to manually call the function (assuming it does some important setup) which is clutter, but on the other hand, it might be useful to keep it separate.
State storage:
This would be handled entirely locally, with each mock actor object holding its own state as a dict or other dict like object. Ideally this could be passed in at object creation, and read from the object directly. A code example of what a test would look like:
testactor = TestActor(MyActor, initstate=some_state)
testactor.method_that_changes_state(some_args)
assert testactor.state == what_you_expect

the ActorStateStore object used by the mock actor would only write to this temporary in memory dict-like store, which would only last the lifetime of each object and have no persistence - obviously, if you want to test actors activating or responding to requests in an environment with a populated state store, all you need to do is pass it in or set it.
Timers and reminders:
These should not have any of their actual functionality within the mock object, since it's simply outside the scope of what the mock actors are trying to do. You would simply unit test the methods they would call with the arguments they would use (and more complex end to end testing is outside of the scope of this proposal).
There does remain the question of testing adding and removing reminders / timers. For this, I propose that the mock actor register/unregister timer/reminder methods be overrwritten to simply point to an externally accessible list/dict of ActorReminderData and ActorTimerData instances which holds all the "active" timers/reminders for each actor object, which test code can then check and query to see if timers/reminders are being added and removed correctly (They can also be removed via TTL, of course, but again I would say that testing that functionality is outside of the scope of this). An code example of a test using this would look like:
testactor = TestActor(MyActor)
testactor.method_that_adds_reminder(some_args)
assert len(testactor.reminders) == 1
reminder = testactor.reminders[0]
assert reminder.name == what_you_expect
assert reminder.state== what_you_expect
. .  etc

Potential downsides and problems:
Obviously, the time and effort spent in creating this (I am personally willing to work on it, although it will take me a bit to get used to the SDK internals)
Development burden to potentially mirror future actor features if added
Inability to mirror "true" functionality for whatever reason (I can't think of one, but you never know, I suppose)
This is my first issue opened on Dapr and any open source project in general, so always open to see how it might be improved, fairly sure I read all the rules and contribution guidelines but maybe I missed something.
Release Note
RELEASE NOTE: ADD Mock actors for unit testing actor methods

I think this is a great idea @lor1113. Am I right in understanding that what we need would be an ActorProxy mock? We probably won't need mocking anything from the runtime, because we won't be going through that code path, correct?

/assign


add: ID3A schema

@wernersun pull request for ID3A.json, also let me know if I'm doing this right

Tagging @kenygren as well.
Kate, it looks like you ran the xlsx->json conversion using an older version of the python script. Kelly is working on a new version with several bug fixes. After you commit a new schema to your ksg52-dev branch, it should show up in this pull request.
Also, I noticed a couple typos:

principle investigator -> principal investigator
CESRCondtions -> CESRConditions

The new version is up on my repo and in a pull request to Werner. It requires the newest excel file.
The typos found will need to be addressed in the excel file - that is where they propagate from.


Fullstack TypeScript + Express + Handlebars app

Hi RealWorld maintainers,
I made a fullstack RealWorld implementation and thought I would try and get it featured in the main repo. It's an "old school" server-rendered app with minimal client-side JavaScript, augmented with Turbolinks for faster page loads. The app is up to spec as far as I can tell, and you can try it out here: https://handlebars-realworld.herokuapp.com/.
I've also got a logo ready (see repository README).
Please let me know what the next steps are or if you have any questions!
https://github.com/jacobstern/typescript-handlebars-realworld
Thanks!

你可以在这里试试：oubopingtai.com

Hello, we moved the addition of new implementations to this website : https://codebase.show/projects/realworld
Please submit your implementation there.


Distros' Default C/C++  Complier Options

As discussed on today's (3/1/23) phone call, I'm putting together a paper with the default compiler options used by each independent Linux distro.
https://docs.google.com/document/d/1QGyDVgu0bGdKkdSIIJMHW35R044vGLa6-9tVs86A4_8/edit?usp=sharing

@david-a-wheeler So far, I've added Debian and Ubuntu. I plan on adding Red Hat and Gentoo next (sometimes before our next meeting, hopefully, if possible).

I recommend that we identify for each option flag the list of distros that use it, as that can help people gain confidence that it's okay or necessary to use/test with that option.

I recommend that we identify for each option flag the list of distros that use it, as that can help people gain confidence that it's okay or necessary to use/test with that option.

@david-a-wheeler That's a good idea. I'll move things around.

@david-a-wheeler Also, FWIW, I've noticed that most distros will default GCC for all other binaries (i.e., not compiled by the Distro's Build process) default to the GCC Built-In Specification. Perhaps identifying what that default is would be useful.

All, FYI:
The OpenSSF Best Practices badge (formerly known as the CII Best Practices badge)
has officially moved its production website from:
https://bestpractices.coreinfrastructure.org https://bestpractices.coreinfrastructure.org/
to:
https://www.bestpractices.dev https://www.bestpractices.dev/
People using the old URLs will be automatically redirected to the new ones.
People who use "bestpractices.dev" instead of "www.bestpractices.dev http://www.bestpractices.dev/" will
also be automatically redirected to the new domain name. So, for many people,
this will be a relatively transparent chagne.
This process had more bumps than I expected, but I believe it's all working.
If something is NOT working properly, PLEASE let me know.
A big thank-you to the LF IT team, who helped me track down & debug some mysteries.
--- David A. WHeeler
P.S.: A few details if you're curious:

I had to recreate the GitHub token to move the site.
Therefore, the first time you login using GitHub (if you do), you'll need
to re-authorize logging in with the GitHub. Text next to Sign in / Log in explains this.
Email from the site will temporarily continue to use the old domain.
We have to change the email system anyway, but I'm making that a separate
change to minimize the risk of problems (and minimize debugging if there is a problem).
Currently the redirects are 302 "Found" (temporary redirect). Once we're confident
this all works well, we'll make the redirects a 301 (permanent redirect).
We didn't want to use 301 at first, in case there was an unexpected problem.
Once we have confidence in this, we'll want to update Scorecard and LFX
so they immediately go to the correct domain name. That will immediately
eliminate many redirects.
We need to update the logo, again that'll be handled separately.


Remove docs/static skillmap files, add redirect to versioned skillmap

Preparing the redirect for the versioned skillmap page. This should be merged after release

awesome! LGTM

awesome! LGTM


pkg_resources.DistributionNotFound

$ jack-select
Freshly 'compiled' from the git I get this:
Traceback (most recent call last):
 File "/usr/bin/jack-select", line 6, in <module>
   from pkg_resources import load_entry_point
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
   @_call_aside
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
   f(*args, **kwargs)
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
   working_set = WorkingSet._build_master()
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
   ws.require(__requires__)
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
   needed = self.resolve(parse_requirements(requirements))
 File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
   raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'jack-select==1.4.1' distribution was not found and is required by the application

Which distro is this? And which Python version? How did you install exactly?
Does the release version work for you?

Which distro is this?
Kubuntu 19.10

which Python version?

$ python -V
Python 2.7.17rc1
$ python3 -V
Python 3.7.5

How did you install exactly?

$ git clone https://github.com/SpotlightKid/jack-select
$ cd jack-select
$ sudo make PREFIX=/usr install

Does the release version work for you?
when installed with pip3 install jack-select it works as advertised

I can't reproduce this here (on Manjaro). Debian/Ubuntu changes python-setuptools in some way, I'm not sure whether that interferes here.
Can you copy-and-paste the output from your sudo make PREFIX=/usr install command here? Also give the output of which jack-select after installlation and paste the content of that file, i.e. cat $(which jack-select). Lastly, paste the output of python -c 'import jackselect; print(jackselect.__file__)'. All commands from the same terminal/shell session.

First I remove jack-select from the python package manager, just in case:
sudo pip3 uninstall jack-select
Uninstalling jack-select-1.4.1:
  Would remove:
    /usr/local/bin/jack-select
    /usr/local/lib/python3.7/dist-packages/jack_select-1.4.1.dist-info/*
    /usr/local/lib/python3.7/dist-packages/jackselect/*
Proceed (y/n)? y
  Successfully uninstalled jack-select-1.4.1

Then I do a git pull on the jack-select git and
sudo make PREFIX=/usr install
python3 setup.py install --root=/ --prefix=/usr --optimize=1
running install
running build
running build_py
copying jackselect/qjackctlconf.py -> build/lib/jackselect
running egg_info
writing jack_select.egg-info/PKG-INFO
writing dependency_links to jack_select.egg-info/dependency_links.txt
writing entry points to jack_select.egg-info/entry_points.txt
writing requirements to jack_select.egg-info/requires.txt
writing top-level names to jack_select.egg-info/top_level.txt
reading manifest file 'jack_select.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README.rst'
writing manifest file 'jack_select.egg-info/SOURCES.txt'
running install_lib
copying build/lib/jackselect/qjackctlconf.py -> /usr/lib/python3.7/site-packages/jackselect
byte-compiling /usr/lib/python3.7/site-packages/jackselect/qjackctlconf.py to qjackctlconf.cpython-37.pyc
writing byte-compilation script '/tmp/tmp83a1jtp7.py'
/usr/bin/python3 /tmp/tmp83a1jtp7.py
removing /tmp/tmp83a1jtp7.py
running install_egg_info
removing '/usr/lib/python3.7/site-packages/jack_select-1.4.1-py3.7.egg-info' (and everything under it)
Copying jack_select.egg-info to /usr/lib/python3.7/site-packages/jack_select-1.4.1-py3.7.egg-info
running install_scripts
Installing jack-select script to /usr/bin
install -Dm644 jack-select.png -t /usr/share/icons/hicolor/48x48/apps
install -Dm644 jack-select.desktop -t /usr/share/applications
install -Dm644 jack-select.1 -t /usr/share/man/man1
update-desktop-database -q
gtk-update-icon-cache -q /usr/share/icons/hicolor
max@klapprechner:~/Code/jack-select$ [main 2019-12-10T14:13:18.000Z] update#setState checking for updates
[main 2019-12-10T14:13:18.030Z] update#setState idle
^C

I had to abort there, it got stuck. Secont time it worked:
sudo make PREFIX=/usr install
python3 setup.py install --root=/ --prefix=/usr --optimize=1
running install
running build
running build_py
running egg_info
writing jack_select.egg-info/PKG-INFO
writing dependency_links to jack_select.egg-info/dependency_links.txt
writing entry points to jack_select.egg-info/entry_points.txt
writing requirements to jack_select.egg-info/requires.txt
writing top-level names to jack_select.egg-info/top_level.txt
reading manifest file 'jack_select.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README.rst'
writing manifest file 'jack_select.egg-info/SOURCES.txt'
running install_lib
writing byte-compilation script '/tmp/tmpnyu6kusm.py'
/usr/bin/python3 /tmp/tmpnyu6kusm.py
removing /tmp/tmpnyu6kusm.py
running install_egg_info
removing '/usr/lib/python3.7/site-packages/jack_select-1.4.1-py3.7.egg-info' (and everything under it)
Copying jack_select.egg-info to /usr/lib/python3.7/site-packages/jack_select-1.4.1-py3.7.egg-info
running install_scripts
Installing jack-select script to /usr/bin
install -Dm644 jack-select.png -t /usr/share/icons/hicolor/48x48/apps
install -Dm644 jack-select.desktop -t /usr/share/applications
install -Dm644 jack-select.1 -t /usr/share/man/man1
update-desktop-database -q
gtk-update-icon-cache -q /usr/share/icons/hicolor

outside of the jack-select directory:
which jack-select
/usr/bin/jack-select

and
cat $(which jack-select)
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'jack-select==1.4.1','console_scripts','jack-select'
__requires__ = 'jack-select==1.4.1'
import re
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(
        load_entry_point('jack-select==1.4.1', 'console_scripts', 'jack-select')()
    )

python3 -c 'import jackselect; print(jackselect.__file__)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'jackselect'

trying to run it:
jack-select
Traceback (most recent call last):
  File "/usr/bin/jack-select", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'jack-select==1.4.1' distribution was not found and is required by the application

This is very weird. The make install command just calls python3 setup.py install --prefix=/usr to install the jackselect package, and apparently it seems to install it into the right location (/usr/lib/python3.7/site-packages). Yet the jackselect is not found by python3.
Can you do the following:
$ python3
>>> import sys
>>> print(sys.path)

Also, you can try to install with pip install instead of setup.py install:
make wheel
sudo pip install dist/jack_select-1.4.1-py3-none-any.whl

This won't install the .desktop file, the man page or the application icon, though.

I'll see if I can install a Kunbutu 19.10 virtual machine and try to reproduce this.

>>> print(sys.path)
['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/max/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/local/lib/python3.7/dist-packages/scenedetect-<IP_ADDRESS>-py3.7.egg', '/usr/local/lib/python3.7/dist-packages/Click-7.0-py3.7.egg', '/usr/lib/python3/dist-packages']

I don't understand the other part. You mean run make wheel in the git folder?
make wheel
make: *** No rule to make target 'jack-select.1.rst', needed by 'jack-select.1'.  Stop.

and
sudo pip3 install dist/jack_select-1.4.1-py3-none-any.whl
Requirement 'dist/jack_select-1.4.1-py3-none-any.whl' looks like a filename, but the file does not exist
Requirement already satisfied: jack-select==1.4.1 from file:///home/max/Code/jack-select/dist/jack_select-1.4.1-py3-none-any.whl in /usr/local/lib/python3.7/dist-packages (1.4.1)
Requirement already satisfied: pyudev in /usr/lib/python3/dist-packages (from jack-select==1.4.1) (0.21.0)
Requirement already satisfied: PyGObject in /usr/lib/python3/dist-packages (from jack-select==1.4.1) (3.34.0)
Requirement already satisfied: pyxdg in /usr/lib/python3/dist-packages (from jack-select==1.4.1) (0.25)
Requirement already satisfied: dbus-python in /usr/lib/python3/dist-packages (from jack-select==1.4.1) (1.2.12)
Requirement already satisfied: pycairo>=1.11.1 in /usr/lib/python3/dist-packages (from PyGObject->jack-select==1.4.1) (1.16.2)

print(sys.path)

Your Python installation seems broken. python setup.py install installs packages into /usr/lib/python3.7/site-packages, but your sys.pathdoes not contain that directory. The latter is something Debian/Ubuntu apparently does but then python setup.py install should not install things there.

You mean run make wheel in the git folder?

Yes, but when you run that in a git checkout of the project, it requires rst2manfrom the Python package docutils to be installed to build jack-select.1 from jack-select.1.rst. The source distribution includes a pre-built jack-select.1.
If that fails, building the jack_select-1.4.1-py3-none-any.whl wheel also fails, then you obviously can't install it with Python.

It might be the fault of an anaconda installation which has the reputation to break all kinds of stuff. I have no idea how to unbreak it other then reinstalling all python3 packages which I just did.
I istalled docutils sudo  pip3 install docutils
Successfully installed docutils-0.15.2
$ make wheel
make: *** No rule to make target 'jack-select.1.rst', needed by 'jack-select.1'.  Stop.
max@klapprechner:~/Code/jack-select$

jack-select.1.rst should be in the repository.

huh, weirdly it wasn't in the git clone / pull but I could download it from github.
sudo make wheel
python3 setup.py bdist_wheel
running bdist_wheel
running build
running build_py
running egg_info
writing jack_select.egg-info/PKG-INFO
writing dependency_links to jack_select.egg-info/dependency_links.txt
writing entry points to jack_select.egg-info/entry_points.txt
writing requirements to jack_select.egg-info/requires.txt
writing top-level names to jack_select.egg-info/top_level.txt
reading manifest file 'jack_select.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.desktop'
writing manifest file 'jack_select.egg-info/SOURCES.txt'
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/jackselect
creating build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/quit.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/start.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/stopped.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/stop.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/jack.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/midi.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/images/started.png -> build/bdist.linux-x86_64/wheel/jackselect/images
copying build/lib/jackselect/a2jcontrol.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/qjackctlconf.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/jackselect.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/alsainfo.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/pyudev_gobject.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/jackselect_service.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/devmonitor.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/jackcontrol.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/dbusinterface.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/__init__.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/__main__.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/indicator.py -> build/bdist.linux-x86_64/wheel/jackselect
copying build/lib/jackselect/version.py -> build/bdist.linux-x86_64/wheel/jackselect
running install_egg_info
Copying jack_select.egg-info to build/bdist.linux-x86_64/wheel/jack_select-1.4.1.egg-info
running install_scripts
adding license file "LICENSE" (matched pattern "LICEN[CS]E*")
creating build/bdist.linux-x86_64/wheel/jack_select-1.4.1.dist-info/WHEEL
creating 'dist/jack_select-1.4.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'jackselect/__init__.py'
adding 'jackselect/__main__.py'
adding 'jackselect/a2jcontrol.py'
adding 'jackselect/alsainfo.py'
adding 'jackselect/dbusinterface.py'
adding 'jackselect/devmonitor.py'
adding 'jackselect/indicator.py'
adding 'jackselect/jackcontrol.py'
adding 'jackselect/jackselect.py'
adding 'jackselect/jackselect_service.py'
adding 'jackselect/pyudev_gobject.py'
adding 'jackselect/qjackctlconf.py'
adding 'jackselect/version.py'
adding 'jackselect/images/jack.png'
adding 'jackselect/images/midi.png'
adding 'jackselect/images/quit.png'
adding 'jackselect/images/start.png'
adding 'jackselect/images/started.png'
adding 'jackselect/images/stop.png'
adding 'jackselect/images/stopped.png'
adding 'jack_select-1.4.1.dist-info/LICENSE'
adding 'jack_select-1.4.1.dist-info/METADATA'
adding 'jack_select-1.4.1.dist-info/WHEEL'
adding 'jack_select-1.4.1.dist-info/entry_points.txt'
adding 'jack_select-1.4.1.dist-info/top_level.txt'
adding 'jack_select-1.4.1.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel

It is not sufficient to install docutils via the python3 package manager sudp pip3 install docutils this will leave rst2man inaccessible. I had to install this package via sudo apt install python3-docutils
However, still issues:
jack-select
Traceback (most recent call last):
  File "/usr/bin/jack-select", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3250, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3263, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'jack-select==1.4.1' distribution was not found and is required by the application

So, I tested installation of jack-select from the git repo on a Kubuntu 19.10 virtual machine, and I can reproduce the error.
(Side note: you need to install the following packages before attempting to install jack-select: build-essential git python3-dbus python3-gi python3-pyudev python3-setuptools python3-xdg and python-docutils (yes, for Python 2, for the rst2man program).
It seems that the version of setuptools on Ubuntu behaves rather strangely, to say the least (I'd call it seriously broken). If you use the --prefix=/usr when installing a Python package with python setup.py install, it will install the package into /usr/lib/python3.7/site-packages, but that directory has been removed from sys.path in the Python version on Debian / Ubuntu. So the package can not be imported.
If you use --prefix=/usr/local (the default), then the package will be installed in a directory, which is in sys.path and it can be imported.
To cut a long story short: if you want to install jack-select from the git repo on Ubuntu, you can't use make PREFIX=/usr install you have to use make install to install it under /usr/local.
In the light of these results I can not really recommend using Ubuntu, unless you are using only software from the distribution packages.

Thanks for checking!


Introduce partitioner v2

All in pure golang, expect the filesystem formatting
Substitutes the old one that shelled out to parted.
Manually tested and seems to work as expected
needs:

Fix testing, as we currently test against a fake device by mocking the shell calls, this doesn't work anymore
Add testing against a file

Also works on BIOS installs :D

only thing missing is mocking or checking the elemental tests for PartitionAndFormatDevice

Lets gooooo


[Hub Generated] Review request for Microsoft.Capacity to add version preview/2018-06-01

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-js

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

Automation for azure-sdk-for-java

@openapi sdkautomation rebuild


Missing mechanism to define a native Class without a absolute JSName

The example is the use of  the class Graph of the project graphlib (https://github.com/cpettitt/graphlib). I can define graphlib as a native object (using @JSName to bind it) and define the native class Graph inside.
@JSName("graphlib")
@js.native
object graphlib extends js.Object {

  val version: String = js.native

  @js.native
  class Graph extends js.Object {

    def setGraph(obj: js.Object): Graph = js.native
    def setNode(id: js.Any, obj: js.Object): Graph = js.native
    def setEdge(from: js.Any, to: js.Any): Graph = js.native
    // . . .
  }
}

However I would prefer to define graphlib this as a trait, such that it can be used as a view for a dynamically loaded object as well, using require in node-js. Defining such view to access the object loaded with require is a approach that I saw in a few scala-js projects. But, with a class definition in the module, I don't find a way to define a proper wrapper. Inside a native trait no class can be defined, even not a native one.

Duplicate of #2398?

Indeed, closed as duplicate.


Prevent iOS from improperly JIT-ing isArrayLike

Fixes #2081. Special cases with _.isArray, since it’s so damn fast and engines really dislike doing 'length' in array.
jsperf, and with longer collections.

Mind adding a failing test case as @osolo describes in #2081 I want to see if sauce catches it

Mind adding a failing test case as @osolo describes in #2081 I want to see if sauce catches it

https://github.com/jashkenas/underscore/pull/2088 :stuck_out_tongue:

The failure has something to do with karma-cli not liking node v0.8. Everything else works fine.

Also, discussion happening in https://github.com/jridgewell/underscore/commit/8a6728c40d13cfe33f65960ee0dc57c749ca8f5a.

Boo yah, @jdalton came up with a brilliant collection['length'] fix that's much faster.

Will the minifier not inline this?

Appears not. Tested with our uglify flow, and it worked fine. Also tested it with closure compiler on crazy ADVANCED_OPTIMIZATIONS mode, and it worked as well.

Wow, we really need to improve the state of our minifiers. That is sad.

I would still be hesitant to use the brace fix for the cases where users
minify underscore themselves. I know closure converts brackets to dot
notation
I would suggest using result(x,length)
On Apr 1, 2015 5:16 PM, "Michael Ficarra"<EMAIL_ADDRESS>wrote:

Wow, we really need to improve the state of our minifiers. That is sad.
—
Reply to this email directly or view it on GitHub
https://github.com/jashkenas/underscore/pull/2094#issuecomment-88633895.

@megawac See my above comment.

Also tested it with closure compiler on crazy ADVANCED_OPTIMIZATIONS mode, and it worked as well.

I can do another PR that can use _.property, but I'm not sure it's necessary.

@jridgewell I just tested minifying underscore with<EMAIL_ADDRESS>and it coerced it to using dot notation

Agh, I'll submit another PR.

I seem to remember that the closure minifier required you to do the quoted keys rain dance to keep property names from getting minified obj['prop'] vs obj.prop and to do proper typechecking but I could be totally wrong.

@akre54 yeah, but uglify won't respect it then xD