[Question] How to setup wss with domain name

Hello again, hope you had a good day.
Trying to use my WSTunnel (TLS enabled) which is encapsuling my openconnect/openvpn connection by using domain name.
I did register my domain in Cloudflare CDN and right now I am trying to connect over reverse proxy/CDN.
The point is to be completely anonymous for ISP and network watcher/censorship.

VPN server agent is listening on :

<IP_ADDRESS>:333

Server Side

./wstunnel --tlsCertificate=certificate.crt --tlsKey=private.key --server wss://<IP_ADDRESS>:443
p.s: Port 443 https and http and websocket traffic is allowed on CDN and firewall rules are allowed on remote host.

Client Side (windows)

wstunnel --localToRemote=<IP_ADDRESS>:2020:mydomain.name:333 wss://mydomain.name:443 --verbose
and I get this debug info:

with this code :
wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:333 wss://mydomain.name:443 --verbose
or this one
wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:333 wss://mydomain.name:443 --verbose
I get this debug info:

Thank you in advance for your help.

[ ] How can I solve this issue?
[ ] Do I have to use NGINX reverse proxy? does WSTunnel support nginx reverse proxy?

Hello,
This one is more likely to work
wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:333 wss://mydomain.name:443 --verbose
do not re-use the domain name you proxify with cloudflare into LocalToRemote, or you are going to create a loop.
Regarding your issue, the 404 you see is Cloudflare not managing to contact your server.
As you are starting wstunnel with tls enabled be sure, that you set tls in full mode, because else cloudflare is going to proxy your requests in http and not found wstunnel listening on https port

Hi,

So in this case indeed I was using flexible mode on CDN and according to my drawing, TLS data is being sent to CDN but because I am using "Flexible mode" data gets decrypted in cloud and HTTP data is being pushed toward my server which gets dropped because the server is actually listening on HTTPS WS data not HTTP.
I will try your instructions and report the results.

indeed,
but in your diagram it should be
sending http-> server:80 and not sending http-> server:443 when you are in flex mode.

By the way, when your setup is done if you happen to write an article/blog post/page about your setup.
Let me know, i would be pleased to link to it in the readme.

I did used the instructions you mentioned and I was able to bypass firewall with the most strict rules.
Server Side
./wstunnel --tlsCertificate=certificate.crt --tlsKey=private.key --server wss://<IP_ADDRESS>:443
Client Side
./wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:333 wss://mydonam.name:443 --verbose
It is working with SSL/TLS FULL mode "Encrypts end-to-end, using a self signed certificate on the server"  on cloudflare settings. It means data encryption is applied only with my key/cert file located in my remote host.

As you mentioned above if I was to use FLEXIBLE mode "Encrypts traffic between the browser and Cloudflare" I should use:
Server Side:
./wstunnel --server ws://<IP_ADDRESS>:443
Client Side
./wstunnel --localToRemote=<IP_ADDRESS>:2020:<IP_ADDRESS>:333 wss://mydonam.name:443 --verbose
which is not recommended because we want end to end encryption even when data is being transfered from reverse proxy/CDN (Cloudflare) to remote host.

I can not thank you enough for help and time you spent on this issue at hand. :-D

There is one more thing to make it a 24/7 and make WSTunnel be persistence and there is no need for me to ssh into remote host and run WSTunnel again in case whenever the process is killed or host gets rebooted.

[ ] What is the best solution in this case?

When the setup is done completely I will make a post and refer wstunnel project with complete instruction on this "VPN over WSTunnel" concept.
I would be more than glad to be in this project.

 So no need to add yet another layer and adding TLS on top of it. Openvpn by itself is secure, the target is just the minimum overhead to punch a hole in the firewall.
Just to note also that Encrypts end-to-end is just marketing and is false. Cloudflare act as a man in the middle, your traffic is decrypted before sending it to your server, so even in full/strict mode cloudflare see your traffic without at some point!.
client >>> data with cloudflare tls >>>>> [ cloudflare unwraping its tls] >>>>>> data with your server tls >>>>> your server unwraping your tls

Hello,
sorry for my late response, I was sick.
That is right because we are sending OVPN traffic which is already encrypted and safe, but if the data is plain text lets say http proxy so we will need encryption in FULL mode, I will aim to use TLS even with ovpn being safe because network admins and ISP cant see we are smuggling OVPN traffic through wstunnel, but I get the bigger picture on what is happening.
My work about this concept is almost done, just one more step is left which is how to have WSTunnel run 24/7, everytime I logout of remote host, WSTunnel process gets killed after few minutes.
I will create a post about this whole work after I regain my health again in few days.
thank you for your help regarding this issue.

I was tinkering with some stuff and trying it on some super restricted network, I did come across this issue, trying to connect directly to remote host (without cloudflare/CDN/...) I was unable to connect
Server

Client

<socket: 484>: hGetBuf: invalid argument (Invalid argument)
since there is not text book for these errors I need to ask about it.

like that i can't tell, the connection is just cut in the middle. Try to do a tcpdump/network capture on client and server to see.
Out of curiosity whatiis your/this secure network ?
maybe there is something thzt forbid self signed certificate. Try with just http without tls at server side

Finally I discovered the solution that is simply just don't use that ISP as your internet provider, because they are actively dropping all kind of WS/WSS connections that they assume it is not really web intended connection, They are dropping the connection after 5seconds of initial handshake/connection with destination.
The changes I can make is just obfuscate VPN traffic as HTTPS traffic, because they are dropping and resetting ws/wss connections.
About the network I am testing ,it is Iran's super restricted internet and one of my friends who is living there is helping me with testing and stuff and I know if it works on that network it will work on any other network without an issue, because I know there is no other as restricted network as Iran's.
One more thing about the post/blog, I have almost regained my health and finally finished with being sick and soon will write the post.

