feat: optimize composer's extensibility

Description
When a class is inherited, the current compose() function doesn't reuse the tasklets created from the parent class. Therefore, a developer needs to create many of the same tasklets so that they can be chained (hence, composed). This duplicates the code.
To avoid this redundancy, the composer is extended such that the parent's tasklets are retrieved with alias used when they were created in the parent class.
To demonstrate this feature, the compose() method of top_aggregator in asyncfl mode is modified. All other examples still follow the old way of duplicating the code. Those can be revised over time.
Type of Change

[ ] Bug Fix
[x] New Feature
[ ] Breaking Change
[x] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[ ] I have read the contributing guidelines
[ ] Existing issues have been referenced (where applicable)
[ ] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[ ] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

Codecov Report

Merging #390 (6e4cb2c) into main (c71ffc0) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #390   +/-   ##
=======================================
  Coverage   15.15%   15.15%
=======================================
  Files          48       48
  Lines        2778     2778
=======================================
  Hits          421      421
  Misses       2328     2328
  Partials       29       29

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I understand the need for extensibility, but I want to make sure I understood this PR. Let me try to explain how I think it works:

you use CloneComposer to wrap the composer to insert new tasklets
you execute unlink on the composer to remove any order of execution inherited from the parent
then, you give it a new order by creating the rshift chain where inherited tasklets are called by alias, while implemented tasklets are called by variable name (the reason for this is that you don't have another way to reference parent implemented tasklets)

The implementation is more than valid. However I feel like we are introducing complexity that outweighs the extensibility.
It can be boiled down to:

would you rather check the parent to see what tasklets it has declared and under what alias (and also in what order)
or would you rather run over the implementation by overriding it (and doing duplicate work)

I think the goal here should have been to give the ability to insert user defined tasklets to the existing chain (if we don't want to change the default ordering). But we kind of get more of the same with more complexity and some piece of mind.


Extension issue

Issue Type: Bug
Extension Name: vscode-pull-request-github
Extension Version: 0.31.1
OS Version: Windows_NT x64 10.0.19043
VS Code version: 1.61.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:
{
	"messages": [
		{
			"type": 2,
			"message": "`remoteHub/pullRequest` is not a valid menu identifier",
			"extensionId": {
				"value": "GitHub.vscode-pull-request-github",
				"_lower": "github.vscode-pull-request-github"
			},
			"extensionPointId": "menus"
		}
	],
	"activationTimes": {
		"codeLoadingTime": 262,
		"activateCallTime": 0,
		"activateResolvedTime": 48002,
		"activationReason": {
			"startup": true,
			"extensionId": {
				"value": "GitHub.vscode-pull-request-github",
				"_lower": "github.vscode-pull-request-github"
			},
			"activationEvent": "*"
		}
	},
	"runtimeErrors": [],
	"runningLocation": 1
}

Upstream issue: https://github.com/microsoft/vscode/issues/136222


[CDEC-327] Write test utility functions for displaying hexadecimal.

Description
Write test utility functions for displaying hexadecimal.
Linked issue
https://iohk.myjetbrains.com/youtrack/issue/CDEC-327
Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[x] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[x] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.

Testing checklist

[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

QA Steps

Screenshots (if available)

Closed in favour of #2979


Package request: Ente Auth

Project description
Ente's 2FA app. An end-to-end encrypted, cross platform and free app for storing your 2FA codes with cloud backups. Works offline. You can even use it without signing up for an account if you don't want the cloud backups or multi-device sync.
Metadata

homepage URL: https://auth.ente.io
source URL: https://github.com/ente-io/ente/tree/main/auth
license:  AGPL-3.0 license
platforms: linux, windows, android, ios, apple silicon macOS, web

Add a :+1: reaction to issues you find important.

Ente Auth
Project description
Authenticator App
It is the only authenticator program that works on all desktop and mobile platforms. It is a very useful application as it works on all operating systems and all platforms, and also works on the web. Moreover, since the database is in the cloud, there is no need to back up or restore from backup.
Metadata
homepage URL: https://ente.io/auth/
source URLs: https://github.com/ente-io/ente/tree/main/auth ; https://github.com/flathub/io.ente.auth
download URLs: https://github.com/ente-io/ente/releases?q=tag%3Aauth-v4 ; https://ente.io/auth/ ; https://github.com/flathub/io.ente.auth ; https://flathub.org/apps/io.ente.auth ; https://f-droid.org/tr/packages/io.ente.auth/
license: AGPL-3.0
platforms: gnu-linux, gnu-linux libre, flathub, net (ms's), darwin (apple's), android, web
distribution format of software: appimage, flatpak, rpm, deb, pacman, dmg, exe, apk
OSs: GNU/Linux distros, GNU/Linux Libre distros, Windows, MacOS, iOS, android OS (f-droid and play store), web

@universish it has already been added. If you're on a stable release, you'll have to wait until the next one for it to be included, or bring it in from unstable.

not added. not yet published, not yet distributed. can you give me a url to verify your claim?
The topic was already opened, I opened it again, but I added detailed metadata data because the previous topic contained very insufficient information.

not added. not yet published, not yet distributed. can you give me a url to verify your claim?

Here and here. It was in #339059, which was merged 3 weeks ago, so it has already been distributed on the nixos-unstable channel (which lags roughly 3 days behind master). From the discussion in #350413, it seems like this package won't be backported, so you'll have to wait until 24.11 if you want it in a stable release (though you can manually pull in a dep from nixpkgs-unstable if you want it sooner).

sorry, I searched for a stable version. unstable didn't come to mind.


Qiqi's open-source project and PT table make up

Debugging is NOT testing.
Who did you get your feedback from? Did you really user test? Clarify.
Your README is missing a lot of important information: README is the first step to an open source project.
The app works well. You did a good job debugging it. The inputs and outputs are good for user experience.
The entry point for a web app or web site must be named index.html


feat(Dribbblish): add Dribbblish color scheme gruvbox-material-dark

feat(Dribbblish): add Dribbblish scheme
docs(Dribbblish):  update README.md

can you add the screenshot to THEMES.md

Done and i corrected a typo made in my last commit

is all good?


Crashing on threads?

I am fairly new to using LWJGL, and I keep getting this error. From what I can tell from reading under the THREAD section in the log, it seems to crash on Thread.run()
Here is the log file IntelliJ spits out at me: hs_err_pid18639.log

glfwCreateWindow (read the section "Thread safety") as well as a lot of other GLFW functions may only be called in the main thread (which is the thread that initially calls your main method).
Also make sure you call glfwInit before doing anything with GLFW (except setting its error callback via glfwSetErrorCallback).

I still get the same error for when I completely go away from starting on another thread.
Here is my recent push: https://github.com/BlakeBarnes00/Sandbox/commit/42c7571690ae3b77487c982df873aa894804ff58 it shows that I have removed the thread, and went straight to calling run(). Still getting the same error from within the inside of the function.

Thinking from the docs, I assume that main thread in that context means the thread that called the glfwInit() function right? Even after the change, it should work if that was the cause. He also do seem to set the GLFW error callback.
@BlakeBarnes00 Could you delete all the error logs and retry? Upload the new log after the rerun.

@sriharshachilakapati
new log
most recent commit

Remove the call to init() in the Window class constructor, it's already being initialized by the game engine. Did you try the native GLFW to verify if this is a problem of your system instead?

I guess that line 49 of Window.java is your error. You had this:
this.windowHandle = glfwCreateWindow(this.width, this.height, this.title, 1, 0);

The fourth parameter is the monitor to use, and that is only used to make your window fullscreen on start. For other windows, it should be MemoryUtil.NULL or 0.
The error you are having is a SIGSEGV, which means that something got a segmentation fault, like accessing un-owned memory location, and that might be the unknown monitor handle.
To get the correct monitor handle, you have to use glfwGetPrimaryMonitor() function to get the ID of the primary monitor. Hope this helps.

That was the fix! I can't believe I overlooked that this entire time. Thank you so much @sriharshachilakapati

Now try to get your threading code back into place. I'm sure running with thread is fine on non-mac machines which your initial code does in the gameEngine.start() method. I'm curious about this.

With gameEngine.start() it works now! Funny how one number can ruin an entire program, eh?

Good, as I believed, the main thread in this context is the thread that invoked glfwInit() and not the thread that ran your main method. This becomes the later on MacOS, because Cocoa doesn't allow two application event loops in a single application and that contradicts with the EDT of Swing/JavaFX. Congrats on getting this solved, and I guess we both learned a new thing.

I am still new to threading, so this did help me out a lot. Thank you so much!

Thanks @sriharshachilakapati for inspecting and solving this!
I've added a check for this potential error to https://github.com/LWJGLX/debug.


Ability to transfer notes from parent folder to a nested folder.

Reference #214.

That's something I'd be really happy about, cause it'd bring me a huge step closer to my idea of a full-fledged archive. The only thing: I spoke of the other direction, from parent to child. But you probably meant it that way.

Yup, you're right.

Great, this is reality now! Thanks!
(Can't close this one myself, BTW)


Add "book" and "books" as variables

Describe the feature you'd like
First of all thanks for the great work.
My thought is that if the words "book" and "books" are present as variables in the language files, and they can be edited individually by users.
Describe the benefits this would bring to existing BookStack users
In this way, BookStack could be used for almost all collectible objects.
Can the goal of this request already be achieved via other means?
Manually editing of language files only.
Have you searched for an existing open/closed issue?

[X] I have searched for existing issues and none cover my fundemental request

How long have you been using BookStack?
0 to 6 months
Additional context
I edited the language files manually and use them for my vinyl collection.

Hi @memo-567, Thanks for the request and kind feedback!
I believe the fundamental request here is already covered by open issue #2901 so I'll therefore close this off as a duplicate. You can also refer to #406 to see history of this request. Let me know if I've misunderstood though and I could re-open this if required.
Note: It's possible to override built-in text without editing the original app files using the visual theme system:

Guide - See "Customizing Text Content" section.
Video Guide - I override some text as an example in this demo.

I guess I missed that after searching.
Sorry, and thanks for the notice 👍


Small change to schema syntax

Small change to how actions look, removes the appliesTo keyword
Rendered
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Decided against this small tweak.


[webview_flutter] having problem only in iOS. Failed parsing the URL

flutter doctor result is

[✓] Flutter (Channel stable, 2.10.5, on macOS 12.3 21E230 darwin-arm, locale ko-KR)
    • Flutter version 2.10.5 at /Users/pedrojung/Downloads/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (7 days ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/pedrojung/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Users/pedrojung/Downloads/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.66.2)
    • VS Code at /Users/pedrojung/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.38.1

[✓] Connected device (2 available)
    • iPadofP (mobile) • 00008110-00093169218A801E • ios            • iOS 15.4 19E241
    • Chrome (web)     • chrome                    • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

and when I load url with Korean letter, it cause error
      String aaa = "https://www.google.com/search?q=테스트테스트" ;
        print(aaa);
        try{

        webViewcontroller!.loadUrl((aaa)
            );

Unhandled Exception: PlatformException(loadUrl_failed, Failed parsing the URL, Request was: '{
headers = "";
url = "https://www.google.com/search?q=\Ubca0\Ud14c\Ub791 ";
}', null)
it only happened when it comes to IOS.
I think there are other people having same problem.
https://stackoverflow.com/questions/71869712/unhandled-exception-platformexceptionloadurl-failed-failed-parsing-the-url-in

That is not a valid URL; the error is correct. You can't put arbitrary Unicode characters, unescaped, in a URL, because it violates the spec that defines the URL format.
The API contract for webview_flutter is that you pass a valid URL string, so the code in this report is incorrect. The underlying APIs on Android are tolerant of some invalid URLs so it happens to work there, but that's not supported behavior by the plugin.

Using Uri to construct a URL from components, then calling toString, is a much better way to get a valid URL than trying to construct it but hand.


Deadlandsclassic_anniversary

Changes / Comments
I would like to add a new Deadlands Classic character sheet based on the current one done by Pyromanci, Kevin Justus. The new sheet will cover the changes of the RPG System released with the "Deadlands 20th Anniversary Edition" rulebook in 2016. Furth the new sheet will offer the following improvements:

includsion of the translation structure
a translation into German
small fixes

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[X] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[X] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

The preview file exists. I changed the ending from '.png' to '.PNG' in the 'sheet.json' now because this was the only difference between the preview snapshot and the path I could find.


fix free look for 3d editor multiple viewports

fix #50051
I create a new mouse mode MOUSE_MODE_CAPTURED_CUSTOM
essentially the same as MOUSE_MODE_CAPTURED but the center can be specified
it work on window
can someone test on other platform.

Thank you for your contribution, and welcome!
I'm not sure the appropriate solution here is to add a whole new, dedicated, input mode though, it goes again the general design principle of local solutions.

How about this solution?
But freelook still doesn't work if 3d editor is not in the center.


Way to get connection state

Is there a way to get connection state on the client?
I am using xamarin and sometimes the connection is closed while the application is in background without calling the event .onClosed (because of the OS) so I need another way to check if the connection is still alive or I need to restart it.
Thanks

It is not possible at the moment. You should be able to use the Closed task once this PR is merged.


Uchiwa shows 0 datacenter instead of 0 datacenters

Expected Behavior
For Uchiwa to show '0 datacenters' when there are 0 datacenters.
Current Behavior
Uchiwa shows '0 datacenter' when there are 0 datacenters.
Possible Solution
Check if there are 0 datacenters and add an S as is with more than 1 datacenter.
Context
The wrong translation is shown in the sidebar menu.
Your Environment

Uchiwa version used: 1.2.0
Sensu version used: unknown
Operating System and version: Ubuntu 16.04

I just noticed this is the same with '0 event'.


A cyclic dependency error occurs when displaying table integrations in the Saas Manager APP

When changing the branch development to master occur a cyclic dependency and the table with all integrations appear and then disappears. In the next video show what occurs:
https://images.zenhubusercontent.com/275993885/1a7ba2e1-1ff4-464c-ac0d-4969e4729def/video1.mp4
When uploading an icon the error start again
https://images.zenhubusercontent.com/275993885/fd467d14-a123-4d2e-aa69-57e132ac3efa/video1802573955.mp4https://images.zenhubusercontent.com/275993885/1a7ba2e1-1ff4-464c-ac0d-4969e4729def/video1.mp4
The official documentation of AppSmith explain that an app gets a cyclic dependency error when a node is directly or indirectly dependent on itself.

The problem could be with the Upload Icon query this was temporarily removed and it worked
Solution: Create a new Upload_Icon query.

This was resolved yesterday, but some testing was needed to double-check that the functionality was recovered and there were no side effects.


Question on MixedPrecisionPolicy in FSDP2

Hi - thank you for this incredible resource. I had a question regarding the module level mixed precision in the MixedPrecisionPolicy.
From https://github.com/pytorch/pytorch/blob/main/torch/distributed/_composable/fsdp/_fsdp_api.py#L9:
class MixedPrecisionPolicy:
    """
    This configures FSDP's mixed precision. Unlike autocast, this applies mixed
    precision at the module level, not op level, which means low-precision
    activations are saved for backward and high-to-low-precision casts are
    incurred only at module boundaries.

    FSDP works well with module-level mixed precision since it keeps the
    high-precision sharded parameters in memory anyway. In other words, FSDP
    does not require any extra memory to keep a high-precision copy of the
    parameters for the optimizer step.

I assume that FSDP2 will choose to cast a layer in a Transformer, for example, to BF16. How would this affect specific operations in the layer, such as the SoftMax, which typically run in FP32? Will any explicit casting (such as .to(float32)) be affected by this MP Policy?

With FSDP2's mixed precision, the forward (and backward) run with bf16 tensors. More specifically, FSDP2 can cast the module forward inputs for the user to bf16, and FSDP2 will all-gather the parameters in bf16. That is all -- there is no further implicit behavior or anything.
In other words, it is like running a forward and backward on a single GPU but when model.to(torch.bfloat16) and passing input in torch.bfloat16 (if floating-point). Note however that for FSDP, the sharded parameters used for optimizer can still be fp32.
Specific kernel implementations can still accumulate internally in fp32, but since the operator will output in bf16, there will be that rounding that happens at the end of the operator.

Makes sense. Thank you!


How to add flags and title to window?

To add flags and title to window in ImGui, you can use: ImGui::Begin("Window", 0, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize);, but there is no any arguments to do it in rlImGui.

rlImgui doesn't change how the ImGui windows work.
Look at the examples, they call ImGui::Begin.


TypeError: Cannot convert undefined or null to object

Hi,
I am getting the following error when trying to connect to presence channels:
(node:4556) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): TypeError: Cannot set property 'socketId' of undefined
I am using

Laravel 5.4.36
Laravel Echo Server 1.3.2
Laravel Echo 1.3.2
Redis 4.0.2

Notes

I am using the Laravel auth system with Entrust for permissions
Debugbar shows the correct user authenticated
Public and Private channels do not produce this error
I have just implemented this on another project using Laravel 5.5.* which was also using Laravel Echo Server and it works fine on that, however that was a more greenfield project.
BroadcastServiceProver is enabled
I've tried Laravel Echo Server version 1.3.0 and 1.3.1 and also get the same issue.

I've had a look through google and issues within the board and tried a few things but it seems I am not having any luck.

Yes, I'm still having the same problem as described above with Presence channels. Private channels work fine. I too am using Laravel authentication.
channels.php
`Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
Broadcast::channel('messages.{chatId}', function ($user, $chatId) {
if($user->canJoinChat($chatId)) {
return $user;
}
});
`
Setting a breakpoint with xdebug on the if statement in the second block never gets hit.

Can anyone point to an example or give a nudge in the right direction? I've been working on getting this to work on and off for weeks. I'm not sure why the socket id is null, when it prints it out in dev mode. I am assuming that is why the Promise is false. Any help would be appreciated...

This error gets thrown when your channel doesn't return a user object.
Broadcast::channel('messages.{chatId}', function ($user, $chatId) {
     if($user->canJoinChat($chatId)) {
        return $user;
     }
});

When you are joining your presence channel, have you verified that $user is actually set?
\Log::info('user', [$user]);

Yes, a temporary modification of the LES js files allows me to log out the body of the response.
log_1.Log.error("[" + new Date().toLocaleTimeString() + "] - body " + body); L A R A V E L  E C H O  S E R V E R

version 1.3.2

⚠ Starting server in DEV mode...

✔  Running at <IP_ADDRESS> on port 6001
✔  Channels are ready.
✔  Listening for http events...
✔  Listening for redis events...

Server ready!

socket >>>
socket serverRequest >>>
[2:06:45 PM] - 6NKPiLmHPLdQk-khAAAA authenticated for: presence-messages.1
[2:06:45 PM] - body {"id":1,"name":"Larry Ball","email":"larry@larryaball.net","created_at":"2017-11-07 20:23:53","updated_at":"2017-11-07 20:23:53"}
res >>>
[2:06:45 PM] - 6NKPiLmHPLdQk-khAAAA joined channel: presence-messages.1
(node:32282) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot set property 'socketId' of undefined

Could there possibly be two attempts occurring here? Looks you are successfully joining the channel.

I don't mean to be ignorant, but I console.log the method in my javascript (Vue) that joins the channel and it only fires once. I set the debugger on channels.php in the plain Laravel install and it never reaches the breakpoint for the channel. So I am really confused by this.
<?php
use Illuminate\Support\Facades\Log;

/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/

Broadcast::channel('App.User.{id}', function ($user, $id) {
    return (int) $user->id === (int) $id;
});
Broadcast::channel('messages.{chatId}', function ($user) {
	Log::info('user', [$user]);
	return $user;
});

I set a breakpoint on both return statements just to be sure. Neither was hit.
I console.log socket in LES js files and get null in the following locations:
dist/channels/channel.js
Channel.prototype.joinPrivate = function (socket, data) {
        log_1.Log.error('socket >>> ', socket);
        var _this = this;
        this.private.authenticate(socket, data).then(function (res) {
            log_1.Log.error('res >>> ', res);
            socket.join(data.channel);
            if (_this.isPresence(data.channel)) {
                var member = res.channel_data;
                try {
                    member = JSON.parse(res.channel_data);
                }
                catch (e) { }
                _this.presence.join(socket, data.channel, member);
            }
            _this.onJoin(socket, data.channel);
        }, function (error) {
            log_1.Log.error(error.reason);
            _this.io.sockets.to(socket.id)
                .emit('subscription_error', data.channel, error.status);
        });
    };

/dist/channels/private-channel.js
PrivateChannel.prototype.serverRequest = function (socket, options) {
        var _this = this;
        return new Promise(function (resolve, reject) {
            options.headers = _this.prepareHeaders(socket, options);
            log_1.Log.error('socket serverRequest >>> ', socket.id);

            var body;
            _this.request.post(options, function (error, response, body, next) {
                if (error) {
                    if (_this.options.devMode) {
                        log_1.Log.error("[" + new Date().toLocaleTimeString() + "] - Error authenticating " + socket.id + " for " + options.form.channel_name);
                    }
                    log_1.Log.error(error);
                    reject({ reason: 'Error sending authentication request.', status: 0 });
                }
                else if (response.statusCode !== 200) {
                    if (_this.options.devMode) {
                        log_1.Log.warning("[" + new Date().toLocaleTimeString() + "] - " + socket.id + " could not be authenticated to " + options.form.channel_name);
                        log_1.Log.error(response.body);
                    }
                    reject({ reason: 'Client can not be authenticated, got HTTP status ' + response.statusCode, status: response.statusCode });
                }
                else {
                    if (_this.options.devMode) {
                        log_1.Log.info("[" + new Date().toLocaleTimeString() + "] - " + socket.id + " authenticated for: " + options.form.channel_name);
                    }
                    try {
                        log_1.Log.error("[" + new Date().toLocaleTimeString() + "] - body " + body);
                        body = JSON.parse(response.body);
                    }
                    catch (e) {
                        body = response.body;
                    }
                    resolve(body);
                }
            });
        });
    };

Admittedly I am not familiar with the code and these console.logs could be worthless, but I include them in case they are useful. Thank you for your responses as well.

You check your log file in /storage/logs/laravel.log?

Yes, nothing there.

Also I am able to send messages fine from the presence channel. I just don't get the join/leave events I'm after.

Does anyone have an example of presence channels working in Laravel 5.5?

@redhedded1 We have the same issue here, We don't get the join/leave events.Has anyone some solution for this bug?

I haven't gotten a response since it was suggested to check the Laravel logs. The only event I get is one for subscribing to a channel.

Hey there, this issue was opened a while ago. I'm going to close this issue, if this issue still exists, please open a new issue or open a Pull Request.

Please check if your BROADCAST_DRIVER is set to redis on .env file


Inconsistent licensing.

Your readme says the code is MIT licensed but individual files (BootstrapHtmlHelper for e.g.) states it's under Apache v2 license. It would be nice for users if the code uses a single license consistently.

Thanks for pointing this out, I switched to MIT license a few times ago and forgot to update the individual files. I have corrected that with commit 1c7e8ba651bda8cc00554ba1242e71d026f1e3a0, everything should now be licensed under MIT license.


Fpet 312 backup

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

closing this to clean up ... will reopen

closing this.. opening new one


Better Select Menu Labels

A small suggestion is maybe having the Select Menu labels take the name of the current embed title if present.

Added in ef3682b9ea998d4b7e57e1c6a0c99553b67fe77c


Support for upper case text

Argos-transalate is unable to translate text in upper case.
See as example:
argos-translate --from en --to es "Hello World"
Hola Mundo

argos-translate --from en --to es "HELLO WORLD"
HELLO WORLD

Happy to discuss and suggest potential solutions

It's related to the argos model, we need to train a better quality model with more uppercase data.

One simple way to address the problem is to do corpus augmentation, for example duplicating the whole training corpus in upper case then the model learns both representations.


Updated lion and merged with pega auth changes

There are a lot of files changed here.  But essentially this is just a blanket replacement of @lion/core with lit.  portal tests have never worked but e2e embedded tests work fine against dxaui23 lab

merge didn't work


Redir to Comsys Website fix

Before it would redirect to 404 as it looks into own Namespace, now the redirect to Comsys should work

I reworked the whole subdomain and subpath stuff, in preparation for more fake institutions like se for swt. nextjs does not support subdomain routing so had to spin up a nginx reverse proxy...


Zuul experiments, please ignore

recheck

git clone from src.fedoraproject.org failed…

And it automagically fixed itself, see #1839


Remove Participant option from docs

Remove Participant option from docs, https://github.com/threefoldtech/tfgrid-sdk-ts/issues/2765.

Fixed when #572 is merged


Question: approle auth and pull mode

Hi Mark,
Looking at Hahsicorp Doc for the approle auth, they suggest that the Pull mode is the most secured approach.
In your documentation here and here, you suggest to override the ClientAuthentication by providing our own bean and use the pull mode for both role-id and secret-id:
@Configuration
class AppConfig extends AbstractVaultConfiguration {

    // …

    @Override
    public ClientAuthentication clientAuthentication() {

        VaultToken initialToken = VaultToken.of("…");
        AppRoleAuthenticationOptions options = AppRoleAuthenticationOptions.builder()
                .appRole("…")
                .roleId(RoleId.pull(initialToken))
                .secretId(SecretId.pull(initialToken))
                .build();

        return new AppRoleAuthentication(options, restOperations());
    }

    // …
}

What's this initialToken and how do you get it?
Regarding the matrix here what's the most secure choice to make in order to protect the role-id and secret-id?
Does all the above make this kind of approach for approle irrelevant?

Many thanks for your answers!

Spring Vault supports all variants for AppRole (provided, pull, wrapped, absent) for Role ID and Secret ID.

the SecretID can be kept confidential from all parties except for the final authenticating client by using Response Wrapping.

This section refers to provided Role ID and wrapped Secret ID obtained from a wrapped response.
The example above with RoleId.pull(…) and SecretId.pull(…) makes two requests to Vault in order to obtain both identifiers. initialToken takes a similar role as in response wrapping, it should be only valid for two calls and then get invalidated. Role-wise, it should only be allowed to obtain Role ID and Secret ID from the auth-backend.
The approach to ensure a maximum of protection would be the use of wrapped Role ID and Secret ID which requires two different unwrapping tokens. If either of the wrapped parts isn't accessible then this is already an indicator for either a consumed or an expired wrapping token.
In general, retrieval of role-id and secret-id from within Vault is generally called pull mode while there is Read AppRole Role ID from the auth backend and the wrapped variant. Same applies for Secret ID.
Let me know whether this helps.

Mark, it does help thanks. I'll dig into this.


Solr create collection command needs -force

The documented command fails:
» kubectl --context minikube -n ckan-cloud exec $SOLRCLOUD_POD_NAME -- \
>     bin/solr create_collection -c ${CKAN_NAMESPACE} -d ckan_default -n ckan_default
WARNING: Creating cores as the root user can cause Solr to fail and is not advisable. Exiting.
         If you started Solr as root (not advisable either), force core creation by adding argument -force
command terminated with exit code 1

When running it with force, however it proceeds normally:
kubectl --context minikube -n ckan-cloud exec $SOLRCLOUD_POD_NAME -- bin/solr create_collection -c ${CKAN_NAMESPACE} -d ckan_default -n ckan_default -force

Moved to https://github.com/ViderumGlobal/ckan-cloud-helm/issues/8


Memory usage problems

I'm trying to use gemelli to generate a distance matrix on a large, sparse ASV table that has 97791 ASVs and 285 samples. I have a couple of larger datasets that I'd also like to analyze to get the rclr-based Aitchison distances. Unfortunately, this dataset is seg faulting when I give it 98 GB of RAM and the two other datasets throw an error indicating that numpy is unable to allocate 309 and 450 GB of space for the array which are on the order of 200k by 200k. I readily admit that I'm not 100% that I'm using gemelli correctly and wondering whether there's a way around the memory limitations to generate the distance matrix. Here's the script I'm running along with a compressed version of the data for the 97791 ASV by 285 sample dataset. Any help you can offer would be great.
#!/usr/bin/env python3

import numpy as np
from biom import Table
import pandas as pd
from gemelli.preprocessing import rclr_transformation
from gemelli.rpca import rpca

np.seterr(divide = 'ignore') # for rclr

df = pd.read_csv("data.gemelli.tsv", sep = "\t")

# convert to biom-formatted file
biom = Table(df.to_numpy(),
             df.index,
             df.columns)

ordination, distance_matrix = rpca(biom)

distance_matrix.to_data_frame().to_csv("data.gemelli.dist", sep='\t')

data.gemelli.tsv.gz

Hi Pat,
Thanks for reporting this!
This surprised me since I have run large datasets like the AGP & EMP through RPCA on my laptop without an issue. It turns out that the matrix provided is very high rank (almost full rank), higher than I have observed before (e.g. higher than the 88 soils dataset - see here). We noted in the original paper (see here), "A low-rank constraint can possibly cause misleading results in the case of high-rank data sets. High-rank data sets may occur in microbiome datasets as a gradient between samples and features.".
The memory requirements are blowing up since the low-rank assumptions of RPCA that allow for efficient calculation are being violated. Basically, you would need the number of PCs to be equal to the number of samples to be able to reconstruct the matrix well from the singular value decomposition because each sample is so different from all other samples. I would highly suggest that RCLR/RPCA not be used with this data for that reason.
Normally, our low-rank assumption test would issue a warning for this but for some reason, it is not working on this matrix. I added an issue #70  to dig into this ASAP and make sure we return an informative error for this in the next version and prevent this memory blow-up!
Thanks again for reporting this,
Cameron

My pleasure - is it safe to assume that if the data successfully goes through without blowing up the RAM that it is ok to use RCLR/RPCA with these data?

Good question. No for now, while I work out where the bug is in the rank-based screen that should have caught this edge case and raised an input error.
An easy way to check in the interim is to use another method without stringent low-rank assumptions (e.g., heatmap of a beta-diversity distance), and if the data has reasonable sample clusters (fewer clusters than the number of samples) then it should be okay. However, if it shows a gradient of samples mentioned above, such as is seen in a single infant short time series or in the 88 soils example then I would not proceed. The study design itself should also be a helpful screen, if you have 50 samples from armpits and 50 from fecal material, sequenced and processed in a conventional way (i.e., no commands applied outside of well-tested pipelines), it would be safer to assume the data is low-rank based on prior literature.

Hi @pschloss,
Addressing this issue. The function auto-rpca has now been depreciated. There is no way I know of (or could find) to determine the underlying low-rank structure explicitly ahead of time in this type of data. Moreover, the underlying full-rank data seen here (which is causing your memory issues) is not something I have encountered in real data, I checked 100s of datasets (all data in Qiita) and ran large ones (e.g., EMP/AGP) in a matter of minutes with low memory (my laptop). Since this does not seem to be a common issue and there is no obvious way to issue a warning / value error, I am closing this issue. Feel free to open it if you have other ideas.
To help with future issues along these lines I added a cross-validation method among other QC methods, you can find them in the README in the version released today.
Thanks again,
Cameron


Update first-network to explicity mount docker unit socket

Explicitly mount docker.sock on the old first network sample. The sample is deprecated. However, this update will allow the sample to run on MacOS and allow me and others to run migration tests.
'
Signed-off-by: Nikhil Gupta<EMAIL_ADDRESS>

So the problem here is with the wrong version of Java been pulled in... will get a separate PR to fix this..

PR that needs to go in first.. https://github.com/hyperledger/fabric-samples/pull/483


Feature/258 Configured directories that dont exist

Description:
This feature allows to run TCR even if some of the configured source and/or test directories cannot be reached on the filesystem.
Additional changes and improvements:

Displays at startup a warning per unreachable directory
Displays at startup the number of matching source and test files found, or a warning otherwise
Displays a warning instead of an error per unreachable directory when running tcr check

Fixes #258
Type of change
Please tick the appropriate option using [x]

[ ] Bug fix
[x] New feature

Checklist:
Please tick the appropriate options using [x]

[x] My PR includes tests that cover my code changes.
[x] Lint and formatter run with no errors
[x] All new and old tests are passing

Looks ok to me


How to implement 'skip 10 seconds' in complete example? Right now it displays a toast message

Well, your question is quite extensive without any code we could just work on. If I had some time I could program you a full solution with a youtube like effect with double taps and so on. But instead, let me provide you some hints how you can approach your problem yourself:

You are right with your custom actions, this is required if you want to provide a "skip 10 seconds" button on the panel. If you cannot trigger a button click event with your provided code just let me know
Next you have to get the current time, if you like the duration of your video too (for handling the end of video when skipped event) whenever the user clicks on "skip 10secs". This can be achieved with the YouTubePlayerListener. For how you can integrate such a listener see my comment in #619.
Use the YouTubePlayer.seekTo(seconds) method to move your video to the calculated seconds (just currentSeconds + 10). Notice: the seekTo() method works only for already playing videos (might be a bug).

Let us know if that was helpful.

I have added the Listener but i just couldn't understand how to implement it. This is my file where i have written the code VideoActivity.java

Well, the listener has a couple of functions you have to override and can use to get the duration. Just add on line 81 the listener you added to the youTubePlayer starting at line 131 . In the function on line 163 called onVideoDuration() you get the video duration in seconds as a parameter. There you can just set your variable for example that holds the video duration.

Thanks for the response, I have followed the steps but turns out i don't know how to initialize Youtube player object as i can't understand the difference between YoutubePlayerView and YoutubePlayer. Kindly refer to the file i mentioned in my previous comment u will see that i haven't initialized it.

I have created a local variable but it needs to be initialized

YouTubePlayerView is just the View object, this that gets inflated with a layout inflater from the layout. It is same as a Button, a TextView and so on. So you initialize it indirectly by using setContentView() and fetching an instance with findViewById().
You can assume that the YouTubePlayer is just your data model (not very sure about that, therefore just assume). This holds some information like duration and current seconds and provides actions like play, pause and mute. This object gets usually indirectly initialized together with your YouTubePlayerView when you provide in your XML-file a video URL.
When the YouTubePlayerView and YouTubePlayer are completely initialized, you can get an instance of the YouTubePlayer from the YouTubePlayerView with a listener called YouTubePlayerListener, which declares a onReady method which you have to implement (to say what to do when ready / completely initialized). An example implementation could look like this:
public class SimpleExampleActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_simple_example);

        YouTubePlayerView youTubePlayerView = findViewById(R.id.youtube_player_view);
        youTubePlayerView.addYouTubePlayerListener(new YouTubePlayerListener() {
            @Override
            public void onReady(YouTubePlayer youTubePlayer) {
                // TODO Do something with the YoutubePlayer instance passed as parameter
            }

            @Override
            public void onStateChange(YouTubePlayer youTubePlayer, PlayerConstants.PlayerState state) {
                // TODO Do something when the state of the youtube player changes, like paused or played
            }

            @Override
            public void onPlaybackQualityChange(YouTubePlayer youTubePlayer, PlayerConstants.PlaybackQuality playbackQuality) {
                // TODO Do something when the playback quality changes
            }

            @Override
            public void onPlaybackRateChange(YouTubePlayer youTubePlayer, PlayerConstants.PlaybackRate playbackRate) {
                // TODO and so on
            }

            @Override
            public void onError(YouTubePlayer youTubePlayer, PlayerConstants.PlayerError error) {
                // TODO and so on
            }

            @Override
            public void onCurrentSecond(YouTubePlayer youTubePlayer, float second) {
                // TODO and so on
            }

            @Override
            public void onVideoDuration(YouTubePlayer youTubePlayer, float duration) {
                // TODO Use the duration parameter that holds the actual duration of the video
            }

            @Override
            public void onVideoLoadedFraction(YouTubePlayer youTubePlayer, float loadedFraction) {
                // TODO and so on
            }

            @Override
            public void onVideoId(YouTubePlayer youTubePlayer, String videoId) {
                // TODO and so on
            }

            @Override
            public void onApiChange(YouTubePlayer youTubePlayer) {
                // TODO and so on
            }
        });
        getLifecycle().addObserver(youTubePlayerView);
    }
}

I am getting this message. This is my updated file VideoActivity.java

Yeah, that's because you have no variable declared in the class level. Are you new in java development?

Here is a way you could initialize / declare the variables based on your activity.

public class VideoActivity extends AppCompatActivity {
    private YouTubePlayerView youTubePlayerView;
    private FullScreenHelper fullScreenHelper = new FullScreenHelper(this);
    private float currentSeconds;
    private float duration;
    private YouTubePlayer youTubePlayer;
    String videoid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video);
        Intent intent1 = getIntent();
        videoid = intent1.getStringExtra("videoId");
        youTubePlayerView = findViewById(R.id.youtube_player_view);

        initYouTubePlayerView();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfiguration) {
        super.onConfigurationChanged(newConfiguration);
        youTubePlayerView.getPlayerUiController().getMenu().dismiss();
    }

    @Override
    public void onBackPressed() {
        if (youTubePlayerView.isFullScreen())
            youTubePlayerView.exitFullScreen();
        else
            super.onBackPressed();
    }

    private void initYouTubePlayerView() {
        getLifecycle().addObserver(youTubePlayerView);

        youTubePlayerView.addYouTubePlayerListener(new YouTubePlayerListener() {

            @Override
            public void onReady(@NonNull YouTubePlayer player) {
                youTubePlayer = player;

                addFullScreenListenerToPlayer();
            }

            @Override
            public void onApiChange(YouTubePlayer youTubePlayer) {

            }

            @Override
            public void onVideoId(YouTubePlayer youTubePlayer, String videoId) {

            }

            @Override
            public void onVideoLoadedFraction(YouTubePlayer youTubePlayer, float loadedFraction) {

            }

            @Override
            public void onVideoDuration(YouTubePlayer youTubePlayer, float d) {
                duration = d;
            }

            @Override
            public void onCurrentSecond(YouTubePlayer youTubePlayer, float second) {
                currentSeconds = second;
            }

            @Override
            public void onError(YouTubePlayer youTubePlayer, PlayerConstants.PlayerError error) {

            }

            @Override
            public void onPlaybackRateChange(YouTubePlayer youTubePlayer, PlayerConstants.PlaybackRate playbackRate) {

            }

            @Override
            public void onPlaybackQualityChange(YouTubePlayer youTubePlayer, PlayerConstants.PlaybackQuality playbackQuality) {

            }

            @Override
            public void onStateChange(YouTubePlayer youTubePlayer, PlayerConstants.PlayerState state) {

            }
        });
    }

    private void addFullScreenListenerToPlayer() {
        youTubePlayerView.addFullScreenListener(new YouTubePlayerFullScreenListener() {
            @Override
            public void onYouTubePlayerEnterFullScreen() {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                fullScreenHelper.enterFullScreen();

                addCustomActionsToPlayer();
            }

            @Override
            public void onYouTubePlayerExitFullScreen() {
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                fullScreenHelper.exitFullScreen();

                removeCustomActionsFromPlayer();
            }
        });
    }

    private void addCustomActionsToPlayer() {
        Drawable customAction1Icon = ContextCompat.getDrawable(this, R.drawable.ic_fast_rewind_white_24dp);
        Drawable customAction2Icon = ContextCompat.getDrawable(this, R.drawable.ic_fast_forward_white_24dp);
        assert customAction1Icon != null;
        assert customAction2Icon != null;

        youTubePlayerView.getPlayerUiController().setCustomAction1(customAction1Icon, view ->
                Toast.makeText(this, " ", Toast.LENGTH_SHORT).show());

        youTubePlayerView.getPlayerUiController().setCustomAction2(customAction2Icon, view ->
                youTubePlayer.seekTo(currentSeconds + 10)

        );
    }

    private void removeCustomActionsFromPlayer() {
        youTubePlayerView.getPlayerUiController().showCustomAction1(false);
        youTubePlayerView.getPlayerUiController().showCustomAction2(false);
    }
}

I initialized the YoutubePlayer variable earlier as u said but i was getting this error while i clicked on the custom action button. That's why i removed the declaration at class level

@malliaridis answered the question in great details, I am going to close this issue. Feel free to continue the discussion if you want.

I really appreciate the effort, probably the answer to my last comment will solve my issue. Regards

@raghavagg01 it seems like you haven't completely / correctly initialized your video at this moment. Your action is only executable if your object is not null, and that is only the case if you provided a video id and cued / loaded the video (this can happen directly or indirectly).
Since I haven't a whole / detailed overview of your project, if you like, you can give me access to a project with that problem and when I find some time I can make a commit where I fix this minor issue. But the solution is for sure not far away. :)

I really appreciate it @malliaridis , this is my  github repo
This is the file VideoActivity.java
Kindly let me know if u need any other information,

Turns out i got the mistake, it's working properly now. Thanks a lot @malliaridis for answers and @PierfrancescoSoffritti for such an amazing Github library :)

Ah ok.  Happy to hear that it's working now. :)

Code looks more readable now, if u can create a pull request i will merge it :)


No option to reset API/Email credentials ?

Once you enter your Global API Key and email to log into your account via the Wordpress plugin, there is no option to reset those credentials in the Wordpress plugin itself ??? How are you meant to reset it and try different credentials i.e. API Tokens ?
Only way I have been able to is by editing wp option database settings via wp-cli command line to empty out cloudflare_api_key  and cloudflare_api_email  option values
i.e.
vhostname=yourdomain.com
wppath="/home/nginx/domains/${vhostname}/public"
wp option update cloudflare_api_key "" --allow-root --path=$wppath
wp option update cloudflare_api_email "" --allow-root --path=$wppath
wp option list --allow-root --path=$wppath | grep cloudflare

@centminmod see https://github.com/cloudflare/Cloudflare-WordPress/issues/244


Save workflow - Improve user experience for naming new workflow file

Use Case
On my first time using the "Save workflow" button to save a workflow, I specified the workflow file name as "sec61_workflow" (I didn't input "sec61_workflow.json" because I thought .json was already specified in the box below), and I got this error upon saving: "ValueError: Workflow configuration file save path must have a .json extension."
Solution
The above error message makes sense to me as a developer but for general users we should have an actual error message pop up (instead of a console error that makes it look like they broke something). OR we just attach a .json extension to the end of the file name specified if they didn't specify anything.

As discussed, we want to:

Put in .json filename placeholder
Attach .json to the filename if no extension provided or another extension


Why restrict the method to only rooms?

Hi,
Thanks for sharing this great work.
From the method description, it seems like the method should be generalisable to arbitrary 3D scenes e.g. cities or landscapes. Why did you choose to restrict to indoor room environments? Did you try for arbitrary scenes? What problems did you face?

Hi,
thanks for your interest in our work.
In general, generating cities/landscapes from text is certainly an interesting direction for future work.
I agree, a similar idea could be applied for those types of scenes, however there are some things that are different:

Our depth-inpainting model is trained on indoor scenes, so generalization to outdoor environments will most likely be difficult for the model. We could replace it with an alternative depth model, that still supports the depth inpainting feature.

We focus on creating closed rooms with walls, ceiling, floor. Outdoor scenes will typically not have these features, so it will require a different pose sampling / completion strategy. We could replace our trajectory.json files with tailored pose sampling schemes for outdoor scenes, though.

Creating outdoor scenes might require a different representation altogether. In general depth discontinuities are way higher (e.g. think about the difference in depth between the sky and a building). So a mesh representation seems no longer sufficient in those cases. Pairing it with an environment map could be an interesting idea.


Implement remaining functionality in XR_FB_passthrough extension wrapper

This PR adds all of the remaining passthrough functionality that we're currently missing for the XR_FB_passthrough extension. Quick video showing some of the features:
https://github.com/GodotVR/godot_openxr_vendors/assets/95497005/0649d152-5e1e-45c9-9111-202ffee8883c
Geometry Passthrough
I've added a new OpenXRFbPassthroughGeometry node, when visible, these nodes will register themselves with OpenXRFbPassthroughExtensionWrapper and begin geometry passthrough. If the blend_mode of XRInterface is set to XR_ENV_BLEND_MODE_ALPHA_BLEND, then "full passthrough" should always take place instead. These nodes can be moved and scaled, and their passthrough geometry will update accordingly.
Passthrough Style
Some functions have been added to OpenXRFbPassthroughExtensionWrapper to update passthrough styles. Note that edge color is available in all styles, while the other three are mutually exclusive and will automatically enable when set.

Edge Color: Pass a Color into the set_edge_color() function
Color Map: Pass a GradientTexture1D into the set_color_map() function
Mono Map: Pass a Curve into the set_mono_map() function
Brightness/Contrast/Saturation: Pass three corresponding floats into the set_brightness_contrast_saturation() function.

Passthrough Capabilities
OpenXRFbPassthroughExtensionWrapper also now has some functions that can be called to check the capabilities of the headset.
I've also added a signal that should fire if there are any XrEventDataPassthroughStateChangedFB events passed through, though I'm unsure at the moment if there's a way to test these.

Rebased!


[Extensibility Request] Page 360 "Document Sending Profile" - Use ElectronicFormat

We would like to extend the Document Sending Profile but we want to use the code for setting the LastFormat.
On Page 360 "Document Sending Profile", can we have the procedures public and the LastFormat variable protected.
Variable to set protected:
protected var
        LastFormat: Code[20];

Procedures to make public:
procedure LookupElectronicFormat(var ElectronicFormat: Code[20])

procedure GetFormat(): Code[20]

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


FE Integration and unit tests

This pull request adds frontend unit tests written in Jasmine and frontend integration tests written in casperjs
Also features some modifications to frontend files, with little change to functionality (regarding cms-toolbar-expanded class)
also updates node_packages

Is this for 3.3 or 3.4?

this was supposed to be for 3.4, but there is no reason not to have tests earlier @yakky

@vxsx I am not at all against merging this in 3.3! :) I was just confused because included docs states this for 3.4

Coverage decreased (-20.3%) to 68.384% when pulling 893dd492ab9f74e61fcfc8bb545d47b6769c4b61 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

ouch, the coverage :D

Coverage decreased (-20.3%) to 68.384% when pulling 5f6d1d4065762ae7ed57e19a2c60c4586277b586 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Coverage decreased (-2.9%) to 85.849% when pulling ce3a3f8b7d1b7d44c5d20286d5324bf128a5dd83 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Coverage decreased (-2.9%) to 85.849% when pulling bdd507cd729888bf897881b8140b146c649d1288 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Coverage decreased (-2.9%) to 85.849% when pulling fcaa2cc04fefdde9f4949edb9500ad72a57addf2 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Coverage decreased (-20.2%) to 68.534% when pulling c7fa828d3ea86fc8404dde24cc1c08bea21b7310 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Coverage increased (+0.008%) to 88.724% when pulling d82b233b79b5733f62cafdb556831e8de28f64c0 on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

Need to adapt changelog
Missing documentation on the integration tests
We eventually also need to mention what "skip istanbul" means

Coverage increased (+0.008%) to 88.724% when pulling ec54d7991e10dcd15c31da18ae236d7055b1dc6b on FinalAngel:develop-3.4 into 6476ad49cc30d579bf35c48a7e3fb64c6967006c on divio:develop.

nice LGTM ready to merge

@FinalAngel @vxsx
I'm surprised how this enormous amount of tests actually lowers the coverage. Does the new coverage includes all the frontend code? Just curious, LGTM too

@yakky that's exactly the case, it includes the js files, and they are not covered fully
here's a screenshot of coverage from my local machine (i'm have some wip tests)

but currently it's lower on what's pushed (e.g. navigation is 22% vs 100%)

@vxsx it's awesome!! :smile:  Is this ready for merge?

this one is, yes :) more will follow

@vxsx good, merging, then


Add secp256k1 as coa private key alg option

Closes: #???
Description
Adds ECDSA_secp256k1 as an option for the COA Private key

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the standards mentioned here.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

@sideninja any reason to not allow this key type? i couldn't think of any but let me know if i missed something


Add Greeting for New Players

Add a Greeting for New Players
the greeting would

explain how /nick works
explain /color
list basic rules
reference the slack
link the GitHub

Example
Greetings!
Welcome to the HackClub minecraft server
You can use /nick to set your nick name and /color to set your chat and name colors
Rules:
Be nice, No greifing etc....
if you want to contribute to plugin development head on over to the GitHub

This sounds like a great idea. Maybe send all of this on the first time they join, and then add a /tutorial command so players can refer to it after.

I'm working on this.

@jasonappah Awesome! I'll DM you the extended setup of the dev environment.


Add VIM support to base

Fixed in bfa24de0e0bb498d94c43f1f4448645bc0ff8ef8

:)
On Wed, Sep 16, 2015 at 10:36 AM, Chin Godawita<EMAIL_ADDRESS>wrote:

Fixed in bfa24de
https://github.com/chinthakagodawita/docker-containers/commit/bfa24de0e0bb498d94c43f1f4448645bc0ff8ef8
—
Reply to this email directly or view it on GitHub
https://github.com/chinthakagodawita/docker-containers/issues/16#issuecomment-140587856
.

--
Jonathan Rhodes | Senior Drupal Developer
--
39 - 41 Lower Fort Street, The Rocks, Sydney. 2000
https://www.facebook.com/pages/Sitback/159057074134649
https://twitter.com/Sitback
http://www.linkedin.com/company/1482531?trk=tyah&trkInfo=tarId%3A1413439096225%2Ctas%3ASitback%2Cidx%3A2-1-4
http://www.sitback.com.au

Published in build 115.


Make stable releases available under an IPXE compatible URL

RancherOS is the perfect candidate for deployment via IPXE.
But since IPXE doesn't work with Github hosted files (in fact it neither supports HTTPS nor 301 redirects), it would be nice if the stable release files were to be made available under a static HTTP URL (like is the case for CoreOS).
Here is my (perfectly working) RancherOS IPXE boot script:
#!ipxe
# Boot a persistent RangerOS to RAM

# Location of Kernel/Initrd images
set base-url http://privateserver

kernel ${base-url}/vmlinuz rancher.state.autoformat=[/dev/vda] rancher.cloud_init.datasources=[ec2]
initrd ${base-url}/initrd
boot

For sure!   I didn't realize iPXE couldn't pull from HTTPS or redirects.  We are just about to release v0.3.1.  We will do this then.

FYI @imikushin @cloudnautique

@ibuildthecloud :100: awesome

@ibuildthecloud any progress on this? I would like to make RancherOS the default OS in docker machine's Vultr driver before the initial patch gets merged. https://github.com/docker/machine/pull/958

@janeczku can you test these URLs:
http://storage.googleapis.com/ros-images/v0.3.1/vmlinuz
http://storage.googleapis.com/ros-images/v0.3.1/initrd

Thanks @imikushin. These URLs are working of course. For iPXE deployment in general (and even more so for hard-coding the URL in docker-machine) we would want a static, non-versioned URL that points to the latest stable release.
Something like so: http://storage.googleapis.com/ros-images/stable-releases/current/initrd

Hey @janeczku, check these out:
http://releases.rancher.com/os/latest/vmlinuz
http://releases.rancher.com/os/latest/initrd

@imikushin those look great! :)

I updated the readme: #354

@janeczku Looks like we have the URL working.

ipxe can pull from https, if https support is enabled - just tried to boot rancher os with ipxe and https and it worked, except I got a kernel panic (hello from 2020)


The image used on 404 page is large that the user has to scroll down to view the complete image. Is this required to be large image, if yes. Why?

http://allready-d.azurewebsites.net/Error/Error404
We went off the rails and couldn’t find your page!
Don’t worry. We’ll get back on track.
Tested on the chrome book at the TestLab.

As a suggestion, how about considering resizing the image so it fits within the visible area. Perhaps something along the lines of the solution from http://stackoverflow.com/questions/12991351/css-force-image-resize-and-keep-aspect-ratio would help. Also the image is quite large, over 600KB I think, perhaps it'd be worth finding ways to make it smaller so it consumes less bandwidth and time to transmit.

I am working on it

Hello @fasia I wanted to check in after the event and see if there was a pull request to update this - knowing GitHub was down during the hackathon.  Thanks!

Hi,
Nice to hear from you! I could not fix the error that i was getting in my
mac, so I could not resolve the issue. You can delete my comment there.
I would like to know if you found what was the cause of the problem.
Best,
Faezeh
On Thu, Nov 3, 2016 at 1:08 PM, Tony Surma<EMAIL_ADDRESS>wrote:

Hello @fasia https://github.com/fasia I wanted to check in after the
event and see if there was a pull request to update this - knowing GitHub
was down during the hackathon. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HTBox/allReady/issues/1360#issuecomment-258115042,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQBN1Fs5KVTH4Ash1JXkNlfcZSF1idfXks5q6cCbgaJpZM4KQYRj
.

I would be glad to jump in & try helping out with HTBox on this issue or help someone else solve it. Is there any reason this image couldn't be a jpg? That could help the file size be less than half of what it currently is.
Also we could use media queries to download different images to also help reduce the size of the image. I'm not sure if that's making this to complex or not.

thanks @fasia I am hoping to have the mac build/compile issue figured out soon. Thanks again for your help in hunting that at Grace Hopper

@mattferderer thanks for jumping in.  there are two issues size on screen and on disk.  Open to format change etc. that solves the latter and resizing to fix the former.
media queries etc. are great but may be overkill for this one as there is no reason for a giant image here (but if you want to add them its not a bad idea and we can reference as example for media queries else where when/if they are needed.)


Idea: a setting to do nothing / dry-run

I have been playing with config options and I cannot find a combination that actually does nothing.
For example, when beautifying a partial html template (Vue or Angular component) using the "unformatted" option to ignore custom components (v-flex, v-layout, etc) they get formatted (or at least indented) anyway, and it seems the tokenizer doesn't fully understand its structure, no the output isn't nested the way it should be.
I was wondering if there could be a setting to actually tell the script to ignore all tags, or perform no analysis whatsoever.
Just my 2 cents

@amenadiel  Could you describe the behavior you'd like to see in a different way than that above?  I'm not sure I understand what you're looking for.

Ok. Let's say I have a folder with N projects, and I run an automated task to navigate inside each one and perform beautifying of js, html and css files.
Each project has its own .jsbeautifyrc file and there are slight difference between each other.
Now, if I have a project where I do not want to beautifying for HTML files, I have no way of disabling the process for that file type on that project.
The only way I can deal with this right now is to manually enter blacklisted folders in the automated task. It would be ideal if I could set a flag in each project . jsbeautifyrc to tell the library to don't touch a given file type.

Ah, you'd like to have a setting in .jsbeautifyrc called "ignore" or "dry_run" setting that you could put under the file type.
{
  "html": {
    "ignore": true
  }
}

That's it, exactly.

@amenadiel This functionality currently exists in the Javascript beautifier for testing purposes as test_output_raw.  It is not implemented for the CSS or HTML beautifier.  They do not use the same input parsing and output handling routines.

@bitwiseman regarding "skip_file_extensions" yes, that would be a pretty decent solution :+1:

Implemented as disabled option.


Fixed XSS

Explanation About What Code Achieves:

Bountry URL : https://www.huntr.dev/bounties/2-npm-frappe-charts
frappe-charts is vulnerable to Cross-Site Scripting (XSS) due improper data validation
I have made a fix in axis chart to validate for template injections and xss.

Screenshots/GIFs:

Exploit

Fix

Steps To Test:

Open the following codesandbox https://codesandbox.io/s/frappe-charts-demo-forked-40w0f?file=/src/index.js
Use the payload "" and place it in values: [25, ""
XSS payload will get executed.

There's a line in axis-chart-utils that does check if the value in the dataset is actually a number or not. The fix can be implemented there instead of looping again
vals = vals.map(val => (!isNaN(val) ? val : 0));

Got It

but changing this vals does not reflect in the actual dataset that's the problem of this entirely. That the only reason why I created a separate loop for updating the actual dataset;

Patching the loop will be a better option

Thanks @Aravindha1234u for the fix!

@JamieSlome can we track this fix bounty on behalf of 418sec/charts#2?

@adam-nygate - the disclosure bounty and fix bounty have both been rewarded here.
Great work all! 🍰


Fix sql function error with sources

Related to https://github.com/CartoDB/support/issues/1322
This PR fixes a bug in SQL function analysis.
The problem is that the analysis set a source attribute but the analysis reference has primary_source. It only failed when drag & dropping the source node of the analysis to create another layer. The code has been modified to use the correct key primary_source.
There is code to make the existing analyses work.
Acceptance
Please create SQL analysis before deploying so you can assert that this PR doesn't break existing analyses.

What does it mean There is code to make the existing analyses work ? :)

This function
https://github.com/CartoDB/cartodb/pull/13732/files#diff-65cb91753866426a1ecfded0286fd8a3R52
first try to get the source attribute and if it's undefined it goes for primary_source. If we go only for primary_source in the case of SQL function analysis we would break existing analyses that rely on source attribute. If there were no existing SQL function analyses we could build a more elegant solution getting source or primary_source or whatever depending on the analysis reference. But we can't 😞


[1.15.2] RS Loading improperly and crashing other mods

Issue description:
Running the Forager 1.15.2 modpack, the game fails to load and blames BonsaiTrees.
Created a post on an issue over at https://github.com/thraaawn/BonsaiTrees/issues/146 , and was directed to post it here,
Disabling the Refined Storage mods makes the game load fine with BonsaiTrees.
Version (make sure you are on the latest version before reporting):

Minecraft: 1.15.2
Forge: 31.1.1
Refined Storage: 1.8.1

Does this issue occur on a server? [no]
If a (crash)log is relevant for this issue, link it here:
Full log - RS Error on line 157

Not sure what this means.

RS works fine on my machine, if constructing the mod would fail I wouldn't be able to launch it on my computer.

Unfortunately, I no longer have the modpack files installed, so don't remember which version of the pack I was trying to run.
I assume it was 1.15.2-1 based on the date I made this, but I redownloaded the pack and it's working fine now, so must have just been something with my computer.  (I have since formatted and upgraded to Win10 from Win7)


Query variables are not validated

There seems to be a bug in schema validation of query variables.
For this schema:
input SearchFilter {
  required: String!
  optional: String
}

type SearchResults {
  match: String
}

type Query {
  search(filter: SearchFilter!): [SearchResults!]!
}

the following query correctly fails schema validation:
 query  {
   search(filter: {}) {
     match
   }
}

with the error message:
{
  "errors": [
    {
      "message": "Argument \"filter\" has invalid value {}.\nIn field \"required\": Expected \"String!\", found null.",
      "locations": [
        {
          "line": 2,
          "column": 17
        }
      ]
    }
  ]
}

but the same query using variables doesn't fail at all:
query s($filter:SearchFilter!) {
  search(filter: $filter){
    match
  }
}

variables:
{
  "filter": {}
}

Hi @wiktor256, thank you for reporting this issue!
PRs are welcome!

I found the same bug too.+1.

I'll give this one a crack 👍

Interesting, I'm having struggle to reproduce this example as I was trying to write tests to reproduce this issue - then went to a minimal server example;
package main

import (
	"context"
	"log"
	"net/http"

	"github.com/graph-gophers/graphql-go"
	"github.com/graph-gophers/graphql-go/relay"
)

type queryVarResolver struct{}
type filterArgs struct {
	Required string
	Optional *string
}
type filterSearchResults struct {
	Match *string
}

func (r *queryVarResolver) Search(ctx context.Context, args *struct{ Filter filterArgs }) []filterSearchResults {
	return []filterSearchResults{}
}

func main() {
	schema := graphql.MustParseSchema(`
        input SearchFilter {
          required: String!
          optional: String
        }

        type SearchResults {
          match: String
        }

        type Query {
          search(filter: SearchFilter!): [SearchResults!]!
        }
      `, &queryVarResolver{}, graphql.UseFieldResolvers())
	http.Handle("/query", &relay.Handler{Schema: schema})
	log.Fatal(http.ListenAndServe(":8080", nil))
}

Mod file;
module test

go 1.16

require (
	github.com/graph-gophers/graphql-go v1.2.0
	github.com/stretchr/testify v1.7.0 // indirect
)

Running this bad boy, I attempt to retry this query
query s($filter:SearchFilter!) {
  search(filter: $filter){
    match
  }
}

With variables
{
  "filter": {}
}

Which using curl looks like
curl --request POST \
  --url http://localhost:8080/query \
  --data '{"query":"query s($filter:SearchFilter!) {\n  search(filter: $filter){\n    match\n  }\n}","variables":{"filter":{}},"operationName":"s"}'

Yielding the response;
{
  "errors": [
    {
      "message": "Variable \"required\" has invalid value null.\nExpected type \"String!\", found null.",
      "locations": [
        {
          "line": 3,
          "column": 11
        }
      ]
    }
  ]
}

Which is exactly as expected.

I wonder if perhaps there is an issue in your graphQL clients @xiaocode and @wiktor256

I do think though with this evidence we can close this as an issue @pavelnikolov 👍

(and just for fun, some tests for Exec here;
type queryVarResolver struct{}
type filterArgs struct {
	Required string
	Optional *string
}
type filterSearchResults struct {
	Match *string
}

func (r *queryVarResolver) Search(ctx context.Context, args *struct{ Filter filterArgs }) []filterSearchResults {
	return []filterSearchResults{}
}

func TestQueryVariablesValidation(t *testing.T) {
	gqltesting.RunTests(t, []*gqltesting.Test{
		{
			Schema: graphql.MustParseSchema(`
        input SearchFilter {
          required: String!
          optional: String
        }

        type SearchResults {
          match: String
        }

        type Query {
          search(filter: SearchFilter!): [SearchResults!]!
        }
      `, &queryVarResolver{}, graphql.UseFieldResolvers()),
			Query: `
        query {
          search(filter: {}) {
            match
          }
        }
      `,
			ExpectedErrors: []*gqlerrors.QueryError{{
				Message: "Argument \"filter\" has invalid value {}.\nIn field \"required\": Expected \"String!\", found null.",
				Locations: []gqlerrors.Location{{Line: 3, Column: 26}},
        Rule: "ArgumentsOfCorrectType",
			}},
		},
    {
			Schema: graphql.MustParseSchema(`
        input SearchFilter {
          required: String!
          optional: String
        }

        type SearchResults {
          match: String
        }

        type Query {
          search(filter: SearchFilter!): [SearchResults!]!
        }
      `, &queryVarResolver{}, graphql.UseFieldResolvers()),
			Query: `
        query q($filter: SearchFilter!) {
          search(filter: $filter) {
            match
          }
        }
      `,
      Variables: map[string]interface{}{"filter": map[string]interface{}{}},
			ExpectedErrors: []*gqlerrors.QueryError{{
				Message: "Variable \"required\" has invalid value null.\nExpected type \"String!\", found null.",
				Locations: []gqlerrors.Location{{Line: 3, Column: 11}},
        Rule: "VariablesOfCorrectType",
			}},
    },
	})
}


isolate reload spends unreasonably large amount of time in CheckpointClasses

Sample profile below:

cc @rmacnak-google

Fixed by https://dart-review.googlesource.com/c/sdk/+/74961


Add missing check in relation inversion logic

It was adding terms that refer to non-existent realtions.
The following manifest causes an error when calling GetGraph to search for objects that a given subject has access to.
user:
  relations:
    manager: user

resource:
  relations:
    viewer: user#manager

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.04%) to 60.781%

Files with Coverage Reduction
New Missed Lines
%

graph/objects.go
2
88.81%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.04%

Covered Lines:
2816

Relevant Lines:
4633

💛  - Coveralls


Support SSL in node-to-node communication

Summary of the changes / Why this improves CrateDB
Checklist

[ ] Added an entry in CHANGES.txt for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[ ] Touched code is covered by tests
[ ] CLA is signed
[ ] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

@mkleen Could you have a first high level view over this?
Docs and HBA integration is missing, but forced SSL and dual mode SSL itself should be good so far.

Looks pretty good on a first view. Do you think it would make sense to maybe include the ssl status as part of sys.node to make it accessible ?

Looks pretty good on a first view. Do you think it would make sense to include the ssl status such as 'ssl-active' as part of sys.node to make it accessible ?

Exposing the node setting would be possible I guess, but exposing the state of each connection might be too much, as there are point-to-point connections between all the nodes, so it would blow up the output a lot.

Changed the base to a feature branch, so that this can already be reviewed and merged if it's good.


The page at '' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws:/socket.io/?EIO=3&transport=websocket'. This request has been blocked; this endpoint must be available over WSS

In Ubuntu 18.04.4 Desktop I tried to use this example: https://github.com/libp2p/js-libp2p/tree/master/examples/libp2p-in-the-browser in order to understand how to deploy js-libp2p in my webapp.
This is the vue file:
<template>

</template>

But I'm getting this error:
"Mixed Content: The page at '' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws:/socket.io/?EIO=3&transport=websocket'. This request has been blocked; this endpoint must be available over WSS."

I get the same error if I try to use the example in https://github.com/libp2p/js-libp2p-webrtc-star   :
star-signal --port=13579 --host=<IP_ADDRESS>
Listening on: http://<IP_ADDRESS>:13579

With the vue file:
<template>

</template>

Ubuntu 18.04..4 Desktop

Google Chrome: Version 83.0.4103.97 (Official Build) (64-bit)

node v14.3.0

"libp2p": "^0.28.0",
"libp2p-bootstrap": "^0.11.0",
"libp2p-noise": "^1.1.1",
"libp2p-webrtc-star": "^0.18.4",
"libp2p-websockets": "^0.13.6"

How to solve the problem?
Looking forward to your kind help.
Marco

It looks like you are using ip4/<IP_ADDRESS>/tcp/20000/wss/p2p-webrtc-star as your signaling server. This won't work, as the browser requires SSL encryption for websocket connections. You can see more details in the thread at https://discuss.libp2p.io/t/cant-connect-to-webrtc-star-with-ssl/522. You'll need to setup an SSL certificate for the server.

Hi @jacobheun ! Thank you for helping.
Following https://discuss.libp2p.io/t/cant-connect-to-webrtc-star-with-ssl/522
I added to the nginx configuration the following part:
upstream websocket {
    ip_hash;
    server localhost:13579;
}

server {
    listen 81;
    server_name ggc.world;

    ssl_certificate /etc/letsencrypt/live/ggc.world-0002/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/ggc.world-0002/privkey.pem; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/ggc.world/chain.pem;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location /p2p {
        proxy_pass http://websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade "Websocket";
        proxy_set_header Connection "Upgrade";
        proxy_set_header X-Forwared-For $remote_addr;
        proxy_set_header Host $host;

        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

I spawned a signaling server at localhost:13579  :
(base) marco@pc01:~$ star-signal --port=13579 --host=<IP_ADDRESS>
Listening on: http://<IP_ADDRESS>:13579

But I get the same error message:
"Mixed Content: The page at 'https://ggc.world/signup' was loaded over HTTPS, but attempted to
connect to the insecure WebSocket endpoint 'ws://<IP_ADDRESS>:9090/socket.io/?EIO=3&
transport=websocket'. This request has been blocked; this endpoint must be available over WSS.
"
So... or what I added in nginx configuration is not correct, or I'm missing something else.
Here https://discuss.libp2p.io/t/cant-connect-to-webrtc-star-with-ssl/522/3 I read that I have to replace ws:// with wss:// . But where exactly should I do that?
And what am I doing wrong?

ws://<IP_ADDRESS>:9090/socket.io/?EIO=3&transport=websocket

You need to change the listen address of your libp2p node to match your webrtc server address, or get rid of it and connect manually.
this.libp2p = await Libp2p.create({
  addresses: {
    listen: ['/ip4/<IP_ADDRESS>/tcp/9090/wss/p2p-webrtc-star']. // Change this address, it's trying to connect to a local node
  },
...

@jacobheun Where do I get the precise webrtc server address?
With this nginx configuration, which strictly follows these indications: https://discuss.libp2p.io/t/cant-connect-to-webrtc-star-with-ssl/522/4?u=marcoi
upstream websocket {
    server ggc.world:13579;
}

server {
    listen 8443 ssl;
    server_name ggc.world;

    ssl_certificate /etc/letsencrypt/live/ggc.world-0002/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/ggc.world-0002/privkey.pem; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/ggc.world/chain.pem;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location /p2p {
        proxy_pass http://websocket;
        proxy_http_version 1.1;
        proxy_set_header Upgrade "Websocket";
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host ggc.world;
    }
}

And with this vue file:
<template>

</template>

(base) marco@pc01:~$ star-signal --port=13579 --host=<IP_ADDRESS>
Listening on: http://<IP_ADDRESS>:13579

npm run serve
  App running at:
  - Local:   http://localhost:8080
  - Network: http://ggc.world/

I get this error: "Error: no protocol with name: <IP_ADDRESS>:13579"
So.. I guess this is wrong: listen: ['/<IP_ADDRESS>:13579/wss/p2p-webrtc-star']

'/<IP_ADDRESS>:13579/wss/p2p-webrtc-star'

This is not a valid multiaddr. If you go to the address the signaling server is running on it should load a webpage with the address you need to connect to, something like this:

Which for you should look like /ip4/<IP_ADDRESS>/tcp/13579/wss/p2p-webrtc-star. Assuming you have the signaling server deployed at https://gcc.world, the address should be /dns4/gcc.world/tcp/443/wss/p2p-webrtc-star/.

Now,
with this address:
 this.libp2p = await Libp2p.create({
    addresses: {
      // Add the signaling server address,
      // along with our PeerId to our multiaddrs list
      // libp2p will automatically attempt to dial to the signaling server so that it can
      // receive inbound connections from other peers
      listen: ['/dns4/gcc.world/tcp/8443/wss/p2p-webrtc-star/']
    },

I get this new error:

"If you go to the address the signaling server is running on it should load a webpage with the address you need to connect to" :
I do not know where to look at in order to the address the signaling server is running on.
To run the signaling server I just do this:
(base) marco@pc01:~$ star-signal --port=13579 --host=<IP_ADDRESS>

Listening on: http://<IP_ADDRESS>:13579

Are you running the server locally or on a server?
gcc.world doesn't resolve to anything so you aren't going to be able to connect to that address.
$ nslookup gcc.world
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

** server can't find gcc.world: NXDOMAIN

I'm developing locally using a local PC as server ( https://www.ssllabs.com/ssltest/analyze.html?d=ggc.world ).
In future I will deploy everything in the cloud. But now I'm running the server locally.
Developing locally, as I'm doing now, ggc.world in the signaling-server's address won't work.
(base) marco@pc01:~$ nslookup ggc.world
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	ggc.world
Address: <IP_ADDRESS>

I read here: https://github.com/libp2p/js-libp2p-webrtc-star#hosted-rendezvous-server
"A libp2p-webrtc-star address, using the signalling server we provide, looks like:
/dns4/star-signal.cloud.ipfs.team/wss/p2p-webrtc-star/p2p/ "
So I tried with
listen: ['/dns4/<IP_ADDRESS>/wss/p2p-webrtc-star/p2p/']
"Error: Error parsing address: invalid address: /dns4/<IP_ADDRESS>/wss/p2p-webrtc-star/p2p"

and with
listen: ['/dns4/<IP_ADDRESS>/wss/p2p-webrtc-star/p2p/']
"Error: Error parsing address: invalid address: /dns4/<IP_ADDRESS>/wss/p2p-webrtc-star/p2p"

closing as webrtc-star has been deprecated and is no longer supported


enhance console warning multiple packages in shared scope

This PR is intended to enhance the console warning of the packages loaded multiple times into shared scope. Now the warning is cleaner, and easy to spot, and also includes a command for insights-interact-tool that will make aligning the versions easier. Due to a problem with not being able to access all package versions as keys of shared scope, this feature will be 'opt in' for micro-apps. They need to enable this by explicitly importing the module getSharedScope in dev environment.

This feature is moved to chroming app. Closing this PR for the sake of newly created one in chrome

I think the message is useful. Again just no specific RH product wording :)
We will be doing an overall review of scalprum soo ish. We can keep the commit for now.


[SYSTEMML-1276] Resolve jersey class with Spark2 for YARN-5271

This patch disables ATS via set("yarn.timeline-service.enabled", "false") in Yarn/Hadoop configurations for SystemML in spark mode only.  In this way, a user doesn't have to manually change cluster configuration.

All tests passed at OnDemand Build 260.

Examples of exception stack traces for ConfigurationManager and YarnClusterAnalyzer that this patch resolves are included in the JIRA.  I included DMLYarnClient and DMLAppMaster since they also create YarnConfiguration.

Note tried including the jersey 1.9 jars with spark.  Although that resolved the class not found issues, it caused problem with spark's history server.  Modifying spark's yarn Client.scala class to disable ATS in its YarnConfiguration did not resolve the issue for SystemML.  During performance testing it was worked-around by changing YARN config but that applies to whole cluster.

All tests passed in PR build 1123.

cc @dusenberrymw @mboehm7 @deroneriksson

@gweidner this is great - could you please also modify the setup of our JavaSparkContext in SparkExecutionContext (via _spctx.hadoopConfiguration()) - I just ran into an issue where is was failing on context init.

just to correct myself: we can't set it through _spctx.hadoopConfiguration() as the creation of the SparkContext already fails; furthermore, there is no way to pass an existing Configuration into the creation of this SparkContext. So, non-conclusive yet.

Thank you @mboehm7 and @dusenberrymw for reviewing and providing feedback - much appreciated.

@mboehm7 Please provide detailed recreation scenario of this failure so @gweidner can investigate.
We need to understand consequences due to this fix before getting in this PR.

Further testing with different Spark and SystemML patch levels revealed that changes to spark yarn client were also required to prevent java.lang.ClassNotFoundException: com.sun.jersey.api.client.config.ClientConfig.  Without spark code patch, the job failed early during JavaSparkContext initialization which is consistent with Matthias' findings:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig         at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:55)         at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.createTimelineClient(YarnClientImpl.java:181)         at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:168)         at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)         at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:151)         at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:56)         at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:156)         at org.apache.spark.SparkContext.<init>(SparkContext.scala:509)         at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext.initSparkContext(SparkExecutionContext.java:214)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext.getSparkContextStatic(SparkExecutionContext.java:137)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext$SparkClusterConfig.analyzeSparkParallelismConfiguation(SparkExecutionContext.java:1575)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext$SparkClusterConfig.analyzeSparkConfiguation(SparkExecutionContext.java:1558)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext$SparkClusterConfig.<init>(SparkExecutionContext.java:1484)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext.getSparkClusterConfig(SparkExecutionContext.java:1368)         at org.apache.sysml.runtime.controlprogram.context.SparkExecutionContext.getBroadcastMemoryBudget(SparkExecutionContext.java:1378)         at org.apache.sysml.hops.AggBinaryOp.optFindMMultMethodSpark(AggBinaryOp.java:1666)         at org.apache.sysml.hops.AggBinaryOp.constructLops(AggBinaryOp.java:195)         at org.apache.sysml.hops.DataOp.constructLops(DataOp.java:252)
With spark patch but without the changes proposed in this PR, the JavaSparkContext initialized successfully but job failed later during application processing:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jersey/api/client/config/ClientConfig         at org.apache.hadoop.yarn.client.api.TimelineClient.createTimelineClient(TimelineClient.java:55)         at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.createTimelineClient(YarnClientImpl.java:182)         at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:169)         at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)         at org.apache.hadoop.mapred.ResourceMgrDelegate.serviceInit(ResourceMgrDelegate.java:103)         at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)         at org.apache.hadoop.mapred.ResourceMgrDelegate.<init>(ResourceMgrDelegate.java:97)         at org.apache.hadoop.mapred.YARNRunner.<init>(YARNRunner.java:122)         at org.apache.hadoop.mapred.YarnClientProtocolProvider.create(YarnClientProtocolProvider.java:34)         at org.apache.hadoop.mapreduce.Cluster.initialize(Cluster.java:95)         at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:82)         at org.apache.hadoop.mapreduce.Cluster.<init>(Cluster.java:75)         at org.apache.hadoop.mapred.JobClient.init(JobClient.java:475)         at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:454)         at org.apache.sysml.runtime.controlprogram.parfor.stat.InfrastructureAnalyzer.analyzeHadoopCluster(InfrastructureAnalyzer.java:405)
Unless there are any strong objections, I plan to close this PR without merging after 1 day.

Apparently, this is also showing up when running on Spark Standalone clusters (i.e. not Yarn).

A better fix has been provided in this commit:
https://github.com/apache/incubator-systemml/commit/28fe4fe8ff28cb093ed345cd22e6280db6654888
Thank you Matthias.


Add Base image for node 16.13.0

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


Plug libSBMLSim in and test it as running engine

= Description =

Install libSBMLSim and use it as an running engine for the SBML model.

= Context =

The !BioPreDyn software suite has to include a simulation engine for SBML models.

= Success criteria =

SED-ML files encoding pipelines for SBML models can be executed using libSBMLSim.

= Expected issues =

Installation issues (on Windows particularly).

Imported from trac issue 8.  Created by bmoreau on 2013-08-28T16:58:40, last modified: 2013-10-15T14:37:01