Create a Roadmap for SocketStream

We need to create a feature roadmap for SocketStream

What time on the 4th? Might be hard for me to do...

What time on the 4th? Might be hard for me to do...

(UTC) anytime 08:00 to 19:00

(UTC) anytime 08:00 to 19:00

The reason this is tricky is that I'm EST and I'm gone in the morning (which is prime time for you UKers). :+1: I can probably squeeze in an early AM Boston time (between 11:00 and 13:00 UTC), but after morning, I'm really only available from 18:30 UTC on.
(This should help in conversions http://www.worldtimebuddy.com/est-to-utc-converter.)
Sorry for my limited schedule. If this proves to be too difficult to go back and forth in this thread on times, we can always put together a doodle http://doodle.com/ and try and plan ahead based on that.

Would 1100 UTC work for everyone?

That works great for me. :+1:

Very cool !
On Sat, Jan 3, 2015 at 4:46 AM, Robert Hall<EMAIL_ADDRESS>wrote:

That works great for me. [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68580616
.

we can use https://appear.in/socketstream ... just "knock" (I locked it down). (Open to alternatives if people have preferences.)

Seems cool, speak tomorrow.

very good.
On Sun, Jan 4, 2015 at 1:29 AM, Paul Jensen<EMAIL_ADDRESS>wrote:

Seems cool, speak tomorrow.
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68613905
.

I have a microphone but no camera. (‘venerable’ 2009 Thinkpad X61)— might
be an issue. wasn’t able to connect to their server just now.
i’m on Skype as well wylie.joshuacullick or same in Gmail/hangouts, or
whatever else. hopefully Appear will work though— I’ll try again later.

On Sun, Jan 4, 2015 at 8:53 AM, Wylie JoshuaCullick <
<EMAIL_ADDRESS>wrote:

very good.
On Sun, Jan 4, 2015 at 1:29 AM, Paul Jensen<EMAIL_ADDRESS>wrote:

Seems cool, speak tomorrow.
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68613905
.

You can add ?video=off to the url in order to disable video (screen sharing will still work).

ah cool!
On Sun, Jan 4, 2015 at 11:27 AM, Paul Jensen<EMAIL_ADDRESS>wrote:

You can add ?video=off to the url in order to disable video (screen
sharing will still work).
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68626626
.

worked thanks!
On Sun, Jan 4, 2015 at 11:28 AM, Wylie JoshuaCullick <
<EMAIL_ADDRESS>wrote:

ah cool!
On Sun, Jan 4, 2015 at 11:27 AM, Paul Jensen<EMAIL_ADDRESS>wrote:

You can add ?video=off to the url in order to disable video (screen
sharing will still work).
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68626626
.

sure. Is this a hangout? I don't know where to join

http://appear.in/socketstream

supposed to be here :
https://appear.in/socketstream
On Sun, Jan 4, 2015 at 1:07 PM, Henrik Vendelbo<EMAIL_ADDRESS>wrote:

sure. Is this a hangout? I don't know where to join
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68629095
.

Have you chaps been able to join?

knocked but no answer
On Sun, Jan 4, 2015 at 1:18 PM, Paul Jensen<EMAIL_ADDRESS>wrote:

Have you chaps been able to join?
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68629399
.

Try again.

also go here: https://gitter.im/socketstream/socketstream

@kulicuu

Ok, we're going to try a google hangout, will send invites via email

cool
On Sun, Jan 4, 2015 at 1:27 PM, Paul Jensen<EMAIL_ADDRESS>wrote:

Ok, we're going to try a google hangout, will send invites via email
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68629613
.

I don't think I can get it to work. The WiFi here is pretty spotty, so not really a surprise.
My main wish for a roadmap is to have a builder based on latest Browserify and/or WebStack.
Second wish would be creating a working demo based on Express 4.

Hi Everyone, I'm closing this issue since we've created a more proactive process for meeting and going over roadmap. If you'd like to be on the roadmap contact list (for meeting times, notes, etc.) go ahead and leave a note here, and we'll figure out how to get contact info, etc.

Wylie: email<EMAIL_ADDRESS>btw:i’m hoping to have a fresh devEnv setup going next week, and I should
share insights with you then.

On Mon, Jan 5, 2015 at 4:19 PM, Robert Hall<EMAIL_ADDRESS>wrote:

Hi Everyone, I'm closing this issue since we've created a more proactive
process for meeting and going over roadmap. If you'd like to be on the
roadmap contact list (for meeting times, notes, etc.) go ahead and leave a
note here, and we'll figure out how to get contact info, etc.
—
Reply to this email directly or view it on GitHub
https://github.com/socketstream/socketstream/issues/468#issuecomment-68713127
.

@thepian Sorry you didn't get to be on the call, next time. As for your requests, the 1st wish is intended, but not easy to do (SS uses a modified early copy of Browserify, so this is going to be a bit tricky), and as for the 2nd wish, there is a plan to upgrade connect, which should allow using express 4 to happen.

@kulicuu @thepian @paulbjensen you guys want to try hitting another conversation any time soon? I'm on vacation next week—I might be able to find some time.

I'm away Wednesday until Monday, but this time I'm in Europe, so hopefully I will have reliable WiFi whenever it takes place.


VS2019 Cannot compile

I simply download and open the solution with Visual Studio 2019.
The solution does not compile.
Sdk dependencies cannot be loaded.
Maybe something changed in the layout of the project file.

Same error here

When running the project and requesting the installation of Xamarin.Google.iOS.SignIn, whether installing manually or with problem persists with an endless error, I followed several steps to fix by installing some packages manually and nothing resolves the bug stack. Does anyone know how to fix? I rolled back to version 4.4.0 and the bugs change, but still do not build. I am running the most current Xamarin packages.


Feature Request: Add Flink SQL support

Describe the Feature
Add Flink SQL format suppor.
Why do you want this feature?
In my users' usage scenario, the SQL language they use is Flink SQL.

Describe the Feature Add Flink SQL format suppor.
Why do you want this feature? In my users' usage scenario, the SQL language they use is Flink SQL.

老妹儿，同一个城市，哈哈哈。

Huge +1 for this as well

+1

+1


Added address type (kind)

Thank you for this PR. But this repo is read only. Make your PR to geocoders-php/geocoder and I'll be happy to review it.


fix: solid circles and polygons intersection

Description

This PR fixes polygons inside a solid circle and circles inside a solid polygon not being correctly detected.
(This relates to Flame's collision detection, not Forge2D)
Checklist

[x] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[x] I have followed the Contributor Guide when preparing my PR.
[x] I have updated/added tests for ALL new/updated/fixed functionality.
[x] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[x] I have updated/added relevant examples in examples or docs.

Breaking Change?

[ ] Yes, this PR is a breaking change.
[x] No, this PR is not a breaking change.

Related Issues

Could you add a test that verifies that it works too?

Yes working on that now. I figured the tests would be a separate PR rather than rolling it into this bug fix?


Slow training

I have RTX 3050 Laptop "plugged in"
but 1 epoch takes 3 minutes and my dataset's audio less than 10 minutes

Speed heavily depends on both GPU vRAM and speed, and also the amount of data you're training it on. Can you provide the command prompt picture?


Add support for && and || operators.

Replace usages of & and | by && and ||
Add operators to Appendix 2
Estimated time: 30mins

@0x471 can you finish this over the weekend?

@0x471 can you finish this over the weekend? otherwise I'll take it, it's just one line to add to the appendix

I apologize, but I'm unable to complete it due to my schedule

sure, no problem!


rusoto_core build failure on MacOS 12.6.1 with Apple M1 Max chip

Environment
Delta-rs version: latest from main
Binding: n/a
Environment:

Cloud provider: n/a
OS: MacOS 12.6.1 (Monterey) Apple M1 Max silicon
Other:

Bug
What happened: cargo build failed
What you expected to happen: cargo build should build the rusoto_core binary and continue with the rest of the build
How to reproduce it: git clone https://github.com/delta-io/delta-rs.git; cargo build
More details:
% cargo build
   Compiling pyo3-build-config v0.17.2
   Compiling zstd-safe v5.0.2+zstd.1.5.2
   Compiling zstd-sys v2.0.1+zstd.1.5.2
   Compiling lz4-sys v1.9.4
   Compiling object_store v0.5.1
   Compiling rusoto_core v0.48.0
   Compiling blake3 v1.3.1
   Compiling glibc_version v0.1.2
   Compiling openssl-src v111.22.0+1.1.1q
   Compiling pkg-config v0.3.25
error[E0252]: the name `tls` is defined multiple times
  --> /Users/bucchere/.cargo/registry/src/github.com-1ecc6299db9ec823/rusoto_core-0.48.0/src/lib.rs:25:5
   |
23 | use hyper_rustls as tls;
   |     ------------------- previous import of the module `tls` here
24 | #[cfg(feature = "native-tls")]
25 | use hyper_tls as tls;
   |     ^^^^^^^^^^^^^^^^ `tls` reimported here
   |
   = note: `tls` must be defined only once in the type namespace of this module
help: you can use `as` to change the binding name of the import
   |
25 | use hyper_tls as other_tls;
   |     ~~~~~~~~~~~~~~~~~~~~~~

   Compiling lz4 v1.24.0
   Compiling deltalake v0.4.1 (/Users/bucchere/lark/delta-rs/rust)
   Compiling atty v0.2.14
   Compiling glob v0.3.0
   Compiling termcolor v1.1.3
   Compiling zstd v0.11.2+zstd.1.5.2
error[E0599]: no function or associated item named `new` found for struct `hyper_rustls::HttpsConnector` in the current scope
   --> /Users/bucchere/.cargo/registry/src/github.com-1ecc6299db9ec823/rusoto_core-0.48.0/src/request.rs:224:41
    |
224 |         let connector = HttpsConnector::new();
    |                                         ^^^ function or associated item not found in `hyper_rustls::HttpsConnector<_>`

error[E0599]: no function or associated item named `new` found for struct `hyper_rustls::HttpsConnector` in the current scope
   --> /Users/bucchere/.cargo/registry/src/github.com-1ecc6299db9ec823/rusoto_core-0.48.0/src/request.rs:244:41
    |
244 |         let connector = HttpsConnector::new();
    |                                         ^^^ function or associated item not found in `hyper_rustls::HttpsConnector<_>`

   Compiling pin-project-internal v1.0.12
Some errors have detailed explanations: E0252, E0599.
For more information about an error, try `rustc --explain E0252`.
error: could not compile `rusoto_core` due to 3 previous errors
warning: build failed, waiting for other jobs to finish...

Duplicate of #677.
We should fix this, I've just never been successful at it and tried a couple times.
The error originates from the aws/delta-checkpoint folder, so if you aren't working on that component you can simply build from one of the subdirectories instead and it should work.

Thanks and sorry for the dupe.

Related ticket is fixed, closing


Add documentation for cupyx.optimizing.optimize

Close #3383.

Could you also add a new docs page, like docs/source/ereference/optimize.rst?

PTAL.

pfnCI, test this please.

LGTM!

Jenkins CI test (for commit fd4150d4aba3cf73c1be087b236b86b4e33a92af, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit fb65cfcdd7c684c37785caaed0f50306e9075014, target branch master) failed with status FAILURE.

Not sure if related: https://github.com/sphinx-doc/sphinx/issues/7807. Making sphinx<=3.0.4 would likely fix it.

pfnCI, test this please.

Jenkins CI test (for commit fb65cfcdd7c684c37785caaed0f50306e9075014, target branch master) failed with status FAILURE.

Jenkins, test this please.

Still not working...I guess you need to add optimizing to docs/source/reference/ext.rst?

Jenkins CI test (for commit 4740d88cc5c4d57d903422b7e0dd21666cf25ca3, target branch master) failed with status FAILURE.

cupyx.optimize was not listed in setup.py. @asi1024 will fix it.

This is also needed https://github.com/cupy/cupy/pull/3427

Jenkins, test this please.

Jenkins CI test (for commit 53e3dbbce2817ce5fbc622a9e1134f0c6f4fa772, target branch master) failed with status FAILURE.

Merged https://github.com/chainer/chainer-test/pull/578 for the doctest.
Jenkins, test this please.

Jenkins CI test (for commit 53e3dbbce2817ce5fbc622a9e1134f0c6f4fa772, target branch master) succeeded!


[Firebase messaging] Deprecated API usage or overrides warning

With firebase_core: ^0.4.0+9 and  firebase_messaging: ^5.1.5 as dependancies, Am getting the following warnings on build.

<flutter_path>/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-5.1.5/android/src/main/java/io/flutter/plugins/firebasemessaging/FlutterFirebaseMessagingService.java uses or overrides a deprecated API.

and

<flutter_path>/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-5.1.5/android/src/main/java/io/flutter/plugins/firebasemessaging/FirebaseMessagingPlugin.java uses unchecked or unsafe operations.

i use this in pubspec.yml
firebase_messaging:
    git:
      url: git://github.com/FirebaseExtended/flutterfire.git
      ref: 3ab5cc0d3767860d3c6d4c46aee84c7b31965172
      path: packages/firebase_messaging

it fixes /FlutterFirebaseMessagingService.java uses or overrides a deprecated API. but not /FirebaseMessagingPlugin.java uses unchecked or unsafe operations.
#136

@fauzipadlaw the /FirebaseMessagingPlugin.java uses unchecked or unsafe operations. fix has been pushed
ref : c0f8aa0e3178b2b7a44f2da2ebb2e768c51d3c21

@ashutoshkmr though it's just suppressing the warning, thank you so much!  Thanks for the PR.

@ashutoshkmr though it's just suppressing the warning, thank you so much!

Its actually a false warning, the value sent from dart code is of type int but its serialized hence it is type casted on native side which says its unsafe

I have the same problem. But i didn't fix the problem.
Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FlutterFirebaseMessagingService.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FirebaseMessagingPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.

I have the same problem. But i didn't fix the problem.
Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FlutterFirebaseMessagingService.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FirebaseMessagingPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.

The PR hasn't  merged yet
for now you can use this
firebase_messaging:      git:       url: git://github.com/FirebaseExtended/flutterfire.git       ref: c0f8aa0e3178b2b7a44f2da2ebb2e768c51d3c21       path: packages/firebase_messaging
or wait for the PR to merge

I have the same problem. But i didn't fix the problem.
Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FlutterFirebaseMessagingService.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: C:\Users\ASUS\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-5.1.5\android\src\main\java\io\flutter\plugins\firebasemessaging\FirebaseMessagingPlugin.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details.

The PR hasn't merged yet
for now you can use this
firebase_messaging: git: url: git://github.com/FirebaseExtended/flutterfire.git ref: c0f8aa0e3178b2b7a44f2da2ebb2e768c51d3c21 path: packages/firebase_messaging
or wait for the PR to merge

It works for debug mode but it's not working for flutter build apk

Solution => https://stackoverflow.com/a/55399559

@ashutoshkmr I'll close this issue once your PR is merged then! Thanks for the PR.

The Pr is merge . You can close this issue now :)


run_qemu.sh: fix the issue related to uncompressing of ZST file

Use zstd to uncompress file with .zst extension, then call tar
command to untar it.
Signed-off-by: Jonathan Zhang<EMAIL_ADDRESS>

You can pipe from zstd to avoid leaving an uncompressed copy on the disk.

You can pipe from zstd to avoid leaving an uncompressed copy on the disk.

Makes sense. I updated the patch to use "tar -I" to define how it should be decompressed.

Just for the record: tar gained zstd support 4 years ago in 1.31, -I zstd does the trick on versions prior to that.

@jonzhang-fb I'm happy to add -I zstd if it helps support distros with older tars.

Hi Vishal, I do not understand why github says I closed this PR. I do not intend to do so. I am not experienced with github PR system however. I have not found a way to reopen it. Maybe you could reopen it and merge it?

The "reopen with comment" button made the difference. ;-)


How to document bindist requirements

Imo, these should be documented upstream and we should point users there (in README and in case of failure): https://www.haskell.org/ghc/download_ghc_8_6_2.html#binaries
Related:

https://github.com/haskell/ghcup/issues/34
https://github.com/haskell/ghcup/issues/46
https://github.com/haskell/ghcup/issues/48

@hvr any progress here? Have you set something up?

ghc is now at gitlab: https://gitlab.haskell.org/ghc/ghc/wikis/index
So we could document there.

I still think that ghcup should check for easy to check things, e.g. today on #haskell
11:54  Peppep So now it installed ghc, but when trying to run ghci I get "can't load .so/.DLL for: libgmp.so (libgmp.so: cannot open shared object file: No such file or directory)"
11:58  merijn Peppep: How did you install it and which distro is this?
11:58  Peppep merijn: ghcup on Ubuntu 19.04 beta

I cannot recommend ghcup to the new people, if they need to read documentation to make complete installation.

should check for easy to check things

How is that easy to check? You would have to replicate what e.g. autotools do... actually compile a minimal C program to test linking.

 % dpkg -s libgmp-dev
Package: libgmp-dev
Status: install ok installed
...

On Debian derivatives

And on every other? What do you do on gentoo, exherbo, slackware, FreeBSD, ...
What about different ubuntu versions? Packages may have different names.
Invoking package manager functionality is a non-goal in my opinion.

Invoking package manager to me is still a no go in my opinion:

package managers are at the core of a users system, they may have triggers (e.g. mine does, I would not want any application to invoke it, ever)
invoking a PM may depend on the distro version, configuration and even require sudo rights. It is unreliable and dangerous. And sudo is not an option.

However, I thought about it and this is what we could do:

have a ghcup print-system-requirements (or similarly named) command (optional, will not be run automatically ever)
have haskell-bootstrap invoke this command and require further user confirmation before proceeding

ghcup print-system-requirements would work this way:

figure out the distro
download a file from this git repository corresponding to the current distro, e.g. .requirements/ubuntu
print the contents of the file

If the distro is unknown it will print a default requirements file with the upstream package names instead of distro specific package names.
Caveats:

it will only care about the recommended GHC version and print whatever this one needs
it will only care about the "latest" or "most common" distro version, there will not be a per-GHC-per-distrover mapping
as such the information will never be 100% accurate and ghcup will not rely on this subcommand to function

https://github.com/haskell/ghcup/pull/84


Add modifier keys to every keyboard and mouse input

Closes #237

This change is

I've modified InputPreprocessorMessage so the messages also carry information about modifier keys currently pressed. Should it be exposed through the EditorTestUtils in test_utils.rs too? Right now, EditorTestUtils will just assume no modifier keys are pressed.

I've modified InputPreprocessorMessage so the messages also carry information about modifier keys currently pressed. Should it be exposed through the EditorTestUtils in test_utils.rs too? Right now, EditorTestUtils will just assume no modifier keys are pressed.

That should be fine, unless you want to take it upon yourself to write tests emulating the previous bug when a user Alt+Tabbed out of the window to ensure it stays functional. If you're the kind of person who likes to write tests, that would be wonderful if you want to take it upon yourself to go wild with tests. But I don't like to require people go through what is often a hassle except in areas of high likelihood of breakage.

I don't mind writing tests, so long as I know what I'm testing... In this case, I think it would be to test that the InputPreprocessor updates its KeyStates taking into account the modifier keys stuff I added. Should I add a test module in input_preprocessor.rs?

Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @AyeTbk)