You should try to setup Cloudflare in strict mode, with wstunnel server configured with a valid tls certificate (you can use let's encrypt for that or https://www.sslforfree.com/ or https://zerossl.com/)
when under true tls, it is not possible to distinguish http from websocket.
After maybe, they just hard cut connection that push data to the server after the initial payload. If it is that, there is no real solution.
You can try on different port, like i.e imap port, to see if they cut the cnx based on the protocol, or if they apply the same behavior to everyones.

I do also have certificates from "zerossl" which is issued for my remote host IP address, I will try the instruction for cloudflare strict mode and tinker around to see how is it working.
The thing that makes me wonder is somehow on same network that I have difficulty connecting with our WS/WSS, v2ray/xray is working very well and it is using ws and tls (is it same with wstunnel I am using?)
Please take a look at these pictures:

As you can see this v2ray/xray client configuration is using ws+tls yet it has no problem connecting and punching a hole into firewall. I am still curious if anything is happening that differentiates my configs and v2ray/xray is SNI which I have to know how to apply it and implement in my configs.

It should be the same indeed. Wstunnel when used in secure mode wss:// is just tls + websocket.
If I am not mistaken (to be verified) with Cloudflare in the middle you can't change the SNI, I think they forbid connection that have a SNI different than the host header.


Ruby implementation

Initial Implementation

Facebook
Reddit

Failing

Instagram

Not Setup

Twitter
Linkedin

This also includes the "File Operations" package.
Allows you to test

Single Account  Multi Password
Multiple Accounts Independent Passwords


Private Link Service returns success before values are persisted to Azure

Bug Report

Import Path: .../services/network/mgmt/2019-09-01/network
SDK Version: 36.2
Go Version: go1.12.5 linux/amd64

Description
What Happened:
While creating the Private Link Service resource for the Terraform Azure Provider I noticed that the API was returning success before the values were actually persisted to the Azure resource. In Terraform once a resource reports success we instantly do a Get on the Azure resource, out Get was/is returning empty values for the attributes we just Set.
What did I expect or want to happen:
The values that were 'Set' to be returned by the Get.
How can we reproduce it:
Create a Private Link Service and once it returns success do a Get.
Anything we should know about your environment:
No, standard Go development environment on WSL.

@WodansSon, thanks for bringing this to our attention. Looking into this - will update soon!

Any update on this ?

We have retired support for Azure SDK for Golang libraries which do not conform to our current Azure SDK guidelines (see announcement). Please migrate to the latest version according to the migration guide. If you could still repo this problem, please submit a support ticket in Azure directly.


Fix error on page list view

Fixes this error: Call to a member function pathSuffix() on null
It currently happens when loading pages list view if there's a page in the database that doesn't have a matching template. It might happen when a template gets renamed for example

Gucci banger


[Marketplace]: Long description is displayed on card view

EPAM AI DIAL chat version
0.18.0
How to reproduce
Preconditions:
create custom application with short description ( 2 words) and long description divided with 2 line breaks
Steps:

click on "DIAL Marketplace" button -> marketplace All applications page was open
find card of custom app from precondition

Actual result
on card view both descriptions are visible

Expected result
On marketplace on card view of All Applications and My Applications should be visible only short description
Confidential information

[X] I confirm that do not share any confidential information

verified on staging successfully


Fix and test Tensor.truediv() and Tensor.floordiv()

This PR fixes Tensor.__truediv__() and Tensor.__floordiv__(), both of which seem to have been silently broken. In both cases, a depth parameter was being passed to the corresponding Fiber function, raising an error. The PR fixes this error and adds tests for both methods to prevent this sort of silent failure in the future.
Note: Some of the same repeated changes appear in this PR.

Warning! This PR is currently broken. I did not understand how __truediv__ and __floordiv__ were supposed to work. Will be fixed early next week.

Merged manually outside of github


Cluster recover command

This fixes #5553
The main difference wrt the solution outlined in the issue is that the lxc cluster recover command does not hit any /internal API endpoint, since the raft engine (not the actual database connection) is already started by the time we bring up the API and it would be complicated to perform this recovery online, or restart the engine.
Note also that the issue of unlocking upgrades blocked waiting on an offline node (see this comment) will be dealt separately in a follow-up branch.

Testsuite passed

Left some inline comments, mostly nits, summary is:

Error messages inside LXD shouldn't end with a dot
We don't use i18n outside of lxc/
We don't say nodes anywhere user facing, use members instead
We may be able to share table rendering logic with the lxc code


Schedule User Testing

@datala/ucla-dot-partners when is a good time to schedule some user testing? @JacquiSwartz can arrange time to work with the DOT project managers.

@hunterowens @crisr10  much more work is needed before we can start doing real user testing and demo to DOT project managers. I have demoed to handful of people internally and received feedback but these are things we already knew needed to be fixed.  Buy-in is def there.


Listening for mouse and keypress events

Can I listen for mouse and keypress events and do something accordingly?

I don't think I'll include this in RobotJS, but I'm considering making a separate module. See #55.
Personally I use nw.js or Electron for this. You can have global hotkeys with both projects.

@octalmage I see - Can NW.js and Electron detect mouse events?

No, only key-presses (hotkeys).

Okay, thanks!

No problem! I forgot to mention that RobotJS can get the mouse position.


Fixed crash when using advanced activations in wrapped layers

Wrapped activations still won't clone parameters correctly, but will instead use default parameters.

I'm closing this for now untill I can figure what can be done with Theano


Could you include postgres in docker-compose.yml

Is your feature request related to a problem? Please describe.
Would be nice to have a compose file with postgres included.
Describe the solution you'd like
Include a version of the yml with postgres included.

You can use the "demo" version file, it included all batteries and deps with the latest version: https://github.com/Mirio/verbacap/blob/develop/compose-demo.yaml
You can run it using:
docker compose -f compose-demo.yaml up -d


configure log4j2 to send log to a syslog server

Hi again
I converted log4j2.xml template from ERB to EPP and just allowed to configure a Syslog appender.
This branch is based on #10, merge it after

Merged, thanks! And once again sorry for the extensive delay...

Available in version 4.0.0:
https://forge.puppet.com/modules/markt/solr/changelog


[vite:plugin-legacy] custom paths for legacy scripts

Description
I need to run static svelte project on a legacy browser, as a file unfortunately. Not served from node or something.
Vite legacy plugin works wonders but I'm running into an issue with a path to legacy scripts (polyfills-legacy.js, legacy.js).
Plugin outputs /assets/polyfills-legacy.fe390c11.js" and I need it to be ./assets/polyfills-legacy.fe390c11.js".
It would be nice to have config option for relative or even custom paths.
Suggested solution
We could provide configuration of paths for legacy scripts
Alternative
No response
Additional context
I can imagine some edge cases where people would like to have control over a location of those scripts. I apologize if it's mentioned somewhere in docs, I've been searching for solution with no luck.
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I digged into this and it seems I should be able to do it with vite's experimental config renderBuiltUrl while having base: "./"
But it seemed like the base option is getting ignored
vite.config.js
import {defineConfig} from 'vite'
import {svelte} from '@sveltejs/vite-plugin-svelte'
import {viteSingleFile} from "vite-plugin-singlefile";
import legacy from "@vitejs/plugin-legacy";

// https://vitejs.dev/config/
export default defineConfig({
    base: "./",
    experimental: {
        renderBuiltUrl() {
            return { relative: true }
        }
    },
    plugins: [
        svelte(),
        legacy({
            targets:["dead"]
        }),
        viteSingleFile({
            removeViteModuleLoader: true,
            useRecommendedBuildConfig: true,
        })
    ],
})

result of console.log on config.base from legacy plugin

When I removed viteSingleFile plugin there was no longer problem with base getting rewritten.


Upgrade Cypress to 3.2.0

Maybe it's only on Mac, but Cypress doesn't work with Chrome anymore. We have to switch to Electron to use, but it offers less functionality. But when I update to 3.2.0, seems to work with Chrome again.
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Issue Number: DOCK-693

It already is 3.2.0


style: improve readability

I have added:

trailing comma in objects

order in imports

order in objects

order in classes / namespaces etc

newline before return (can significantly improve readability in some cases

other small changes

// Since then we will be using tslint:all config so everything that is implemented is enabled and we can disable sth if we don't like it. Now we can try enabling new rules - my suggestions:

"deprecation" - there are 6 of them I guess
"no-duplicate-imports" - 6-7? No idea how to fix it though
"no-empty" - a bunch of them
"no-empty-interface" - bunch of them
"no-implicit-dependencies" - didn't check
"no-non-null-assertion" (we have two of them, honestly I don't even know what it is and how to deal with it)
"no-unnecessary-class" - 1 i guess
"no-unnecessary-qualifier" - also 1
"prefer-template"
"strict-type-predicates" <- this can find some issues (there are some type issues in stryker) We can talk about it in the separate issue too

Also I'm so sorry @nicojs that this PR is so big... I didn't know that changing order will take that much :c
But honestly if it passes, and you like how it looks, you can freely merge it, since there are only style changes, there should be no breaking change or anything

@kmdrGroch this PR is far too big. It's virtually impossible for me to review.
Could you open an issue explaining which rules you want to enable and why?
As a rule, I don't want to enforce alphabetic order of properties. I know we have it for objects, we should rethink this. For example:
interface TestFramework {
  afterEach(): string;
  beforeEach(): string;
}

This doesn't make sense to me.
We should also make it easy for developers to comply. I'll create a PR for this. My idea is to run the tslint plugin when a file is saved.


Drawer is visible on iOS when you navigate between screens

It is only occurs on iOS. When you navigate back from one screen wrapped into a Drawer to another screen, the Drawer is visible as it is located outside of the left border of the screen.

@aprihodko  I've considered this problem. On my point of view, the drawer should only be used in the top level screen, because the action that swipes from left edge to right is designed to pop navigate history in iOS. That means at least, subpages cannot be wrapped into a Left-Drawer. If you do need this drawer menu, please use Right-Drawer to avoid this conflict. :)


Incorrect debug path

I have overridden the variable CMAKE_RUNTIME_OUTPUT_DIRECTORY but when using vscode-cmake-tools to launch a debug session, it seems to be searching for the target binary in the default CMake build directory location.
Looking in the cmaketools.json it looks like its just concatenating fullName with buildDirectory. The correct location of the executable only shows up under artifacts (along with the PDB and for some reason a LIB file).
I'm not clear on if this is a problem with the cmake-server itself or with the cmake-tools usage thereof.

Same issue as #123. It appears that cmake-server doesn't properly name the output file path as I expected it to. I may open a PR to CMake upstream to get something like a primaryArtifact attribute that does what I want.

Doesn't the first entry in "artifacts" already match that use case?

It possibly does, I'll take a closer look when I get the chance. (Sorry for the delay on this issue.)

My only concern there is whether the first entry of artifacts is guaranteed to be the correct path or if it just happens to be what we're looking for in the common cases. It might be a decent fallback for now, but I'm not sure it sure be trusted as the definitive solution.

FWIW "artifacts" are documented to be ordered by "importance". From what I can tell Tobias Hunger who implemented this in CMake's server code also seems to use it for the same purpose in QtCreator.


luke your css crashed my browser

please make it less bloat, thanks

If your browser can't handle my soyss, sounds like a personal problem.

@qorg11 stop using internet explorer


Additional platform support for Ubuntu

The following platforms require support as a part of this task.

[x] 12.04
[x] 12.10
[x] 13.04
[x] 13.10
[x] 14.04
[ ] 14.10
[x] 15.04
[x] 15.10
[x] 16.04
[x] 16.10
[x] 17.04
[x] 17.10

14.10 is causing a delay, so a decision to move on and address this later, needs to be made sometime soon.


Commit List: Pagination goes one page too far

When on the last page of the commit list (e.g.when looking at the GitList repo itself, currently Page 28: /gitlist/commits/master?page=28), one still gets the "Older" button, although we are already on the last page.
This seems to be because pager.last is 29 (= 1-Indexed) while pager.current is 0-Indexed?

In the current master, the Older button becomes hidden, if there are no more commits.


Locale data for 'baseHref' cannot be found.  No locale data will be included for this locale.

Describe the bug
Locale data for 'baseHref' cannot be found.  No locale data will be included for this locale.
An unhandled exception occurred: Unsupported translation file format in /home/projects/angular-agnmjy. The following parsers were tried:
*** ArbTranslationParser ***
*** SimpleJsonTranslationParser ***
WARNINGS:

File does not have .json extension.
*** Xliff1TranslationParser ***
*** Xliff2TranslationParser ***
*** XtbTranslationParser ***
WARNINGS:
Must have xtb or xmb extension.
See "/tmp/ng-6ULYl3/angular-errors.log" for further details.

Link to the blitz that caused the error
https://stackblitz.com/edit/angular-agnmjy?file=angular.json
Steps to reproduce
Click on https://angular.io/guide/i18n-example ->"live example"
start "ng serve" command
Expected behavior
The app should start without any problem
Screenshots

Platform
Browser name  = Chrome
Full version  = 96.0.4664.110
Major version = 96
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 79102320,
  "usedJSHeapSize": 75648532,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = bc2b78560fa0e6097e7f69d4e820659cab64d2c5

Additional context
No response

Are you able to run this locally? the Locale data for 'baseHref' cannot be found message is also shown on local. But the red error on local is even worse.

:wave: It seems this issue has been sitting for a while without new info. I'm closing this, but please feel free to open a new one if you still encounter this problem.


Moving to this repo

I started my project using dashing.  Is there an easy way to update my codebase to this one?

Good question @Skeyelab
If there is nothing in the docs, we can use this issue to help you updating your codebase, and also create the initial documentation.
As an initial polite guess, what about gem install smashing, smashing new $NAME_OF_YOUR_PROJECT, and then copy your jobs, dashboards, etc?

I considered that. I didnt know if there was a better way.  Possibly changing where .git/config is pointing.

We should definitely make a wiki page for this.
I haven't tested this, but I think all you have to do is update your project's gemfile to point to smashing instead of dashing and then run bundle to reinstall your vendor gems. Then bundle exec smashing should work... If you're using the global command line tool, you'll need to do a gem install smashing before you can do smashing start.

It worked for me. I had a working dashboard, written with Dashing. Replaced dashing by smashing in my Gemfile, then run bundle install, saw smashing in the list of gems installed.
Starting the dashboard with smashing s successfully started the thin server. Jobs running happily too.

Has any approach worked for you @Skeyelab ?

this also worked OK for me.

Thanks @howardsternisbatman
Closing the ticket, but feel free to provide any feedback here @Skeyelab & others :-)


travis: make sure #1604 would fail travis in the future

Hmm, nevermind, there is no build/test nightly job actually xD


[Bugfix] Set openai proxy for class ZhiPuAPTAPI

When using ZHIPUAI as the large model provider, it is not possible to access ZHIPUAI in an HTTP proxy environment, and the following error will be reported: openai.error.APIConnectionError: Error communicating with OpenAI
So we need set proxy for class ZhiPuAPTAPI.
Features

https://github.com/geekan/MetaGPT/issues/629
Feature Docs

Influence

Result
@springasa ➜ /workspaces/MetaGPT (bug-fix-proxy) $ pytest -vs tests/metagpt/provider/test_zhipuai_api.py
2023-12-25 15:48:50.340 | INFO     | metagpt.const:get_metagpt_package_root:32 - Package root set to /workspaces/MetaGPT
============================================================ test session starts =============================================================
platform linux -- Python 3.11.4, pytest-7.3.1, pluggy-1.0.0 -- /usr/local/py-utils/venvs/pytest/bin/python
cachedir: .pytest_cache
rootdir: /workspaces/MetaGPT
plugins: mock-3.11.1, anyio-3.7.1, asyncio-0.23.2
asyncio: mode=Mode.STRICT
collected 3 items

tests/metagpt/provider/test_zhipuai_api.py::test_zhipuai_completion PASSED
tests/metagpt/provider/test_zhipuai_api.py::test_zhipuai_acompletion PASSED
tests/metagpt/provider/test_zhipuai_api.py::test_zhipuai_proxy PASSED

Other

/kind bug

It looks like there's room for optimization, but I'll get through first

It looks like there's room for optimization, but I'll get through first
Thank you for your feedback. I also agree that there is room for optimization, and these changes should be more appropriately placed in the parent class. However, making such a modification would have a significant impact. Therefore, the current changes are addressing the specific issues with the provider first.

Thank you for your feedback @geekan. I also agree that there is room for optimization, and these changes should be more appropriately placed in the parent class. However, making such a modification would have a significant impact. Therefore, the current changes are addressing the specific issues with the provider first.


Merge from develop for 20210920 release

I had to manually retrigger the build and it looks like it's progressing along now. I'll look into why it had failed.


Support Headers object iterators for multiple values of the Set-Cookie header

Currently, if you attempt to iterate over a Headers object in a worker with multiple Set-Cookie values, the iterator will only yield a single, comma-delimited value (which breaks the Set-Cookie header) instead of multiple, independent values.
For example:
const headers = new Headers();
headers.append("Set-Cookie", "A=1");
headers.append("Set-Cookie", "B=2");

console.log("Headers from Headers.entries:")
for (const [k, v] of headers.entries()) {
    console.log(`${k}: ${v}`);
}

console.log("\nHeaders from Headers.forEach:")
headers.forEach((v, k) => {
    console.log(`${k}: ${v}`);
});

Expected outcome:
Headers from Headers.entries:
set-cookie: A=1
set-cookie: B=2

Headers from Headers.forEach:
set-cookie: A=1
set-cookie: B=2

Actual outcome:
Headers from Headers.entries:
set-cookie: A=1, B=2

Headers from Headers.forEach:
set-cookie: A=1, B=2

While this could be worked around using Headers.getAll for the Set-Cookie header as documented here, supporting iterators for Set-Cookie would make it much easier to do things like merge multiple Headers objects and read all headers at once without breaking anything.

Hi @jtk3053,
I agree that would be a better API. However, unfortunately, this is governed by the spec and not something we can change.
The handling of Set-Cookie in the Headers API is a contentious subject, given that this header is the only known header that breaks HTTP's comma-concatenation rule, and this header is also never visible directly from browser-side JS, therefore the browser designers prefer to ignore it. See e.g.: https://github.com/whatwg/fetch/issues/973
We support getAll() as a work-around, since it doesn't create any incompatibility with the spec (in fact, it was once part of the spec, though removed).
In contrast, changing the way iterators work such that the same key could be returned multiple times would be a pretty clear spec violation, conceivably leading to bugs in applications that aren't expecting this. If we really wanted to provide a way to iterate in this way, we'd probably have to give it a different name, like entriesWithMultipleSetCookie() or something. I don't really think this would be worth it, I think apps will just have to special-case Set-Cookie and use getAll() to handle it.


Tool script does not run until the scene is reloaded

Godot 3.0.6
Godot 3.1 beta 2
I made a simple tool script which uses _draw() to have custom visuals. But I noticed that once I finished writing it and setting it up, it was still not running in the scene. Only saving, closing and re-opening the scene made it run.
The same happens if you add a tool script to a node, this script won't run until you reload the scene, even if existing instances of it are running already.
Reproduction project:
ToolScriptDoesntRunYet.zip

Open the project, see the main scene has one working node with custom tool draw (using custom.gd)
Create another Node2D
Put another custom.gd script on it: notice it doesn't work
Save the scene, close it, and reopen it: notice it works now

The quickest way to reload scene is Reload scene button in Scene menu. Works in this case.

@KoBeWi Its called "Revert scene" actually and its even not have a editor shortcut

I looked into the issue slightly while I was working with the Visual Script Tool Mode feature. The best way of for fixing it does seem to be a forced reload of the scene, the question is how to handle the save, I guess we can just ask if we want to save the scene.?
For VisualScript we can do it automatically(from the UI itself), while for normal scripts we could create a notification asking to Reload the Scene and hint the hotkey for it?

I don't think this needs to reload the scene on every save of the script, that would be overkill. It would only need this if the script was not tool before, and became tool after. But then if this detection can be done, the scene wouldn't need to even be reloaded, is it?

That's what I meant. If it detects that the Script became Tool but there hasn't been a scene reload it will notify.

The @tool actually works immediately. The reason why your square doesn't draw after saving is that _draw() is called when Node2D is added to scene tree or calls update() or is made visible.

Another case is when you add _process() to the script. set_process() is called internally inside ready, so there is no way to enable it without reloading the scene.
Maybe we could detect this and add a warning, but otherwise the issue can be closed.

Closing as per above comment. Open a proposal if you still think something should be done.
btw

Its called "Revert scene" actually and its even not have an editor shortcut

You can just assign a shortcut if you want quick access. I use it all the time.


Add-UiPathUser : 'DisplayName' cannot be null

When running the Add-UIPathUser command to create a user, I receive this error:
Add-UiPathUser : 'DisplayName' cannot be null
Add-UiPathUser -Username 'newuser' -Name 'New User' -RolesList @('Administrator') -OrganizationUnitIds @(1)
I have tried various versions of this command; difference Organization Unit Ids and passing in an array variable, and no luck creating the user.

@macguy2010  what Orchestrator version?

Orchestrator 2018.2.3
I tried multiple releases of 18.1.x for orchestrator-powershell, and also 17.1.10.  All show this error.
Thanks.

Do you actually have Organization units enabled on your Orchestrator?  that is exactly the error you get  if you try to set the OU on an Orchestrator that does not enable the feature:
PS C:\Users\remus.rusanu> Add-UiPathUser -Username foo  -RolesList @('Administrator') -OrganizationUnitIds @(1)
Add-UiPathUser : 'DisplayName' cannot be null.
At line:1 char:1
+ Add-UiPathUser -Username foo  -RolesList @('Administrator') -Organiza ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-UiPathUser], ValidationException
    + FullyQualifiedErrorId : Microsoft.Rest.ValidationException,UiPath.PowerShell.Cmdlets.AddUser

Yes, Organization Units is enabled.
This is the entry in the web.config file.

I also have 5 OUs created.  I tried different OU Ids in the command also, and same error.
Get-UiPathOrganizationUnit
Id DisplayName

1 Default
2 agtest
3 EV
4 SushanTest
5 rommeltest

When I try this command in another one of our environments where Organization Units is disables, the command works fine and creates the user.

This is a bug in the swagger file, the OrganizationUnitDto DisplayName should not be required. I'll have a fix soon.


Tag as 1.19.4 Compatible

Some people, including myself, use the CurseForge launcher to install mods, so tagging this as 1.19.4 compatible—which it is, I've tested it—would be great.

Haden't actually gotten around to testing it myself—thanks for the heads up! I've since tagged it as 1.19.4 compatible.


Integrating jupyterlab extensions

I'm going to spend some time in the next few weeks to see how I can get a pure nix derivation for extensions. I will focus on the following extensions:

[ ] ipywidgets
[ ] jupyterlab-git

great! Let us know if you need help! Really looking forward to integrating this into Nixpkgs as welll ...

I installed the extensions and changed the shell.nix in line with the readme page
but I can't see the extension options and icon in jupyter lab instance.
Any special command to run? I Looked at googled but could not find any help.
here my shell.nix
let
  jupyter = import (builtins.fetchGit {
    url = https://github.com/tweag/jupyterWith;
    rev = "";
  }) {};

  ihaskell = jupyter.kernels.iHaskellWith {
    name = "haskell";
    packages = p: with p; [ hvega formatting hmatrix ];
  };

  ipython = jupyter.kernels.iPythonWith {
    name = "python";
    packages = p: with p; [ numpy pandas matplotlib seaborn opencv pytorch scipy scikitlearn xgboost tensorflow-tensorboard keras-applications mysql-connector google_api_python_client sklearn-deap ipywidgets pprintpp virtualenvwrapper beautifulsoup4 requests html5lib memory_profiler jupyter_console statsmodels google_cloud_bigquery quandl pillow ];
  };

  jupyterEnvironment =
   jupyter.jupyterlabWith {
    kernels = [ ihaskell ipython ];
    directory = ./jupyterlab;
  };
in
  jupyterEnvironment.env

Seems ok, as long as you generated the jupyterlab directory with the command with mentioned in the README.

Seems ok, as long as you generated the jupyterlab directory with the command with mentioned in the README.

I did it and here my jupylab folder tree
jupyterlab
├── extensions
│   ├── jupyterlab_bokeh-0.6.3.tgz
│   └── jupyterlab-ihaskell-0.0.8.tgz
├── schemas
│   └── @jupyterlab
│       ├── application-extension
│       │   ├── package.json.orig
│       │   └── sidebar.json

Should I run a specific command when I start jupyter lab from the shell as I am still not able to see the extensions in the browser?

Do you have jupyterlab installed in another way in the system? If yes, can you try to run nix-shell --pure? It happened once that the system was using the system-installed jupyterlab instead of the one given by the shell.

Do you have jupyterlab installed in another way in the system? If yes, can you try to run nix-shell --pure? It happened once that the system was using the system-installed jupyterlab instead of the one given by the shell.

I tried nix-shell --pure but no change - still not seeing the extensions
I installed jupyter with nix-env  but after I installed it with shell.nix to see if I could get the extensions. Without success yet.
I am using nixos and no jupyter installed at root level (but python installed).

@costrouc , I think we can get a useful pure jupyterlab derivation now because jupyterlab 1.2.2 comes with a built-in extension manager now.
This means that we could preresolve jupyterlab with all big standard extensions. The user can then select and disable them if he wants. Such a distribution would be more like the ubuntu inkscape or gimp packages that already come with most extensions preinstalled.
What do you think?

Also FYI there are a lot of people asking for a better mechanism for jupyterlab extension installation and I think that the jupyterlab maintainers hear it. So I think what you are suggesting is a great solution especially since changes are coming.

node2nix could help address this issue. Have you explored using it?

@ariutta , yes. But I think we would need yarn2nix for this. We have already tried it once with @Profpatsch and got quite far - that is we downloaded all packages. But then we failed putting webpack and the whole build process into place. We stopped not because of this but because we weren't sure how to make this setup flexible enough for the user to select extensions himself.

@MMesch, do we have examples of use cases? Would it be just allowing the user to select any combination of kernel(s) and JupyterLab extension(s)? What about Notebook server extensions and/or companion packages?
Are the following two examples representative of the use cases you'd like to handle?

Bob wants to use Jupyterlab with IPython, ipywidgets and jupyterlab-git
Susan wants to use Jupyterlab with IPython, Juniper, jupyterlab-vim, ipython-sql and jupyterlab-sql

yes. I would add:

Herbert wants to add his own custom extension to the existing ones (this is a difficult one because we can't preresolve it)

We didn't focus much on server extensions for now, do you have an idea how to integrate them? I think they are basically python modules right? So maybe it is much easier to add them than the extensions that come via npm and yarn.
There is also another use case, more related tot the kernels, which would be nice to support:

ideally a kernel environment can also be accessed without jupyter - e.g. via plain python which right now links to the jupyter lab python.
ideally a package environment, e.g. for python or jupyter can easily be fed into the jupyterlab derivation

This is already possible but we can definitely make this experience a lot smoother

Yes, I think you're right about server extensions.

ideally a package environment, e.g. for python or jupyter can easily be fed into the jupyterlab derivation

Would an example of this be using python packages from pypi2nix? The output of pypi2nix doesn't re-use existing python packages in nixpkgs.

It's not ready for a pull request, but you can take a look at some ideas for supporting server extensions and custom directories in this branch.

I made additional proof of concept changes in my proposals branch, now supporting serverextensions, magics and lab extensions. You try it out with my demo repo.

I took a look at your branch, it seems that is suffers from the same indeterminism problems that our current branch has, right? In the sense that the versions of extensions are decided at the moment of build, so it can change over time. Just to be sure I understood.

There is ambition to rework the entension system in JupyterLab 3.0.
https://github.com/jupyterlab/jupyterlab/issues/8038

We want major features in 3.0 to entice users to upgrade. Some possibilities include:

Extension system rework, allowing extensions to be installed without rebuilding JupyterLab https://github.com/jupyterlab/jupyterlab/issues/5672 https://github.com/jupyterlab/jupyterlab/issues/7468

@jamesdbrock This is very interesting for us, thank you for the information!

See also https://github.com/jupyterlab/jupyterlab/issues/7525

JupyterLab 3.0 is here, with the new extension build system, which I don't yet understand.
https://jupyterlab.readthedocs.io/en/latest/getting_started/changelog.html#v3-0

In JupyterLab 3.0, a new recommended way of distributing and installing extensions as Python pip or conda packages is available. Installing such extensions does not require rebuilding JupyterLab and does not require having NodeJS installed.

Here's a good issue to watch https://github.com/jupyterlab/jupyterlab/issues/9118

Thanks for the pointer, that can be really useful!

I came up with a proof of concept for using the JupyterLab 3 prebuilt extensions from PyPi as well as prebuilding a JupyterLab extension for Nix. Here is where I generated Nix expressions for my NPM and PyPI dependencies. And here is where I specified how to build them all for inclusion in my shell.nix.
This isn't ready for a pull request, but I wanted to share it in case anyone else might find it useful.

This work is really interesting. We are currently working on some cleanup for jupyterWith (see main branch), but we have on our roadmap to package jupyterlab extensions the proper nix way.


feat: use keywordOrSet-filter in events list query for keywords

PT-1591.
Update the GraphQL schemas: Add KeywordOrSet filters to events list query.
The keyword-filter is now replaced with 3 new KeywordOrSet filters:
keywordOrSet1, keywordOrSet2 and keywordOrSet3, because there
are 3 different keyword set types in Kultus search -- target groups,
categories and activities / additional criterias.

This PR needs the new filters from the API: https://github.com/City-of-Helsinki/palvelutarjotin/pull/341
NOTE: This can also act as an alternative for https://github.com/City-of-Helsinki/palvelutarjotin-ui/pull/306

kultus-ui branch is deployed to platta: https://kultus-ui-pr307.dev.hel.ninja :rocket::rocket::rocket:

There seems to be some issues in the LinkedEvents in the handling of this parameter. The result set is not what we expect it to be, since lots of events are missing.

kultus-ui branch is deployed to platta: https://kultus-ui-pr307.dev.hel.ninja :rocket::rocket::rocket:


support pretrained seq2seq models for Phonemizer

https://github.com/cmusphinx/g2p-seq2seq is probably the first candidate for this.

#16 is a prereq.


Add fixes to checkstyle and java doc issues found in windows

This also contains a fix done by @manuranga in FileSystemProjectDirectory.java file.


Order created snippets

Have snippets ordered alphabetically to allow easier navigation. Or provide alternate way to manage snippets (grouping, categories with expand/collapse options perhaps).

As far as I can tell, Snippets are ordered alphabetically[1]...

Ah sorry, I guess you meant in the selection list

In fact I think this is a bug, caused by the fact that the PHP associative array generated by the route_data() method (and before conversion to REST API in v2.2.0, by the xmlhttprequest_plugin_snippets() function) is converted to a JSON Object (i.e. an unordered collection) and not an Array.
Consequently, when the Snippets list is processed by the JavaScript to build the , the entries are listed in ascending order of the snippet's ID instead of retaining the list's alphanumeric order.


super() being linted badly

@kcajf commented on Mon Sep 16 2019
Environment data

VS Code version: 1.37.1
Extension version (available under the Extensions sidebar): 2019.9.34911
OS and version: Linux x64 4.16.11-100.fc26.x86_64
Python version (& distribution if applicable, e.g. Anaconda): 3.7.3 anaconda
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): Language server

Expected behaviour
super() should be recognised
Actual behaviour
super() is not recognised

I can't seem to reproduce this. @kcajf Does the message go away on a reload? Can you show the language server version in use?

Probably b/c of class Foo() rather than class Foo: or class Foo(object). There is no base so super goes undefined? However, I can't repro either in 3 or 2

https://github.com/microsoft/python-language-server/pull/1702 might have fixed it since we now specialize super. Please reopen if this is still a problem. Thanks.


AWS::Serverless::Function with Condition=false tries to resolve !Refs

Description:
I use Condition property for creating resources depending on CF parameter configuration.
I noticed that when Condition is set to false in AWS::Serverless::Function (resource is not going to be created) it still tries to resolve references.
Steps to reproduce the issue:
Here is an example of template to reproduce the issue:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Conditions:
  CreateResources: !Equals ["1", "2"]
Resources:
  Topic:
    Type: AWS::SNS::Topic
    Condition: CreateResources
    Properties:
      TopicName: TestTopic
  Lambda:
    Type: AWS::Serverless::Function
    Condition: CreateResources
    Properties:
      CodeUri: s3://s3_path/
      FunctionName: TestLambda
      Handler: lambda
      MemorySize: 128
      Runtime: go1.x
      Policies:
      - AWSLambdaBasicExecutionRole
      Environment:
        Variables:
          SNS_TOPIC_ARN: !Ref Topic <-- this ref will fail when CreateResources=false

Observed result:
When CreateResources false, resources are not going to be created. However when deploying this template, it fails with error Template format error: Unresolved resource dependencies [Topic] in the Resources block of the template. Rollback requested by user. When CreateResources true everything works as expected. Basically it tries to resolve reference between two not existing resources.
Expected result:
!Refs inside AWS::Serverless::Function with Condition=false should not be resolved, resource is not going to be created.

@mxpv AWS::Serverless resources do not yet support conditions. However, our next release (1.10.0, coming very soon!) will add condition support. Keep an eye on issue #142 for updates on the status of this feature. Closing this as a duplicate.


Entity Templates

Hello! I've been making use of your anax library in a side scrolling game I'm developing. I've come across a need to create similar entities sharing the same components (a bunch of one type of entity in other words), so I'd like to make use of your World::createEntity(EntityTemplateFn fn, Args&&... args) function, but I'm not quite sure of it's intended use. Would you mind explaining how you expect users to use it? Thanks!

If you view the source, all it boils down to is: (1) create a new entity and (2) call the functor you provide it with.
So basically to make a "template" in this context you make a function that adds components to the entity. Then you pass the function to createEntity along with any parameters you want to pass to the function that creates the entity.


Question: Can we do nested NER?

Can the NER module do the following?
tag A B C where A is an entity and ABC on the whole is another entity, a little bit like multi-label classification.

Hi @hkvision, currently the NER model support 1 label set.
If you're interested you can implement multi-label tagging (adding support in the data loader and model)

OK. Thanks. Kindly ask is there any reference for multi-label tagging?

I'm not familiar with works in this area but perhaps this would help.
Intuitively, I can think of the following: you can define multi-class labels (encoded using 1/2/3-hot encoding) and cross entropy loss as a loss function. Finally, you can take the top-k predictions of the network to be the predicted classes.


Benchmark # of CPU cores for default config

Didn't find this in the issue queue...
There are reports that VMs with multiple cores are slower than VMs with 1 core, even with KVM:

https://github.com/rdsubhas/vagrant-faster/issues/5#issuecomment-176493760
https://ruin.io/2014/benchmarking-virtualbox-multiple-core-performance/
http://www.mihaimatei.com/virtualbox-performance-issues-multiple-cpu-cores/

Have you tested this?  Perhaps it's worthwhile to set vagrant_cpus: 1 in the default config.

This is something that should be optimized for the host machine and in my experience I've found the best performance is when the VM cpu's are the same as the host.
From Seth a maintainer of Vagrant -- https://sethvargo.com/faster-rails-development-with-vagrant/
see "Use all CPUs and half your RAM"

Yeah, but two of his references regarding the CPUs now show different results.
How to make Vagrant performance not suck has

Update: I used to recommend upping the number of CPU cores used by Vagrant, but it has been shown several times that adding more virtual cpu cores to a Virtualbox VM actually decreases performance. Bummer.

The vagrant-faster plugin (which automatically ups the VM CPUs) has a issue on it: https://github.com/rdsubhas/vagrant-faster/issues/5.
The problem appears to be Virtualbox itself.
FWIW, on a 4-core Mac / Virtualbox 5.0.26 I benchmarked a client D7 project with 1 and 2 CPUs allocated, and 1 CPU consistently performed better for simple serial page request (like a developer would be performing for typical theme / module dev).  Virtualbox 5.0.26

I typically use VMware Fusion, which handles things a bit differently, and definitely feels faster with 2 CPUs than 1... but it would be good to have more hard data on whether 1 or 2 would be the best default. 2 seems at least safe since like 99.9% of all dev laptops have a 2+ core CPU nowadays.

@geerlingguy

2 seems at least safe since like 99.9% of all dev laptops have a 2+ core CPU nowadays.

Yeah, seems safe.  Though, I gather from the reports that the primary factor is using the Virtualbox provider, not the number of host cores.  Is it possible to set the default value based on the provider (like, if provider = virtualbox, vagrant_cpus = 1)?
Here are my simple benchmark results on a 2.3 GHz 4-core MacBook Pro:
ab -c1 -n100 http://example.com/
Ran 4 times, discarded 1st run
Avg requests / sec -- higher is better
1 CPU	3.49
2 CPU	2.87

Manual page reloads, devel page timer
Ran 10 times, caches warmed
Avg milliseconds / page load -- lower is better
1 CPU	406.77
2 CPU	420.88

**wrk -t1 -c1 -d30s http://example.com/ **
Ran 4 times, discarded 1st run
Avg requests / sec -- higher is better
1 CPU	3.71
2 CPU	3.34

Interesting results! I'll have to run them locally on VirtualBox to confirm/reproduce, and if it's the same, I'll definitely bump back to 1 vcpu and stick a note in the config that if using VirtualBox, consider leaving it unless you have a specific need for multi-core emulation (which could be slower).

Testing on my i7 2013 MacBook Air (average of 3 runs, after discarding one):
ab -c 1 -n1000 http://drupalvm.dev/

VirtualBox:

1 CPU: 151 req/s
2 CPU: 139 req/s

Delta: ~8.2% performance increase when using 1 CPU on VirtualBox.
VMware:

1 CPU: 169 req/s
2 CPU: 171 req/s

Delta: ~1.1% performance increase when using 1 CPU on VMware.
So it seems 1 CPU is a sane default—no real regression on VMware, and makes it faster on VirtualBox. Might as well switch it!

@kentr - Thanks again for all the benchmarking! I've attributed the commit to you :)

Awesome.  I'm surprised it's also slightly faster on VMware.

Oh, I misread the VMware results.  Now I see 2 CPUs is slightly faster.

@kentr - Yeah, just barely... not worth defaulting to 2 IMO.


Rework module status - UMD

Don't load directly onto the window unless there is no module wrapping.
Detect module wrapping and export core web.
Do not auto-create the archive manager, but instead give it a singleton method for similar support.

Use webpack's library output: https://webpack.js.org/concepts/output/#output-library


RTSP client play support

I have been using Wowza for 4 years and found your uber awesome SRS.  Incredible work in a very short time with a small team.   There is one critical feature missing for my use case.  Although its not highly common use, it's very critical for TV media.   We have television clients who use Flash (flowplayer) to preview our streams, but when they want to ingest into their studio, they connect to Wowza using RTSP, not RTMP nor HLS.   The reason is RTSP latency is very low.  So for Live ingestion,  TV station loves the low-latency as they often talk to live camera shooter on the phone during ingestion.   In Wowza, the RTSP client also supports basic authentication, so for example you would use something like this in VLC to access this stream with some basic security:
<EMAIL_ADDRESS>More TV stations are using ingestion mixer boards that use RTSP (i.e. Tricaster for instance) so they can pull from IP camera as well as Wowza server for live video.    I hope you can add RTSP player client support in future release.   God speed SRS!

SRS3(2016) focus on big-data, maybe SRS4(2017) can support it.

Do you know RSTP well? I got a question when develop the rtsp stream caster, which allow publish RTSP to SRS: how to support dts and pts in RTSP, because it seems RTSP only one timestamp the pts, how to calc the dts in RTSP stream? Or, RTSP does not support dts, which is introduced in modern h.264 codec?

Sorry, I don't have deep protocol knowledge of RTSP.   I am curious what you are choosing to support RTSP push publish ingestion into SRS before supporting RTSP pull on the player client side.   Most all encoder HW I know of is RTMP on the push, unless source is IP camera which requires RTSP pull.   I can't think of any IP camera out there that does anything but support RTSP pull for h.264 native.
Anyway, I will be stuck with paying for Wowza license until your SRS v4 since I need RTSP pull client pay.   I would rather give you the money to put it in SRS now instead of paying Wowza  haha

Thanks for like of SRS. Push RTSP to SRS is part of stream caster, and user can push other protocols for instance HTTP FLV or other protocols.
SRS-SEA push HTTP-FLV to SRS, for android to publish realtime stream in pure java code and hardware encoding, without ffmpeg or other library.
Please read the https://github.com/simple-rtmp-server/srs/tree/2.0release#stream-architecture

@briand123 I've been using srs with feng to do exactly what you're saying. In my case it works fine since I only have a max of two tv channels ever pulling the live stream. It's also nice because I have a secondary feng running to support older Android and Blackberry phones that don't understand HLS - here in Peru 65% of phones are low-spec and don't get many upgrades.
@winlinvip Maybe you can take a look at the feng code to answer your RTSP questions....it works great and perhaps has what you need to resolve the issues with RTSP.

@hdezela Great work! I read the README and feng is design for RTSP similar to live555.
Can u give some detail step for users who want to covert RTMP to RTSP to play? I found no wiki or detail usage of feng.

For SRS, to pull RTSP then remux to RTMP/HLS/FLV is the main use scenario, and pulling RTSP is a feature of stream caster.
But deliverying RTSP to client, is huge difference of SRS design goal, seems a old compatible feature, so I think feng/live555/crtmpd and any server which can convert RTMP to RTSP is a better solution.
That is, I think the arch of SRS is design to delivery RTMP stream in cluster or client, it's impossible to change to delivery both RTMP and RTSP by RTSP, and it's not the goal of SRS.
However, for the users who want to convert RTMP to RTSP for history problems, @hdezela can u give some detail step by step guide? That's very useful, thanks~

I've got random text files with snippets of how I did it here and there, when I get back home next week I'll look over them and create a guide that'll hopefully be understandable.

@hdezela Great!

Wow this is cool.  Glad to see what you guys are doing.   For now, I have
to use Wowza in production as I must have RTSP pull into wowza for IP
camera ingestion, then my multiple clients tap the output stream from wowza
via authenticated RTSP.   I'd love to have alternate solutions than using
Wowza, which is java based and expensive.   Hopefully, what you guys are
doing will compete with them.
On Thu, Sep 24, 2015 at 12:17 AM, winlin<EMAIL_ADDRESS>wrote:

@hdezela https://github.com/hdezela Great!
—
Reply to this email directly or view it on GitHub
https://github.com/simple-rtmp-server/srs/issues/476#issuecomment-142807163
.

Yes.  I clearly understand what your are saying winlin.  The only part I
would disagree with is the part about RTSP pull from the server 'player'
side being an 'old compatible' feature.   For general consumer audience,
maybe.  For news rooms switching from satellite to IP video, it's the
preferred way right now.   The reason is HLS causes way too much delay.
And Flash plugin is hated more everyday by the security folks.    RTP and
RTSP are lowest latency which news studio wants for dialogue.    I know
this usage is niche case, but news media is a large and big $$$ business,
and Wowza does have that use case covered.   In the future, it may be
WebRTC gives the lowest latency.  I know someone is making a Wowza WebRTC
interface layer product.
Best Regards,
Brian
On Wed, Sep 23, 2015 at 9:23 PM, winlin<EMAIL_ADDRESS>wrote:

For SRS, to pull RTSP then remux to RTMP/HLS/FLV is the main use scenario,
and pulling RTSP is a feature of stream caster.
But deliverying RTSP to client, is huge difference of SRS design goal,
seems a old compatible feature, so I think feng/live555/crtmpd and any
server which can convert RTMP to RTSP is a better solution.
That is, I think the arch of SRS is design to delivery RTMP stream in
cluster or client, it's impossible to change to delivery both RTMP and RTSP
by RTSP, and it's not the goal of SRS.
However, for the users who want to convert RTMP to RTSP for history
problems, @hdezela https://github.com/hdezela can u give some detail
step by step guide? That's very useful, thanks~
—
Reply to this email directly or view it on GitHub
https://github.com/simple-rtmp-server/srs/issues/476#issuecomment-142777138
.

Humm, seems the WebRTC will be the one for realtime communication~

Maybe at some point, but not any time soon.  If you research the webRTC
efforts, it's influx over codec wars.   Many oppose h.264 over licensing
headaches.   AAC is out for audio.  There is a company that's been making a
webRTC gateway for Wowza.
http://www.wowza.com/forums/showthread.php?36532-WebRTC-support
The focus is more for video calls vs TV broadcast media IP video, but still
could be applied.   The good thing is the player is built into the browser.
No flash, no VLC, no quicktime plugins.
On Fri, Sep 25, 2015 at 9:29 AM, winlin<EMAIL_ADDRESS>wrote:

Humm, seems the WebRTC will be the one for realtime communication~
—
Reply to this email directly or view it on GitHub
https://github.com/simple-rtmp-server/srs/issues/476#issuecomment-143223055
.

不支持RTSP推流，仅支持拉流，参考：https://github.com/ossrs/srs/issues/2304#issuecomment-826009290


Polishing

@alexVengrovsk have you signed the contributor's agreement?

Yes my confirmation number is:<PHONE_NUMBER>11071904

Squashed and merged via 8147b7de514485e5bd84104f0c2d2327ac6924fc


Infinite-loop navigation bug

[x] bug

Swiper Version: 4.5.0.

Platform/Target and Browser Versions: macOS High Sierra 10.13.6, Google Chrome 75.0.3770.100

video: https://www.youtube.com/watch?v=Vx1W1YWQRpk
time code: 05 - 06, 08 - 09
Sometimes, when I click navigation buttons, it works to the opposite side.

same on windows.

I've experienced this same bug in my own projects, i'll take a look at it.

I've made a pull request which should fix this issue @ #3237

@robpop Tried adding your fix, but still experiencing issues as shown in that video

@simmonsr Can you provide me with a JSFiddle or CodePen of your test, it'll make it easier for me to see where the issue is

It's via our theme, but I tried adding your code and it doesn't help. As @sirvadim pointed out though, it can be replicated via the Swiper demo too:
https://swiperjs.com/demos/200-infinite-loop.html

I create this Plunker, which is a copy of the demo you provided. I added in my change under the swiper.js, and commented "robpop" right above it to make it easy to find. This change still allows for short swipes, but should prevent them from firing off if the event target for the onTouchEnd event is either of those arrows:
https://plnkr.co/edit/1QlfdfMKiYKIDR2VLntQ?p=preview
Are you still experiencing this issue?

Again, using Chrome MacOS if you click on arrows Prev/Next at random, it will sometimes not move in the proper direction.

Still experience this issue here:
https://plnkr.co/edit/1QlfdfMKiYKIDR2VLntQ?p=preview
@sirvadim may also

Newest release of Swiper is helping the issue though (only able to replicate once, rather than multiple times in one session)

Less frequent it seems anyway :)


