tcpkeepalive: distinguish OS versions and use proper time units

DragonFly BSD changed the time unit for TCP keep-alive from milliseconds to seconds since v5.8 and Solaris 11.4 added TCP_KEEPIDLE, TCP_KEEPINTVL, and TCP_KEEPCNT with time units in second while Solaris <11.4 still use TCP_KEEPALIVE_THRESHOLD and TCP_KEEPALIVE_ABORT_THRESHOLD with time units in millisecond.
Currently, we don't differentiate among DragonFly BSD versions but set the keepalive options with seconds, which will result in unexpected behaviors on DragonFlyBSD <5.8. This PR intends to fix the wrong usage of time units of TCP keepalive options on DragonFly BSD <5.8 and consolidate the logic of time units conversion for TCP keepalive across platforms.
In addition, this PR introduces a new custom macro for determining Solaris 11.4. This macro is expected to help us implement some new features for libuv using some abilities that only exist on Solaris 11.4 and other mainstream platforms in the future, considering that Oracle developed and released Solaris 11.4 to replenish plenty of features on Solaris that have already been implemented on other UNIX-like OSs but missing from Solaris <11.4, also bring a good deal of new features.
References

Change tcp keepalive options from ms to seconds (DISRUPTIVE)
DragonFly BSD 5.8 release notes
DragonFly TCP
Solaris 11.3 TCP
Solaris 11.4 TCP
Solaris 11.4 release notes

This PR has code conflicts with #4419, we might want to merge #4419 first.
/cc @saghul @santigimeno

Ping @libuv/collaborators

Kindly ping @santigimeno

@santigimeno got a minute for this?

Cheers!


Move to unity test framework

All compiles now, can't run on Windows, just need to enable CI to see where we are.

May seem a bit extreme in the deletions, but the remote tests are part of the networking framework project, the allProject "test" is now replaced by us building many of the examples during commit. So neither should be there.


Bring branch 4.9.0 up to date

Description
The fork was delayed from 4.8.0 to 4.9.0. During this time Wazuh's and OpenSearch's work has kept going, so we need to update the branch.

[x] Rename branch
[x] Rebase branch to OpenSearch v2.11.0
[ ] Update configuration files (ISM stuff, service files, default config files, ...)
[ ] Bump version to 4.9.0

Check the current diff:
https://github.com/wazuh/wazuh-indexer/compare/896573f58b913db438642f98a4991f14637ee6be...587f224f1f0edd10fb3a023204526805b064fb05

Successfully rebased branch to OpenSearch v2.11.0
https://github.com/opensearch-project/OpenSearch/compare/2.11.0...wazuh:wazuh-indexer:8b00d4c4ce341ede61d34b541d4fd2044f89f7de
git rev-list refs/tags/2.11.0..4.9.0 --abbrev-commit


Linux version won't open audio card

edit: aside, i cant seem to get audio output working on arch. here is the error code:
RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:1,0), Device or resource busy.
it falls between some other HDMI outputs.
this problem could probably be fixed by plugging into pulse/alsa.

@kritzikratzi this is because you probably have PulseAudio running already. Only one process can use alsa at the same time, and PulseAudio is already doing that. It's best to expose the API choice as a parameter at runtime, if thats impossible at build time; otherwise the order of connection should be

JACK if running
PulseAudio if running
ALSA
OSS

also JACK rules and I wouldn't want to use anything else, especially for the Oscilloscope that presumably wants to display the output of other running processes.

In other news: I'm interested in helping out with this; I would love to have a proper Oscilloscope working that has

JACK support
is cross platform so I can advertise using it in workshops etc

On my first attempt just building this against of 0.10 there are some expected issues (API changes like ofFile paths changing from std::string to boost::path) and some completely insane garbage error messages spewing invalid characters and quoting non-ascii source code... something something utf8 and ofxFontAwesome?

hey!
i'm currently testing to switch over from rtaudio to miniaudio.
you can take a look in the miniaudio branch.
if you want a linux version, i would try the following:

grab a copy of openframeworks 0.9.3 (the switch to 0.10 will be a lot of work)
create your ffmpeg linux-64 binaries, you should be able to follow the "windows" instructions almost without change: https://github.com/kritzikratzi/ofxAvCodec/tree/master/ffmpeg_src
now checkout the miniaudio branch of the oscilloscope with all submodules, and if you're lucky it just works :)

Cool, I will give it a shot some time.
Like the last Linux user in the PR in ofxAvCodec, I am also wondering: do i really need to (re)compile ffmpeg and h264? My OS also provides these libraries (with headers) so unless there is some uncommon configuration or patching going on it shouldn't be necessary.

ffmpeg is continuously changing. if you want to use precompiled version try to find something as close as possible to the commit mentioned in the compilation guide.
but compiling ffmpeg is not really a big deal, all the configure options are there, and ffmpeg compiles very cleanly. should be done in way under an hour.

@kritzikratzi okay, I'll see how it turns out. I hit another roadblock in the meantime though; openframeworks 0.9 uses an old version of Poco that is incompatible with openssl 1.1.
I already had openssl-1.0 installed on Arch, and following this as a guide I'm almost getting apothecary update poco to run in OF/scripts/apothecary. Change in OF/scripts/apothecary/formulas/poco/poco.sh:
+    PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \
+    CFLAGS+=" -I/usr/include/openssl-1.0" \
+    LDFLAGS+=" -L/usr/lib/openssl-1.0 -lssl" \
	./configure $BUILD_OPTS

However it still exits with  ^ Received error ^ but no error message -.-

oh... i didn't know you have to compile stuff with OF for linux (the windows and osx versions contain all required binary blobs). if you have trouble i can take a look tomorrow...

@kritzikratzi its normal to recompile openFrameworks, but usually poco is precompiled. However there was an ABI update since of0.9 came out. Anyway, I was very close, this is what it actually needs:
-   local BUILD_OPTS="--no-tests --no-samples --static --omit=CppUnit,CppUnit/WinTestRunner,Data/MySQL,Data/ODBC,PageCompiler,PageCompiler/File2Page,CppParser,PDF,PocoDoc,ProGen"
+   local BUILD_OPTS="--no-tests --no-samples --static --omit=CppUnit,CppUnit/WinTestRunner,Data/MySQL,Data/ODBC,PageCompiler,PageCompiler/File2Page,CppParser,PDF,PocoDoc,ProGen --include-path=/usr/include/openssl-1.0 --library-path=/usr/lib/openssl-1.0"

    ./configure $BUILD_OPTS

(again, this is for ./apothecary update poco on ArchLinux with openssl-1.0 installed; ymmv)

hm... got openframeworks up and running finally (a bit of digital archaeology necessary to bring the version from 2016 up to speed) but now it won't build because of this:
Compiling Oscilloscope for Debug
make[1]: Entering directory '/home/s-ol/osc/Oscilloscope'
HOST_OS=Linux
checking pkg-config libraries:   cairo zlib gstreamer-app-1.0 gstreamer-1.0 gstreamer-video-1.0 gstreamer-base-1.0 libudev freetype2 fontconfig sndfile openal openssl libpulse-simple alsa gl glu glew gtk+-3.0 libmpg123
make[1]: execvp: /bin/sh: Argument list too long
make[1]: *** [/home/s-ol/osc/of/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:190: obj/linux64/Debug/.compiler_flags] Error 127
make[1]: Leaving directory '/home/s-ol/osc/Oscilloscope'
make: *** [/home/s-ol/osc/of/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk:147: Debug] Error 2

did you get it to run on linux after all?

not yet, but haven't had time to try more since my last posts

hey!
do you hate me if i try to switch over to the latest OF?
i've given it a shot on osx today, and it's not looking too bad.
(gotta migrate all the addons too)

@kritzikratzi I would much prefer it actually :) most of my pain came from reviving old of, of 0.10 at least have running already...

:)
i'm really liking miniaudio, so i'm basing everything off of that branch.
osx seems to be fine again already, windows is up next.
i'm thinking linux will have these issues:

ofxLibsamplerate misses linux binaries
ofxNative has no linux implementation

in a few weeks i can get a linux set up, until then i can only take care of win+mac

ofxLibsamplerate misses linux binaries

not really ;)
https://www.archlinux.org/packages/extra/x86_64/libsamplerate/
https://www.archlinux.org/packages/extra/x86_64/libsamplerate/

ofxNative has no linux implementation

I might just stub it out and/or implement parts - if I have time to try it at all before you fix it, I have Gamescom and electricity-less vacation coming up in the next weeks...

wehoooo, do your thing, no hurry at all!
:D
On Sat, Aug 17, 2019 at 9:13 PM sol<EMAIL_ADDRESS>wrote:

ofxLibsamplerate misses linux binaries

not really ;)
https://www.archlinux.org/packages/extra/x86_64/libsamplerate/
https://www.archlinux.org/packages/extra/x86_64/libsamplerate/

ofxNative has no linux implementation

I might just stub it out and/or implement parts - if I have time to try it
at all before you fix it, I have Gamescom and electricity-less vacation
coming up in the next weeks...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kritzikratzi/Oscilloscope/issues/5?email_source=notifications&email_token=AAAXTEKBVHWEBEYNYF62I6TQFBEWZA5CNFSM4BWW4D22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4QRWKQ#issuecomment-522263338,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAXTENWVRST6XZOGPY7G2LQFBEWZANCNFSM4BWW4D2Q
.

closing in favor of #67


Support rootDir tag in testEnvironment

Summary
rootDir was not replaced in custom testEnvironment, so it was harder to use custom unpublished environments. This PR fixes it.
Test plan
Added a test.

Codecov Report

Merging #4579 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4579      +/-   ##
==========================================
+ Coverage   55.63%   55.65%   +0.01%
==========================================
  Files         186      186
  Lines        6348     6348
  Branches        3        3
==========================================
+ Hits         3532     3533       +1
+ Misses       2815     2814       -1
  Partials        1        1

Impacted Files
Coverage Δ

packages/jest-config/src/utils.js
75% <100%> (+2.27%)
:arrow_up:

Continue to review full report at Codecov.

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

Oh yeah, that's a bug! Good seeing you @thymikee :)


When the build does not produce any output, the elapsed time can be sluggish

Well, as long as the client is connected with the daemon, the KEEP_ALIVE messages keep the elapsed time to be updated. Yes, it is slugish while starting a new daemon. Or you have some other situation in mind?

It's just the clock which is not really regular, so I'd like to lower the keep-alive time to 100ms so that the clock is updated regularly and not every 1.5s for example.  This should not cause too much additional traffic given the size of the message and given the client is simply waiting for any message to come in.

Ah, I see what you mean now. I have not observed that, perhaps because I am on a powerful machine with enough reserves to schedule the terminal updates on time. Yeah, KEEP_ALIVEs every 100ms is worth trying.


TCP connection from MAVSDK breaks app after 16 minutes of idle time due to reconnection