Certainly, that sounds like an excellent plan.


test: 💍 adding unit test

What does this PR do?
unit test ReactTagify component
List of task completed

[x] update dependencies to get jest running with no errors
[x] create unit test for the ReactTagify component

How can this be tested?
yarn test or npm test
Additional info

I had to update some dependencies in order to get jest running without outdated dependencies errors, so kindly make sure that the build process is working as expected.

Add more info if any. eg fixes #.
closes #3

Thanks @theashraf for Your Great Commit...
It's Will Be Very Useful... Thanks


Gravitational acceleration component in local blade sectional accelerations - Feature request

Is your feature request related to a problem? Please describe.
Gravitational acceleration component is not included in the local blade flapwise and edgewise accelerations (e.g. Spn9ALxb1 , Spn9ALyb1). The blade (structural) accelerations are computed relative to the inertial frame; they do not include the gravity effect. This true for both Elastodyn and BeamDyn.
When comparing measured accelerometer data from wind turbine blades to OpenFAST simulations, it would necessary to include the graviational acceleration component as they are physically present in the field measurements.
Describe the solution you'd like
As an option, output the accelerations including gravity.
Describe alternatives you've considered
Let the user define the frame of reference overwhich they desire to output the blades acceleration signals.
Additional context
N/A

Dear @jjonkman,
may I please come back to this issue. Do you know the timeline when this might be implemented?
thanks a lot and best regards,
Imad