V3: OO continued

@alainjobart
generator kind of became very small, but I'm keeping it separate. I think it can accumulate some common wire-up code between various builders. It's renamed to jointab now.
I think next part will be separating out the engine. We'll see how that goes.

This change is

LGTM with one comment.


[Single-Step-Registration] Add "single-step" field to DBCbsd model

Add single-step mandatory field to DBCbsd with default value of False. Add migration to populate existing entities. Add migration tests

Done as part of #395


trellis: fix build for darwin

Motivation for this change
ZHF: #144627 @NixOS/nixos-release-managers
Simple install_name_tool shenanigans.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Don't have access to a macOS machine so I can't test this. Maybe some other trellis maintainer does?
Otherwise LGTM apart from missing double quotes around $f and $out/..., in case someone runs their nix store in a custom path with a space.

in case someone runs their nix store in a custom path with a space.

The horror of that possibility had never occurred to me.


SPY-1407: Ask DagScheduler to clean up executors which has never been used

We have observed excessive error message from our spark application driver. We have dynamic resource allocation enabled and set spark.dynamicAllocation.executorIdleTimeout = 600s
When an executor is created, but no tasks has been created on it. After 600 seconds, it will be killed. However, since no tasks has been launched on it, this executor doesn't exist in neither executorIdToRunningTaskIds no executorIdToHost. As a result it is not cleaned from the  BlockManagerMasterEndpoint blockManagerInfo map. In every GC, un-referenced RDDs, shuffle and broadcast will be cleaned, and all RPC endpoints from blockManagerInfo map will receive the requests. Because the executor is killed, but not cleaned up properly, the driver will receive an error like this ' org.apache.spark.network.client.TransportClient: Failed to send RPC<PHONE_NUMBER>728626490 to ip-xxx/xxx:33430: java.nio.channels.ClosedChannelException'.