I'm developing an app that uses MAVSDK to connect to a device via the built-in MAVSDK TCP connection. MAVSDK has an excellent TCP reconnection mechanism that fits my requirements well, namely the possibility of temporary disconnection. In this case timer is started, which checks every second whether the connection has been restored. But after 16 minutes, this mechanism breaks my app with the message "socket errorToo many open files".
I did some basic research and the problem is that the MAVSDK in a loop reopens the sockets, but does not close them with the close function in case of unsuccessful execution of the connect function.
// from tcp_connection.cpp

_socket_fd = socket(AF_INET, SOCK_STREAM, 0);

I have tested basic fix on Linux, but I don't know if it will work on other operating systems

Would you like to open a PR with your proposed fix? :blush:

Good catch. Yes a PR would be great.

I can do a PR in a few days, but I don't mind if someone else does it. Besides, https://github.com/mavlink/MAVSDK/pull/2342 will conflict with my changes

#2342 is merged.


Spring mappings

This PR converts all matches of @RequestMapping(method\s=\sRequestMethod.POST,  with calls to @PostMapping Issue #2214

@mandy-chessell I've been removing the @RequestMapping calls in bitesize chunks, after this PR there are 67 occurrences still remaining in the code base, which will remove the remaining HTTP verbs and then the import statement that will be no longer needed ?

Is it possible to remove the obsolete import of the ReguestMapping module?

I made the same comment on an earlier PR, I agree, but it's already planned ... Splitting the changes up does make sense, more manageable.
Inspecting changes looks good. just doing a quick test


Fixes broken text data source links

Hello tolympia,
Thank you for your fix. I don't think we need to change the link, just remove the Jungle Book entry. The previous link works fine for me.
At the moment we don't have a process in place for accepting changes automatically. It is OK if I just merge this internally?
Thanks!

Sure - no problem at all, thanks again for creating this resource!
On Tue, Jul 5, 2022 at 7:34 AM Edgar A. Duéñez-Guzmán <
@.***> wrote:

Actually, this might be outdated now... Are you happy for me to close this
issue?
Thanks again!
—
Reply to this email directly, view it on GitHub
https://github.com/deepmind/educational/pull/6#issuecomment-1175134800,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARI3M2QOENBSIOTFOGOAOZLVSRBXPANCNFSM5VU6F7TQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Ensure raw_env_vars contains string values only

Required to not silently break Ansible runs.
Fixes #658

Can we add an ansible platbook unit test for this?

Added that as a docker scenario.
As a sidenote, the unittests don't work for me because my ls is at /usr/bin/ls and not at /bin/ls as expected: https://github.com/metacloud/molecule/blob/master/test/unit/test_util.py#L213

Please do not merge this right now, because I am currently doing another PR that as a side effect also fixes this issue, making a3b5c78 obsolete.
It will probably do not harm to still keep the testcase in cf36101 thought.

Scratch that, I originally thought #667 would be fixing this issue.

@alvaroaleman Thanks for the contribution.  Will be available in 1.17.2.


Better error message with Missings

When we pass a DataFrame to Weather (or TimeStepTable{Atmosphhere}) that has some missing values, we get the following error:
julia> w = Weather(df)
ERROR: MethodError: no method matching var"#Atmosphere#3"(::Missing, ::Float64, ::Missing, ::Missing, [...])

This is because we don't accept Missing values for the default Atmosphere variables (and this is the right way to do so).
But, we could print a nicer error message because it is complicated to understand where the error comes from with this one.
We could have something like:
ERROR: ArgumentError: Missing values found in the DataFrame. This is not authorized.

Fixed in 19f61c3754ef928aa77f6cc2ca137f89f9a65d99 and 9beda3b8d507568f206a3278cde067ae72c70865


Fails to build

Hi
I am getting the following buid error:
Build did NOT complete successfully
make: *** [Makefile:152: pybind] Error 1
make: Leaving directory '/workspace'
make: *** [/home/testing/Coral/pycoral/libcoral/docker/docker.mk:40: docker-build] Error 1
OS:
Ubuntu 23.10
Thanks

Same issue here. Let me know what additional info you need.

Same here:
OS: EndeavourOS
I tried the master branch and 2_13_0.
Some more lines of the output:
ERROR: /home/coral/.cache/bazel/bazel_coral/eab0d61a99b6696edb3d2aff87b585e8/external/ruy/ruy/BUILD:576:11: Compiling ruy/pack_arm.cc failed: (Exit 1): arm-linux-gnueabihf-gcc failed: error executing command
(cd /home/coral/.cache/bazel/bazel_coral/eab0d61a99b6696edb3d2aff87b585e8/sandbox/processwrapper-sandbox/1461/execroot/pycoral &&
exec env -
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=/proc/self/cwd
/usr/bin/arm-linux-gnueabihf-gcc -fPIC -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-march=armv7-a' '-mfpu=neon-vfpv4' -g0 -O3 -DNDEBUG '-D_FORTIFY_SOURCE=2' -ffunction-sections -fdata-sections -funsafe-math-optimizations -ftree-vectorize '-std=c++14' -MD -MF bazel-out/armv7a-opt/bin/external/ruy/ruy/objs/pack_arm/pack_arm.d '-frandom-seed=bazel-out/armv7a-opt/bin/external/ruy/ruy/objs/pack_arm/pack_arm.o' -iquote external/ruy -iquote bazel-out/armv7a-opt/bin/external/ruy -iquote external/cpuinfo -iquote bazel-out/armv7a-opt/bin/external/cpuinfo -iquote external/clog -iquote bazel-out/armv7a-opt/bin/external/clog -Ibazel-out/armv7a-opt/bin/external/cpuinfo/virtual_includes/cpuinfo -Ibazel-out/armv7a-opt/bin/external/clog/virtual_includes/clog '-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION' '-ffp-contract=off' -Wall -Wextra -Wc++14-compat -Wundef '-mfpu=neon' -O3 -no-canonical-prefixes -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME="redacted"' -c external/ruy/ruy/pack_arm.cc -o bazel-out/armv7a-opt/bin/external/ruy/ruy/_objs/pack_arm/pack_arm.o)
Execution platform: @local_execution_config_platform//:platform
Use --sandbox_debug to see verbose messages from the sandbox arm-linux-gnueabihf-gcc failed: error executing command
(cd /home/coral/.cache/bazel/bazel_coral/eab0d61a99b6696edb3d2aff87b585e8/sandbox/processwrapper-sandbox/1461/execroot/pycoral &&
exec env -
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=/proc/self/cwd
/usr/bin/arm-linux-gnueabihf-gcc -fPIC -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-march=armv7-a' '-mfpu=neon-vfpv4' -g0 -O3 -DNDEBUG '-D_FORTIFY_SOURCE=2' -ffunction-sections -fdata-sections -funsafe-math-optimizations -ftree-vectorize '-std=c++14' -MD -MF bazel-out/armv7a-opt/bin/external/ruy/ruy/objs/pack_arm/pack_arm.d '-frandom-seed=bazel-out/armv7a-opt/bin/external/ruy/ruy/objs/pack_arm/pack_arm.o' -iquote external/ruy -iquote bazel-out/armv7a-opt/bin/external/ruy -iquote external/cpuinfo -iquote bazel-out/armv7a-opt/bin/external/cpuinfo -iquote external/clog -iquote bazel-out/armv7a-opt/bin/external/clog -Ibazel-out/armv7a-opt/bin/external/cpuinfo/virtual_includes/cpuinfo -Ibazel-out/armv7a-opt/bin/external/clog/virtual_includes/clog '-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION' '-ffp-contract=off' -Wall -Wextra -Wc++14-compat -Wundef '-mfpu=neon' -O3 -no-canonical-prefixes -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME_="redacted"' -c external/ruy/ruy/pack_arm.cc -o bazel-out/armv7a-opt/bin/external/ruy/ruy/_objs/pack_arm/pack_arm.o)
Execution platform: @local_execution_config_platform//:platform
Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/ruy/ruy/pack_arm.cc:16:
external/ruy/ruy/pack_arm.h:492:9: warning: multi-line comment [-Wcomment]
492 | #endif  // (RUY_PLATFORM_NEON_64 || RUY_PLATFORM_NEON_32) &&
|         ^
external/ruy/ruy/pack_arm.cc: In function 'void ruy::Pack8bitColMajorForNeon4Cols(const ruy::PackParams8bit&)':
external/ruy/ruy/pack_arm.cc:469:72: error: 'asm' operand has impossible constraints
469 |         "q4", "q5", "q6", "q7", "q8", "q9", "q10", "q11", "q12", "q13");
|                                                                        ^
Target //src:_pywrap_coral failed to build
INFO: Elapsed time: 101.537s, Critical Path: 30.65s
INFO: 418 processes: 135 internal, 283 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
make: *** [Makefile:152: pybind] Error 1
make: Leaving directory '/workspace'
make: *** [/home/coral/pycoral/libcoral/docker/docker.mk:40: docker-build] Error 1

Since it seems to fail in the arm code, is it possible to compile without arm? Would also compile faster.

Since it seems to fail in the arm code, is it possible to compile without arm when using a x86_64 system? Would also compile faster.

Yes, you can edit the /scripts/build.sh file and remove the platforms that you do not need.
For x86_64 only, the line :
readonly DOCKER_CPUS="${DOCKER_CPUS:=k8 aarch64 armv7a}"
should be:
readonly DOCKER_CPUS="${DOCKER_CPUS:=k8}"
You can also remove the python version that you won't need in the next line. With this change, was able to build on my x86_64 Ubuntu 22.04

@ozarrai What exact changes did you make to what files in order to build x86_64 for Ubuntu 22.04?  I'm trying to do the same, but I got a "Analysis of target '//src:_pywrap_coral' failed; build aborted: Problem getting python include path." error when I changed build.sh to only do k8 and changed the PYTHON_VERSIONS="310" and added "310) echo "ubuntu:22.04" ;; to the docker_image function.  I had to make a change to libcoral/docker/Dockerfile, line 18 to be python3.10, but wondering what else I'm missing.


:bug: Fixes #512

Fixes #512
The repository context manager persists between calls, thus reset_to_first will reset the entire state of the repository to when the kai server was first initialized.

Fixing e2e tests and then will merge

Holding off until CI is fixed


Console.trace should be Console.debug

The Compute@Edge JavaScript runtime's Console provides the log, trace, info, warn, and error functions:
  const JSFunctionSpec methods[] = {
    JS_FN("log", (console_out<PREFIX_LOG, 3>), 1, JSPROP_ENUMERATE),
    JS_FN("trace", (console_out<PREFIX_TRACE, 5>), 1, JSPROP_ENUMERATE),
    JS_FN("info", (console_out<PREFIX_INFO, 4>), 1, JSPROP_ENUMERATE),
    JS_FN("warn", (console_out<PREFIX_WARN, 4>), 1, JSPROP_ENUMERATE),
    JS_FN("error", (console_out<PREFIX_ERROR, 5>), 1, JSPROP_ENUMERATE),
    JS_FS_END
  };