There is a pull request in the queue as of this morning to add these channels to ElastoDyn: #1760.  I'm not sure at the moment which channels have been added as I have not had a chance to review it.

This is addressed in the v4.0.0 release (#2586)


Service does not work

The UI is currently being worked on.But when clicking the service from the Stores menu and System menu,error message shows like following message
Cannot GET /databox_syslog/cat
Cannot GET /databox_app-server/ui

syslog has been removed and the UI for the app server is available on  http://<IP_ADDRESS>:8181


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter semp for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.semp
   -
:thumbsup: No errors found
:thumbsup: No warnings found
SUGGESTIONS:

[ ] :pushpin: [S522] Please consider migrating to admin 5 UI (jsonConfig).

Please review issues reported and consider fixing them as soon as appropiate.
Suggestions reported by repository checker should be reviewed. Suggestions can be ignored due to a decision of the developer but they are reported as a hint to use a configuration which might get required in future or at least is used be most adapters. Suggestions are always optional to follow.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Sun, 08 Sep 2024 06:48:14 GMT

Issue outdated due to RECREATE request. Follow up issue #316 has been created.
This issue will be closed.
your
ioBroker Check and Service Bot


Access timer value

If I wanted to show a progress bar how could I use the timer value to show the countdown before disappearing?
Here's my bootstrap implementation (bootstrap-vue):
<notifications group="alerts"
                   classes="notification"
                   animation-type="velocity"
                   :max="3"
                   position="top right">
      <template slot="body" scope="props">
        <b-alert :show="props.item.duration || 3000"
                 dismissible
                 :variant="props.item.type || 'info'"
                 @dismissed="props.item.timer=0">
          <p>{{props.item.text}}</p>
          <b-progress :variant="props.item.type"
                      striped
                      :animated="true"
                      :max="props.item.duration"
                      :value="props.item.timer"
                      height="4px">
          </b-progress>
        </b-alert>
      </template>

Can I get any help or are we closing without a response?

Ah sorry, I thought it was resolved.
It does not seem to be a plugin's issue and it is up to you how you want to implement it.
Currently, the plugin uses timeout for hiding messages. What you need though is intervals to show time changes every second (or whatever the time-spans are there in your use case).
Other than that I am not sure if I can help you and maybe stack overflow will be a more appropriate place for asking these type of questions.
Thanks

The timer value is internally exposed in this component though. I filed the ticket once I figured that was the case...
Would a PR exposing it be accepted?

Depends on what you will do, I cannot say up front.


Extract ObjectRenderer from RenderTargetTexture

The aim of this PR is to extract from RenderTargetTexture what is related to rendering only, and to leave specifically in RenderTargetTexture what is related to output texture management. This way, I can use ObjectRenderer in the frame graph, as the texture management part of RenderTargetTexture is of no use.
Firstly, ObjectRenderer can be changed to whatever name suits you :)
Secondly, the PR should be a non-breaking change (if it is, it's a bug!), which is why:

I have two functions prepareRenderList and initRender that you have to call one after the other. I'd have preferred to call prepareRenderList inside initRender and have only the latter method public, but in the existing RenderTargetTexture function there's notification of the onBeforeBindObservable observable between these two blocks of code, and it doesn't make sense to have this observable in the ObjectRenderer class (because this class isn't concerned with texture management).
There's a skipOnAfterRenderObservable parameter to the ObjectRenderer.render method, so as not to notify the onAfterRenderObservable at the end of ObjectRenderer.render. This is because in RenderTargetTexture, this observable is notified in the Engine.unBindFramebuffer callback: notifying it at the end of ObjectRenderer.render would have been a breaking change.

The expected usage is as follows (if you use the class directly - it's hidden from you if you use RenderTargetTexture):

call prepareRenderList() (optional, you can avoid this call if you know that renderList is up to date)
call initRender(viewportWidth, viewportHeight).
call render(layerOrFaceIndex) as many times as necessary (for a cube texture, you'll want to call it 6 times, each time linking the right face of the cube to the output texture)
call finishRender().

Once again, the names of these methods can be changed!

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15821/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15821/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15821/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15821/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15821/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15821/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15821/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15821/merge#BCU1XR#0

Visualization tests for WebGL 1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15821/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

LGTM just wondering if some of the indirections can be avoided ?

I'm not sure how to avoid them?


[CI:DOCS] Change Varlink systemd unit to use system service

We completely removed podman varlink, which broke the systemd unit file used by the Varlink code. Change that to use the new podman system service --varlink command which replaced it.
Also needs a slight reorder of args to make things work happily on my system.

@rhatdan @giuseppe @TomSweeneyRedHat @vrothberg PTAL, need this in to cut RC6 for the Cockpit team

CI is green, anyone want to hit this?

LGTM

/lgtm
/hold

/hold cancel


listeners: filter chain matches for source_type. Partially fixes #4535

Description:
Add filter chain match for source_type. Possulbe options are
ANY_HOST(default)
SAME_HOST
EXTERNAL_HOST
This allows for explicitly specifying local connectivity detection, which is needed in specific use cases.
Risk Level: Low
Testing:
Unit tests.
Docs Changes:
Inline proto comments
Release Notes:
Optional Fixes #4535 (partially)

May be I am missing something elementary here.
I have an application that binds itself to <IP_ADDRESS>. And an Envoy listening on <IP_ADDRESS> on the same machine. if this app calls Envoy, will the socket's remote address be <IP_ADDRESS> or will it be <IP_ADDRESS>? If the kernel is going to automatically set the socket's remote address to <IP_ADDRESS>, then what you have is great.
What happens on machines that have multiple network interfaces, and envoy is bound to <IP_ADDRESS>:80 and caller binds to one of network interfaces on the machine? Same as above?
What happens if envoy binds to one of the network interfaces (say <IP_ADDRESS>) and the caller binds itself to another interface (eth2 on <IP_ADDRESS>) on same machine, and makes the call?

This feature will work perfectly fine with the source ip match when implemented. It will be able to narrow down on the SAME_HOST and EXTERNAL_HOST. It will will allow to distinguish for example (SAME_HOST on <IP_ADDRESS>) from (EXTERNAL_HOST on <IP_ADDRESS>) from (SAME_HOST on 127.**)

Can you give an example?
If I say source type same host and source IP as <IP_ADDRESS> (an external host), will it not match/will it match?
If I say source type is external host and source IP as <IP_ADDRESS>, what happens?
And if you see where I am going, my point was not about making the code work. The code can always be made to work :). My point was about causing additional confusion to end users, with two conflicting configurations (same host in type and a random IP in source IP).
So at the very least, make it a oneof between the source type and the source IP.

Yeah, I guess at the very least we might want same subnet semantics etc. Couldn't we create a bunch of FilterChains with source==dest IP ranges to achieve this today?

@rshriram

May be I am missing something elementary here.
I have an application that binds itself to <IP_ADDRESS>. And an Envoy listening on <IP_ADDRESS> on the same machine. if this app calls Envoy, will the socket's remote address be <IP_ADDRESS> or will it be <IP_ADDRESS>? If the kernel is going to automatically set the socket's remote address to <IP_ADDRESS>, then what you have is great.

If a client specifically binds to one network interface address and connects to Envoy bound on a different interface then SAME_HOST check will not catch it but I have almost never seen clients explicitly binding to an interface before connection. And this would mean that the client has explicitly bound to the wrong interface. The connection would need to be routed in this case.

What happens on machines that have multiple network interfaces, and envoy is bound to <IP_ADDRESS>:80 and caller binds to one of network interfaces on the machine? Same as above?

Same as above this means the client has explicitly bound to the wrong interface before opening the connection. The network stack auto bind would always bind to the same interface and IP as the destination.
What happens if envoy binds to one of the network interfaces (say <IP_ADDRESS>) and the caller binds itself to another interface (eth2 on <IP_ADDRESS>) on same machine, and makes the call?
Same as above. All the examples cover the case where the client has explicitly bound to an interface/IP before connecting which almost never happen in the TCP world. This might happen over UDP.
All the above cases can be covered when the source IP match is added on top of this functionality. But they need to be handled explicitly.
This functionality cover the common dynamic case where the client resolves the destination IP using a discovery service (DNS or similar) and then connects to the IP normally leaving the OS to auto bind the client side of the socket. If the destination service happens to be running on the same machine as the client then the SAME_HOST check will be true and a different routing config can be applied. In our case we want such connections to remain over HTTP instead of redirecting them to HTTPS.

This feature will work perfectly fine with the source ip match when implemented. It will be able to narrow down on the SAME_HOST and EXTERNAL_HOST. It will will allow to distinguish for example (SAME_HOST on <IP_ADDRESS>) from (EXTERNAL_HOST on <IP_ADDRESS>) from (SAME_HOST on 127.**)

Can you give an example?
If I say source type same host and source IP as <IP_ADDRESS> (an external host), will it not match/will it match?

SAME_HOST matches if the source and destination addresses are the same which can happen only if the client is on the same machine. If you specify SAME_HOST and source_ip which does not exist on the machine then the match will always fail. Which is expected and should not be confusing.

If I say source type is external host and source IP as <IP_ADDRESS>, what happens?

If you specify EXTERNAL_HOST and source IP <IP_ADDRESS> the match will succeed for the case when the client has bound explicitly to <IP_ADDRESS> and connected to the <IP_ADDRESS> local address. (one of the cases you mentioned in the other comment)

And if you see where I am going, my point was not about making the code work. The code can always be made to work :). My point was about causing additional confusion to end users, with two conflicting configurations (same host in type and a random IP in source IP).
So at the very least, make it a oneof between the source type and the source IP.