JTTP

@AzeemJiva jenkins tests won't work

Yeah.  Code LGTM


Prepare the package for npm publishing

Pull Request Test Coverage Report for Build 19

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 17:
0.0%

Covered Lines:
73

Relevant Lines:
73

💛  - Coveralls


[Device / Advanced Search] Advanced search bar is not functional

OS: Windows 10
Pack: 3.1.0-Beta2
Pre-Conditions:-

Two Android devices should be enrolled
One device should be removed

The user should be able to see the devices filtered by using the options available in the advanced search bar. But currently, these filters are not working.
Steps:-

Select Removed option from status drop-down menu

Expected Results:-

Only the removed device should be listed

Actual Results:-

Both removed and active device are listed (screenshot)

@chamaraanu , @geethkokila , @madhawap : Lebels: High, 3.1.0-Beta2


sip.Transport | WebSocket closed unexpectedly

Describe the bug
When initiating calls [as soon as INVITE goes to server] I am getting WebSocket closed unexpectedly randomly. Like 4 of 10 calls. Tested with self-signed / my wildcard / letsencrypt cert.
Logs
Wed Sep 09 2020 12:16:14 GMT+0300 (GMT+03:00) | sip.Transport | WebSocket error occurred. logger-factory.js:85
Wed Sep 09 2020 12:16:14 GMT+0300 (GMT+03:00) | sip.Transport | WebSocket closed unexpectedly logger-factory.js:89
Wed Sep 09 2020 12:16:14 GMT+0300 (GMT+03:00) | sip.Transport | WebSocket closed wss://1xx.7x.7x.12:7443/wss (code: 1006) logger-factory.js:93