However, the standard Console functions should be log, debug, info, warn, error. In fact, in the standard Console, trace() will output a stack trace.
Console's trace should be renamed to debug.

@elliottt just merged a fix for this. Thank you for the clear and well-sourced bug report!

@jameysharp @elliottt
Hi, I just saw that it hasn't yet been fixed in the index.d.ts file yet. Can you take a look?
And also not fixed here: https://js-compute-reference-docs.edgecompute.app/interfaces/console.html
Not sure how that is generated but please fix whatever that sources from too.
Thanks!

@jameysharp @elliottt
Hi, thanks for fixing this!
I just saw that it hasn't yet been fixed in the index.d.ts file yet. Can you take a look?
And also not fixed here: js-compute-reference-docs.edgecompute.app/interfaces/console.html Not sure how that is generated but please fix whatever that sources from too.
Thanks!

I'm currently adding a test suite specifically for the types and will update the documentation at the same time 👍


matcher is not working

It seems the matcher is not working, here is my config
export default [
  {
    /**
     * regular expression of URL
     */
    pattern: process.env.REACT_APP_API_ENDPOINT,

    /**
     * returns the data
     *
     * @param match array Result of the resolution of the regular expression
     * @param params object sent by 'send' function
     * @param headers object set by 'set' function
     * @param context object the context of running the fixtures function
     */
    fixtures: function(match, params, headers, context) {
      if (/\/events\/[\d|\w]+$/.test(match[1])) {
        return {
          title: "Test"
        }
      }
    },

    /**
     * returns the result of the GET request
     *
     * @param match array Result of the resolution of the regular expression
     * @param data  mixed Data returns by `fixtures` attribute
     */
    get: function(match, data) {
      return {
        body: data
      }
    },

    /**
     * returns the result of the POST request
     *
     * @param match array Result of the resolution of the regular expression
     * @param data  mixed Data returns by `fixtures` attribute
     */
    post: function(match, data) {
      return {
        status: 201
      }
    }
  }
]

The node env is equal to
https://example.com/api
I'm using a server setup like so
import request from "superagent"
import su from "superagent-use"
import prefix from "superagent-prefix"
import config from "../config/superagent-mock"
import superagentMock from "superagent-mock"

const agent = su(request)
agent.use(prefix(process.env.REACT_APP_API_ENDPOINT))

const logger = function(log) {
  console.log("superagent call", log)
}

export const setupMockServer = () => {
  return superagentMock(agent, config, logger)
}

And then I later in the code I'm testing make a request like so
return API.get(`/events/${eventUrl}`)
.then(response => {
  if (!response.ok) {
    throw Error(response.statusText)
  }
  return response
})
.then(response => response.body)

API here is a reference to a different file that the whole app uses
import request from "superagent"
import prefix from "superagent-prefix"

export default request.agent().use(prefix(process.env.REACT_APP_API_ENDPOINT))

An example full URL might behttps://example.com/api/events/1234
When I log out the match argument I see this in my jest terminal output
console.log('match', match)
...
match [ 'https://example.com/api',
        index: 0,
        input: 'https://example.com/api/events/1234' ]

It seems the implementation suggested in the config is not working

What's your pattern regexp? 🤔


KingSo Smart LED E14 WiFi: Device did not appear with the intermediate firmware

Device did not appear with the intermediate firmware
Name : KingSo Smart LED E14 WiFi
Model : KINGSOecioldde450
Firmware Version : 3.3.30
Even with almost perfect timing the device is not able to flash. I tried it several times and always after 2 seconds, when the flash process started, the bulb stays white and does not blink anymore. So it has a connection to the Raspberry Pi AP but something goes wrong.
Is there only a list of devices that are supported by this project? I bought 3 other bulbs from different vendors and they also can not be flashed. My older devices / bulbs I used in my house for over 1 year now were all successfully flashed to tasmota firmware.
Logs
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
Thanks for all kind of your help :)

Unfortunately you've hit #483

Is there only a list of devices that are supported by this project? I bought 3 other bulbs from different vendors and they also can not be flashed. My older devices / bulbs I used in my house for over 1 year now were all successfully flashed to tasmota firmware.

There's the community maintained wiki, but as firmware updates are being continuously pushed out all bets are off.


Port Challenge 2 Menger Sponge to new site

What I did :

Created timestamps (didn't exist for this video)
Migrated passenger showcases for this Coding Challenge
Created images for some of the passenger showcases (those I could run on my pc)

Remarks :

The link for contribution 5 by Maksim Kurchevskiy is not available anymore. Should I remove this contribution ?

By synchronizing my branch with the main one, it introduced a bunch of errors in the tests. So I reverted this merge commit. But now it conflicts with the main branch.
I'm gonna close this PR and create a new one with the same content, but on a new branch ^^ Sorry for the inconvenience.


Category and Predicate entailment

Committing the outcomes of Architecture call discussion.

The SRI will build a tool to help and
It will be used in the smartapi registry's query

That is a screenshot of Protégé desktop: https://protege.stanford.edu
You could open the OWL version of biolink-model in Protégé and and view the Object Property hierarchy.
https://github.com/biolink/biolink-model/blob/master/biolink-model.owl.ttl

That is a screenshot of Protégé desktop: https://protege.stanford.edu
You could open the OWL version of biolink-model in Protégé and and view the Object Property hierarchy.
https://github.com/biolink/biolink-model/blob/master/biolink-model.owl.ttl

Closing this PR and replacing it.


Add Windows 8 tile image/application name

Ignore, in favour of providing support for manifest.json.


Stuck at dSYM Error and crash

Hi, I'm trying to get this plugin running. I've followed all the steps but now I'm stuck at step 6 when trying to upload the symbols on iOS.
I'm building from Mac and this is the error I'm getting:
DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for all configurations. This could also be a timing issue, make sure the Fabric run script build phase is the last build phase and no other scripts have moved the dSYM from the location Xcode generated it. Unable to process PROJECT_NAME.app.dSYM at path /Users/MY_USERNAME/Documents/Unreal Projects/PROJECT_NAME/PROJECT_NAME/Binaries/IOS/Payload/PROJECT_NAME.app.dSYM
I've tried copying the file PROJECT_NAME.dSYM from [PROJECT_FOLDER]/Binaries/IOS to [PROJECT_FOLDER]/Binaries/IOS/Payload and renaming it to PROJECT_NAME.app.dSYM
This seems to do the trick and the script runs successfully. However whenever I launch the app it crashes after the splash screen in here:
void UCrashlyticsBlueprintLibrary::InitCrashlytics()
{
#if PLATFORM_ANDROID

#elif PLATFORM_IOS
	dispatch_async(dispatch_get_main_queue(), ^{
		[Fabric with : @[[Crashlytics class]]];
	});
#endif
}

And this is the output log:
Terminating app due to uncaught exception 'FABException', reason: '[Fabric] Value of Info.plist[Fabric][APIKey] must contain your Fabric API Key.'
I have followed all the steps so I don't know why or how this could be failing.
Any ideas on how can I fix this issue?

I've figured out the issue. I misunderstood one of the steps. I wrote my real APIKey twice in the following plist info. I should've paid more attention!
FabricAPIKey[API_KEY]KitsKitInfoKitNameCrashlytics


Unit Testing

Closes #6.
Things to do:

[x] Create Mock config.json
[x] Deploy Test Docker Images for Jenkins, Nexus, and MariaDB
[x] Create Unit Tests

[x] Test Submit Command
[x] Test Application Accept
[x] Test Application Deny
[x] Test All /codemc commands

[x] Test /codemc jenkins
[x] Test /codemc nexus
[x] Test /codemc change-password
[x] Test /codemc remove
[x] Test /codemc link
[x] Test /codemc unlink
[x] Test /codemc createuser
[x] Test /codemc deluser
[x] Test /codemc validate with most edge cases

[x] Test /msg Command
[x] Test Utility Classes

[x] Test APIUtil
[x] Test ApplicationHandler
[x] Test CommandUtil

[x] Test Listeners

[x] Test ButtonListener
[x] Test ModalListener

[x] Create Mock Objects using Mockito
[x] Deploy to GitHub Workflow

Feel free to add more ideas.

PR is done. Minimum 80% coverage standard is set.
Other things included:

Upgrades to Gradle 8.11.2.
Upgrades to API v1.2.0, which includes #exists functions and fixes a Database bug
Splits CodeMCBot things into different functions, so that MockCodeMCBot can work properly without having to attempt to log in

Notable things discovered while testing:

There was a bug in /msg that set the max text size to 4096, which is the maximum size of an embed, yet modals max text size in general is 4000.
In a few of the commands, there were checks that were always true or false , or checks that were duplicated
Nexus API handles requests differently, never returning false for failure, meaning we would only know failures if an exception is thrown

Looks good to me, nice job man! :)


Add ContainerInfo fields