If we make it oneof then the case just above will not be possible to express. When the client has bound to <IP_ADDRESS> and connected to <IP_ADDRESS>. I do not feel to strongly about this case but it might be better to have it for completeness.
If you feel it would be less confusing I am fine with renaming SAME_HOST to something else (SAME_INTERFACE). We might need to have longer explanation on when this would be useful.

@htuch

Yeah, I guess at the very least we might want same subnet semantics etc. Couldn't we create a bunch of FilterChains with source==dest IP ranges to achieve this today?

We cannot cover the case with a bunch of source == dest IP ranges because in most cases you do not know all the interfaces and IP addresses on the machine and how they can change over time. And there is no reliable way to monitor IP and interface changes on the machine.

@nickolaev Are you still working on this and do you plan to also support the change for source_ips to work ala https://github.com/envoyproxy/envoy/issues/4457

@cmluciano yes, I am working and intend to finalise this PR. As for source_ips I have no particular plans today.

@PiotrSikora thanks, all fixed.

@htuch can we merge this or are we waiting for another review?


Kafka Broker should use Mesos Slave's hostname as host.name and advertised.host.name?

I hit an issue producing a message on the Kafka Broker cluster on mesos, after I started my scheduler process using Marathon and created Kafka Broker Clusters using the REST API.
The issue is like:
Error while fetching metadata [{TopicMetadata for topic mytopic ->
No partition metadata for topic mytopic due to kafka.common.LeaderNotAvailableException}] for topic [mytopic]: class kafka.common.LeaderNotAvailableException  (kafka.producer.BrokerPartitionInfo).
After debugging it, I realized the problem is related to Kafka Broker started with the mesos slave VM's hostname not the Mesos slave's hostname ( changed to IP address in my environment).
I made the following change to workaround the issue.:
diff --git a/src/scala/ly/stealth/mesos/kafka/Scheduler.scala b/src/scala/ly/stealth/mesos/kafka/Scheduler.scala
index b34829e..d9eec9f 100644
--- a/src/scala/ly/stealth/mesos/kafka/Scheduler.scala
+++ b/src/scala/ly/stealth/mesos/kafka/Scheduler.scala
@@ -61,7 +61,9 @@ object Scheduler extends org.apache.mesos.Scheduler {
val overrides: Map[String, String] = Map(
"broker.id" -> broker.id,
"port" -> ("" + port),

   "zookeeper.connect" -> Config.kafkaZkConnect

   "zookeeper.connect" -> Config.kafkaZkConnect,

   "host.name" -> offer.getHostname,

   "advertised.host.name"->offer.getHostname
 )

 val options = Util.formatMap(broker.effectiveOptions(overrides))

And comments? Thanks.
Yang.

Hi yanglei99,
thank you for posting your problem and providing a fix.
Right now the workaround is to use broker options like --options=host.name=,advertised.host.name= (options param in REST) during broker add|update.
Regarding your fix. I need to make a decision about applicability of it. The policy is following:

for any specific use case any option could be overriden by --options (options param in REST);
defaults should be provided in code only for a generic (70%+) usecase;

So the question is: is your usecase generic enough to support it in the code?
To clarify this I need to know more about your environment:

how cluster is ran: in vagrant, in AWS, in VMS, etc.
how many and what public interfaces do the master|slaves have? What is chosen by Kafka Broker by default?
how does Mesos master knows where the correct (public accessible) interface is? What are the guarantees that offer.getHostname would return the correct interface? i.e is it safe to rely on offer.getHostname in environments with multiple interfaces?

Sorry, for the pedantry, but this info is really important in order to make a decision about integrating your fix.

Hello dmitrypekar,
Thank you for your recommendation on using --options!
However I still think using mesos-slave's announced hostname is a better approach. As you will leave the decision on which network interface (or hostname ) to use to the people setting up mesos cluster.  And it will also make it consistent on Kafka side, as you do show the mesos-slave offer's hostname which is in the form of ip address for my environment.
To answer your questions:

how cluster is ran: in vagrant, in AWS, in VMS, etc.

Softlayer

how many and what public interfaces do the master|slaves have? What is chosen by Kafka Broker by default?

Have one public ip and one private ip on each VM (master and slave).  I define the one I use in mesos-slave /etc/mesos-slave/ip and /etc/mesos-slave/hostname. Kafka Broker does show the right ip when using "kafka-mesos.sh status" as you get it from mesos's offer. It is the Kafka (shown in Broker's log) that used the VM's hostname not mesos slave ip for communication.

how does Mesos master knows where the correct (public accessible) interface is? What are the guarantees that offer.getHostname would return the correct interface? i.e is it safe to rely on offer.getHostname in environments with multiple interfaces?

It is a good question. I think it is down to what the contract is between mesos(slave) and framework executor. First,  mesos master and slave do have contract in announcing what hostname(or ip) to use for their communication, configurations defined under /etc/ mesos-slave. Now, about the contract between executor and slave,  I have assumed by default it is what the salve uses and passed by offer. But then I may have missed the reason we choose not to do so.
Really appreciate your thoughts and help!
Yang Lei

Hi yanglei99,
Thank you very much for a clarification.
I've done several tests and now I see that your changes absolutely makes sense as a defaults except for 'advertised.host.name', which by default in Kafka equals to 'host.name'. So I've added host.name=offer.getHostname as default option which could be overridden if required.
The changes are available in branch kafka-default-bind-addr, which will be merged by Joe Stein in soon (in day or two). You can still checkout a branch and use it directly if required.
Please also comment, if setting 'advertised.host.name' as a default is required in your env. I think, that everything should work wo those option. If not - let's discuss that. Maybe it is correct to add those option to the defaults too.

Thanks dmitrypekar!
Yes, I know the two settings are kind of redundant. :-) As advertised.host.name should derive from host.name. I will give it a try again and let you know if it does not work.
Thanks again.
Yang

The patch lgtm, I merged this to master.
The host.name is how the broker ultimately binds to that address.
The advertised.host.name is what the broker says to connect to.
Same with host.port and advertised.host.port respectively.
So, the broker can bind on <IP_ADDRESS> but say connect to me on <IP_ADDRESS> or whatever.
Binding on the slave offer's hostname does makes sense. This however, may not be routable to producer and consumers and that value will just have to be updated through the CLI which can can updated through options in cli or rest api.


[Documentation] Automate a Github wiki from repo READMEs

Objective
Create a Github Wiki for Pocket V1
Origin Document
The main page for https://github.com/pokt-network/pocket contains links to several READMEs spread through the network.
There are a few problems with the current documentation:

Some READMEs are still hidden throughout the repo
Getting a high-level view of all the documentation is difficult
There is no summary of the README
Finding the appropriate / correct README is hard

Starting point
A good starting point would be to view the structure of https://github.com/pokt-network/pocket.
In order to find all the existing READMEs, one could execute find . -name "README.md" | grep -v "vendor" which outputs the following:
./shared/types/genesis/README.md
./shared/README.md
./docs/roadmap/README.md
./docs/development/README.md
./docs/deps/README.md
./docs/build/README.md
./README.md
./persistence/README.md
./persistence/pre_persistence/README.md
./p2p/pre2p/README.md
./p2p/README.md
./utility/doc/README.md

References
A good example or reference of this is the RockdDB Wiki Page, which currently looks like this:

Goals / Deliverables

[ ] Github Wiki is added to the core repo
[ ] A process is defined on how to keep it up to date (this can be automated or defined via a manual set of step)

Optional Goals

[ ] Provide a summary of each README

Non-goals

Adding new documentation to the rest of the repo

Creator: @Olshansk
Co-Owners: ???

Wiki: https://github.com/profishional/pocket.wiki.git
Context
Starting the conversation to double check the direction.
I copied the structure from the READMEs over with some formatting changes taken from RocksDB. All internal links of the READMEs have also been updated, Subject to a more careful review as we get closer to the final implementation.
Deliverables

Github Wiki is added: I cannot do this without access to "Settings" but the steps would be:

1. Enable wiki in the core repos setting
2. Clone the wiki git
3. Reset remote to pocket repo
4. Clone Wiki from Profishional account (https://github.com/profishional/pocket.wiki.git)
5. Copy pasta from profish to pocket wiki
6. Push Pocket wiki

more info: https://stackoverflow.com/questions/10642928/how-to-pull-request-a-wiki-page-on-github

Maintenance process: I would say making the wiki the main source for the content then simplifying and pointing to the wiki from all the previous READMEs if they are going to be preserved. This seems to be inline with RocksDB (unless I'm missing some automation script in their workflow)

Optional goal

Summary of each README: I have added some brief summaries to the Guides. Lmk if that is the right direction then I can try to add more.

Wiki: profishional/pocket.wiki.git

I don't have access to this. Should I?

I copied the structure from the READMEs over with some formatting changes taken from RocksDB. All internal links of the READMEs have also been updated, Subject to a more careful review as we get closer to the final implementation.

👍

Github Wiki is added: I cannot do this without access to "Settings" but the steps would be:

Enable wiki in the core repos setting

I just enabled it. Let me know if you can see & edit.

Clone the wiki git
Reset remote to pocket repo
Clone Wiki from Profishional account (https://github.com/profishional/pocket.wiki.git)
Copy pasta from profish to pocket wiki
Push Pocket wiki
more info: https://stackoverflow.com/questions/10642928/how-to-pull-request-a-wiki-page-on-github

Makes sense to me, but would like to review it first :)

Maintenance process: I would say making the wiki the main source of content that is updated, then simplifying and pointing to the wiki from all the previous READMEs if they are going to be preserved. This seems to be inline with RocksDB (unless I'm missing some automation script in their workflow)

Here I may be misaligned. Are you suggesting that we won't have individual READMEs at all anymore?

My bad, not sure what I was copy pasting before.
I have edited the initial comment. Here are the links reposted:
Main repo: https://github.com/profishional/pocket
Wiki: https://github.com/profishional/pocket/wiki
Wiki git: https://github.com/profishional/pocket.wiki.git

Wiki git: profishional/pocket.wiki.git

This is still a dead link for me

I can transfer everything across after review. Without the above process.

So are Wiki's just free for all to modify?

Wiki: profishional/pocket/wiki

This is 🔥

Question:
We recently add, for example, this markdown file:
https://github.com/pokt-network/pocket/blob/main/shared/docs/flows/AppHash.md
What's the process of including it in the wiki too?

Wiki git: profishional/pocket.wiki.git
This is still a dead link for me

This is the cloning link for the procedure described in the first comment.

So are Wiki's just free for all to modify?

You can limit it to contributors only in the settings. But surprisingly the rocksDB is open for anyone to edit, maybe by mistake   because I don't think it creates a PR or a notification (jus a version history) if it's edited. So best to restrict it.
reference: https://docs.github.com/en/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis

Question:
We recently add, for example, this markdown fil:
https://github.com/pokt-network/pocket/blob/main/shared/docs/flows/AppHash.md
What's the process of including it in the wiki too?

From what I see in RocksDB:

no readmes just wiki page for technical specs
short readme for shell commands and maybe a wiki page

So I would make the AppHash.md we short i.e.:
This repo is for x.
This is how to run it - if needed.
It relates to y and z.
For more info to the the wiki page _here_.

The wiki page would technical specs and more context (if possible)
These are my guesses tho, with my understanding I'm not sure what the absolute best practice would be.

I noticed some errors in the naming and content menu since I did a lot of copy pasting! Fixed now but will review properly as we get closer to final state.

There was one thing I wanted to double check.
I do want to keep the fact that our READMEs are version controlled (and require reviews and such). Will this not be possible once we use a wiki?

Yeah Wikis are pretty basic (maybe enhanced in the future), any edit is a commit to the main. You can see version history, compare and revert but thats all after the fact, unlike a PR process.
There are hacks to manage it e.g.:
https://www.growingwiththeweb.com/2016/07/enabling-pull-requests-on-github-wikis.html
TLDR:

lock the main repos wiki A
create a separate repository B, where readmes line up with wiki
merge PRs into repo B
have CI process (Travis-CI in this case) to sync to the make wiki

https://nimblehq.co/blog/create-github-wiki-pull-request (more self contained)
TLDR:

create a folder in the main repo to mirror the wiki
merge PRs in the folder for wiki changes
setup CI process to sync the folder into the wiki

I would say the implementation for this might be out of scope for this issue 😅 but it raises a question; does it make sense to go this far for the wiki given the current size of the documentation?
It's cool imo, but up to you if you think it's worth it.

Yeah GitHub Wikis are pretty basic (maybe enhanced in the future), any edit is a commit to the main. You can see version history, compare and revert but thats all after the fact, unlike a PR process.

Noted.

I would say the implementation for this might be out of scope for this issue 😅 but it raises a question; does it make sense to go this far for the wiki given the current size of the documentation?

Yes, even our own team is losing track of the READMEs we have, so the screenshot I posted above would be super helpful.

It's cool imo, but up to you if you think it's worth it.

I think it's more than cool. Provides immediate value & visibility into all the .md files we have

nimblehq.co/blog/create-github-wiki-pull-request (more self contained)

Definitely out of scope, but will sync with @okdas to see if we can do this.

Going to get some input from the team on this as well (cc @andrewnguyen22 and @deblasis).
The tl;dr is that there's an example wiki here which makes it really easy to navigate and view our documentation. The major con is that the READMEs we have would no longer be review/version controlled or live next to the code. I think this is a big minus, for example, in the context of CHANGELOGs where it should live in the corresponding repo.
@profishional I recently came by Chia's wki which also shows how great it is to have all the documentation discoverable in one place and reaffirms that it's something we need.
Could you look into ways of having the wiki be auto-generated from the .md files in the repo so we get the best of both worlds? I found this (https://therenegadecoder.com/code/how-to-automate-your-github-wiki/) after doing a quick search but haven't doven in deep.

@profishional I recently came by Chia's wki which also shows how great it is to have all the documentation discoverable in one place and reaffirms that it's something we need.

Nice, I'll have it in mind.

Could you look into ways of having the wiki be auto-generated from the .md files in the repo so we get the best of both worlds? I found this (https://therenegadecoder.com/code/how-to-automate-your-github-wiki/) after doing a quick search but haven't doven in deep.

I'll have a look to compare. What did you think about the other links I posted?
Happy to help with this part of the documentation too, pretty comfortable with Python but have to touch up on CI process.

I'll have a look to compare. What did you think about the other links I posted?

I'm not really sure what you're asking for exactly, but I'll reference these three:

Main repo: profishional/pocket
Wiki: profishional/pocket/wiki
Wiki git: profishional/pocket.wiki.git

The second link is exactly what we need with the exception of having that wiki be auto-generated by .md files that exist in the codebase. Is that something you could take on?

Python: https://therenegadecoder.com/code/how-to-automate-your-github-wiki/
Github Actions: https://nimblehq.co/blog/create-github-wiki-pull-request

I was curious if you saw anything wrong with the links I sent, because the python approach seems to complicate it abit - had a read but would have to look at why the script aspect is even needed. Is there something you like about the python approach? Do you want the .md files to be where they are now but still get a wiki out of it?

Do you want the .md files to be where they are now but still get a wiki out of it?

Yea, that's the first reason.

The second reason is that I was hoping for us to continue enforce a code review process to update READMEs.

Is the second piece possible without the automation approach?

I would say:
Github Workflow solution (and the like) are: probably no to 1 and yes to 2
Python script: probably yes to 1 and yes to 2.
So I'm just wondering if it's worth scripting just to satisfy 1.
But I think I'll just go ahead and implement both on my fork for comparison, it'll make it easier to decide then. This would take me approx. 2 weeks probably based on current priorities.

@profishional Consider it a low priority and I don't want (2) to be too big of a time investment. It's like a "very nice to have" that I think we'll end up having sooner or later.

@profishional I was looking at https://github.com/onflow/flow-go/find/master, and realized that if I search for README.md, there are lots of great docs that come up but they are hard to discover. Example:

This is the situation we're in right now, and is an example of what I'm hoping we can avoid, while also keeping the docs next to the soruce.

No, sorry. On it this week!

Ok apologies on the delay @Olshansk.  But with a full day on it here up the final updates:
Context
Github Wiki is a separate repo within a main repo e.g. Main: github.com/.../pocket.git VS Wiki: github.com/.../pocket.wiki.git.
But the wiki does not require pull requests to edit. Also, we want to only maintain the docs in the main repo which are then converted into a wiki page.
Play by play

Started off by using the Github Actions from this link. Which just transfers the files from a folder into the wiki git. So for just a purely Github Actions solution you need (B) all the READMEs to be in one folder + some bash scripting or (B) have a complicated bash script to update the wiki from the main repo.
So, started looking at this solution which has a python script to prepare a folder for the Github Actions. But, the script is 1. more for a website view of the repo/readmes not actually github wiki and 2. super rigid to the point it has an object definition for the repo structure. I tried adapting the useful parts but it was too complicated for me to do in a short period of time.
Started looking at pyGithub to avoid our own repo object definition, but quickly realised the find | grep line that we could use to derive a wiki structure. Using the ./README.md structure the paths of the files are mapped in various way to create a sidebar menu and wiki files to update.

Implementation summary
Pre-requisites: Create an account level token with correct permissions and create a repo level secret.
Github Actions - file

runs find | grep to get readme and changelog file paths
run python script (below)
pulls wiki git and get ready for pushing to it
moved the files that python script made to wiki folder
pushed changes

Python Script - file

creates categorisation based on README.md structure and pattern in the file paths.
create sidebar menu for wiki
create wiki files with matching names to the sidebar

Outstanding issues

Better definition of excluded docs. Maybe a file in ./tools that the command can read instead. This will determine what is in the wiki.
find . -name "README.md" -o -name "CHANGELOG.md" | grep -v -e "vendor" -e "prototype" -e "SUMMARY.md" -e "TASTE.md" > ./tools/output.txt
Better triggering of the wiki update. I just have it as any changes to ./docs for sake of testing, but it needs to be related to the list from above. Help around Github Actions on: syntax would be appreciated.
Improving the READMEs because they are a 1:1 for the wiki, No changes can be made beside copy/pasting them.

So if we want a better description in the Wiki then ./README.md has to be changed.
make the doc folder naming more consistent ./app/client/cli/doc/README.md vs ./runtime/docs/README.md

Reviewing the py script and github actions to make it more robust for things like category derivation, path to category matching, consider file diff before generating wiki files, and general abstraction for product level would be needed.

Final thought
Besides improving the python script and Github Action a bit more (which I would like some help on as well), I won't be able to make it as robust as this solution. It would take decent amount of time that I don't have currently.

@profishional Appreciate all the work you've put into this and the detailed play-by-play and instructions. I think it really sets it up for someone else to pick up the task and take it over the finish line.
CCing @b3nnnp to see if you potentially know someone who could pick this up?

Update: synced with @profishional and we decided that as a next step, I'll do a detailed review of what we have to see if it provides enough guidance to get it over the finish line. If it results in too much work, we'll open it up to someone else.
@profishional Let me know if I missed anything.

But the wiki does not require pull requests to edit. Also, we want to only maintain the docs in the main repo which are then converted into a wiki page.

Got it, thanks for the explanation.

Pre-requisites: Create an account level token with correct permissions and create a repo level secret.

ACK. Action item on @Olshansk once the scripts are ready.

Better definition of excluded docs. Maybe a file in ./tools that the command can read instead. This will determine what is in the wiki.

I think this is good enough.
'find . -name "*.md" | grep -v -e ".git" -e ".vendor""'

Note: that if you have SUMMARY and prototype in your directory, you likely have a very old version of the v1 repo.

Better triggering of the wiki update. I just have it as any changes to ./docs for sake of testing, but it needs to be related to the list from above. Help around Github Actions on: syntax would be appreciated.

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-paths
Why not just do it on all markdown changes?
on:
  push:
    branches:
      - main
    paths:
      - '**/*.md'

Improving the READMEs because they are a 1:1 for the wiki, No changes can be made beside copy/pasting them.

Let's just do a 1:1 for now.

Reviewing the py script

See the code below. I'm not guaranteeing its fully functional but just where my mind was at. We should go with this approach and make the file name titles semantic in the actual source code.

Reviewing the github actions

Can you verify if we can remove is_github_workflow in the python script and just do everything in python? This will simplify the github action

consider file diff before generating wiki files

No need to overcomplicate. Any markdown changes on push to main should retrigger this.

@profishional Do you think this is enough info / guidance to take this over the finish line?

import os
from collections import defaultdict
from dataclasses import dataclass
from pathlib import Path
from typing import Dict, List

WIKI_DIR = "tools/wiki"

# TODO: Consider using enums?
HOME = "Home"
GUIDE = "Guides"
ARCHITECTURE = "Architecture"
CHANGELOGS = "Changelogs"
CLI = "CLI"

@dataclass
class DocumentationFile:
    file_name: str
    display_name: str
    path: Path

def get_all_raw_markdown_file_paths(is_github_workflow: bool) -> List[str]:
    if not is_github_workflow:
        return os.popen(
            'find . -name "*.md" | grep -v -e ".git" -e ".vendor"'
        ).readlines()

    with open("tools/output.txt") as file:
        return file.readlines

def get_all_markdown_file_paths(is_github_workflow: bool) -> List[Path]:
    for raw_path in get_all_raw_markdown_file_paths(is_github_workflow):
        path = Path(raw_path.strip())
        if path.is_file():
            yield path

def get_display_name(category: str, filename: str) -> str:
    filename = filename.split(".")[0]
    file_display_name = " ".join(
        [s.title() for s in filename.replace("_", " ").split(" ")]
    )
    if category != HOME:
        return f"{category} - {file_display_name}"
    return file_display_name

def categorize_paths(is_github_workflow: bool) -> Dict[str, List[DocumentationFile]]:
    sidebar = defaultdict(list)
    for path in get_all_markdown_file_paths(is_github_workflow):
        filename = os.path.basename(path)
        dirname = os.path.dirname(path)
        top_level_dirname = dirname.split("/")[0]

        category = None
        if filename == "CHANGELOG.md":
            category = CHANGELOGS
        elif "cli" in dirname:
            category = CLI
        elif top_level_dirname == "docs":
            category = GUIDE
        elif len(dirname) == 0 or top_level_dirname == ".":
            category = HOME
        else:
            category = top_level_dirname.title()

        # display_name = get_display_name(category, os.path.splitext(filename)[0])
        display_name = get_display_name(category, filename)
        sidebar[category].append(DocumentationFile(filename, display_name, path))

    return sidebar

def write_sidebar_file(sidebar: Dict[str, List[DocumentationFile]]) -> None:
    sidebar_format = "'''Contents'''\n"
    sidebar_format += "* [[Home | Home]]\n"
    print(sidebar)
    for category, doc_files in sidebar.items():
        sidebar_format += f"* '''{category}'''\n"
        for doc_file in doc_files:
            sidebar_format += (
                f"** [[ {doc_file.file_name} | {doc_file.display_name} ]]\n"
            )

    with open(f"{WIKI_DIR}/_Sidebar.mediawiki", "w") as f:
        f.write(sidebar_format)

def write_wiki_pages(sidebar: Dict[str, List[DocumentationFile]]) -> None:
    for _, doc_files in sidebar.items():
        for doc_file in doc_files:
            with open(doc_file.path) as source:
                target = f"{WIKI_DIR}/{doc_file.file_name}"
                with open(target, "w") as dest:
                    dest.write(source.read())

if __name__ == "__main__":
    is_github_workflow = False
    sidebar_category_dict = categorize_paths(is_github_workflow)
    for category, items in sidebar_category_dict.items():
        for i in items:
            print(i.display_name)

    os.makedirs(WIKI_DIR, exist_ok=True)
    write_sidebar_file(sidebar_category_dict)
    write_wiki_pages(sidebar_category_dict)

'find . -name "*.md" | grep -v -e ".git" -e ".vendor""'

Ok I'll go with that.

Why not just do it on all markdown changes?
paths:
  - '**/*.md'

Yep, great! that's perfect.

See the code below. I'm not guaranteeing its fully functional but just where my mind was at. We should go with this approach and make the file name titles semantic in the actual source code.

Can you verify if we can remove is_github_workflow in the python script and just do everything in python? This will simplify the github action

alright I am going to try to make this work.

@profishional Do you think this is enough info / guidance to take this over the finish line?

Yep definitely I think this help a lot.

Quick update;
The mapping wasn't working properly so with only changing the variable in the current mapping flow we get the below. To make Changelog it own category I think I have to change it a bit more.
Category
- Changelog
- Readme
- Readme
- ...
Category
- Changelog
- ...

Maybe we should fully define what the structure of the menu be at this point. Especially since we have collisions, for example if we only take the top level folder persistence the docs and indexer readmes clash.
├── persistence/
    │   ├── CHANGELOG.md
    │   ├── docs/
    │   │   ├── CHANGELOG.md
    │   │   └── README.md
    │   └── indexer/
    │       └── doc/
    │           └── README.md

My deafault would be trying to include the subcategory in the wiki file name/display name too. Is there any other preferences, maybe subcategory?

Also how much of the Github Actions do we want to remove, the easiest is to pass the params to the same script (fixing remaining bug on the push step). Do we want to remove the whole Action file?
on:
 ...

env:
  USER_TOKEN: ${{ secrets.WIKI_SYNC_SECRET }}
  ...

jobs:
  publish_docs_to_wiki:
      run: |
        python ./tools/wiki_sync.py -s $USER_TOKEN etc ...

The mapping wasn't working properly so with only changing the variable in the current mapping flow we get the below. To make Changelog it own category I think I have to change it a bit more

I just want to re-iterate one of my previous points:

I'm not guaranteeing its fully functional but just where my mind was a

I was just trying to clean up the code a bit but not provide a full solution. Do you need me to update the python file so the mapping works 100% of the time?

Maybe we should fully define what the structure of the menu be at this point. Especially since we have collisions, for example if we only take the top level folder persistence the docs and indexer readmes clash

Again, to reiterate one of my previous points:

We should go with this approach and make the file name titles semantic in the actual source code.

I think the rules we will find ourselves in can get very complex:

Top level directory only => when X
Remove "doc" => only if Y
If more than N subdirectories => do Z
Etc....

I would much rather we modify the source code, keep it simpler without maintaining an arbitrary list of rules, and easier to follow. For example, an idea I had is including a comment at the bottom of each markdown like so:
<-- GITHUB_WIKI: TITLE wiki/category/subcategory/path -->

This way it's very simple, very explicit, and we can determine how the wiki is updated based on comments in the markdown in the source code. It won't have to follow subdirectory rules.
Wdyt?

Also how much of the Github Actions do we want to remove, the easiest is to pass the params to the same script (fixing remaining bug on the push step). Do we want to remove the whole Action file?

Less code ==> better
Let's remove as much of it as we can as long as the github wiki still autogenerates whenever changes are merged to main.

I was just trying to clean up the code a bit but not provide a full solution. Do you need me to update the python file so the mapping works 100% of the time?

Haha no I understand, I didn't expect it to be fully working. I think it's good compared to mine so I didn't want to change a whole lot, but looking at the nuances of the repo I figured there are design choices that we would like to talk about.

I would much rather we modify the source code, keep it simpler without maintaining an arbitrary list of rules, and easier to follow. For example, an idea I had is including a comment at the bottom of each markdown like so:
<-- GITHUB_WIKI: TITLE wiki/category/subcategory/path -->

This way it's very simple, very explicit, and we can determine how the wiki is updated based on comments in the markdown in the source code. It won't have to follow subdirectory rules.
Wdyt?

I think that is the easier more manual path, to avoid a general solution for all formats in the script. I wasn't sure if you'd be ok with the coupling; as in preferred the script to figure it out.
So that I understand, for the persistence example above it would be:
<-- GITHUB_WIKI: Persistence Indexer wiki/persistence/indexer/readme.md
Which would become:
Persistence
- Indexer
   - Readme

Less code ==> better
Let's remove as much of it as we can as long as the github wiki still auto generated whenever changes are merged to main.

Ok, Ill try to remove the env part too without importing new dependencies.

Not Quite (not I'm changing things per your suggestion).
In this file:
./persistence/indexer/doc/README.md

You would append the following to the bottom:
<--! GITHUB_WIKI: wiki/persistence/indexer/specs -->

Which would translate to the following:
 Persistence
  - Indexer
     - Specs

@profishional Do you think this is enough context to get this over the finish line?

I think so. I'll have a proper go at it tomorrow by assuming that line is at the end of the reamdes and changelogs.

Ok I think I might be misunderstanding the <---! GITHUB_WIKI ---> solution. I'm, just going to think about the mapping from scratch again before sending through better questions.
Also, the github actions has been minimised and is working. So functionality wise just getting the mapping thing to work.

Ok I think I might be misunderstanding the

Could you elaborate what you're not understanding?
Here's the rationale:
- Directory structure in the core repo: complex (i.e. hard to parse), dynamic (files move around), non-deterministic (we're not going to enforce a naming structure for the sake of the wiki)

Comment at the bottom of file: simple, static, straight forward, easy to follow / change

A file located under /root/module1/dir1/dir2/dir3 with the comment <--! GITHUB_WIKI: wiki/persistence/indexer/specs --> will map to the following in the wiki:
 Persistence
  - Indexer
     Specs

A file located under /root/module2/dir7/dir8/dir9 with the comment <--! GITHUB_WIKI: wiki/persistence/indexer/interface --> will map to the following in the wiki:
 Persistence
  - Indexer
     Interface

Please let me know if that clears things up.

Ok so e.g. a person will manually go through all the relevant md files (based on find | grepcommand) and add a comment?
What is the workflow for changing these comments? Do people have to check locally what the changes will do to the wiki before a merge?
Will there be rules for the structure in the comment e.g. avoiding creation of a wiki menu with 5 nested subcategories?
How will the timeline of those comments matter for closing this issue?
Can we lock down the fact that line will always be the last line in a md file?

Ok great, got it.
That was helpful, thank you.

@b3nnnp This ticket seemed to have gotten closed by error.
The PR for this is up for review at #419, but it'll probably require a few rounds of back & forths & review.
@profishional I'll aim to take a look at it this week and will follow up directly there. We can close out this ticket once its merged.

Ok @Olshansk apologies.. it was due to a status change in dework but will not change any developer bounties in future


New Suggestion

What would be amazing if there was a way to lock this app with some sort of a unique password. What I mean is like if a user would want to have this Youtube regulation feature turned on and then unable to turn off until a family member/friend puts in the password to unlock the app. This would be so helpful for me while I'm studying, and I think it's an absolutely excellent idea. Let me know if this is possible.

It sounds impossible as far as I know. Apps can always be deleted, and extensions can always be disabled within the Safari preferences.


Use protocol relative URLs for external JS files

Right now if you access the Github pages URL over HTTPS, it doesn't work.

Thanks. This has been resolved via another commit.


added support for native calls into javascript for osx

This change adds support for OSX native code to call back into the javascript, which is perfect for allowing OSX main menus and other native controls to trigger actions within the javascript.

thanks! can you add an example or test case of how this is used?

I am not clear on the best way to write tests for that. I think it could go into the CordovaLibTests but am not too familiar with the setup on that.  I could show in example, but the nature of the change is best shown in something like a main menu item calling a method in JS.  Somewhere there needs to be some objective-c that wants to call the JS first, not as a callback from a call initiated by JS.
I am using it to have a real main menu and some other things for a more native experience.
Given all that, I am not sure the best way to proceed.

ok. I think of something along the lines of:
https://github.com/apache/cordova-osx/blob/master/tests/CordovaLibTests/TestPlugin.m#L32

Hi,
this means that I can use JavaScript for Automation on Yosemite ?
how can I do to send mail, for example ?
Thanks

this means that I can use JavaScript for Automation on Yosemite ?
no. this means, you can call cordova from the native shell code.

@kusog I still don't really understand why you need this. can you provide a code example of how this is used?
please note, that compared to iOS, we can execute javascript directly in the webview, eg:
    NSString* testId = [self.webView stringByEvaluatingJavaScriptFromString:@"runTests()"];

if you need more, we would also need to add more methods to the CDVBridge to simplify the bindings.

Hi,
I'm making an application in apache cordova os-x
I need to send mail by opening the app "Mail" of OS-X
I want to use JavaScript for Automation, can I do it?

@VPantaleo, I was asking @kusog of how we wants to use this change.
if you want to send a mail by opening mail app, you probably should write a plugin that allows you to do that. I would probably use automation (i.e apple script or similar) to control the mail app, and use the cordova side to launch the automation script. or maybe you can do something similar like this: https://github.com/franzheidl/atom-applescript


Correct config path

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/lgtm

/lgtm


Gallery carousel

I have added Gallery Carousel to the Home page of tesla-nitp-web. swiper package was used for creating the carousel.
Additional feature:

Linked button to gallery page.
Added animation when scrolled.

Below is the screenshot.

Sorry, the branch was having too much conflict.


Should protein be a Subclass (P279) of an interpro family  or part of (P361)

At the bioschemas meeting I have been discussing the protein description in bioschemas. When reviewing a protein record in Wikidata (https://www.wikidata.org/wiki/Q587961) the question why we are using "subclass of (P279)" https://www.wikidata.org/wiki/Q587961#P279  to link to the protein family and not the "part of (P361)" property.

I think the original reason was because when we added these (https://www.wikidata.org/w/index.php?title=Q587961&oldid=351459868), proteins were "subclass of" protein, because that is how some vocal Wikidata volunteers wanted them organized. And so to keep the logical chain, we used subclass of. I could see it using "part of" also, but I don't know how strongly I feel about either. Do they have a compelling reason for "part of" over "subclass" ?

subclass of suggests inheritance of properties. Apparently, not all properties of an Interpro family also apply to a specific protein.

I agree that part of might make more sense here.

Changing this now. @putmantime Does this affect wikigenomes at all?

This has been implemented and run


Preview default export does not work

Describe the bug
When using the template for preview.ts, the preview decorators will not load into a consuming storybook app. It does work locally using the local-preset.js files.
Version: 7.0.4 for both developing the addon and the consuming app
What Didn't Work
import type { Renderer, ProjectAnnotations } from '@storybook/types';
import { PARAM_KEY } from './constants';
import withTheme from './withTheme';
import withBGStyle from './withBGStyle';

const preview: ProjectAnnotations<Renderer> = {
    decorators: [withBGStyle, withTheme],
    globals: {
        [PARAM_KEY]: false,
    },
};

export default preview;

What Worked
import type { Renderer, ProjectAnnotations } from '@storybook/types';
import { PARAM_KEY } from './constants';
import withTheme from './withTheme';
import withBGStyle from './withBGStyle';

export const decorators: ProjectAnnotations<Renderer>['decorators'] = [withBGStyle, withTheme];

export const globals: ProjectAnnotations<Renderer>['globals'] = {
    [PARAM_KEY]: false,
}

Expected behavior
Either for the default export to work or for the docs/template to be updated

Hey @sean256 that's the correct preview syntax for Storybook 7. Could you confirm that you're using the addon in a Storybook using v7? Also, could you share how you're registering the addon within .storybook/main.js

The addon is being used a v7 setup
Here is the main.js file
const path = require('path');
module.exports = {
	"stories": [
		"../src/**/*.mdx",
		"../src/**/*.stories.@(js|jsx|ts|tsx)"
	],
	"addons": [
		"@storybook/addon-links",
		"@storybook/addon-essentials",
		"@storybook/addon-interactions",
		"@REDACTED/storybook-REDACTED"
	],
	"framework": {
		"name": "@storybook/react-vite",
		"options": {}
	},
	"docs": {
		"autodocs": "tag"
	}
}

NOTE: REDACTED for reasons

Could you do me a favour, try out this addon storybook-addon-kit-demo It's a published version of the addon-kit.


 Need help to mock GetConfigurationSettings

Am trying to mock ConfigurationClient GetConfigurationSettings method using Moq. I see the sample has mocks for GetConfigurationSetting and SetConfigurationSetting but the GetConfigurationSettings method returns a Pageable which is an abstract class. Is there any way to mock it using Moq?

@AlexGhiondea can anyone suggest?

Add @AlexanderSher

@swasun99 For the abstract class Azure.Pageable<T>, you can create your own mock implementation, or use the following sample class in your code.
class MockPageable : Pageable<ConfigurationSetting>
{
    private readonly List<ConfigurationSetting> _collection;

    public MockPageable(List<ConfigurationSetting> collection)
    {
        _collection = collection;
    }

    public override IEnumerable<Page<ConfigurationSetting>> AsPages(string continuationToken = null, int? pageSizeHint = null)
    {
        yield return Page<ConfigurationSetting>.FromValues(_collection, null, new Mock<Response>().Object);
    }
}

You can then use this class to set up mock for the GetConfigurationSettings method.
var testSettings = new List<ConfigurationSetting> { new ConfigurationSetting("testKey", "testValue") };
var mockClient = new Mock<ConfigurationClient>(MockBehavior.Strict, TestHelpers.CreateMockEndpointString());

mockClient.Setup(c => c.GetConfigurationSettings(It.IsAny<SettingSelector>(), It.IsAny<CancellationToken>()))
    .Returns(new MockPageable(testSettings));

@AlexanderSher It might be useful to add the above code sample to the documentation here.

Issue moved to Azure/azure-sdk-for-net #10662 via ZenHub


Conventions check for duplicate rules

Make sure that the rule code is unique.

Codecov Report

Merging #686 (d031463) into main (538e68b) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #686   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           79        79
  Lines         2498      2516   +18
=========================================
+ Hits          2498      2516   +18

Files Changed
Coverage

checks/annotations.rego
100.00%

checks/annotations_test.rego
100.00%


VSCode remote download wrong architecture for v1.55.2 arm64 linux target

Just now the source host vscode updated itself to 1.55.2, the target host is on arm64.  I believe this could be a problem out of scope of the ssh extension plugin alone.
https://github.com/microsoft/vscode-remote-release/issues/4889
Version: 1.55.2 (system setup)
Commit: 3c4e3df9e89829dce27b7b5c24508306b151f30d
Date: 2021-04-13T09:35:57.887Z
Electron: 11.3.0
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19042
Steps to Reproduce:
Connect to server
Server exit.

Does this issue occur when you try this locally?:No
Does this issue occur when you try this locally and all extensions are disabled?: No[remote-host issue]
I investigated into the .vscode-server directory, and found that the new VSCODE keep downloading the wrong architecture.
New version : 3c4e3df9e89829dce27b7b5c24508306b151f30d
image
Old version: 08a217c4d27a02a5bcde898fd7981bda5b49391b
image
https://github.com/microsoft/vscode-remote-release/issues/4889

We just released 1.56, so maybe you can check whether it's different there. But this issue doesn't include any new info vs the last discussion


Gui cannot download some files that youtube-dl can

Hello there,
I really like your software and find it very useful but I'm having problems to download some specific links, specifically from the platform this link comes from: http://www.mitele.es/programas-tv/este-hotel-es-un-desastre/temporada-1/programa-1/ . Using the command line interface from youtube-dl the files is download without problems but when I try to download it using your GUI, it got stuck in "Downloading" and doesn't show any speed, ETA, percent nor size. Actually I think that the files doesn't start to download. Apart from that when this happens, the button "STOP" doesn't work and can't close the program, I have to use the task manager to force close it.
I hope you can look into this.

Hi @Pcsl
Which version of youtube-dlg you are using?
I was unable to download the url you gave me both with the latest version of youtube-dl and youtube-dlg.
The GUI terminates normally with an Error status for the given URL.
You should do the following:

Start youtube-dlg
Set the -v option under Options > Commands tab
Try to re-download the url
After download terminates (normally or not) got to Options > Log tab click the View Log button and paste the content of the log here

I can download that link with youtube-dl 2015.07.07 without problems (I need ffmpeg in the same folder though).
I tried to add the log here but the problem is that the task never stops, it just get stuck in "Downloading" and never ends so there's no way to view the log as it seems it's saved when the download terminates.

Can you tell me which version of youtube-dlg you are using?
Does this problem occurs every time you try to download the given url ?
Also, can you run youtube-dl (command-line) with the -v option and paste your output here?

I'm using the last version 0.3.8 for Windows (portable). Yeah, that problems occurs every time (I tried more than 10 times).
Here you have the log:

D:>youtube-dl -v http://www.mitele.es/programas
-tv/este-hotel-es-un-desastre/temporada-1/programa-1/
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.mitele.es/programas-tv/este-hote
l-es-un-desastre/temporada-1/programa-1/']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2015.07.07
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-71883-geb9fb50
[debug] Proxy map: {}
[mitele.es] programa-1: Downloading webpage
[mitele.es] programa-1: Downloading XML
[mitele.es] programa-1: Downloading JSON metadata
[mitele.es] programa-1: Downloading m3u8 information
[debug] Invoking downloader on u'http://mitele1-vh.akamaihd.net/i/geo/2i/mC/2imC
et301xsyiRFSEV3ab3/Aayo0VkwFejznVJ1XXnDE4.1100,,.mp4.csmil/index_0_av.m3u8?null=
'
[download] Destination: Programa 1 - Gurney_'s Inn - Montauk, NY-875446af.mp4
ffmpeg version N-71883-geb9fb50 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil      54. 23.101 / 54. 23.101
libavcodec     56. 35.101 / 56. 35.101
libavformat    56. 31.100 / 56. 31.100
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 16.100 /  5. 16.100
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100
Input #0, hls,applehttp, from 'http://mitele1-vh.akamaihd.net/i/geo/2i/mC/2imCet
301xsyiRFSEV3ab3/Aayo0VkwFejznVJ1XXnDE4.1100,,.mp4.csmil/index_0_av.m3u8?null=':

Duration: 00:42:34.00, start: 0.100511, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv), 720x4
04 [SAR 1021:1024 DAR 45945:25856], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, flt
p, 88 kb/s
Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
[mp4 @ 056fcb00] Codec for stream 0 does not use global headers but container fo
rmat requires global headers
[mp4 @ 056fcb00] Codec for stream 1 does not use global headers but container fo
rmat requires global headers
Output #0, mp4, to 'Programa 1 - Gurney_'s Inn - Montauk, NY-875446af.mp4.part':

Metadata:
encoder         : Lavf56.31.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 720x404 [SAR 102
1:1024 DAR 45945:25856], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 88 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  261 fps=0.0 q=-1.0 size=    1523kB time=00:00:10.42 bitrate=1196.5kbits/
frame=  501 fps=477 q=-1.0 size=    2933kB time=00:00:20.01 bitrate=1200.6kbits/

The gui does not provide any info about the size, eta, download speed etc. because those informations are not available neither on the youtube-dl.
Now for the second issue with the stop button, i was able to reproduce it using a proxy.
The gui hangs both on Windows and Linux when the stop button is pressed. This issue does not only apply in the mitele.es but on every site that uses the hls.py downloader.
Also, on Windows the download process never stops, unlike Linux where the download process completes normally.
I will take a closer look on this.

Thanks for your work!
Apart from that, did you find out why the download works with my youtube-dl version but not with youtube-dl-gui¿

There were two different bugs.
Both bugs had more or less to do with the hls downloader and the usage of ffmpeg
(more specifically with this line of code).
The first bug was that the subprocess module was deadlocking due to the large amount of ffmpeg output in the stderr pipe which had as a result to freeze the download process (this issue is now fixed both on Windows and Linux using a seperate thread to read from the stderr pipe).
The second bug was that currently there is no way to kill the whole process group using the subprocess module (see: https://bugs.python.org/issue5115). So basically the stop button kills only the youtube-dl process which leaves ffmpeg process as an orphan, which in turn makes youtube-dlg to wait for the completion of the ffmpeg process before it closes down itself. (If you use something like Process Explorer and pay attention to what is happening when you click the stop button you will get what i mean).
This issue is now fixed on Linux using the os.killpg function. On Windows there is no easy way to terminate the whole process group using the subprocess module, so the stop button won't work when the hls downloader is used. In order to overcome this issue on Windows you can use the native hls downloader (does not use ffmpeg) by setting the --hls-prefer-native option under Options > Commands tab.
I uploaded the patched version (it's not stable) here. I was able to successfully download your url using the patched version and by setting the --hls-prefer-native option.
Can you give it a try and let me know?

Μore generally, you should be able to download any url that uses the hls downloader without setting the --hls-prefer-native option under Options > Commands , but on Windows the stop button won't work unless you set it or until this issue is fixed.
Notes

The native hls downloader won't work on every site.
The native hls downloader provides the percentage as download info, unlike the normal hls downloader which does not provide any info about the download process.

First of all I tried to download using the patched version without setting the --hls-prefer-native option. The download works now and shows 100% when it's finished, however the status says "Error". Anyway it's completed successfully, it's just that it says "Error" on the GUI. The Stop button doesn't finish the task here.
Setting --hls-prefer-native works flawlessly, shows the percentage completed while it's downloading and the task it's completed succesfully too. It also shows "Error" at the Status column even if it were downloaded completely. Here there is no problem to stop the task.
So yeah, it seems everything is working as you described.

Everything seems fine except the Error status.
You should check your log under Options > Log tab. Also, check if you have set the -v option under Options > Commands which creates the debug output to the log file. If you have the -v option remove it and give it another try.

Yeah, you are right, if I remove the -v option the status is right, it just says "Finished". So it seems to be working fine now.

Thanks for your report.
If you encounter any problems, feel free to open a new issue.

Good job, great work!
:+1:
(Just a little bit of encouragement)
:smile:

Thank you @Hrxn :facepunch:


style: restructure deeprankcore package and subpackages

Reminder: modifying tools/ folder, cleaning not used files, moving files to more appropriate places. Done
To continue: tools/pssm should be merged with models/pssm. However, on first try, this created circular calls between models.pssm and models.structure. We called them operations/pssmdata and operations/parsing/pssm for now.

In uniforming deeprankcore nomenclature, I used only deeprankcore (name of the package on PyPi) and DeeprankCore, even if the repo is called deeprank-core (it should be deeprankcore for consistency). We plan to change the repo's name in deeprank after the generalization project will be over.

Why are atom and sasa features removed?

We moved atom in components.py, and sasa in surfacearea.py


Image resize presets

Hey,
is there a way to define size presets for the image?
As for now you are able to set the width and height of an image individually + keep aspect ratio.
I would need something like this:

Which, onClick, sets the width and height as defined.

@iTzMeRafa
There is no feature to provide a resize preset yet. I'll consider it.


Make body::Sender type and Body::channel() constructor private.

This is an "easy" task, in that the changes aren't complicated:

Change the hyper::body::Sender type to pub(crate).
Change the Body::channel() method to pub(crate).
Replace any usage in the examples, tests, or docs with an appropriate alternative.

This might be as simple as a Full, but if specifically showing a channel usage, or needing a channel behavior for a test, a tokio::sync::mpsc wrapped in StreamBody should work.

I'll get started on this.


Add some more good colours to the website to increase UX.

Modify the colours to make the website to be more attractive.
Green color is improved to any other color.

Please assign me this issue for Hacktoberfest and GSSoC 2024 Extd

Please assign me this issue under GSSoC'24 Extd.

PLZ ASSIGN ME THIS ISSUE UNDER GSSOC'24 EXTD

I would like to make changes can you assign this issue

Please update the label so that It can be counted in hactoberfest

COLOR CHANGED #41

#41 color changed


Publish this project on the Maven central repository

While dependencies are included with this project, it's often unwieldy for users of this tracker to include lots of libraries.  This also increases the potential that a user may miss a dependency.
Publishing this project to the Maven central repository would resolve this issue and provide a cleaner way to download and include this tracker in projects.

:+1:

+1

See Maven Central

Nice, users will appreciate the ease of use from Maven :+1:

@bcsorba Planning a new release soon. How did you publish it to Maven Central? CC @mattab

See https://infra.apache.org/maven-releases.html
On Sat, Mar 21, 2020, 5:55 PM Thomas Lutz<EMAIL_ADDRESS>wrote:

@bcsorba https://github.com/bcsorba Planning a new release soon. How
did you publish it to Maven Central? CC @mattab
https://github.com/mattab
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/matomo-org/piwik-java-tracker/issues/2#issuecomment-602110201,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANSITKJS3EQB4YPBBK3T2LRIUZVZANCNFSM4BUORCBA
.

See https://infra.apache.org/maven-releases.html

The general Maven release process is clear to me, and I have published to a private Nexus before. Your link seems to indicate releasing Maven artifacts to an internal Apache Nexus. However, I want to publish the new release to Maven Central. The current version released there is 1.2.
As I have never released to Maven Central before, the main question for me is the process to authorize me to publish a new version for the piwik-java-tracker artifact in the org.piwik.java.tracking group on Maven Central. How do they know, that I'm actually allowed to release a new version? Do you need to add me to the group somehow? I already have a Jira Account for the Sonatype Jira and can login to https://oss.sonatype.org/ with it. Great if you can give some guidance here.

What is your JIRA username? (I presume tholu, but want to confirm). I can open a ticket to give you deployment permissions for the project.

Sorry, I missed to add that. tholu is correct - thank you!

Thanks: I updated https://issues.sonatype.org/browse/OSSRH-19145
Feel free to track that discussion.