To Reproduce (if possible)
Just initiate a call.
Expected behavior
Observed behavior
Environment Information
0.17.1 sip.js
Freeswitch master branch
Mozilla 77.0.1
Google Chrome | 83.0.4103.106
Additional context
I have tested multiple freeswitch installations at different locations like digitalocean, my own network, without any NAT. also used freeswitch vanilla configuration.

Chrome is reporting that the websocket is closed unexpectedly and has an error code of 1006. This is outside the control of SIP.js and almost certainly caused by the Websocket server. In this case Freeswitch. I would recommend following up with Freeswitch.

hi i have the same problem, did i solve it?

Hello, did anyone solved this problem. I am getting this issue on android only, websocket never connects.


Add live preview

Need to update/improve HyperHost.

Deploy disabled for now. HyperHost is way too unstable compared to this now.


Allow teachers to run tests from their -labs repository

It looks like teachers can't create their own group and thus needs to create and join the course as a "simulated" student. This is inconvenient and unnecessary in most situations. We should allow teachers to run tests from a teacher's -labs repository also for group labs.
This is important for teachers debugging their tests.

Teachers should be able to create their own group. Teachers need to toggle the switch in the top navbar to view a course as student, then navigate to the /course/<id>/group page, or click the Create group button.

I've been thinking more about this one.
I'm leaning towards allowing single-member groups to push to non-group repositories (i.e., -labs repos), and have the tests executed, results recorded, and viewable in the frontend. The backend portion of this should be relatively easy to solve. Not sure how it would impact the frontend though; could you check @JosteinLindhom ?
However, we should define the rules more precisely, and think through how things should interact with #1053.
What should be the rules?