@mopemope really sorry we missed this earlier. It looks like Name has been added since your PR, but could you rebase? We still need DriverandExecDriver`


Overly aggressive inlining of Date expressions

Consider this JavaScript code:
console.log(
  (function() {
    var start = new Date().getTime();
    var end = new Date().getTime();
    return end - start;
  })()
);

Passing this through advanced optimizations yields
console.log((new Date).getTime()-(new Date).getTime());

which has different semantics: The unoptimized version will calculate an end date after the start date, and the difference will be non-negative. The optimized version will evaluate left to right, calculating the left date first, followed by the right date, producing non-positive values.
Example, using Nashorn:
jjs> (new Date).getTime()-(new Date).getTime()
-3

@lazarljubenovic Yep, it is the result of a different optimization. This was found via ClojureScript, which can dynamically generate code (via a macro) to measure the length of time needed to evaluate an expression. If the thing you are measuring turns out to be trivial and gets (correctly) elided during advanced, then the inlining issue crops up.

This is an interesting question.  We generally code motion of side-effect free expressions.  A side effect in either the "start" or "end" expressions would prevent the result we see here.  However as neither expression is considered to have side-effects (which is true), they get inlined.  However the reality is the side-effect is occurring somewhere the compiler can't see it (time is passing and the clock is running).   A simple fix would be to remove @nosideeffects from the Date constructor and the Date.now static method but that would also make those calls unremovable.

Perhaps it would help to have a distinction between side-effect-free and referentially-pure functions.
That way, best-case scenario, some optimizations could be preserved, while the incorrect ones would be discarded.

Created internal issue http://b/133856418


Display halted callbacks in log for Application Controller

Fix https://github.com/roidrage/lograge/issues/258
Sometimes when you do the final render or redirection, it can be halted by a controller callback. With the existing code, it can very hard to understand where it stopped.
With this commit, the intent is to provide the method name where it stops.
Close #259

Hey @benoittgt, this is marked WIP but I assume it's good to merge? Looks good to me.

I think @jeremybdk wanted to test it before.


Refactor offlinebundle/pyinstaller for limited release

What this PR does / State of offline install :

Refactors method for building a offlinebundle. I moved a lot of this out of the Makefile because it just didn't make sense

A lot of effort was made to ensure this works cross platform.
Documentation is included in the bundle

Refactors method for building a PyInstaller single-file-executable that should work on Linux distros newer than Centos5.

Shown to work on Linux and OSX, but we only have a Linux build and release process.
Documentation is included in the bundle

added a dockerfile and docker-compose target for an image that will allow us to build a highly-compatible PyInstaller executable. This part is super important and took a large
portion of the time. See the comments in Dockerfile-pyinstaller-centos5-py35-build and DEV-README about  Pyinstaller.

This is what should allow us to start publishing builds with some confidence.

I detailed a build + release process in DEV-README.
Updates documentation to be user facing.
Uploaded the first releases here https://github.com/datarobot/batch-scoring/releases/tag/v1.10.0

Not Done yet:

Windows build
OSX PyInstaller release. It should work but I have no idea what kind of compatibility issues there might be.  Honestly this doesn't matter as much because OSX comes with python2.7 so the offlinebundle should be a solution.
testing
Release automation. It is manual but doesn't take much time or effort
an RPM or MSI package would be nice but this needs to come first.

Issues:

The fact that batch_scoring_sse is a separate entrypoint basically doubles the size of the PyInstaller bundle unfortunately.

Coverage decreased (-0.06%) to 82.683% when pulling a4b51f419fc9212f4acfa54b471818f447c89800 on build_offline_install into a0fed1ba36b6d14a0f93bb53d3f1887fadf907eb on master.

Please Review  @datarobot/predictions cc @pprett

Coverage decreased (-0.06%) to 82.683% when pulling 975f3b0dc7343ba489a61f7e059c9c184022fb1e on build_offline_install into a0fed1ba36b6d14a0f93bb53d3f1887fadf907eb on master.

Looks good except of the notes I left.

Coverage remained the same at 82.739% when pulling fe9c4070e2e799ed83f77076c537d9666bb88de3 on build_offline_install into a0fed1ba36b6d14a0f93bb53d3f1887fadf907eb on master.


chore: remove style-exceptions.txt

This file has been recording exceptions to the text-based style linters in lint-style.py and Linter/TextBased. The length of this file is meant to reach zero - and now, it indeed has. :tada:
Some of the linter errors were easy to fix (and just required sustained effort), such as some misformatted author lines or missing module documentation. The main remaining entries were exceptions for the "long file linter", which has been rewritten as a syntax linter (in #15610 and #16299). Exceptions are now tracked as set_option linter.style.longFile <number> instead, obviating the need for this file.
This implies the need for a file with transient style exceptions is gone. All of the remaining text-based linters should not be introduced in new code. For permanent exceptions, the file nolints-style.txt continues to exist; that file must (intentionally) be updated by hand.
zulip discussion

How confident are we that we won't need to add new transient exceptions for new linters in the future? Or is the idea that they will also be tracked with set_option in the files themselves?
The code otherwise looks like it does what it claims to (but admittedly this is my first time looking at the lean4 style linter code).

How confident are we that we won't need to add new transient exceptions for new linters in the future? Or is the idea that they will also be tracked with set_option in the files themselves?
The code otherwise looks like it does what it claims to (but admittedly this is my first time looking at the lean4 style linter code).

That's the right question to ask. Personally, I am willing to make a bet that

the linter can be fixed beforehand (indeed, that's the normal procedure for syntax linters), or
these linters won't appear, or
we can always resurrect the exceptions file. (The logic for parsing the file is still there, to support nolints-style.txt. Just the automated infrastructure is gone, and the need for lint-style.py to look at the exceptions file.)

I agree with @grunweg, currently it is quite common that a new linter lives in a PR until most of the things it marks have been addressed, which is a good habit. And the PR description now provides good reasoning about future exemptions
I think it's safe to remove the file and drop one more technical depth.
maintainer merge

Thanks! :tada:
bors merge


How output keypoints without image/video by Hand tracking ?

I want get keypoints of hand by hand tracking without output video on android system.
keypoints can immediate update to array is well best.
i don't want save keypoints to external memory then read it, it is slowly.
how can i do?
thanks advance

Did you find a solution ?

@romaindebraize I never got to answer the question as it got closed. Can you clarify a little bit about what you need here?  Thanks.


Hotfix/islandora claw claw issues 842

GitHub Issue: Islandora-CLAW 842
What does this Pull Request do?
This PR updates the geerling-guy Ansible Galaxy repo’s to the latest versions as of June 21 2018.
What's new?

geerlingguy/Apache updated from 2.1.1 to 3.0.0
geerlingguy/PHP updated from 3.5.0 to 3.6.0
geerlingguy/composer updated from 1.6.1 to 1.7.0
geerlingguy/git updated from 1.4.0 to 2.0.2
geerlingguy/mysql updated from 2.8.0 to 2.9.0
geerlingguy/PostgreSQL updated from 1.3.1 to 1.4.3
geerlingguy/solr updated from 3.6.3 to 4.2.1
geerlingguy/java updated from 1.7.4 to 1.8.1
geerlingguy/Drupal updated from 2.4.0 to 2.5.0
geerlingguy/drush updated from 2.0.1 to 3.1.1
geerlingguy/Drupal-console updated from 1.1.0 to 1.1.1
Corrected a typographical error in README.md (Didn’t warrant a separate issue and PR)

How should this be tested?

This has been tested against a fresh install of Ubuntu 16.04 on Virtualbox (Self-built; using the ISO from a local mirror of Ubuntu’s website).
Vagrant VM has not yet been tested, however as there are no playbook updates, and the geerlingguy repos still support 14.04, there are no issues anticipated.

Additional Notes:
As of June 22, 2018, I have yet to sign the contributor agreement, due to being at Islandora Camp EU in Limerick.  I’ll sign and update the PR (via comment) when I’ve emailed it across to the Islandora Association.
Interested parties
I discussed this PR with @jonathangreen at Islandora Camp EU, and briefly demo’d the Ansible Log of install to him.

As of 25 June 2018, at 08:00 GMT (09:00 BST/Local, 05:00 ADT) the contributor agreeent has been signed and sent. I am now awaiting acceptance and/or verification of anything that is required for Github PR's to be reviewed/accepted.

@cferthorney 's CLA is on file with the Islandora Foundation, so everything is good to go on that front.

This failed for me using Ubuntu with:
TASK [Islandora-Devops.crayfish : Add ImageMagick repo (apt)] ******************
Monday 25 June 2018  13:47:26 -0500 (0:00:00.041)       0:18:12.120 ***********
fatal: [default]: FAILED! => {"changed": false, "cmd": "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 C806C0C35327CC80F2B4A41ED2B749E9FF0FA317", "failed": true, "msg": "gpg: requesting key FF0FA317 from hkp server keyserver.ubuntu.com\ngpg: no valid OpenPGP data found.\ngpg: Total number processed: 0\ngpg: keyserver communications error: keyserver helper general error\ngpg: keyserver communications error: unknown pubkey algorithm\ngpg: keyserver receive failed: unknown pubkey algorithm", "rc": 2, "stderr": "gpg: requesting key FF0FA317 from hkp server keyserver.ubuntu.com\ngpg: no valid OpenPGP data found.\ngpg: Total number processed: 0\ngpg: keyserver communications error: keyserver helper general error\ngpg: keyserver communications error: unknown pubkey algorithm\ngpg: keyserver receive failed: unknown pubkey algorithm\n", "stderr_lines": ["gpg: requesting key FF0FA317 from hkp server keyserver.ubuntu.com", "gpg: no valid OpenPGP data found.", "gpg: Total number processed: 0", "gpg: keyserver communications error: keyserver helper general error", "gpg: keyserver communications error: unknown pubkey algorithm", "gpg: keyserver receive failed: unknown pubkey algorithm"], "stdout": "Executing: /tmp/tmp.WS7ZIUsPIF/gpg.1.sh --recv-keys\n--keyserver\nhkp://keyserver.ubuntu.com:80\nC806C0C35327CC80F2B4A41ED2B749E9FF0FA317\ngpgkeys: key C806C0C35327CC80F2B4A41ED2B749E9FF0FA317 can't be retrieved\n", "stdout_lines": ["Executing: /tmp/tmp.WS7ZIUsPIF/gpg.1.sh --recv-keys", "--keyserver", "hkp://keyserver.ubuntu.com:80", "C806C0C35327CC80F2B4A41ED2B749E9FF0FA317", "gpgkeys: key C806C0C35327CC80F2B4A41ED2B749E9FF0FA317 can't be retrieved"]}

I am guessing this repo defined in the Crayfish role needs to be updated.
https://github.com/Islandora-Devops/ansible-role-crayfish/blob/master/tasks/install.yml#L3-L6

Basic CRUD test in ubuntu vagrant looks good.

@Natkeeran so you did not have any problems with this PR, this repo issue I hit is not happening for you?

@whikloj No, I did not hit the issue.  ImageMagick seems to be working as expected for me!

@whikloj, I went back and checked again, to ensure this didn’t happen with me. I received no error with a clean install of Ubuntu 16.04 with me, I’m currently trying 14.04. I’ll screen record the process and post to youtube if you would like.
--
David Thorne, MBCS
E<EMAIL_ADDRESS><EMAIL_ADDRESS>T: +44 1480 400655 (tel://+441480400655)
DDI: +44 1480 400656 (tel://+441480400656)
M: +44 7538 859632 (tel://+447538859632)
W: https://www.davidthorne.net
PGP Key: D8D5D9D8 (https://pgp.mit.edu/pks/lookup?op=get&search=0xEF49F4C3D8D5D9D8)

On Tuesday, Jun 26, 2018 at 3:52 pm, Natkeeran<EMAIL_ADDRESS>(mailto:notifications@github.com)> wrote:
@whikloj (https://github.com/whikloj) No, I did not hit the issue. ImageMagick seems to be working as expected for me!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/Islandora-Devops/claw-playbook/pull/69#issuecomment-400338410), or mute the thread (https://github.com/notifications/unsubscribe-auth/AACUaLUJBmXo26d5p6oWzGSqddZMwe_Hks5uAkqRgaJpZM4UzXqD).

--
David Thorne Ltd is a registered company in England and Wales
Registered
number: 10533822
VAT number GB 257 9409 64
Director: David Thorne
Office
Address: Castle Hill House, High Street, Huntingdon, PE29 3TE, UK
Registered Office: 39 Sweetings Road, Godmanchester, Huntingdon, PE29 2JS,
UK

This message is intended for the use of only the person(s) ("intended
recipient") to whom it is addressed. It may contain information that is
privileged and confidential. Accordingly, any dissemination, distribution,
copying or other use of this message or any of its content by any person
other than the intended recipient may constitute a breach of civil or
criminal law and is strictly prohibited. If you are not the intended
recipient, please contact the sender as soon as possible.  Please report
any breach of this policy to<EMAIL_ADDRESS><EMAIL_ADDRESS>and then delete any and all copies of the
email.
Please consider the environment before printing this email.

@cferthorney thanks but no worries. I have a long track record of encountering issues that no one else hits. Instant Karma and all that. I'll destroy it and make sure I wipe my external roles and try again.

Worked with Ubuntu 👍
Testing with Centos now.


Enable spectrogram calculation

Related to #20, we should enable the calculation of a FROG spectrogram.

Oh, actually, at the same time, it would be pretty cool to enable the movie view of the spectrogram from the propagation data object...

@grishaspektor wants this. Potentially the scipy stft function is a better way to calculate this. https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.stft.html
However, what we were doing in PyNLO worked pretty well:
https://github.com/pyNLO/PyNLO/blob/master/src/pynlo/light/PulseBase.py#L900

Todo:

implement pynlo spectrogram function in laserfun
add spectrogram_wavelength function. (or keyword argument to spectrograph function.)
add plot_spectrogram function
include example in examples directory showing spectrogram functionality. Probably both the spectrogram and the FROG.

We got a minimal example working today.
Todo:

clean up code in spectrogram function. add more comments
clean up code in example
make nice plot
add plot_spectrogram function
add spectrogram_wavelength function
add unit test
check documentation
Update or remove image in docstring.

Here is the code that needs to get added to the Pulse class on line 477 of pulse.py:
    def spectrogram(self, gate_type='xfrog', gate_function_width_ps=0.020,
                    time_steps=500):
        """This calculates the spectrogram of the pulse, which is a 2D plot of
        the time versus the frequnecy. It can be used to visualize where
        different spectral components are located in time.

        The pulse can either be compared with a gaussian reference pulse
        (XFROG) or to itself (FROG). Here, FROG refers to the "frequency
        resolved optical gating" experiment. The temporal width of the pulse
        for the XFROG is set by the "gate_function_width_ps" parameter.

        See Dudley Fig. 10, on p1153 for a description
        of the XFROG spectrogram in the context of supercontinuum generaiton.
        (http://dx.doi.org/10.1103/RevModPhys.78.1135)

        Alternatively, the gate_type can be set to 'frog', which simulates a
        SHG-FROG measurement, where the pulse is probed with a copy of itself,
        in an autocorrelation fashion. Interpreting this FROG spectrogram is
        less intuitive, so this is mainly useful for comparison with
        experimental  FROG spectra (which are often easier to acquire than
        XFROG measurements.)

        A nice discussion of various FROG "species" is available here:
        http://frog.gatech.edu/tutorial.html

        Parameters
        ----------
        gate_type : string
            Determines the type of gate function. Can be either 'xfrog' or
            'frog'. Should likely be set to 'xfrog' unless comparing with
            experiments. Default is 'xfrog'.
        gate_function_width : float
            the width of the gate function in seconds. Only applies when
            gate_type='xfrog'. A shorter duration provides better temporal
            resolution, but worse spectral resolution, so this is a trade-off.
            Typically, 0.01 to 0.1 ps works well.
        time_steps : int
            the number of delay time steps to use. More steps makes a higher
            resolution spectrogram, but takes longer to process and plot.
            Default is 500

        Returns
        -------
        DELAYS : 2D numpy meshgrid
            the columns have increasing delay (in ps)
        FREQS : 2D numpy meshgrid
            the rows have increasing frequency (in THz)
        spectrogram : 2D numpy array
            Following the convention of Dudley, the frequency runs along the
            y-axis (axis 0) and the time runs along the x-axis (axis 1)

        Example
        -------
        The spectrogram can be visualized using something like this: ::

            import matplotlib.pyplot as plt
            plt.figure()
            DELAYS, FREQS, extent, spectrogram = pulse.spectrogram()
            plt.imshow(spectrogram, aspect='auto', extent=extent)
            plt.xlabel('Time (ps)')
            plt.ylabel('Frequency (THz)')
            plt.tight_layout

            plt.show()

        output:

        .. image:: https://cloud.githubusercontent.com/assets/1107796/13677657/25075ea4-e6a8-11e5-98b4-7813fa9a6425.png
           :width: 500px
           :alt: example_result
        """

        def gauss(x, A=1, mu=0, sigma=1):  # gaussian function
            return A*np.exp(-(x-mu)**2/(2.*sigma**2))

        t = self.t_ps  # working in ps

        delay = np.linspace(np.min(t), np.max(t), time_steps)
        D, T  = np.meshgrid(delay, t)
        D, AT = np.meshgrid(delay, self.at)

        phase = np.unwrap(np.angle(AT))
        amp   = np.abs(AT)

        if gate_type == 'xfrog':
            gate_function = gauss(T, mu=D, sigma=gate_function_width_ps)
        elif gate_type=='frog':
            dstep = float(delay[1]-delay[0])
            tstep = float(    t[1]-    t[0])

            # calculate the coordinates of the new array
            dcoord = D*0
            tcoord = (T-D-np.min(T))/tstep

            gate_function_real = scipy.ndimage.interpolation.map_coordinates(np.real(AT), (tcoord, dcoord))
            gate_function_imag = scipy.ndimage.interpolation.map_coordinates(np.imag(AT), (tcoord, dcoord))
            gate_function = gate_function_real + 1j*gate_function_imag

        else:
            raise ValueError('Type \""%s\"" not recognized. Type must be \"xfrog\" or \"frog\".'%gate_type)

        # make a 2D array of E(time, delay)
        E = amp * gate_function * np.exp(1j*(phase))

        spectrogram = np.fft.fft(E, axis=0)
        spectrogram = np.fft.fftshift(spectrogram, axes=0)
        freqs = np.fft.fftfreq(np.shape(E)[0], t[1]-t[0])

        DELAYS, FREQS = np.meshgrid(delay, freqs)

        # calculate the extent to make it easy to plot:
        extent = (np.min(DELAYS), np.max(DELAYS), np.min(FREQS) + self.centerfrequency_THz, np.max(FREQS) + self.centerfrequency_THz)

        return DELAYS, FREQS, extent, np.abs(spectrogram)

This is my draft example:
"""Runs a simple example of NLSE pulse propagation."""

import laserfun as lf
import numpy as np

p = lf.Pulse(pulse_type='sech', fwhm_ps=0.05, epp=50e-12,
             center_wavelength_nm=1550, time_window_ps=7)

f = lf.Fiber(length=0.010, center_wl_nm=1550, dispersion=(-0.12, 0, 5e-6),
             gamma_W_m=1)

results = lf.NLSE(p, f, print_status=False)

pulse = results.pulse_out

import matplotlib.pyplot as plt
plt.figure()
DELAYS, FREQS, extent, spectrogram = pulse.spectrogram(gate_function_width_ps=0.050)
plt.imshow(spectrogram, aspect='auto', extent=extent)
plt.xlabel('Time (ps)')
plt.ylabel('Frequency (THz)')
plt.tight_layout

plt.show()

if __name__ == '__main__':  # make plots if we're not running tests
    results.plot(units='dBm/nm')


doom upgrade error out on "json-process-client" unable to access 'https://gitea.petton.fr/nico/json-process-client.git/'

What did you expect to happen?
bin\doom upgrade performed successfully w/o errors.
What actually happened?
x There was an unexpected error:
  Type: doom-package-error
  Message:
    Error with packages
  Data:
    "json-process-client"
    (error "Failed to run \"git\"; see buffer *straight-process*")
  Straight output:
    fatal: unable to access 'https://gitea.petton.fr/nico/json-process-client.git/': Failed to connect to gitea.petton.fr port 443: Operation timed out

Steps to reproduce:

Runs bin/doom upgrade -> gets above error
Repeat with bin/doom -d upgrade -p -f -> same error as above

System information:

`bin/doom info` output:
```
WARNING (:lang perl) module was moved to (:lang raku)
((emacs
  (version . "26.3")
  (features . "NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS")
  (build . "Mar 24, 2020")
  (buildopts "--enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.9/share/info/emacs --prefix=/usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.9 --with-mac --enable-mac-app=/usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.9 --with-gnutls")
  (windowsys . batch)
  (daemonp))
 (doom
  (version . "2.0.9")
  (build . "HEAD -> develop dd8b535eb 2020-06-08 01:39:49 -0400")
  (dir . "~/.doom.d/"))
 (system
  (type . darwin)
  (config . "x86_64-apple-darwin19.3.0")
  (shell . "/usr/local/bin/zsh")
  (uname . "Darwin 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64")
  (path "~/.opam/4.10.0/bin" "~/.asdf/installs/opam/2.0.7/bin" "~/.jenv/shims" "~/.jenv/bin" "~/.emacs.d/bin" "~/.asdf/shims" "~/.asdf/bin" "~/tools/google-cloud-sdk/bin" "/usr/local/opt/libxml2/bin" "~/go/bin" "~/.fzf/bin"<EMAIL_ADDRESS>"~/.cargo/bin" "~/.jenv/shims" "~/.jenv/bin" "~/.emacs.d/bin" "~/tools/google-cloud-sdk/bin" "/usr/local/opt/libxml2/bin" "~/go/bin" "~/.fzf/bin"<EMAIL_ADDRESS>"~/.cargo/bin" "~/.cargo/bin" "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" "/Library/TeX/texbin" "/usr/local/MacGPG2/bin" "/usr/local/share/dotnet" "/opt/X11/bin" "~/.dotnet/tools" "/Library/Apple/usr/bin" "/opt/ImageMagick/bin" "/Applications/Wireshark.app/Contents/MacOS" "~/.jenv/shims" "~/.jenv/bin" "~/.emacs.d/bin" "~/tools/google-cloud-sdk/bin" "/usr/local/opt/libxml2/bin" "~/go/bin" "~/.fzf/bin"<EMAIL_ADDRESS>"~/.cargo/bin" "/usr/local/sbin" "/usr/local/opt/fzf/bin" "/usr/local/sbin" "/usr/local/sbin" "/usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.9/libexec/emacs/26.3/x86_64-apple-darwin19.3.0"))
 (config
  (envfile . envvar-file)
  (elc-files . 0)
  (modules :completion company ivy :ui doom doom-dashboard doom-quit hl-todo hydra indent-guides modeline nav-flash neotree ophints (popup +defaults) pretty-code tabs treemacs unicode vc-gutter vi-tilde-fringe window-select workspaces zen :editor (evil +everywhere) file-templates fold (format +onsave) multiple-cursors snippets word-wrap :emacs dired electric ibuffer undo vc :term eshell :checkers syntax spell grammar :tools ansible direnv docker (eval +overlay) gist lookup macos magit pdf rgb terraform tmux :lang clojure coq crystal (dart +flutter) elixir elm emacs-lisp erlang (haskell +dante) hy json (java +meghanada) javascript markdown ocaml org raku python (ruby +rails) rust sh web yaml :app twitter :config literate (default +bindings +smartparens))
  (packages (ob-typescript) (indium) (reason-mode) (prettier-js) (org-fancy-priorities) (move-text) (vue-mode) (origami) (deadgrep) (dart-mode) (ob-dart) (sql-indent) (org-brain) (ascii-art-to-unicode) (wakatime-mode))
  (unpin "n/a")
  (elpa "n/a")))