If a student pushes to a -labs repo for a group lab, and is member of a group, notify somehow (see below).
If a student (or group) pushes to a branch, should we run tests and record results? I think the simple answer is to ignore branches for both student repos and group repos. Only run tests for default branches.
We currently don't use the PR review feature, but as mentioned in #1053, we should run tests and record results on a branch if there is an associated PR.

Some potential solution ideas:

We could notify students by committing a file and commit message on their repo (and push to GitHub) to explain that they have pushed a change (related to a group lab) to their student repo, when the student is part of a group. (This could possibly trigger an email from GitHub as well...)
We could notify students in the frontend.
The concern with both solutions is that a student may drop out of a group, and thus continue to get notifications if the student switches to the student repo mid-semester after having been part of a group earlier.

One additional idea:

We could allow students to add a .quickfeed_ignore file to their repo, which would disable test runs. Probably not.

Thoughts?

#1123 makes submissions for group assignments made by users to their personal repositories viewable in the results view.


映射文档 No. 1

https://github.com/PaddlePaddle/docs/issues/5691

这个和 No.2 都需要修一下CI，参照官网安装pre-commit，进行格式检查~ https://www.paddlepaddle.org.cn/documentation/docs/zh/dev_guides/code_contributing_path_cn.html

@Tomoko-hjf
我之前本地pre-commit检查过了，CI rerun了好几次，每次都是
2023-03-15 13:08:46 Check the log at /root/.cache/pre-commit/pre-commit.log
2023-03-15 13:08:46 + git diff
2023-03-15 13:08:47 + commit_files=off
2023-03-15 13:08:47 + echo 'Please check the code style of docs/guides/model_convert/convert_from_pytorch/api_difference/functional/torch.nn.functional.grid_sample.md'
2023-03-15 13:08:47 Please check the code style of docs/guides/model_convert/convert_from_pytorch/api_difference/functional/torch.nn.functional.grid_sample.md
2023-03-15 13:08:47 + for file_name in `git diff --numstat upstream/$BRANCH| awk '{print $NF}'`
2023-03-15 13:08:47 + pre-commit run --files ../docs/guides/model_convert/convert_from_pytorch/api_difference/functional/torch.nn.functional.nll_loss.md
2023-03-15 13:08:47 [INFO] Initializing environment for https://github.com/psf/black.git.
2023-03-15 13:08:47 An unexpected error has occurred: CalledProcessError: command: ('/usr/bin/git', 'fetch', 'origin', '--tags')
2023-03-15 13:08:47 return code: 128
2023-03-15 13:08:47 expected return code: 0
2023-03-15 13:08:47 stdout: (none)
2023-03-15 13:08:47 stderr:
2023-03-15 13:08:47     fatal: unable to access 'https://github.com/psf/black.git/': Received HTTP code 503 from proxy after CONNECT

看样子是CI服务器代理有问题? 都是 fatal: unable to access 'https://github.com/psf/black.git/': Received HTTP code 503 from proxy after CONNECT

可以把本地 pre-commit 删掉重新安装一下试试吗，因为我们测试了一下，如果本地 pre-commit 过了的话，CI 也能过

@Tomoko-hjf 刚才rerun 了一下，OK了


How to make the firmware suitable for the PA rfx2401c

Hi Koenkk ,
I have a zigbee device  the hardware is PA rfx2401c + CC2530.
But I don't know how to fit the Z-Stack_Home_1.2 (default)  for the hardware.
Would you kindly give me some advice?
Thank you.

I don't provide direct support for building own firmware, please consult the TI forum: https://e2e.ti.com/


SWYH-RS config.toml location and simultaneous sessions.

Hello,
First of all thank you for everything,
I need to run two different sessions / configurations on the same windows system. (with autostart).
Individual configuration edit/save works fine with both running sessions working properly.  When the program is closed the last configuration runs (config.toml). Could there be a work around of the save location of the config.toml? Be on the same folder with the executable instead on the profile?
Thank you.

Hi,
Yes the instance feature is what it need, since I have two captrure sources, feeding two different ports.
The command line parameter is not working for me. Is it a working feature?
Thank you very much!