```

Failed to connect to gitea.petton.fr port 443: Operation timed out

Seems like a network issue, rather than a Doom issue.

After 4 hours, I'm still getting the same error. Possible the source git repo is no longer operational?

Seems like the remote https://gitea.petton.fr/nico/json-process-client.git is alive now.


Remove the app_control reply channel

Part of https://github.com/flutter-tizen/flutter-tizen/issues/210.
Changes:

The reply channel and related code are completely removed. The sendLaunchRequest method now returns the response as a Map<String, dynamic> if waitForReply is true.
API changes: Change callerId to callerAppId and newly implement shouldReply.
Create a dedicated AppControlManager for managing AppControl instances. They were previously managed by AppControlChannel.
Minor changes. e.g. Change the type of AppControl IDs from int to int32_t, and use unique_ptr instead of shared_ptr.

Newly exported APIs:

The following new APIs were added to support automatic disposal of native app_control handles associated with Dart objects.

NativeInitializeDartApi
NativeCreateAppControl
NativeAttachAppControl

The usage can be found here. Native handles created in this way do not need to be destroyed explicitly. The destruction callback is automatically called during GC. (The create and dispose methods are still supported just for backward compatibility.)
Refer to https://github.com/dart-lang/sdk/issues/35770 for detailed information.
Please suggest better design and naming for these APIs!
NativeInitializeDartApi may be moved outside app_control.cc if more FFI functions are added in the future.

Notes:

Any existing code that uses app_control channels should still work after this change unless the code uses the reply channel. I haven't tested though.
The Dart wrapper of app_control channels is being worked in https://github.com/swift-kim/plugins/tree/add-tizen-app-control/packages/tizen_app_control. The package contains an example app so you can test this change with it.
I checked all native handles are properly disposed after GC (no memory leak) using the example app:E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 1
E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 2
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 1
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 2
E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 3
E/ConsoleMessage( 9853): app_control.cc: AppControl(62) > Create AppControl 4
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 3
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 4
E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 5
E/ConsoleMessage( 9853): app_control.cc: AppControl(62) > Create AppControl 6
E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 7
E/ConsoleMessage( 9853): app_control.cc: AppControl(62) > Create AppControl 8
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 7
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 5
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 6
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 8
E/ConsoleMessage( 9853): app_control.cc: AppControl(49) > Create AppControl 9
E/ConsoleMessage( 9853): app_control.cc: AppControl(62) > Create AppControl 10
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 10
E/ConsoleMessage( 9853): app_control.cc: ~AppControl(75) > Destroy AppControl 9

I'll do some more refactoring after this change. I tried not to make style changes other than logic changes in this PR.

It would be important to note that the await AppControl.sendLaunchRequest call will not ever return when replyCallback is non-null and the callee app exited without replying (e.g. by pressing the back button in the image picker view). I couldn't find a good solution for this. @WonyoungChoi Do you know if it's an expected behavior on Tizen?


Added shadow part for non parsed text, overflow ellipsis for text in button (quick reply)

Automated tests are passing, manually checked use case where quick replies buttons have longer text and text is shortened. Hovering over button complete text is shown in the tooltip.


vueuse don't auto import anymore

Environment
Nuxt project info:

Operating System: Darwin
Node Version:     v16.14.0
Nuxt Version:     2.16.0-27358576.777a4b7f
Package Manager<EMAIL_ADDRESS>Builder:          webpack
User Config:      ssr, buildModules, bridge
Runtime Modules:  -
Build Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>

Reproduction
reproduction: https://codesandbox.io/s/nuxt-bug-report-n8j1hv?file=/pages/index.vue
Describe the bug
vueuse don't auto import anymore
Additional context
No response
Logs
No response

Autoimports still not working :"(
Without import { useDebounceFn } from '@vueuse/core' got error: 500 useDebounceFn is not defined =\
<script setup lang="ts">
const search = useDebounceFn(async q => {
    //some code
}, 500)
</script>


[BUG] - Cannot delete bookmarks

Description
Unable to delete bookmarks by hovering over them on the initial screen and pressing either "e" or "DEL" keys.
Steps to reproduce

Save a bookmark
hover over bookmark using tab/arrows as necessary
press "e" or "DEL" keys

Expected behaviour
Bookmark is deleted
Environment

OS: Linux (Endeavour Galileo Neo)
Architecture: x86_64
Rust version: 1.76.0
termscp version: 0.12.3
Protocol used: NA
Remote server version and name: NA

I wasn't able to reproduce the issue. They are removed correctly on my machines

any logs or anything I can send you?

Yes, they are at $HOME/.config/termscp/termscp.log


Fix issue running the iOS app on Macbook M1

Ktor update is available and running the iOS app on Macbook M1 is possible now by upgrading Ktor to the latest version. I needed to upgrade Kotlin version to be compatible with Ktor version.

I'm afraid it is outdated. Same changes were made in other branch

I'm afraid it is outdated. Same changes were made in other branch


Add an option to cargo-espflash to flash file without having to build the project

Maybe, if we have an argument pointing to an elf file, flash it instead of building the project and then flashing the resulting file.

This is what espflash does already! Easy to confuse with cargo-espflash which is the cargo wrapper that also builds the project. They are actually two different executables.

Sorry, I meant cargo-espflash. My point was to get this feature inside cargo-espflash so users that want to flash a file without building the project do not need to install espflash or rely on idf tool.

Agreed on this. It actually can cause a rebuild in some cases (e.g. performing a workspace build then using cargo espflash to flash one of the binary crates).

I believe this was closed via https://github.com/esp-rs/espflash/pull/205

This was closed erroneously, re-opening.

After thinking on this for awhile, I actually think it's not necessary. If the project is already built then normal execution is fine, the time added by rustc for an already built project is negligible.


SCAD

NAME::Placeholder Test Part 1
SECTION::6000
SCAD::
include <BOSL2/std.scad>
include <BOSL2/gears.scad>

/* [Parameters] */

// Gear Pitch
gear_pitch = 20;

// Number of Teeth
gear_teeth = 20;

// Thickness
gear_thickness = 8;

// Shaft Diameter
shaft=5;

         [PASTE YOUR OPENSCAD SCRIPT HERE]

INVALID OPENSCAD SCRIPT


Editing an image using an external app rewrites the original copy of the file

Having the option to edit an image is good but what if the user wants to retain the original copy and make a duplicate? Right now, we rewrite the original image and there is no way to restore the original image afterwards, as far as I understood.
We could do one of the following to resolve this:

leave it to the user to make a duplicate themselves before navigating to the external application
before navigating to the external app, we ask if they want to modify the original image or create a new image

Actually, this isn't done by ARK Navigator. Editing is possible with any editor, but right now we have ARK Retouch which passes saved path back to Navigator app. It has "overwrite" checkbox, but it is switched off by default.
Preferred way, in fact, is not overwriting but creating new version of the resource, because we will track versions in the future: #40 Versions of a resource must grouped: only last version is displayed but also counter of versions should be presented to the user, the counter should be unfoldable into list of versions.

Okay, that sounds good! Let's close this ticket :)


p13-p17

Just a small note: the definition for P16 on the website should return an optional list ^^

Thanks for the heads up, I'll take a look at P16. Some problems need to be updated, since I wrote the article for Swift 2 and never updated it. Also might need to update the unit tests, will check that before landing.
Good job on the solutions, keep the coming!

Everything looks good. I've updated P16, thanks!


Fixing the implementation of supertraits to match Rust

My original implementation of traits did not align with Rust. I previously expected the trait and its supertraits to all be implemented in a single impl block. Rust expects that each trait continues to be implemented in its own impl block. If a trait B has a supertrait A, this really means that if B is implemented for a type T, then A has to also be implemented for T.
Two missing things:

There are still some issues around having multiple functions with the same name defined for the same type. That may be through a trait/supertrait relationship or even the same function defined twice for a single trait. I'm openning an issue about that. I think in some cases, this can be resolved with having call paths directly in the code (e.g. https://github.com/FuelLabs/sway/pull/472). Issue opened: https://github.com/FuelLabs/sway/issues/837
This case:

trait A {
    fn f(self) -> u64;
} {
    fn add_f(self, x: u64) -> u64 {
        self.f() + x
    }
}

trait B: A {
    fn g(self) -> u64;
} {
    fn add_g(self, x: u64) -> u64 {
       // Should this function have access to `f()` from `trait A`?
    }
}

Also closes https://github.com/FuelLabs/sway/issues/767

Should we merge from master to pick up changes from #472?

Should we merge from master to pick up changes from #472?

Done, #472 gets us closer but is not enough yet. I summarized everything here: https://github.com/FuelLabs/sway/issues/837

@otrho, I addressed all your comments. Thanks for the suggestions!


fix: make scrollbar visible in inner page navigation

Motivation
Fixes #1220
I've created a custom scrollbar that appears in the table of contents if there are too many items.
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Tested across multiple browsers.
There's a little problem. My solution is not working in Firefox or IE/Edge because these browsers do not support custom scrollbars. I could try to implement custom scrollbars using JS but I'm not sure if this is a good idea or not.

@akinariobi
Congrats on merging your first pull request here ! 🎉 How awesome!

Wow! Thank you very much for your feedback.  I'm happy now 😊


Update TTT with aka.ms powerpoint link

Please update the TTT powerpoint link to be the aka.ms short link here:
https://github.com/microsoft/aitour-opimizing-your-ai-costs/tree/main/train-the-trainer#file-summary
For questions, you can reference BRK471's repo which used the aka.ms link.

Updated.


⚠ Bofrost.fr has degraded performance

In 1403f27, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1685 ms

Resolved: Bofrost.fr performance has improved in a2cb4af after 6 minutes.


re-running add_diagnostic_variable! produces error (in coupler)

In Atmos's diagnostics, trying to add a diagnostic that's already been added results in an error (in this line). When debugging in the coupler, we often re-run our driver from the same julia session (using Revise for changes). However, we've recently added some calls to add_diagnostic_variable! in our driver that are causing our runs to fail when we re-run in a session that's already added the diagnostics
(this isn't really a bug, but it is a little annoying and has an easy fix :) )
Proposed solution
Do nothing if a variable is already in the diagnostics, instead of failing with an error
Example error message
(in ClimaCoupler.jl experiments/AMIP, after running include("coupler_driver.jl") in the same julia session)

julia> include("coupler_driver.jl")
ERROR: LoadError: diagnostic mse already defined
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] #add_diagnostic_variable!#3
@ ClimaAtmos.Diagnostics ~/.julia/packages/ClimaAtmos/9h5KM/src/diagnostics/diagnostic.jl:155 [inlined]
[3] top-level scope
@ ~/ClimaCoupler.jl/experiments/AMIP/components/atmosphere/climaatmos_extra_diags.jl:16
[4] include(fname::String)
@ Base.MainInclude ./client.jl:489
[5] top-level scope
@ ~/ClimaCoupler.jl/experiments/AMIP/components/atmosphere/climaatmos_init.jl:17
[6] include(fname::String)
@ Base.MainInclude ./client.jl:489
[7] top-level scope
@ ~/ClimaCoupler.jl/experiments/AMIP/coupler_driver.jl:126
[8] include(fname::String)
@ Base.MainInclude ./client.jl:489
[9] top-level scope
@ REPL[1]:1
in expression starting at /Users/jsloan/ClimaCoupler.jl/experiments/AMIP/components/atmosphere/climaatmos_extra_diags.jl:16
in expression starting at /Users/jsloan/ClimaCoupler.jl/experiments/AMIP/components/atmosphere/climaatmos_init.jl:17
in expression starting at /Users/jsloan/ClimaCoupler.jl/experiments/AMIP/coupler_driver.jl:126

@Sbozzolo is the proposed solution okay with you?

These are behaviors that I think would minimize errors:

If a variable already exists and you trying adding something with the same name, error out (current behavior)
If a variable already exists and you trying adding something wth the same name, check if the new one is identical to the old one, if yes, do nothing, if not error out
If a variable already exists and you trying adding something wth the same name, check if the new one is identical to the old one, if yes, do nothing, if not warn the user and overwrite it

Unfortunately, it is pretty much impossible to meanigully compare two variables because one of the fields is a function. For your particular case, however, I think you'd be able to compare everything because the function will also the very same function. So, I'd recommend implementing 2. This is achieved by extending the check to check for all the fields that are passed against what is in ALL_DIAGNOSTICS.


initial ellipsis implementation

We somehow need to make sure that ellipsis is not used in xview ... because for now it only works in the dynamic view

rebased & ready to be merged @JohanMabille :)

Just some doc to add to avoid undocumented parameters and I can merge it

We should make a worldwide docs sprint at some point! :)
I also think that with our current setup in ReadTheDocs, some template functions are hard to read.


Add documentation

Requires the move to SciML to work.

@mkg33 take a look?

Is it just a matter of moving this repository to SciML/ ?

To make it build? Yes. I wanted you to look at the actual docs though.

Haha, OK. I was just thinking: how am I supposed to move it if I don't have the admin rights.


[improve][pulsar-io] Added support for generic record and raw JSON string schemas to CassandraSink

Motivation
The current implementation of the Cassandra Sink connector only supported a single schema type (key, string). This is not useful for production. So I modified the code to be able to support any schema type in Cassandra.
Modifications
Added classes that interrogate the database to determine the schema type at runtime. I also added a framework that will extract the values from the supported incoming schema types (GenericRecord, and String) using the table metadata.
Verifying this change

[ x] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change added tests and can be verified as follows:
Added integration tests for testing against a Cassandra database
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes)
The public API: (no)
The schema: (yes)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: ( no)
Anything that affects deployment: (no)

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ x] doc-required
(Your PR needs to update docs and you will update later)

@tspannhw  can you review and upvote?

/pulsarbot run-failure-checks

/pulsarbot ready-to-test

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bff3400). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #16179   +/-   ##
=========================================
  Coverage          ?   70.88%
  Complexity        ?      438
=========================================
  Files             ?       26
  Lines             ?     2246
  Branches          ?      245
=========================================
  Hits              ?     1592
  Misses            ?      481
  Partials          ?      173

Flag
Coverage Δ

unittests
70.88% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

@eolivelli I have made the requested changes, can you PTAL when you get a chance?  Thank!

@eolivelli , Can you please take a look at this when you get the chance? Thanks again!

@eolivelli Can I please get some feedback on these changes I made in response to your initial feedback? Thanks again for the review, I really appreciated it.

@tisonkun @eolivelli I would appreciate another review when you have the time.


How do we properly specify user roles?

How do we properly specify user roles when granting permissions to roles?  Do we use "username" or do we use the "username@azuredbhostname" style that we use to log in?  If it's the latter, what's the proper syntax to grant permissions to "username@azuredbhostname" in Azure DB for PostgreSQL?
Thanks in advance.

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

ID: adbbd4e3-40c7-a89d-2e8a-dd9dbd028836
Version Independent ID: 241f0f17-00fd-cde3-2070-e2a8f000806a
Content: Create users in Azure Database for PostgreSQL server
Content Source: articles/postgresql/howto-create-users.md
Service: postgresql-database
GitHub Login: @JasonWHowell
Microsoft Alias: jasonh

@kriston Thanks for your feedback! We will investigate and update as appropriate.

@kriston Are you trying to create additional users or are you attempting change the role for a specific user?
I think the syntax is only username if you are connected to the PostgreSQL instance and using SQL, and the user is being added to the default database. The syntax is username@servername if you are running PowerShell commands or adding users outside the default database. I believe that is the behavior. Let me verify this and will have an update tomorrow. Thanks!

I am attempting to change the permissions for a specific user.
Thanks.

@kriston When referencing a user to login to a PostgreSQL database, the syntax is username@servername. When making changes to a specific user while connected to a PostgreSQL instance, the syntax is simply username.
Some additional information pertaining to Azure Database for PostgreSQL 'admin' users:

Your server admin user is a member of the azure_pg_admin role. However, the server admin account is not part of the azure_superuser role. Since this service is a managed PaaS service, only Microsoft is part of the super user role.
The PostgreSQL engine uses privileges to control access to database objects, as discussed in the PostgreSQL product documentation. In Azure Database for PostgreSQL, the server admin user is granted these privileges: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, NOREPLICATION
The server admin user account can be used to create additional users and grant those users into the azure_pg_admin role. Also, the server admin account can be used to create less privileged users and roles that have access to individual databases and schemas.

Please let me know if you have additional questions. Regards, Mike

@kriston We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

Fantastic.  Thanks for clarifying.  It might be a useful thing to note in the documentation that we won't need the hostname when granting roles, just when logging in.
Thanks again!


added windows conhost support

sorry I forgot to add an description
I added conhost.exe support using the ctypes module to load the required DLL and set the correct modes to make it support Virtual Terminal Processing

Is this also taken from the original chalk implementation? Where is the name DISABLE_VT_PROCESSING coming from, is this some kind of standard convention?
In general I think that importing a python package/module should ideally be free of side effects, because

import times are an issue in the Python ecosystem, and
the implicit nature of such side effects result in poor testability, often leading to trouble eventually.

That is why I was even reluctant to offer the chalk singleton that is currently initialized at import time. However, that side effect is purely an internal one, and the detect_color_support is reasonably lightweight.
In contrast, the side effect we are talking about here is an external one, which is much more problematic, because it leads to issues like this https://github.com/bluenote10/yachalk/issues/16.
A clean way to deal with external state mutations is to use a context manager, because the change is local, and can be rolled back automatically un-doing the side effect properly. However, chalk is currently not supposed to be used as a context manager, and it probably shouldn't because it would make it very inconvenient to use, and there is not reason on other systems.
What I could imagine is something like this:
from yachalk import chalk, extended_terminal_support

def main():
    # regular code...
    print(chalk.blue("colored"))

def main_wrapped():
    # The `extended_terminal_support` can be used somewhere on an outer level
    # of an app to enable color on "more terminals", which would currently just mean
    # Windows' conhost. Then the side effect is made explicitly, and not necessarily
    # at import time, and the side effect can also be undone thanks to the context
    # manager
    with extended_terminal_support():
        main()

if __name__ == "__main__":
        main_wrapped()

ctypes is a built-in module and DISABLE_VT_PROCESSING is not a standard naming convention but I'm pretty sure that there's no other standard name. and about side-effects, i don't think there's any code related to the windows terminal in the original chalk but rich for example has something similar. many people who never worked with the windows API will usually just do os.system('') which will call some windows apis and then return the EXIT_CODE or something idk

oh s


TASK [ceph-facts : set grafana_server_addr fact - ipv4] failed when more than one public_network exists

Bug Report
What happened:
TASK [ceph-facts : set grafana_server_addr fact - ipv4]
Friday 28 June 2019  14:55:24 +0900 (0:00:00.797)       0:01:32.894
fatal: [mon01]: FAILED! =>
  msg: 'ipaddr: unknown filter type: <IP_ADDRESS>/24,<IP_ADDRESS>/24'

How to reproduce it (minimal and precise):
all.yml
public_network: <IP_ADDRESS>/24,<IP_ADDRESS>/24
dashboard_enabled: true

Environment:

OS (e.g. from /etc/os-release): CentOS 7.6
Ansible version (e.g. ansible-playbook --version): 2.8.1
ceph-ansible version (e.g. git head or tag or stable branch): stable-4.0
Ceph version (e.g. ceph -v): 14.2.1 nautilus

we currently don't support multiple public networks in ceph-ansible

I also noticed if I run twice the playbooks, the second time it will pick up the docker interface ip address.
my config is :
public_network: <IP_ADDRESS>/24

problem was fixed for me by changing this
- name: set grafana_server_addr fact - ipv4
  set_fact:
#    grafana_server_addr: "{{ hostvars[inventory_hostname]['ansible_all_ipv4_addresses'] | ipaddr(public_network) | first }}"
    grafana_server_addr: "{{  hostvars[groups[grafana_server_group_name][0]]['ansible_default_ipv4']['address'] }}"

we currently don't support multiple public networks in ceph-ansible

I think this is not true anymore since #4339


Correcting formatting errors in README.MD

I would like to reformat the README to make it easier to read and more professional.

Hey there ! Sure u can go ahead ,, I'l assign thks issue a bounty of 25


A problem with MPOEnvirnment

Describe the bug
When the vumps branch was not merged into the main branch, I wrote the VUMPS algorithm myself and defined a sub-class of MPS named mps_Replica and they worked well. This class was defined to work as the uniform MPS class. Now I have updated physics-tenpy to v1.00 and I find when I use MPOEnvironment to calculate the environment it just doesn't work. This is because you have rewritten MPOEnvironment as a sub-class of the BaseEnvironment class and compatibility of the virtual bonds is checked every time you calculate the environments. However when I write my mps_Replica class I store AR's in the list _B, and AL's in the list _BL. As a result, when the compatibility of left and right environments LP and RP with the MPS outer virtual legs, they don't match with each other (since the outer_virtual_leg method just sees the virtual bonds of tensors in _B list).
I think that adding a parameter to the MPOEnvironment class to tell it whether to check virtual bonds or not may make it more flexible. :)
Error traceback
UserWarning: dropping `init_LP` with incompatible MPS legs
warnings.warn("dropping `init_LP` with incompatible MPS legs")

Sorry. Maybe this issue should be moved to the Enhancement label. So please just help me delete it.

I am not a fan of this pattern. Your class does not have proper subclass behavior, if the _B attribute does something else.
Notice how the UniformMPS class does not define the MPS._B attribute exactly for this reason.
Since we have a VUMPS implementation, I do not see a reason to change the codebase to support yours.
You can, of course override outer_virtual_legs to give the correct legs, which is exactly what we do in UniformMPS.

Duplicate of #403


DOMStringMap can lead to easy type errors

TypeScript Version:  2.1.5 (bug is present on master)
Code
const element = document.createElement('div');

const dataset = element.dataset;
dataset['key1'] = 'Hello';

console.log(dataset['key1'].toUpperCase()); // HELLO
console.log(dataset['key2'].toUpperCase()); // Cannot read property 'toUpperCase' of undefined

Expected behavior:
The project doesn't compile with a type error.
Actual behavior:
The project does compile, and a runtime error occurs.
This is caused by the fact that DOMStringMap's index return has type string, and not string | undefined.
We want
interface DOMStringMap {
    [name: string]: string;
}

To be
interface DOMStringMap {
    [name: string]: string | undefined;
}

If this is approved, I am very happy to make a PR on this - and would like to do so to try and contribute to TypeScript codebase.

This proposal will make the two lines flagged as errors now.. but i suppose it is safer.

That's a good point - I'd rather that happen. I will open a PR tomorrow.
Is this a breaking change?

it is a breaking change. marking it as such.

After doing some more research, it seems as though I need to modify https://github.com/Microsoft/TSJS-lib-generator/blob/master/inputfiles/browser.webidl.xml
According to the readme of that repo, these are generated by Edge.
Does this make the issue a non-starter?

you need to override https://github.com/Microsoft/TSJS-lib-generator/blob/master/inputfiles/overridingTypes.json instead. not the .xml file.

Every object map can be undefined on a random key access. Can we catch this in a general approach or do we have to find every needed definition?

@HolgerJeromin that's a good point. For numbers when access is array-like, including undefined doesn't make much sense but for strings it does. Does anyone else have opinions on this?

I think even with array-like access it is easy possible to get an undefined value.
I just changed my own code and had an issue with for in loops.
const StringDict: { [index: string]: string; } = {foo: 'bar'};
for (let key in StringDict) {
   const thisStringValue = StringDict[key];
}
const StringDict2: { [index: string]: string | undefined; } = {foo: 'bar'};
for (let key in StringDict2) {
   const StringValueOrUndefined = StringDict2[key];
}

I cannot imagine a case where StringValueOrUndefined is really able to become undefined. So an extra check to make TS happy would burn CPU cycles.


Add Prediction display so you know if you've voted

Currently no way to see if you have put in predictions for the current season, which is clunky. Other people shouldn't be able to see your current vote, but you should. Could modify the form so you could modify your predictions in place once they've been submitted, too.

This is true for both Fan Favorite & Prediction votes, & both should be modified in the same way so as to show the user what they've voted & let them modify in-place.

Done in https://github.com/mawilson/survivor_draft/pull/140. Ended up refactoring the fan favorite & predictions pages so that you can no longer choose a team, you just get the one you're logged in with that's associated with that season. Technically you may have multiple teams associated with a single season, though you'd have to do that thru the admin - the pages will just choose your first team they find in that season.
Now the hacky logic reassigning the instance of the Team associated with the form is gone, we can easily display the prior votes when navigating back to the page.


Handle job event by specified job name.

see #165

@fwoelffel  can you check this PR?

Sure @callmez
I've already had a peek on it. Thanks for working on this so quickly :rocket:
Could you also make this work with global events? I think there's a difference with the local events: the handler only gets the job id and not the job object.

it means @OnGlobalQueueCompleted({ id: 'xxx' })?  right?

@callmez Not exactly, the decorator should expect a job name and not a job id.
The difference is that global event listeners don't get the job instance but only its id. See https://github.com/OptimalBits/bull/blob/develop/REFERENCE.md#global-events
One way to handle things would be to fetch the job instance when the event is a global one. See https://github.com/OptimalBits/bull/blob/develop/REFERENCE.md#queuegetjob

I know, i think we keep global event simple, just handle local event by name or id. what do you think?

Hi @fwoelffel, also can make global event work,  but it will cause different args.
@OnGlobalQueueCompleted({ name: '' })
onGlobalTestJobCompleted(job: Job) {
}
@OnGlobalQueueCompleted()
onGlobalJobCompleted(jobId) {
}

Hi @callmez I'm glad that your helping me with this package 🙂
How about the following:
@OnGlobalQueueCompleted({ name: string; getJob: boolean = false })
onGlobalTestJobCompleted(jobOrJobId: Job | string) {
}

The handler would only get the job instance if we passed { getJob: true } to the decorator. This way, we get the original behavior by default and avoid any breaking change.

hi @fwoelffel , Could you please take a look, cause i really need it.

Hi @callmez
Sorry, I've been pretty busy for the last days. I've reviewed your PR and everything seems fine except one thing:
export type BullQueueEventOptions = RequireOnlyOne<
  {
    eventName: BullQueueEvent;
    name?: string;
    id?: string;
  },
  'id' | 'name'
>;

export type QueueEventDecoratorOptions = RequireOnlyOne<
  { id?: string; name?: string },
  'id' | 'name'
>;

What is the usecase for the id? I mean, handling job based on their name is cool, but what would be the point to add a listener for a single given job id?
Don't you think you could remove the id property from those type and also update the BullExplorer.handleListener method so it doesn't look for the id?

https://github.com/OptimalBits/bull/blob/develop/REFERENCE.md#queueadd
Unique Job is very useful for me.
it means I can add one-time jobs without worrying about duplicates, so I need handle it by JobId.

thanks！👍


#0: Add test initializing semaphores on a core and then core range

https://github.com/tenstorrent-metal/tt-metal/actions/runs/8430392855


FormBuilderTextField calls extra validation when its initialValue and controller are not set

FormBuilderTextField calls its validator twice if it mets following conditions:

Its initialValue is not set (or set to null).
Its controller is not set.
Its autovalidateMode is set other than AutovalidateMode.disabled.

In this situation, validation with an empty string ('') is called before "actual" validation for the input value. It causes some confusion in widget testing which tends to measure validation logic precisely.
As far as I investigated, although the _controller is initialized with null, the relevant TextEditingController is initialized as empty string, so any input throughs the condition because _effectiveController!.text! (empty) is not equal to value (null), and then didChange() is called before actual validation.
I think there are options to fix this issue:

Coalesce initialValue to empty for null like TextFormField does. It also improves compatibility between FormBuilderTextField and TextFormField, but it introduce a little breaking change.
Change suppression logic to consider null as empty string (such as if (_effectiveController!.text != value ?? '')).

The pull request #1019 solve this issue?

Yes, I've tested with a3510a4152e9a665e74fc313969f51ee20d07397 and confirm that the extra validation was not called anymore.
I will wait for next release.  Thank you!


MediaMetaData image for Cast Dialog

Noticing something strange with the cast dialog. Using the MediaInfo.Builder to prepare MediaInfo for a call to RemoteMediaClient.load(mediainfo), if the same image URL is used for MediaMetaData.addImage this time as was used last time the image does not show up in the dialog.

Please file a bug against the Cast SDK: https://code.google.com/p/google-cast-sdk/issues/list


SPEC.md: proposal for numeric UID/GID in App user/group fields

This proposes that if the content of the "user" and "group" fields should be
the specific UID/GID of the process, then the recommended form would be to
begin the string with an equals sign, such as "=1000" to specify a UID of 1000.
This is safe to apply with POSIX standards around usernames. General Linux
convention is that usernames must begin with a letter and are not allowed to
begin with a number. This with some tooling like adduser, which specifies a
NAME_REGEX of "^[a-z][-a-z0-9]*$" by default. However POSIX states a username
can begin with a number, and even be all numbers. This means a user/group
string of all numbers cannot be safely assumed to mean it should be a uid/gid.
Additionally, this format would be safe to avoid interference on Windows.
Windows does not have numeric UID/GIDs, but their speficiations for login
names specify that an equals sign and forward slash are invalid characters. So
a UID specification of =1000 won't be confused as a login name on Windows.
This would help ensure the handling doesn't become Linux convention specific,
and remains safe an portable between POSIX and Windows.
Fixes #231
References:
POSIX standard on usernames:
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_431
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_278
adduser.conf man page:
http://manpages.ubuntu.com/manpages/raring/man5/adduser.conf.5.html
Windows standards:
https://msdn.microsoft.com/en-us/library/bb726984.aspx

@krobertson awesome write-up
/cc @thockin @alban

Do we care about backward compatibility with old ACIs containing "0" without the "="?
  "user": "0",
  "group": "0"

The backwards compatibility is one thing... @jonboulle have an opinion?
I know our implementation still looks for a simple number, I haven't updated our code yet. But what there is today isn't fully portable.
In ours, I know we could key off the ACI version in the manifest to support backwards handling.

I am not majorly concerned about backwards compatibility if it means we're implementing the right solution =). As Ken mentioned I think we could address this reasonably in implementations for now.

@thockin @alban @jonboulle
Updated the PR based on feedback. If it looks good, I can squash and use the message from the 2nd commit, as the nature of this changed.

@thockin if this LGTY would you like to land it?

Updated and squashed down.

good good. I like this clarity. It matches known behavior, chown(1).
LGTM

@krobertson thanks and congrats

Sorry, I have been OOO last three days (still am, but i was too).
On Fri, May 1, 2015 at 12:05 PM, Vincent Batts<EMAIL_ADDRESS>wrote:

@krobertson https://github.com/krobertson thanks and congrats
—
Reply to this email directly or view it on GitHub
https://github.com/appc/spec/pull/315#issuecomment-98207312.


Gsoc2021 double float backend reqs

The reason of this PR is to potentially merge the Boost-ified double_float backend to develop in the fork.
The pathway for this and some remaining known problems are detailed in #12 and other issues such as.

See also detailed comments in #32

ldexp would be much the same. floor/ceil are trivial if the most-significant limb is fractional (set the least significant part to zero and call floor/ceil on the upper part)...

Thanks John.
@jzmaddock yeah we got a bunch of it working. We were able to implement frexp, ldexp, floor, ceil, and fulfill numerous backend requirements for the early, early draft of cpp_double_float<T> which provides the first significant step toward a BSL double-float type that can be instantiated for float, double, long double and also boost::multiprecision::float128.

The test_arithmetic_* tests are pretty thorough

Thanks. Pertaining to the first step of double_float, we got about 95 percent or more of them working. I need to look into our new scoped/unscoped enumeration tests. Alse we have a few weaknesses in limits and subnormals.
Next up is the same idea for quad_float. Moving right along...
@sinandredemption and @cosurgi