The command line feature is something that I will add in the next release to enable your usage scenario, hopefully this weekend.

I published a new 1.5.0 prererelease, does it solve your problem?

Thank you very much! Now I have two sessions starting up correctly with their settings!
It works great!!!


Closes #161

🛠 Fixes Issue
Closes #161
👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

@retrong  What is this Pr solving?


[NEMO-438] Create a Simulator for Simulating an Execution of an Execution Plan

JIRA: NEMO-438: Create a Simulator for Simulating an Execution of an Execution Plan
Major changes:

Implements a SimulationScheduler that schedules a physical plan
Implements a SimulatedExecutor that acts like an executor
Refactor components used by both BatchScheduler and SimulationScheduler to SchedulerUtils

Minor changes to note:

Refactors executor's ResourceSpecification to be able to be accessed in the driver as well
Enables IRDAG to get the input size of the workload
Added Job Duration to the Job Metric.

Tests for the changes:

SimulationSchedulerTest.java tests for the implementations

Other comments:

None

Closes #288

@johnyangk Can I ask for a review? Thanks!!

@johnyangk I've addressed your comments. Thanks! 😄

@johnyangk ping :)


How to access from endpoint /nodejs/query?

I want to serve Data Commons API in my local server. I'm following the method from Quickstart - Docs - Data Commons. I successfully load the website and even can search with query from web UI. The problem is when I tried to use it for datacommonsorg/llm-tools. I can not find what to replace _BASE_URL for the file data_gemma/datacommons.py. How to access Data Commons NL API using that tools? I don't find any documentation mentioning it.

@fahadh4ilyas were you able to resolve this or found any resource?


Can't create multi databases have same database name

I have multiple PostgreSQL databases with the same database name, when I create the first database is working fine. But when I create a new Database show error
Database Creation Error
A database with the same name already exists.
Version: 1.5.2

It was my mistake; The display name was auto generated is PostgreSQL, change it to something else, it works fine


detecting ceph upgrade should be executed only once

upgrade_flags.yml should be run once against each host

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

ok to test


MINOR: Update jdk and maven names in Jenkinsfile

They were renamed in Apache Jenkins.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test failures not related, merging to trunk.

@ijuma : Thanks for the PR. Merged to 2.7 branch too.


feat/Pet Care Calculator

Fixes Issue🛠

Closes #1650
Description👨💻

add a new calculator pet care calculator
Type of Change📄

[X] New feature (non-breaking change which adds functionality)

Checklist✅

[X] I am an Open Source contributor
[X] I have performed a self-review of my code
[X] My code follows the style guidelines of this project
[X] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

@Rakesh9100 PLEASE REVIEW ANSD MERGE MY PR

Hi @ANKeshri Please add empty field validations wherever required.

Hi @ANKeshri Please add empty field validations wherever required.

done

Rename your calculator folder to Pet-Care-Cost-Calculator and make the necessary changes @ANKeshri

@Rakesh9100 done


nixos/virt-manager: use dconf to autoconnect QEMU/KVM if GNOME is enabled

Description of changes
This uses the programs.dconf module to autoconnect QEMU/KVM for virt-manager if GNOME is enabled via services.xserver.desktopManager.gnome.enable. Doing this prevents the need to manually add a connection upon fresh install.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

You could probably remove the mkIf on gnome, remove the .enable on dconf and simply set the dconf settings. I think dconf is enabled by default when using gnome anyway and this also makes it work for people not using gnome but are using dconf.

You could probably remove the mkIf on gnome, remove the .enable on dconf and simply set the dconf settings. I think dconf is enabled by default when using gnome anyway and this also makes it work for people not using gnome but are using dconf.

Done! I didn't realize that DEs other than GNOME also use dconf. Now, the default behavior of this module is to add the dconf setting for virt-manager, and leave the actual enabling of programs.dconf itself to the desktop environments' modules.


fix: remove the duplicated worker name initializations

I think that we should rely in this case only on io.camunda.zeebe.spring.client.annotation.processor.ZeebeWorkerAnnotationProcessor.start as a single source of truth.
Closes #204

Thank @aivinog1 for looking into this - you are absolutely right (and I think we should probably also add a test). I was out last week - hence the delay...

Thank @aivinog1 for looking into this - you are absolutely right (and I think we should probably also add a test). I was out last week - hence the delay...


GeoLocation Hackfest

Issue: #PutYourIssueNumberHere

[ ] Tick here to confirm that you have run RunCodeFormatter.ps1

Description:
Briefly describe the work that has been done and how that differ from what was there before. Only a few sentences since reviewer should be able to find more information in the issue linked at the top.
Test:
Describe how a reviewer should go ahead and test the introduced change(s) and/or what to look for.
(Make sure that all above information is provided before submitting your pull request)

Hi @krist00fer, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor. If you're full-time or an intern, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Replacing with other pull request


GEOPY-855

**GEOPY-855 - **

Codecov Report

Merging #22 (be077b6) into develop (7296d35) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop      #22   +/-   ##
========================================
  Coverage    80.26%   80.26%
========================================
  Files           14       14
  Lines          988      988
  Branches       141      141
========================================
  Hits           793      793
  Misses         136      136
  Partials        59       59

Impacted Files
Coverage Δ

omf/fileio/geoh5.py
89.10% <100.00%> (ø)

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

This runs without error locally? Hmmmm... I'm going to try to reproduce it.