[WIP] [ie/lbry] playlist support, fix #5982

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
Playlist support for lbry/odysee
Fixes #5982
But (at least) one problem remains, LBRYIE makes use of the following regexp (?P<id>\$/[^/]+/[^/]+/[0-9a-f]{1,40}):
https://github.com/yt-dlp/yt-dlp/blob/c54ddfba0f7d68034339426223d75373c5fc86df/yt_dlp/extractor/lbry.py#L83
This catches playlist short URL (like $/playlist/abcd), take over and eventually reject URLs that LBRYChannelIE would now otherwise support. Negative-look-ahead fanatics welcomed to amend this.
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at bd3fc54
Summary
🆕🛠🧪

Improved LBRY playlist and channel extraction. The LBRYIE and LBRYChannelIE classes can now handle various URL formats and multiple claim IDs. Added a test case and refactored some code in lbry.py.

We are the rebels of the web, we defy the central power
We extract the playlists and the channels from the LBRY tower
We support the different formats, we refactor and we test
We are the masters of the LBRYIE and the LBRYChannelIE

Walkthrough

Modify _VALID_URL regex for LBRYIE class to support more types of LBRY URLs and simplify the pattern (link)
Modify _VALID_URL regex for LBRYChannelIE class to support playlist URLs and add a new named group id2 for playlist claim ID (link)
Add a test case for LBRYChannelIE class to check playlist URL extraction in yt_dlp/extractor/lbry.py (link)
Modify _fetch_page method of LBRYChannelIE class to accept a list of claim IDs instead of a single one and remove unnecessary parameters from page_params dictionary (link, link)
Modify _real_extract method of LBRYChannelIE class to handle both channel and playlist URLs and use different API parameters accordingly (link, link, link)
Add a new method _fetch_playlist_items to LBRYChannelIE class to retrieve playlist metadata and claim IDs from the API (link)

Try to avoid force-pushing, commits will be squashed on merge, so take as many as you need. Avoid Python 3.8 features (:=), since we are still supporting it.
Also you have to add the mentioned negative lookahead to the libry ie to make the url unique to the channel extractor, otherwise tests will fail.

Negative look-ahead always drive me crazy. I couldn't successfully punch a hole into this regexp. Advice welcome.

Considering #8204 I think we should go in a different direction than a negative lookahead, I just don't have time to give a full review rn

I could also add the negative lookahead suggested in #8204 to this very PR in order to make lbry usable again (embed+playlist) until a better long-term URL matching solution is found?

@Grub4K / @bashonly ... how do you suggest to continue. (I'd prefer not to let PR laying around too long)

I had a lot of suggestions, ended up rewriting it, I will post review or push a bit later


Broken links to examples

We are sending people to https://zondax.ch/projects/filecoin-signing-tools/#ffi-examples but all the links to examples are broken.

Yes you are right. It should redirect to github code.

We will soon publish a completely new website. For the moment, the best option is to look at the examples in this repository.

I know that examples are in the repo.
What I am telling you is that the users that land on your current website referred from the official filecoin docs do not know it, and the website has no clear links to the repo, but the repo has prominent links to the website (first line in README). So one minute spent fixing those links would be well invested imho regardless of your future plans to do things.
Anyways, I just wanted to make sure the issue was known.

Yes! Let's keep this open so we don't lose track of this! we need to improve this


pip does not install typing_extensions

It seems like pip doesn't install typing_extensions when installing in an empty Conda environment that uses Python 3.8. After manually pip installing it, though, seqscore seems to run fine.
Log (output edited slightly to remove clutter):
> jonne@lignos07:~/softgaz/soft-gazetteers/outputs$ seqscore
seqscore: command not found
> jonne@lignos07:~/softgaz/soft-gazetteers/outputs$ pip install seqscore 2>&1 > /tmp/install_seqscore_pip.log
> jonne@lignos07:~/softgaz/soft-gazetteers/outputs$ seqscore --help
Traceback (most recent call last):
  File "/home/jonne/miniconda3/envs/test-pip-seqscore/bin/seqscore", line 5, in <module>
    from seqscore.scripts.seqscore import cli
  File "/home/jonne/miniconda3/envs/test-pip-seqscore/lib/python3.8/site-packages/seqscore/scripts/seqscore.py", line 7, in <module>
    from seqscore.conll import (
  File "/home/jonne/miniconda3/envs/test-pip-seqscore/lib/python3.8/site-packages/seqscore/conll.py", line 10, in <module>
    from seqscore.encoding import Encoding, EncodingError, get_encoding
  File "/home/jonne/miniconda3/envs/test-pip-seqscore/lib/python3.8/site-packages/seqscore/encoding.py", line 5, in <module>
    from typing_extensions import Protocol
ModuleNotFoundError: No module named 'typing_extensions'
> jonne@lignos07:~/softgaz/soft-gazetteers/outputs$ pip install typing_extensions 2>&1 > /dev/null
> jonne@lignos07:~/softgaz/soft-gazetteers/outputs$ seqscore --help
Usage: seqscore [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  convert
  count
  repair
  score
  validate

I think we need two fixes:

The import should condition on whether we're less than Python 3.8, if so do from typing_extensions import Protocol, if not, from typing import Protocol: https://stackoverflow.com/a/1875584/944164
Conditionally install typing extensions in setup.py if Python is less than 3.8: https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#platform-specific-dependencies

There's a third issue that I'd like to ignore for the moment, which is that our CI doesn't do any package testing before installing the test dependencies, and it appears the test dependencies install 3.7, which is why we never noticed a test failure on 3.7.

Fixed by commits ab8d545 and 34f5ea4, thank you for contributing the fixes!


Unexpectatedly Stopping

Set up the container as instructed but keeps restarting and can't access the webui.
https://imgur.com/a/0b8arxc
What am I doing wrong?

Closing the issue, please reopen if needed.


Stations act buggy when using levers

It would be nice, if the station sign could have an option where it would send a redstone signal (or activate a lever) once a train is above it.
Comment containing nessesary Info:
https://github.com/bergerhealer/TrainCarts/issues/373#issuecomment-644975724

This is already a thing lol

I see. Thanks for the info.

I reopen this, because the lever seems to cause some minor issues when directly attached to the block with the station sign.
In more detail, here's the setup I have for the station sign.
Front:

Back:

Having this setup causes the lever on the back to activate once the train is on it, but the train won't continue after the specified time, even when you power the sign on either the left or right side.
It just gives the "hiss" sound after the specified time while the train remains unchanged.
BkCommonLib version: 1.15.2-v4
TrainCarts version: 1.15.2-v1
Server: PaperMC 334 (MC 1.15.2)

In more detail.
Having this setup causes this issue. The right level will always turn off and on again, "resetting" the timer.

Set up the station sign like this:
[+train]
station
10
This configuration means that the sign will not respond to any inputted power which will prevent the issue from happening.

This isn't the system I want to have.
I want to have a central station where the trains would wait until all are there, before they start again (preventing them from any possible collision happening)

Try using redstone torches to control station signs instead of levers directly

It happens to me too, i need to control the signal AND have an output, it just downt work, the output lever intefres with the sign and makes a clock

It happens to me too, i need to control the signal AND have an output, it just downt work, the output lever intefres with the sign and makes a clock

I close this as A) the lever can be attached to the back of the sign without issues and B) I no longer use this at all but found a differen solution that worked (Essentially putting the sign on the other side...)

I close this as A) the lever can be attached to the back of the sign without issues and B) I no longer use this at all but found a differen solution that worked (Essentially putting the sign on the other side...)

No it can't, I attach it to the back even with +train and it still bugs because of the lever in the back, I'm in 1.15.2.

No it can't, I attach it to the back even with +train and it still bugs because of the lever in the back, I'm in 1.15.2.


Support for warp-0.2?

I notice that Warp 0.2 is out; is anyone at present working on support for this? Curious if I should take a stab at it myself if no one is...

This is now on master.

Warp 0.2 is an important update is that possible to release a new version of juniper_warp for the support of warp 0.2 please ?

There are still some outstanding work items to do before we can push a release.

Looking forward to the release supporting warp 0.2. It's been merged in master for a while.
Any thoughts on making warp 0.2-compatible filters based on juniper_wrap 0.5.2? I see master uses the concept of subscriptions which appear fairly new and unreleased in juniper.


London stock exchange

Hey there,
Is there a way to get prices from the London stock exchange it seams I can only get US prices to show.
Thanks

Similar to DefuseStudios question - can I get symbols traded in Luxemburg? What are the current limitations or what is the data source being used? Great gadget, great UI design on such a tiny display. Thank you!

Great plugin! Would like to see the TSX added.
Thanks!

Data comes from Yahoo Finance. Any examples I can try to pull out of their API?

If you look at how Yahoo Finance denote non US tickers - that's how to pull them in this app.  LSE (London) for instance pull correctly if you add .L to the end, for example:
IGG.L  = IGG (IG Group).  Confirmed this works correctly for me.

TSE working for others? FORA.TO (from Yahoo! Finance) not working for me.

TSE working for anyone? FORA.TO (as on Yahoo! Finance) doesn't work for me.


Urgent Problem: No streams found on this url : http://www.ustream.tv/channel/orocoipo

I have tried to download video file from ustream, but failed.
#livestreamer ustream.tv/channel/orocoipo best
Error message: error: No streams found on this URL: http://www.ustream.tv/channel/orocoipo
I am using the latest 1.12 of livestreamer.
Are there anyone to help me?
thanks

livestreamer "http://www.ustream.tv/channel/orocoipo" best -o Ustream.flv
[cli][info] Found matching plugin ustreamtv for URL http://www.ustream.tv/channel/orocoipo
[cli][info] Available streams: 360p+ (worst, best)
[cli][info] Opening stream: 360p+ (uhs)
[download][Ustream.flv] Written 174.6 KB (7s @ 23.9 KB/s)

Pull request: #1278

Dear 0880,
Please let me know the environment you run "livestreamer".
Python version, livestreamer version ....
thanks.
[P.S]
I have just tried to run like you taught. (python 3.4.3, livestreamer 1.12)
Error message:
jin@jin-Inspiron-3443:~/work/record_video$ livestreamer "http://www.ustream.tv/channel/orocoipo"
[cli][info] Found matching plugin ustreamtv for URL http://www.ustream.tv/channel/orocoipo
Traceback (most recent call last):
File "/usr/local/bin/livestreamer", line 9, in
load_entry_point('livestreamer==1.12.2', 'console_scripts', 'livestreamer')()
File "/usr/local/lib/python3.4/dist-packages/livestreamer_cli/main.py", line 897, in main
handle_url()
File "/usr/local/lib/python3.4/dist-packages/livestreamer_cli/main.py", line 478, in handle_url
streams = fetch_streams(plugin)
File "/usr/local/lib/python3.4/dist-packages/livestreamer_cli/main.py", line 391, in fetch_streams
sorting_excludes=args.stream_sorting_excludes)
File "/usr/local/lib/python3.4/dist-packages/livestreamer/plugin/plugin.py", line 313, in get_streams
return self.streams(*args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/livestreamer/plugin/plugin.py", line 233, in streams
ostreams = list(ostreams)
File "/usr/local/lib/python3.4/dist-packages/livestreamer/plugins/ustreamtv.py", line 550, in _get_live_streams
streams = self._get_desktop_streams(channel_id)
File "/usr/local/lib/python3.4/dist-packages/livestreamer/plugins/ustreamtv.py", line 513, in _get_desktop_streams
provider_url = provider["url"]
KeyError: 'url'

Download the updated ustream plugin (ustreamtv.py) and copy it into your plugins directory.

Thanks, Dear 0880.
Everything is ok.
Let me know your contact info, such as skype id. Actually, I am interested in python projects, and I hope a lot of communications with you.
Best Regards.


Mismatch between AMD and CommonJS module definition in UMD module

While working on converting a project to webpack from browserify, I ran into an issue with one of the project's dependencies. The dependency hashmap is written as a UMD module, but the shape of the AMD module and the CommonJS module are different. Webpack favors the AMD definition, which caused an issue when compiling via webpack.
The issue is demonstrated in https://github.com/gcorne/webpack/commit/4f115d8bd04e8ef064b150ae3b620727900fc5a4
My expectation coming from a node/commonjs mindset is that commonjs would be given a higher priority when parsing a UMD module or that there would be some configuration option to favor using the commonjs version over amd to allow for better compatibility with 3rd-party npm libraries.

webpack doesn't prioritise one over the other. It just supports both and which one is used depends on how the library tests for AMD/CJS support.
if (typeof define === 'function' && define.amd) {
	define([], factory);
} else if (typeof exports === 'object') {
	exports.foo = factory();
}

Here AMD is used because CJS is in the else clause.
if (typeof exports === 'object') {
	exports.foo = factory();
} else if (typeof define === 'function' && define.amd) {
	define([], factory);
}

Here CJS is used because AMD is in the else clause.

webpack doesn't prioritise one over the other. It just supports both and which one is used depends on how the library tests for AMD/CJS support.

That makes sense. I guess it becomes a question of whether a module that works in browserify should work with webpack automatically when used the same way. In this case, it turns out that hashmap has made an adjustment and I was able to fix the upstream module to use the new version, so my particular issue is resolved. I have no idea how often there are differences between the AMD and CJS implementations, but it would be kind of cool if it "just worked."

Is there a way to disable AMD altogether?

I am aware of this syntax: require("imports?define=>false!./file.js"). But I would like to apply it globally to all modules, so I can still do require('module').

You can apply it via config

Can you give an example? I tries this and it didn't work:
  imports: {
    define: false
  }

http://webpack.github.io/docs/using-loaders.html#configuration

Thanks. This works for me:
module: {
  loaders: [
    { test: /\.js/, loader: 'imports?define=>false'}
  ]
}

The imports-loader solution works for me. Thanks!

The imports-loader solution works for me. Thanks!


[Model Analysis] Based on generated model op tests, gather results about passing/failing states

Once we can generate op tests for each model loaded from TVM (initial TVM IR graph), we should be able to run all of them and generate run analysis.
The main goal of this issue is:

Create a script that will run all generated model tests
Collect results about each test run (passing or failing state; if failing where and why). Where can TVM, FFE, MLIR, or TTNN be, and why can be a failing message.

Initial script already created


MLHR-1684: File splitter improvements

file splitter scans all the files and processes them in one shot.
it holds the file paths in memory to know whether a file was already processed.

Improvements:

FileSplitter will start with an initial files threshold (default value: 10).
This threshold will increase if the emitTuples is called again within the same window.
Added a time based directory scanner which finds files that have been modified since last scan.
Added a blocks threshold property which can control no. of blocks emitted. A large no. of blocks can overwhelm downstream operators, this property can be useful there.

This wont address the issue that we are trying to solve. If that was the
case, the implementation could be really simple, it should just emit 1
event at a time. The issue is that for a small tuple it generates, it
creates an extra ordinary amount work for the downstream so it needs to
sync with them. I hope that it's the same reason because of which you
closed the request.
--
Chetan
On Sat, Mar 14, 2015 at 10:56 PM, Chandni Singh<EMAIL_ADDRESS>wrote:

file splitter scans all the files and processes them in one shot.

it holds the file paths in memory to know whether a file was
already processed.

Improvements:

FileSplitter will start with an initial files threshold (default
value: 10). This threshold will increase if the emitTuples is called again
within the same window.

Added a time based directory scanner which finds files that have
been modified since last scan.
Added a blocks threshold property which can control no. of blocks
emitted. A large no. of blocks can overwhelm downstream operators, this
property can be useful there.

You can view, comment on, or merge this pull request online at:
https://github.com/DataTorrent/Malhar/pull/1328
Commit Summary

MLHR-1684: File splitter improvements

File Changes

M library/src/main/java/com/datatorrent/lib/io/fs/FileSplitter.java
https://github.com/DataTorrent/Malhar/pull/1328/files#diff-0 (225)
M
library/src/test/java/com/datatorrent/lib/io/fs/FileSplitterTest.java
https://github.com/DataTorrent/Malhar/pull/1328/files#diff-1 (161)

Patch Links:

https://github.com/DataTorrent/Malhar/pull/1328.patch
https://github.com/DataTorrent/Malhar/pull/1328.diff

—
Reply to this email directly or view it on GitHub
https://github.com/DataTorrent/Malhar/pull/1328.


geoPoint?

Does the resume support geoPoint (lat/long coordinates) for location of the candidate?

We've had debates about lat/long in the resume -> https://github.com/jsonresume/registry-server/issues/35 but haven't came to any conclusions just yet...

As an option it might be nice to provide GeoJSON for an area that the candidate is looking for work in. There are one or two nice interfaces for drawing area as on Google maps and capturing the GeoJSON


Branding

Checklist

[X] I have filled out the template to the best of my ability.
[X] This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
[X] This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.
/
Describe the solution you'd like
Add branding to the HA branding repo
Describe alternatives you've considered
/
Additional context
/

There is already an official Hass brand for Renson. You can use that for this integration.


Enable browser.LoadCharts() to accept a "scroll item into view" paramater.

After loading data via Ajax I would like to make the list browser focus / scroll to where an item is in view by default.  Say I have 200 items, the first 100 are displayed, but I would like to scroll/focus on item 175.
Eg: http://keshif.me/demo/factbook.html and say I wanted to focus on Maldives (176) and have the browser automatically scroll that into view (or have that highlighted some way).
It would be good to enable this in browser.loadCharts(); by allowing the function to accept a parameter?
Thoughts?

Here's what I did outside of the browser to make this work.
   window.setTimeout(function () {
            var listFacet = browser.filterList[6].facet;
            listFacet.autoExpandMore = true;
            var scrollDom = listFacet.dom.listItemGroup[0][0];
            var targetPos = scrollDom.childNodes[itemIndexToScrollTo].offsetTop - scrollDom.childNodes[itemIndexToScrollTo].clientHeight;
            kshf.Util.scrollToPos_do(scrollDom, targetPos);
        },
        1000);

Hi Brad,
The idea of automatically scrolling into an item in list display (or even some category on some facet) is a good one. I was going to suggest implementing this feature outside of keshif by taking some sample code from its internal implementation. I'm glad you figured out how! Cheers,

I am looking to do a similar thing to what Brad did. Having auto scroll/focus into specific Item. However, with the latest updates, the div is not rendered till the scroll happens. I have tried few ideas and modifying the data API to get it to work but it made usibility as well perf bad.  Any other ideas here I can try ?

Hi @IsmailAb ,
There are indeed two things to take care about:

The element may not be inserted to DOM, bc it is not visible and adding all records can grow DOM tree very quickly. Take a look at showMoreRecordsOnList function to see how the records are expanded. Basically, maxVisibleItems variable describes how many records are actually inserted to DOM. The variable names, implementation and design may be updated in the future, but I think it is fairly stable to begin with.

To scroll to the element, the following code may give you an idea (once you have the record inserted to the DOM). Just check and run the code on the browser console while you open a keshif demo, for example the one at www.keshif.me/demo/best_selling_singles_2008

var r = browser.records[50]; // browser is a kshf.Browser object, we are just picking 50'th record.
var recordPosition = r.DOM.record.offsetTop;
var DOM = browser.recordDisplay.DOM.recordGroup[0][0]; // this is what hosts the record
DOM.scrollTop = recordPosition; // And, done, the selected record appears on top.

You can do more customizations to animate the scrolling and highlight the record.
I hope this helps,
Adil

I tried the first point and was able to load more records into the DOM by tweaking the value of the maxVisibleItems variable by setting it to a very large value. But then when we deal with a large number number of records (10,000 and more), the entire DOM becomes slow. Any ideas where we might be able to optimize this ?
Once the DOM is loaded, the code provided in the second point works really well.


Add keyboard shortcuts

When within one node, I'd suggest that pressing one of the arrow keys navigates the user to the desired node.
Maybe Ctrl-arrow key also adds an edge.

I'm not sure how you envision the keyboard shortcuts. When you're within one node, you're inside a text box, editing the LaTeX code for that node. Pressing arrow keys should move the caret of that text box.

You're right, arrow keys on their own would break normal editing. How about Ctrl-arrow key then for moving around from node to node and possibly Ctrl-Alt-arrow-key for moving while creating arrows?
I would have first suggested using Tab, but then this would only support going to the right.


Register

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/73335
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.10 -m "<description of version>" 0b2fe5e0d55a3a73de1d3a0e21fe4c63c704dc57
git push origin v0.2.10

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/78050
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.11 -m "<description of version>" 0f698cfadce59e1ad4dd482d621b039bab930080
git push origin v0.2.11


docs: add icons component with lucide-react integration

This pull request introduces the lucide-react package and adds a new Icon component in the docs project. The most important changes include updates to the package files and the creation of the new component.
Package Updates:

docs/package-lock.json: Added lucide-react package with version 0.460.0. [1] [2]
docs/package.json: Added lucide-react package with version 0.460.0.

New Component:

docs/src/components/icon/index.tsx: Created a new Icon component that imports and uses icons from the lucide-react package.

Thanks @Cristhianzl!
I've tagged you here for the Docusasurus version upgrade #4646 - can you review? Thank you


[api-minor] Attempt to prevent Node.js-specific polyfill errors from completely breaking the library

The existing Node.js-specific polyfills depend on the node-canvas package, which has unfortunately (repeatedly) shown to cause trouble for many users. We attempted to improve the situation by listing the relevant packages as optionalDependencies, but that didn't seem to really fix the problem.
With this patch the library should be able to load in Node.js-environments even if polyfilling fails, and any errors will instead occur during rendering. Obviously this is not a proper solution, since it basically moves the problem to another part of the code-base. However for certain "simpler" use-cases, such as e.g. text-extraction, these changes should hopefully improve general usability of the PDF.js library in Node.js-environments.
Please note: For most PDF documents rendering should still work though, since DOMMatrix is currently only used with Patterns and Path2D only with Type3-fonts and Patterns.

/botio unittest

/botio-windows unittest


Periodically call SyncCluster in etcdng.go?

I wanted to talk this out and get thoughts/reactions from the community.
Etcd clusters change over time. When we start vulcand, we start it with a specific etcd endpoint(s). However, in a long enough running cluster, the machine vulcan's go-etcd client has bound to, may be taken offline for maintenance, even if the cluster is still running.
However, go-etcd client has a method called SyncCluster which updates the nodes list with the latest cluster configuration, and the client can fall back to the other nodes, if the primary node fails.
I want to add a go-routine (can be made optional through a setting), that would periodically (depending on the value of the setting) call SyncCluster on the client, so that the client can hold connections to very long-running clusters.
This would mean that our vulcan instances once started, would continue to hold connections to etcd while we replace/fix/scale machines in the etcd cluster itself.

This is what I think it'd look like:
https://github.com/mailgun/vulcand/pull/239
By keeping default behavior, it could be a non-breaking backward-compatible change.

Created a new PR which contains the UT fix.
https://github.com/mailgun/vulcand/pull/242


Prompted to "sign with Polkadot Vault" although I only have WC and Nova wallets

Description
For a multisig Tx, I was prompted the following

Steps to Reproduce

Make sure you have only WC/WOW/Nova wallets
Make a multisig tx
See the above modal

Expected Behavior
To have "Sign" if there are different types of wallet, or that the right type is selected
Screenshots
See above

The problem comes from this line https://github.com/novasamatech/nova-spektr/blob/bbcecd9592ca473e3f379682cc088209958c9b87/src/renderer/pages/Operations/components/ActionSteps/Confirmation.tsx#L97 that defaults to WalletType.SINGLE_PARITY_SIGNER when we don't know what wallet type the user have.
There are a couple solutions to this:

we can check what wallet types are available, for the signatories, and default to the first type
introduce a new WalletText when the type is unknown, and instead of having the button say "Sign with XYZ", it'd just say "Sign" without an icon either. Clicking on it subsequently shows the signatory selection modal.

Is there an approach you think is the best, or do you see any other way to make this better?


Bug on a JS files shared by multiple packages when migrating

Found a kinda critical issue during local test:
When foo.js is used by multiple packages (here "used" means that a single JS files appears in the migration file list from migration-graph), after the migration of the first package, foo.js would be converted to foo.ts, thus for migrations of other packages, it would throw an error that foo.js could not be found.
I don't have a good idea about how to deal with it at this moment though.

No it's not in monorepo

We currently don't have support for a migration graph for a multi-package workspace.
This is an edge case for an ember-app with in-repo addons using a file in the root directory that's shared by the rootDir.
We currently don't define a directory boundary for an in-repo addon, as a result we don't resolve the path to some external package.

We currently don't have support for a migration graph for a multi-package workspace.

Is this true? Voyager uses workspaces

@chadhietala @lynchbomb
Yes for plain JS (non-ember projects) we don't have package discovery logic. This needs to be decouples from the ember implementation and ported to migration-graph-shared.
The current logic  package.json discovery and edge creation only happens in the @rehearsal/migration-graph-ember.
FWIW
We never had workspace discovery support when this was extracted from voyager.
There is some util code for detection and reading of workspace information on a package, but these APIs have not been used.
We need:

[ ] @rehearsal/migration-graph-shared Add a method discover to src/entitites/project-graph.ts  to find packages in project similar to the EmberAppProjectGraph
[ ] Add heuristics for filtering packages if a workspaces entry is found in the root package.json.
[ ] Add tests that validate the correctness of a migration-graph for a plain JS project that is using workspaces.
[ ] Add tests that evaluate workspaces and create nodes and edges from that data and add it to the graph.

Should we close this with #515?

No, we still have the issue, I just need to add a boundary around a package now when we add it to the graph.

Problem
In a project where we have many packages. A package may have a import for a file outside of it’s workspace. This could typically be a shared config for build file.

├── package.json
├── some-util.js
└── packages/some-package/
├── package.json
├── index.js
└── some-build.js // import '../../some-utils.js';
Solution
Ignore all files that resolve outside of the package from that package’s migration graph.
I wanted to talk about the compromise that has to be made when producing a graph, and why we must omit.

I'm reopening this because the original PR was reverted. #596 will close this issue.


Error in query graph construction

I get the following error when I try to upsert an item.
Error:
Invalid `prisma.organizations.upsert()` invocation in
/Users/manuelruck/Jobs/openData/oparlPrisma/src/import/index.ts:79:26

Error in query graph construction: InputError("The `set` argument was not provided for field `post` on `Organization`")
    at PrismaClientFetcher.request (/Users/manuelruck/Jobs/openData/oparlPrisma/node_modules/@prisma/client/index.js:90:17)
    at process._tickCallback (internal/process/next_tick.js:68:7)

it's just an array of strings.
and the code intelligence shows me only the set property

        const organizationPrepared = {
          ...organization,
          body: undefined,
          'STERNBERG:gruppierung': undefined,
          'STERNBERG:sortierung': undefined,
          membership: undefined,
          meeting: undefined,
          location: undefined,
          keyword: undefined,
          subOrganizationOf: undefined,
          post: {
            set: organization.post,
          },
        };
        return prisma.organization
          .upsert({
            create: organizationPrepared,
            update: organizationPrepared,
            where: { id: organizationPrepared.id },
          })
          .catch(console.log);
      });

https://github.com/ManAnRuck/oparl-prisma/blob/42d77996b01049070c497bb847e1c4d8a7e0ca32/src/import/index.ts#L33-L35
model Organization {
    id                String        @id
    type              String
    // Body Body
    name              String?
    // membership Membership[]
    // meeting Meeting[]
    // consultation any
    shortName         String?
    post              String[]
    subOrganizationOf Organization?
    organizationType  String?
    classification    String?
    startDate         String?
    endDate           String?
    website           String?
    // # location any
    // externalBody Body
    license           String?
    keyword           String[]
    created           String?
    modified          String?
    web               String?
    deleted           Boolean?
}

https://github.com/ManAnRuck/oparl-prisma/blob/42d77996b01049070c497bb847e1c4d8a7e0ca32/prisma/schema.prisma#L10-L34
repo (branch: issue/set-error): https://github.com/ManAnRuck/oparl-prisma/tree/issue/set-error

Hello @ManAnRuck
Thanks for the reproduction repository. I tried your reproduction and I was able to reproduce this with preview023 but I wasn't able to reproduce this with preview024 which was released yesterday. So can you please try this again with the latest version?


Adding hover effect in the video cards under the 'tutorials section'

Under the tutorials section, the video cards do not have a hover effect.
In order to have a more engaging user experience, we should add the hover effect on the video card present under this section.
I would like to work on this feature under GSSOC'23

Are you still up for this?

yes i am

Assigned

Are you still working on this issue?


THIS IS A VIRUS

Do not download this, this is a virus

Do not download this, this is a virus

? Did you check it in virustotal, or did you assume that because of windows defender? false positives have always been a thing. I've checked it and only unitycrashhandler32 shows up with 1 Trojan which I bet is a false positive. Either way the source is quite literally posted and you are free to check anything malicious in the code and post it here.

wheres the virus part

wheres the virus part

There is a such thing as undetected malware. These are especially easily hidden in Unity games. This is how I know it it. I opened it in process monitor in a virtual machine. You filter what badpiggies.exe does and you will see that it opens and modified a lot of registry keys and drops files it’s not meant to. It is an undetected malware, even if you run it through virustotal, it’ll return nothing. Unity games are usually undetected by antiviruses. And with what zach said, I did a dynamic analysis, like I said before. Even if the source is available, the built binary is malicious and even the source could have bad code hidden. I found a task in taskscheduler called runtimebroker.exe, this is a legit program but it’s in appdata, so it’s it imitating it. Please check your taskscheduler for it

There is a such thing as undetected malware.

Yes there are but I feel like it really isn't malicious. It's been almost 5 years since the release and I definitely would have noticed something wrong by now as I've literally ran it on my main machine where I've even intentionally disabled Windows updates because A they are annoying and B they break the system entirely. I'm pretty sure I still get security updates but I don't know where and how to really look whether it's working or not.

These are especially easily hidden in Unity games. This is how I know it it. I opened it in process monitor in a virtual machine. You filter what badpiggies.exe does and you will see that it opens and modified a lot of registry keys and drops files it’s not meant to. It is an undetected malware, even if you run it through virustotal, it’ll return nothing. Unity games are usually undetected by antiviruses. And with what zach said, I did a dynamic analysis, like I said before. Even if the source is available, the built binary is malicious and even the source could have bad code hidden. I found a task in taskscheduler called runtimebroker.exe, this is a legit program but it’s in appdata, so it’s it imitating it. Please check your taskscheduler for it

Could you do further research regarding this? if you can find the old official rovio release and it does the exact same thing it might be false assumptions.

wheres the virus part

There is a such thing as undetected malware. These are especially easily hidden in Unity games. This is how I know it it. I opened it in process monitor in a virtual machine. You filter what badpiggies.exe does and you will see that it opens and modified a lot of registry keys and drops files it’s not meant to. It is an undetected malware, even if you run it through virustotal, it’ll return nothing. Unity games are usually undetected by antiviruses. And with what zach said, I did a dynamic analysis, like I said before. Even if the source is available, the built binary is malicious and even the source could have bad code hidden. I found a task in taskscheduler called runtimebroker.exe, this is a legit program but it’s in appdata, so it’s it imitating it. Please check your taskscheduler for it

I cannot consume "concrete" information without proper source
I have also run this on triage first then run on my main device, to this day nothing was found, same as runtimebroker.exe is still the only thing inside WinSxS on my Windows

I get the idea of being extra cautious but source code is there and can look inside it if wanted
For the official Bad Piggies PC port if you want to try, here

I’m quite new to the cyber security space, and was sus of it. I’m sorry if I’m wrong. I’ll try to do more tests, I may of linked a different malware to it. Sorry guys, I’ll test it again later.


For a mint of multiple erc721 nfts via zora highlight or

Resolves OU-2106

@ponyjackal The changes you made in the last two commits look good. I think there's one remaining change to make.


ensure_installed seems broken

Just upgraded to
        version 1.29.0
        tag     v1.29.0
        branch  main
        commit  9ae570e

and suddenly started getting notifications:
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "basedpyright" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "bashls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "dockerls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "gopls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "html" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "jsonls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "lua_ls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "marksman" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "ruby_lsp" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "solargraph" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "sqlls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "svelte" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "taplo" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "terraformls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "tsserver" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "vimls" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.
2024-05-11T19:57:18 mason-lspconfig.nvim  WARN [mason-lspconfig.nvim] Server "vuels" is not a valid entry in ensure_installed. Make sure to only provide lspconfig server names.

However, my configuration hasn't changed:
    require("mason-lspconfig").setup({
      ensure_installed = {
        "basedpyright",
        "bashls",
        "dockerls",
        "gopls",
        "html",
        "jsonls",
        "lua_ls",
        "marksman",
        "ruby_lsp",
        "solargraph",
        "sqlls",
        "svelte",
        "taplo",
        "terraformls",
        "tsserver",
        "vimls",
        "vuels",
      },
    })

Setting automatic_installation = true fixed this for me.

Should be fixed in [1705](https://github.com/williamboman/mason.nvim/pull/1705!


make_node(f::Function) is broken if all input args are DataVariable

Current implementation returns an actual result of f(args), it should be PointMass at least. Also would be nice to implement args::Union{ConstVariable, DataVariable}...

@albertpod This might have been fixed in RxInfer.jl 2.0. I'll leave it open until we release.

https://discourse.julialang.org/t/reactivemp-hierarchical-linear-regression/88112

I started work on this. You mentioned it might have already been fixed in >= 2.0 and make_node(+, datavar(:x, Float64), datavar(:y, Float64), datavar(:z, Float64)) seems to work fine. Is that correct, Dmitry?
Or does f::Function refer to the nonlinear function in the delta node?

Small status update: successfully constructed the proxy datavar inside model creation (see branch 9-makenode-alldatavars tests). It still errors during inference because it tries to apply fform to a Tuple{Pointmass{Float64}, Pointmass{Float64}}
Notes:

I extended the ReactiveMP method isproxy inside inference.jl. This should be removed and pushed to ReactiveMP later (line). I've added it here for ease of testing.
I used ReactiveMP._getmarginal.(args)... instead of ReactiveMP._getmarginal(args, IncludeAll()) since it doesn't iterate over the vararg collection. But I might be misinterpreting the use of IncludeAll().
Choice for combineLatest(.., strategy = PushNew()) over zipped was discussed with Dmitry.
There is currently no getrecent for a datavar with a ProxyObservable. You can call its proxy_sources but that just gives you the tuple of recent source messages. I assume we will want a getrecent method that performs the mapping?

Thanks for working on this @wmkouw !

This should be removed and pushed to ReactiveMP later (line). I've added it here for ease of testing.

Yes! I think it can wait for now.

It still errors during inference because it tries to apply fform to a Tuple{Pointmass{Float64}, Pointmass{Float64}}

Perhaps you can use the ReactiveMP.getpointmass to get the actual value (In the same way we now use ReactiveMP.getdata to remove the Marginal{...} wrapper).
E.g.
(d) -> fform(ReactiveMP.getpointmass.(ReactiveMP.getdata.(d))...)

I used ReactiveMP._getmarginal.(args)... instead of ReactiveMP._getmarginal(args, IncludeAll()) since it doesn't iterate over the vararg collection. But I might be misinterpreting the use of IncludeAll().

I think we can leave it for now and fix this later. _getmarginal does not iterate over var-arg collection either, _getmarginal. does. However, _getmarginal is an internal function that may change, the more stable API for getting the marginal is getmarginal (without underscore in the beggining). getmarginal accepts two arguments. The second can be either SkipClamped(), SkipInitial() or IncludeAll(), which indicates if you are interesting in all marginals or maybe you want to skip e.g. initial ones. By default if you simply call the getmarginal(variable) the strategy is SkipInitial(), because users are usually not interested in the initial values set with initmarginals = ....
You could use
getmarginal.(args, IncludeAll())

but now I also realised that this will not work unless you define the Base.broadcastable(::IncludeAll) = Ref(IncludeAll()), e.g. like here.

There is currently no getrecent for a datavar with a ProxyObservable. You can call its proxy_sources but that just gives you the tuple of recent source messages. I assume we will want a getrecent method that performs the mapping?

Does the implementation call the getrecent now for something? Ideally, I would want to get rid of the getrecent in the future. It's an optimization hack, but it is indeed needed sometimes. The relevant piece of code for datavars is here. Now it assumes that datavar has the Subject as its source, but now we extend it to combine(Subjects...) + map. I can write the new method for the getrecent.

Perhaps you can use the ReactiveMP.getpointmass to get the actual value

I should have provided a bit more information. The current datavar construction works. For instance, if you set up:
fform(x,y) = x+y
x = datavar(:x, Float64)
y = datavar(:y, Float64)
z = combineLatest(ReactiveMP._getmarginal.((x,y))..., strategy=PushNew()) |> map(Any, (d) -> fform(ReactiveMP.getdata(d)...))
f = ReactiveMP.datavar(ReactiveMP.DataVariableCreationOptions(z), :f, Any)
subscribe!(f.messageout, logger())

and then update x and y with 1.0 and 2,0 respectively, you'll get
[LogActor] Data: 3.0

So, updating x and y with Message{Float64}'s, updates the Message{Float64} of the new datavar. But during inference, the Message{Float64} seem to be replaced with PointMass{Float64}, as indicated by the stacktrace:
ERROR: MethodError: no method matching +(::PointMass{Float64}, ::PointMass{Float64})
Closest candidates are:
  +(::Any, ::Any, ::Any, ::Any...) at operators.jl:591
  +(::ChainRulesCore.Tangent{P}, ::P) where P at ~/.julia/packages/ChainRulesCore/a4mIA/src/tangent_arithmetic.jl:146
  +(::VectorizationBase.CartesianVIndex, ::Any) at ~/.julia/packages/VectorizationBase/G9NJI/src/cartesianvindex.jl:80
  ...
Stacktrace:
  [1] (::RxInfer.var"#105#106"{typeof(+)})(d::Tuple{Marginal{PointMass{Float64}, Nothing}, Marginal{PointMass{Float64}, Nothing}})

I am currently trying to figuring out where exactly x and y are given PointMass distributions. Adding the getpointmass where you indicated won't work since getdata returns Floats. But it should be probably be added somewhere in the map.
Thanks for the information on getmarginal. I will add the broadcastable and then switch to include the strategy.
As for getrecent, I don't think it is currently used. I saw that it is only defined for Subjects and the extension indeed seems straightforward. I can add it if you want, but I can also leave it if you have future plans for getrecent anyway?

Extending getpointmass with ReactiveMP.getpointmass(point::Float64) = point allows construction of datavars of type PointMass{Float64}. So, the following
fform(x,y) = x+y
x = datavar(:x, PointMass{Float64})
y = datavar(:y, PointMass{Float64})
z = combineLatest(ReactiveMP._getmarginal.((x,y))..., strategy=PushNew()) |> map(Any, (d) -> fform(ReactiveMP.getpointmass.(ReactiveMP.getdata(d))...))
f = ReactiveMP.datavar(ReactiveMP.DataVariableCreationOptions(z), :f, Any)
subscribe!(f.messageout, logger())

will generate [LogActor] Data: 3.0 upon updating x and y as before.
However, during inference (with datavar(.., Float64)) I run into:
  MethodError: no method matching as_marginal(::Float64)
  Closest candidates are:
    as_marginal(::ReactiveMP.Marginal) at ~/.julia/dev/ReactiveMP/src/marginal.jl:99
    as_marginal(::ReactiveMP.Message) at ~/.julia/dev/ReactiveMP/src/ReactiveMP.jl:53
  Stacktrace:
    [1] on_next!(actor::Rocket.MapActor{Any, Rocket.CombineLatestUpdatesInnerActor{ReactiveMP.Marginal, R

So, this has some unexpected side-effects.

@wmkouw I think that happens because the modified streams sends actual values of type Float64 (in this example), but it should send a Message. Look at the line src/variables/data.jl:117 in ReactiveMP.jl. I think we solution here it so simply wrap the result of the fform(...) into Message.
Message takes 4 arguments.

data
is_clamped (put false)
is_initial (put false)
addons (put nothing)

Thanks, Dmitry. That did the trick.
Ok. So, to summarize:

In RxInfer, I have added a make_node with args::Vararg{<:ReactiveMP.DataVariable} and unit tests for applying functions of the form f(x,y, ...) to datavars x,y,...
In ReactiveMP, I have added broadcastable() methods for each of the MarginalSkipStrategy()'s, a getpointmass method for Float64 args, modified the isproxy method for datavariables to check for a proxy field, and fixed some typos in docstrings.
In Rocket, I have added a getrecent method for ProxyObservable's and a getrecent for CombineLatestObservable types (turned out to be necessary).

Shall I send 3 PR's linking to this issue?


⚠ GitLab Server has degraded performance

In e821f0a, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 8379 ms

Resolved: GitLab Server performance has improved in 814ab44.


[Test-Proxy] Refactor POST-able customizations to publicize settings and be removable

Right now, whenever someone boots the test-proxy, default sets of sanitization, transformation, and matching are established. When people POST to the server under /Admin/Add<type>/, more can be added. However,
on /Info/Active/, there is valuable data on  which are activated, but there is NO detail as to what their settings are or how to remove them.
The removal functionality additions should be made available under:
/Admin/Remove/<id>

and
/Admin/Remove/
header=<id>

Completed in #8120


Hotfix/add invalid exception

check if extension received via container implements League\Plates\Extension\ExtensionInterface otherwise throw InvalidExtensionException

Superceded (and incorporated) by #13.


Using sed instead of tr  fixed #7

Thanks @noscript, see #7

What is your npm name? I'll add you so you can push yourself.

it's the same as my github username: aziz

Bumped version and pushed to npm

Thanks @aziz :)

I only just noticed that it's not a - character - should have read the linked issue.
Sorry for the noise.


[PDI-16579] - Text File Input Not Recognized Escaped Characters At End of String

@pentaho-lmartins
@ssamora
@smmribeiro

Incorrect jira case

Incorrect jira case


[Warn/dns] getaddrinfo(,5080) failed: Unknown error

hi, I installed MLVPN from source in debian jessie. Launched server side and get:
root@debian:/etc/mlvpn# mlvpn --user mlvpn -c /etc/mlvpn/mlvpn0.conf --debug -Dprotocol -vvvvvv
2016-06-21T23:12:37 [ DBG] absolute maximum mtu: 1444
2016-06-21T23:12:37 [INFO/config] new password set
2016-06-21T23:12:37 [INFO/config] reorder_buffer_size changed from 0 to 64
2016-06-21T23:12:37 [INFO/config] ppp0 tunnel added
2016-06-21T23:12:37 [INFO/config] ppp1 tunnel added
2016-06-21T23:12:37 [INFO] created interface `mlvpn0'
2016-06-21T23:12:37 [WARN/dns] ppp0 getaddrinfo(,5080) failed: Unknown error
2016-06-21T23:12:37 [WARN/dns] ppp1 getaddrinfo(,5081) failed: Unknown error
2016-06-21T23:12:38 [WARN/dns] ppp0 getaddrinfo(,5080) failed: Unknown error
2016-06-21T23:12:38 [WARN/dns] ppp1 getaddrinfo(,5081) failed: Unknown error
2016-06-21T23:12:39 [WARN/dns] ppp0 getaddrinfo(,5080) failed: Unknown error
2016-06-21T23:12:39 [WARN/dns] ppp1 getaddrinfo(,5081) failed: Unknown error
2016-06-21T23:12:40 [WARN/dns] ppp1 getaddrinfo(,5081) failed: Unknown error
2016-06-21T23:12:40 [WARN/dns] ppp0 getaddrinfo(,5080) failed: Unknown error

Maybe related with DNS?? my resolv.conf is <IP_ADDRESS>
thank you
[EDIT]: ok, need to add bindhost="<IP_ADDRESS>" and avoid this WARN. In any case I cannot go ahead from
root@debian:/etc/mlvpn# mlvpn -v  --user mlvpn -c /etc/mlvpn/mlvpn0.conf --debug -Dprotocol
2016-06-22T00:22:01 [ DBG] absolute maximum mtu: 1444
2016-06-22T00:22:01 [INFO/config] new password set
2016-06-22T00:22:01 [INFO/config] reorder_buffer_size changed from 0 to 64
2016-06-22T00:22:01 [INFO/config] ppp0 tunnel added
2016-06-22T00:22:01 [INFO/config] ppp1 tunnel added
2016-06-22T00:22:01 [INFO] created interface `mlvpn0'
2016-06-22T00:22:01 [INFO] ppp0 bind to <IP_ADDRESS>
2016-06-22T00:22:01 [INFO] ppp1 bind to <IP_ADDRESS>

and no IP assigned for mlvpn0
root@debian:/etc/mlvpn# ifconfig mlvpn0
mlvpn0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          POINTOPOINT NOARP MULTICAST  MTU:1444  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

after a bit digging, I bet the problem is with the execution of mlvpn0_updown.sh. I doubled checked permissions (chmod and chown), but everything looks ok.
any hint?

the interface has a 1444 mtu so mlvpn_updown.sh is executed. Maybe you have a bug in your .conf not setting "ip4" and "ip4_gateway" ?
BTW, if you are doing linux <-> linux tunnel you don't need addresses on the tunnel do enable routing.

Thank you for your reply. This is a very strange situation for me. I've checked MLVPN with Ubuntu 15.10, ubuntu 15.04, Debian 8, Debian 7 and CentOS 7. All failing :(
For the server, this is my mlvpn0.conf
[general]
statuscommand  = "/etc/mlvpn/mlvpn_updown.sh"
tuntap = "tun"
loglevel = 2
mode = "server"
interface_name = "mlvpn0"
timeout = 30
password = "pacopaco"
cleartext_data = 0

[adsl0]
bindport = 5080
bindhost = "<IP_ADDRESS>"

[adsl1]
bindport = 5081
bindhost = "<IP_ADDRESS>"

and this is my mlvpn0_updown.sh:
 #!/bin/bash

error=0; trap "error=$((error|1))" ERR
tuntap_intf="$1"
newstatus="$2"
rtun="$3"
[ -z "$newstatus" ] && exit 1
(
if [ "$newstatus" = "tuntap_up" ]; then
 echo "$tuntap_intf setup"
 /sbin/ifconfig $tuntap_intf <IP_ADDRESS> netmask <IP_ADDRESS> mtu 1400 up
 /sbin/iptables -t nat -A POSTROUTING -o eth0 -s <IP_ADDRESS>/30 -j MASQUERADE
elif [ "$newstatus" = "tuntap_down" ]; then
 /sbin/iptables -t nat -D POSTROUTING -o eth0 -s <IP_ADDRESS>/30 -j MASQUERADE
fi
) >> /var/log/mlvpn_commands.log 2>&1
exit $errors

I did no copy&paste anything (I've just type by hand) in order to avoid any hidden char.
About "ip4" and "ip4_gateway", I did not find any info in the docs. Is this a new feature?
regards,

Use the template configuration files in /usr/share/doc/mlvpn/examples

(and the mlvpn_updown.sh script too, in examples/)

I already used them, but no luck :(. Also note that in Debian jessie 8 I have:
root@odroidc2:/etc/mlvpn# mlvpn --user mlvpn -c mlvpn.conf -vvvvv --debug -Dprotocol
mlvpn: unable to chroot: No such file or directory

/run/mlvpn (and /var/run/mlvpn via symbolic link) already exists. I can only make it start with:
root@odroidc2:/etc/mlvpn# mlvpn --user root -c mlvpn.conf -vvvvv --debug -Dprotocol
2016-06-27T16:01:23 [ DBG] absolute maximum mtu: 1444
2016-06-27T16:01:23 [INFO/config] new password set
2016-06-27T16:01:23 [INFO/config] dsl1 tunnel added
2016-06-27T16:01:23 [INFO/config] dsl2 tunnel added
2016-06-27T16:01:23 [INFO] created interface `mlvpn0'
2016-06-27T16:01:23 [INFO] dsl1 bind to <IP_ADDRESS>
2016-06-27T16:01:23 [INFO] dsl2 bind to <IP_ADDRESS>

my problem looks very similar to #56


Duplicate Package: neocities & neocities-cli

I'm not really sure how it happened, however we have 2 copies of the Neocities CLI: One from #250985, and another from #290514. After formatting the nix files in each, the only differences are:

Description
Maintainers
Platforms (neocities-cli lists platforms.unix)
Gemfile lock platform/bundled-with version (neocities is bundled-with 2.1.4, neocities-cli has x86_64-linux added as a platform and is bundled-with  2.5.5)

neocities is older, while neocities-cli is newer and slightly more complete, as it seems.
One should be removed, with the other aliased to it.
Notify maintainers
CC @dawoox as the maintainer of the other Neocities package.

this happened before, https://github.com/NixOS/nixpkgs/issues/300651
i wonder if there are more cases like this rn

I'll take care of this -- it seems like neocities-cli is out of date so might as well take care of that, too.


Documentation translated in French

Summary
Here is the translation of the documentation in French (France)
Related Issues
It's part of the issue #738
Checklist

[x] This pull request has a meaningful title and description.
[x] I have read and followed the Contributing guidelines.
[x] My code follows the conventions and coding style of this project.
[x] All tests pass and I have added tests for my changes
[x] I have updated necessary documentation

Screenshots (if applicable)
I added an information in the intro for french users to understand that DB is in English only ;)

Additional information
I had to change more than the i18n section of the theme.config to see the french documentation. So I added in the i18n section of the next.config.mjs too :

the locale "fr" in the array
and explicitly added localeDetection: false to see English version first and check if clicking on french language works perfectly (and only see French if I want to, not by default)

You can see it on my first commit (named "config"). Let me know if this not relevant, I'll remove the two changes in this file, or just the localeDetection line

Thank you for all your work! Looks pretty good already 👍.
Most of the requested changes are just little nitpicks.
Great that you added the language to the next.config.js file.
And also the information box is a good addition.

Thank you for this very interesting code review !
If I haven't missed one, I just wait your confirmation for :

the next.config (I understand that was a good suggestion but the "outdated" tag makes me doubt my understanding)
spaces before punctuation marks in several files : just need to know if you want it "the same in all languages" (no spaces before of after  punctuation marks) or like it's should be in French (with spaces as I did)

I think I’ve corrected the rest (first time for me with so many files, I only did once with a little PR). Last commit will help me to check if things were forgotten. Once again, thank you, it's a very good exercise !

Thank you for this very interesting code review ! If I haven't missed one, I just wait your confirmation for :

the next.config (I understand that was a good suggestion but the "outdated" tag makes me doubt my understanding)
spaces before punctuation marks in several files : just need to know if you want it "the same in all languages" (no spaces before of after  punctuation marks) or like it's should be in French (with spaces as I did)

I think I’ve corrected the rest (first time for me with so many files, I only did once with a little PR). Last commit will help me to check if things were forgotten. Once again, thank you, it's a very good exercise !

I think it I also learnt something new from you. I didn't knew that in French there are spaces around punctuation marks, very interesting. Yes, keep it and ignore my comments on those.
Regarding the next.config.mjs, yes it's good to set the language detection to false for now (the outdated just means that there where changes since my last review).
Thank you for your contribution!

I'm glad I contributed !
I updated the last changes that were waiting (double space & spaces inside quotes) and closed the conversations.
Now this should be clean and ready.

@VirginieLemaire just one addition:
Could you update your branch and add the translations for the new fields (e.g. replace the "replace me" with the french translations)?
It's just a new addition I made to the docs with that other text, for example the edit me or feedback texts are also translated. See #760.

Yes sure, I'm on it

I have clicked on "re-request preview" by mistake, sorry: I only wanted to check if something was waiting from last review 😅


⚠ api.piste.gouv.fr healthcheck has degraded performance

In 1ee7537, api.piste.gouv.fr healthcheck (https://api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 4581 ms

Resolved: api.piste.gouv.fr healthcheck performance has improved in f058401.


Reducing the _X64WriteBarrierCardTableManager::_cardTable memory reservation

Hi, we are trying to reduce the memory reservation for the _X64WriteBarrierCardTableManager::_cardTable.
(for windows x64 with address space of 128TB it is reserving 32GB).
The default page size is 4KB and we are trying to make it 64 times bigger, i.e. 256KB.
We changed the following constants:

RecyclerWriteBarrierManager::s_WriteBarrierPageSize, RecyclerWriteBarrierManager::s_BytesPerCard, AutoSystemInfo::PageSize, CompileAssert in SysInfo.h, __in_ecount_pagesize and
__in_ecount_twopagesize multiplied by 64.
HeapBlockMap::PagesPer4GB changed to 1 << 14

Is it safe to do it and is there a better way of doing it?
Thanks in advance.

@LouisLaf @atulkatti do you guys know?

@VSadov may know.

Can we get more information on this?
Why reserving 32GB is a problem? It is only reserving the address space, not allocating/commiting it.

We are embedding it and we don't want to take so much address space from the user. Also on PS4 the address space is even more "expensive".

@VSadov was it helpful?


waitsFor work-a-like for jasmine converts who have been missing it

I recently switched to mocha, and the one thing I missed was the waitsFor facility provided by Jasmine.
Much of the time, I find I'm better off using EventEmitter to achieve similar results. But there are times when it's just more straightforward to periodically check that a side-effect I'm expecting to occur has occurred.  My standalone waitsFor utility scratches that itch, and I thought some other mocha users might find it helpful too:
https://github.com/michaelsbradleyjr/waitsFor
I'm not sure it merits a mention on mocha's gh-pages site, but if it does that's fine too. :-)

Another way of tackling this would be a plugin for expect/should/chai to set up expectations in the future:
wait(x).to.be(true);

im trying to get an idea of what it's supposed to do but the coffeescript is confusing me

does it just postpone the done() call until all conditions are met?

@visionmedia, it doesn't postpone done() in some special manner, it's supposed to work in conjunction with it, in the same way one might postpone calling done until some event/callback has fired using, say, an instance of node's EventEmitter.
Contriving an example ... suppose you have an array that's serving as a work queue, e.g. its filled with functions that will execute as the queue is drained (with pop or shift). When it's finished draining, i.e. when it's length property is 0 you want to test an assertion regarding the work that you expect to have been done, which for the sake of the example can be referenced within an object named work.
By itself, an array can't externally signal that it's length property has value 0 and let's assume that we don't have an EventEmitter wired up within the draining logic.  So we could do:
waitsFor(function () {

  return !queue.length

}).runs(function () {

  expect(work)..........

  done()

})

(assumes expect.js has been loaded)
More generically, it's a way to postpone making assertions until some side effect (could be anything), periodically tested with a function passed to waitsFor, has occurred in the future.
Does that make sense?  Don't get me wrong, I realize that such a "polling" approach has limitations, but sometimes it's the path of least resistance, especially if the code being tested doesn't provide an emitter to which to one can hook a callback which will invoke the desired assertions.
You can achieve the same end by writing your own setTimeout routines; but then what if you want to limit how many times you poll before throwing a timeout error; what if you need/want to change the polling interval; and to boot what if you want to do this repeatedly across test suites.  Well, that's what waitsFor is good for -- it encapsulates that logic in a standalone library.
I've still got a few glitches in waitsFor, but should have them ironed out soon.

I can't say I've wanted this personally but I can somewhat see the merit for DOM related testing. API-wise this would sound better I think:
when(function()
   return 0 == queue.length
}).run(function(){
  ...
});

but either way it's definitely something that can be done outside of Mocha, besides Mocha handles timeout behaviour already so I would probably just poll with setTimeout or setInterval if necessary

I can alias "when" to "waitsFor" and "run" to "runs", good suggestions, thanks.
My naming and the method signature were intended to match that of Jasmine's waitsFor, for familiarity's sake (i.e. for those switching from jasmine to mocha).  I can alias "runs" to "then" also: when( ... ).then(...).
You're right, the timeout feature is more suited to standalone usage since mocha already has good support for timeouts. My waitsFor also allows for custom error messages and adjustable polling intervals, and in a NodeJS runtime the polling timer defaults to process.nextTick for timing efficiency.  How useful those features are in the context of mocha, I'm not sure.
As to just how useful it is a whole ... not sure yet. This pattern has come up frequently in some of my projects' tests, not so much in others. Now that I'm using mocha, I may find myself drifting away from it.  But in any case, I've got the tool ready at hand when I need it, and thought other mocha users might find it useful too.

yeah that looks better, I remember glancing at that in jasmine a long time ago and just wondering what the hell it was haha.


feat(core): property sorting

Status
READY/HOLD
Description
Fixes #1737
Not sure if this is a good way to go, ordering of properties seems irrelevant in the end (no functionality difference), so I'm not sure if this is what we want. I'll let you Maintainers decide :)
Todos

[ ] Tests
[x] Documentation
[ ] Changelog Entry (unreleased)

That's a good improvement.
It's great to make the sorting rules explicit and consistent.
In my opinion, it's better to be consistent with the order defined in the open API.

Ill change the default to be Specification instead!


feat(discord): [OWL-25267903] Log event when a user is banned and remove from db if user data exists

Let's update the gateway intent in the src/index.ts file to replace GuildBans with GuildModeration instead since the former is deprecated

done


Link to npm from README or QuickStart

I cannot find a link to the npm page for this package. Is it officially supported?

Done and sent a pull request , please check 👍
#532


Release 3.0.0

Non-breaking changes:

Make max length of lines configurable (#96)
Allow skipping message body check (#97)

Breaking change:

Discontinue local scripts (#98)

@marcospassos @Fryuni FYI


[#164] Implement Assign Command

Resolves #164
Resolves #168

Codecov Report

Merging #192 (2a965f9) into master (7025115) will decrease coverage by 1.27%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #192      +/-   ##
============================================
- Coverage     61.84%   60.57%   -1.28%
  Complexity      581      581
============================================
  Files           112      114       +2
  Lines          2233     2280      +47
  Branches        276      281       +5
============================================
  Hits           1381     1381
- Misses          745      792      +47
  Partials        107      107

Impacted Files
Coverage Δ

...ogic/commands/taskcommand/AssignPeopleCommand.java
0.00% <0.00%> (ø)

...ash/logic/commands/taskcommand/TagTaskCommand.java
0.00% <0.00%> (ø)

src/main/java/dash/logic/parser/TaskTabParser.java
9.09% <0.00%> (-0.44%)
:arrow_down:

.../parser/taskcommand/AssignPeopleCommandParser.java
0.00% <0.00%> (ø)

src/main/java/dash/ui/HelpPanel.java
0.00% <ø> (ø)

Continue to review full report at Codecov.

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


Lila documentationfolders

Fixes #137  .
Description of the Change
Checklist
Please check all that apply to your proposed changes

[ ] HTML code change
[ ] Added package dependency
[ ] Added data
[ ] Changed django model
[x] Documentation change
[ ] Added or changed TaskRunner

Additional context

hopefully that fixed it! I am still confused by the merge conflict. I just don't understand what that means, why it happened, and how I fix it!

sorry this issue has taken me a minute.


Remove version: Peppy.Osu! version 2023.815.0

https://github.com/microsoft/winget-pkgs/issues/152768#issuecomment-2102735187

Resolves #152768

Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/ppy/osu/releases/download/2023.815.0/install.exe
OK
(Automated message - build 882)


add props

@sudharsankss Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


organized wordlists

commit 97d3918:

Fixed problems with us names

Reorganized Indian names into Popular/LongTail division

Renamed spanishNames and petNames

Renamed the python script that generates the language wordlists to languageWordlists.py

commit 74afc7f:

Deleted the following files from experimental: Arabic Top 100, chinesecharacters, croatian, danish, english.words, Finnish, german, germanl, italian, japanese, spanish, swedish. All these languages can have wordlists easily generated by languageWordlists.py with an accurate statistical significance.

Deleted the following folders: us_names and us_sirnames (because they're already in the wordlists folder); india_names (same as us names); Hindi (easily generated by languageWordlists.py); frequency (same as hindi);wordlist scripts (unnecessary)

Deleted old wordlists folder

Added arabic, chinese, finnish, hindi,  japanese, swedish to languageWordlists.py, which generated the Popular and LongTail wordlists for each language

Awesome.  I noticed the last names list was all on one line.  It looks like you fixed that.


GH2814: Don't create prerelease GH release

This causes problems when creating PR's into the Homebrew repository
and also when displaying releases within the GitHub UI.  There is no
real benefit to marking them as prerelease, so lets just not do it.
Fixes #2814

@gep13  your changes have been merged, thanks for your contribution 👍
This has been merged by 3731637a6a966afb440ae8594f5307d4377c43fe
PR wasn't closed because GitHub is currently having issues

Incident on 2020-06-29 09:14 UTC
Investigating - We are investigating reports of increased errors and slow page load.
Jun 29, 09:14 UTC


Redo button fix

The redo button was not attaching the memory to the prompt when sending through ooba's text-generation-webui api. I asked chatGPT to fix it and this seemed to work, but I'm not sure if it's the ideal solution.

I hadn't used memory so far. The code I used was based on what is done when replacing an existing token with another from the probabilities. May be worth checking if this bug also happens when replacing a token

Yes, this likely occurs during token replacement as well. I suppose there's no way to avoid this without more significant changes, so I'll merge this pull request as is. But I will remove the excessive commenting.


Details of your pre_training

salaam  @m3hrdadfi and others
very nice to hear about your work !
Could you please provide some more information about your pre_training ?
regarding your batch size (32) , it's seems that 1.9M steps is so small (around 10 epochs)
Have you monitored loss of downstream tasks during the training and around step 1.9M  the loss wasn't changing so much ?
I think you used 1.9M steps because of computation costs ? am I right ?
Have you used google's scripts to run (or Hugging face )?
Have you used TPU (or GPU) for your pre_training ? what type of it ?
Have you used distributed training ?  (if yes , how many (TPU or GPU) in parallel ? )
(again, if yes , bs = 32  which you have announced in article was per GPU/TPU (or you have added them up ) ? )
have you used mixed floating point (fp16) or gradient accumulation steps ?

we can have some contribution to make ParsBert better  !

Thank you so much for your concern! The whole training process took around 1.9M (Train Steps) and about six days unstoppable on TPU v2-8. And for your record, which I already know that you checked the article, we covered up many types of written in Persian, so yes we did, we considered a broad training distribution! Please check the article!


is there the "clear screen" for Drawing Tools to get rid of all drawings?

Is your feature request related to a problem? Please describe.
after drawing some marks on screen, I have to remove them one by one use stroke eraser, if there are many of them, it must be wasting time for audience to see how I remove the stroke clumsily.
Describe the solution you'd like
add a button named like "clear all" under the stroke eraser,
better can assigns a shortcut for manipulating this.
Describe alternatives you've considered
don't have any idea easier than that.
Additional context
I think it's quite easy to understand my request without any attachment, if do really need, please let me know.
Thanks.

I've added a button for this. See this build: https://ci.appveyor.com/api/buildjobs/c9u5pxcbwgmbbi6m/artifacts/temp%2FCaptura-Portable.zip
Regarding the hotkey, I think then hotkeys should be added for all tools also.
What is your opinion?

thanks for this build, that's what I expect.
regarding the hotkeys for the stokes, that will be more than helpful you could add keys for all tools, this will be very useful when doing the recording, so we don't have to move mouse around.
hope this build will release soon!


Hotkeys (KEY command)

this has been added in https://github.com/AgonConsole8/agon-mos/pull/43 and released as part of 2.2.0


Create listener to refresh search thread resource usage

Create listener (SearchTaskResourceOperationsListener) to refresh search thread resource usage. This will be primarily used by the query-insights plugin (https://github.com/opensearch-project/query-insights) to access task resource usage.
Description
SearchTaskResourceOperationsListener subscriber for operations on search tasks resource usages.
Listener ensures to refreshResourceStats on request end capturing the search task resource usage
upon request completion. This listener API is public and ensures plugins can get accurate search tasks resource usage.
Related Issues
Resolves #[Issue number to be closed when this PR is merged]

Related discussion : https://github.com/opensearch-project/OpenSearch/pull/14681/files#r1678438231
Check List

[x] Functionality includes testing.
[x] API changes companion pull request created, if applicable.
[x] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@jed326 since you have expressed an interest (https://github.com/opensearch-project/OpenSearch/pull/14681), wanna take a look as well? Thank you.

Thanks for the review @reta. Will wait for the build to finish before you can merge

This listener API is public

@deshsidd Is this still true? If not, please update the PR description and changelog entry as appropriate.

@andrross @jainankitk Please take a look. Thanks

@deshsidd Thanks a lot for following up on the change! However we might be missing one change in this PR: https://github.com/opensearch-project/OpenSearch/pull/14782/files#diff-673f8e993795b1d79af3e0eaee5b2f7254817ce1e18970c74d2c33d9327d281bR72

{"run-benchmark-test": "id_4"}

@deshsidd Thanks a lot for following up on the change! However we might be missing one change in this PR: https://github.com/opensearch-project/OpenSearch/pull/14782/files#diff-673f8e993795b1d79af3e0eaee5b2f7254817ce1e18970c74d2c33d9327d281bR72

@ansjcy - I looked at the change and it seems we are modifying the order of listeners list. IMO search operations listener logic should be independent of the execution order.

{"run-benchmark-test": "id_4"}

@jainankitk The goal is to refresh the thread resource usage before plugin listeners are executed so that the usage info would be up to date. We are adding a per request listener to do this, which means it has to be executed at the begining - because the sequence we add listeners into SearchRequestOperationsCompositeListenerFactory.java is the actual sequence the listeners are executed.
I actually also have some concerns/doubts around this because like you mentioned SearchRequestOperationsListeners should be independent of each other. If we don't want to break this we might need to think about another place to inject the refresh logic. Let me know what do you think.

I actually also have some concerns/doubts around this because like you mentioned SearchRequestOperationsListeners should be independent of each other. If we don't want to break this we might need to think about another place to inject the refresh logic. Let me know what do you think.

Yes, the listeners by definition must be independent of each other. What other approach do we have for addressing this?

@jainankitk The goal is to refresh the thread resource usage before plugin listeners are executed so that the usage info would be up to date. We are adding a per request listener to do this, which means it has to be executed at the begining - because the sequence we add listeners into SearchRequestOperationsCompositeListenerFactory.java is the actual sequence the listeners are executed.
I actually also have some concerns/doubts around this because like you mentioned SearchRequestOperationsListeners should be independent of each other. If we don't want to break this we might need to think about another place to inject the refresh logic. Let me know what do you think.

@reta Any thoughts on the above since you initially commented to revert the change?

There has been a few modifications on the benchmark workflow. Triggering again.
Also, the baseline comparison dashboard is ready for you to compare pull request results against latest commits merged onto mainline.
@andrross

{"run-benchmark-test": "id_4"}

@reta Any thoughts on the above since you initially commented to revert the change?

@deshsidd I am all in to look for a better place to have refresh logic and not involve any listeners.

@jainankitk The goal is to refresh the thread resource usage before plugin listeners are executed so that the usage info would be up to date. We are adding a per request listener to do this, which means it has to be executed at the begining - because the sequence we add listeners into SearchRequestOperationsCompositeListenerFactory.java is the actual sequence the listeners are executed.

@ansjcy - Please correct me if I am wrong, but it seems you're concerned about the correctness of usage info. Ideally the search operation listeners should be lightweight and should not be adding much overhead (compared to the original search request execution). Do you believe that not to be the case?

The benchmark results on the PR changes align with baseline numbers, https://s12d.com/basline-dashboards.

@rishabh6788 - Is there a good way to read the benchmark numbers - https://github.com/opensearch-project/OpenSearch/pull/14832#issuecomment-2243910637? Will be good to have a baseline column to compare against

@rishabh6788 - Is there a good way to read the benchmark numbers - #14832 (comment)? Will be good to have a baseline column to compare against

This feature is in progress, https://github.com/opensearch-project/OpenSearch/issues/14826. Once completed, a final comparison report would also be published to the PR.
Till then you can use the mentioned dashboard and use filters to focus on particular queries.
I will also add a data table to help make it more readable.

Making a change to Node.java to make sure that the core listener runs before the plugin listener for now. Logically, it makes sense to make sure the core listeners are run before the plugin listeners. However, we will do this without switching the order of the current listeners and add the listener directly from Node.java (similar to what we did for slow logs). Discussed with @ansjcy @jainankitk @kkhatua. If needed we can make any additional fixes and refactoring as bug fixes. Hope we can merge this for now based on the above.
cc @reta @andrross @mch2 @jed326


Visual Studio Code Server "code tunnel" doesn't use authenticated proxy when connecting to relay

Does this issue occur when all extensions are disabled?: N/A

VS Code Version: code-insiders 1.97.0 (commit 079df18bc89a113d831a43fa36c2f472136d5b40)
OS Version: Rocky9

Description of issue:
When starting a vscode server with "code tunnel" while accessing the internet via an http proxy that requires authentication, we receive the warning:
warn Error connecting to relay, will retry: error connecting to tunnel: error sending tunnel CONNECT request: response error: HTTP status 407 Proxy Authentication Required
Oddly, the initial conection to authenticate and authorize happily uses the proxy but the connection to the replay fails
Steps to Reproduce:

Ensure HTTP_PROXY and HTTPS_PROXY environment variables are set
wget a fresh "code-insiders" to be sure we're playing with latest, and to illustrate that wget is honouring the authenticated proxy URL
run code-insiders ./code-insiders tunnel --verbose --log trace

Expected results:

I'd expect it to start up a tunnel and give me a URL to hit with my browser to use vscode

Actual results:

HTTP status 407 Proxy Authentication Required response from the proxy server that shows the full http://username:password@proxyserver:port

Notes:

As illustrated in notes above and session below, the HTTPS_Proxy is set and proven to be working using wget
The redacted proxy password does not have any special characters that need URLEncoding

Redacted session log:
[myuser@internalhost ~]$ wget https://vscode.download.prss.microsoft.com/dbazure/download/insider/079df18bc89a113d831a43fa36c2f472136d5b40/vscode_cli_alpine_x64_cli.tar.gz
--2024-12-12 09:24:47--  https://vscode.download.prss.microsoft.com/dbazure/download/insider/079df18bc89a113d831a43fa36c2f472136d5b40/vscode_cli_alpine_x64_cli.tar.gz
Resolving webproxy.our.internal.net (webproxy.our.internal.net)... <IP_ADDRESS>
Connecting to webproxy.our.internal.net (webproxy.our.internal.net)|<IP_ADDRESS>|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 9046713 (8.6M) [application/octet-stream]
Saving to: ‘vscode_cli_alpine_x64_cli.tar.gz’

vscode_cli_alpine_x64_cli.tar.gz  100%[===========================================================>]   8.63M  --.-KB/s    in 0.04s

2024-12-12 09:24:47 (193 MB/s) - ‘vscode_cli_alpine_x64_cli.tar.gz’ saved [9046713/9046713]

[myuser@internalhost ~]$ tar zxvf vscode_cli_alpine_x64_cli.tar.gz
code-insiders
[myuser@internalhost ~]$ ./code-insiders tunnel --verbose --log trace
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
[2024-12-12 09:25:09] debug Starting tunnel with `code-insiders ./code-insiders tunnel --verbose --log trace`
[2024-12-12 09:25:09] debug starting as new singleton
[2024-12-12 09:25:09] debug [os_info::imp::lsb_release] lsb_release command failed with Os { code: 2, kind: NotFound, message: "No such file or directory" }
[2024-12-12 09:25:09] debug No code server tunnel found, creating new one
[2024-12-12 09:25:14] debug Using file keychain storage due to: keyring communication timed out after 5s
[2024-12-12 09:25:14] trace No token in keyring, getting a new one
✔ How would you like to log in to Visual Studio Code - Insiders? · Microsoft Account
[2024-12-12 09:25:18] debug [reqwest::connect] starting new connection: https://login.microsoftonline.com/
[2024-12-12 09:25:18] debug [reqwest::connect] proxy(http://webproxy.our.internal.net:8080) intercepts 'https://login.microsoftonline.com/'
[2024-12-12 09:25:18] debug [reqwest::connect] tunnel to login.microsoftonline.com:443 using basic auth
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code PCCTQFYMF to authenticate.
[2024-12-12 09:25:23] trace refresh poll failed, retrying: Error getting authorization: authorization_pending AADSTS70016: OAuth 2.0 device flow error. Authorization is pending. Continue polling. Trace ID: ba597600-902d-46a0-a9ec-a75f13ff0000 Correlation ID: 506d21d4-b556-42a1-b328-e277df66e5d3 Timestamp: 2024-12-11 23:25:23Z
[2024-12-12 09:25:28] trace refresh poll failed, retrying: Error getting authorization: authorization_pending AADSTS70016: OAuth 2.0 device flow error. Authorization is pending. Continue polling. Trace ID: 65ed15a6-0b16-43c0-8360-b42301c46000 Correlation ID: 506d21d4-b556-42a1-b328-e277df66e5d3 Timestamp: 2024-12-11 23:25:28Z
[2024-12-12 09:25:33] trace refresh poll failed, retrying: Error getting authorization: authorization_pending AADSTS70016: OAuth 2.0 device flow error. Authorization is pending. Continue polling. Trace ID: 491833d0-7f78-44a0-8d7e-e1bd0ee70b00 Correlation ID: 506d21d4-b556-42a1-b328-e277df66e5d3 Timestamp: 2024-12-11 23:25:33Z
[2024-12-12 09:25:38] trace refresh poll failed, retrying: Error getting authorization: authorization_pending AADSTS70016: OAuth 2.0 device flow error. Authorization is pending. Continue polling. Trace ID: c2b4b405-8b78-4f25-bb60-73647cff1d00 Correlation ID: 506d21d4-b556-42a1-b328-e277df66e5d3 Timestamp: 2024-12-11 23:25:38Z
[2024-12-12 09:25:44] debug [reqwest::connect] starting new connection: https://global.rel.tunnels.api.visualstudio.com/
[2024-12-12 09:25:44] debug [reqwest::connect] proxy(http://webproxy.our.internal.net:8080) intercepts 'https://global.rel.tunnels.api.visualstudio.com/'
[2024-12-12 09:25:44] debug [reqwest::connect] tunnel to global.rel.tunnels.api.visualstudio.com:443 using basic auth
✔ What would you like to call this machine? · internalhostourintern
[2024-12-12 09:25:51] info Creating tunnel with the name: internalhostourintern
[2024-12-12 09:25:51] trace Found token in keyring
[2024-12-12 09:25:55] trace Found token in keyring
[2024-12-12 09:25:55] debug Starting tunnel to server...
[2024-12-12 09:25:55] trace Found token in keyring
[2024-12-12 09:25:55] debug [reqwest::connect] starting new connection: https://aue.rel.tunnels.api.visualstudio.com/
[2024-12-12 09:25:55] debug [reqwest::connect] proxy(http://webproxy.our.internal.net:8080) intercepts 'https://aue.rel.tunnels.api.visualstudio.com/'
[2024-12-12 09:25:55] debug [reqwest::connect] tunnel to aue.rel.tunnels.api.visualstudio.com:443 using basic auth
[2024-12-12 09:25:55] debug [tunnels::connections::relay_tunnel_host] connecting via http_proxy on http://proxyuser:MyActualPassword@webproxy.our.internal.net:8080/
[2024-12-12 09:25:55] warn Error connecting to relay, will retry: error connecting to tunnel: error sending tunnel CONNECT request: response error: HTTP status 407 Proxy Authentication Required from http://proxyuser:MyActualPassword@webproxy.our.internal.net:8080/ (request ID <none>): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
### html 407 response from our proxy server
...
[2024-12-12 09:25:55] error Error connecting to tunnel endpoint: error connecting to tunnel: error sending tunnel CONNECT request: response error: HTTP status 407 Proxy Authentication Required from http://proxyuser:MyActualPassword@webproxy.our.internal.net:8080/ (request ID <none>): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
### html 407 response from our proxy server
...
[2024-12-12 09:25:55] trace Found token in keyring

Thank you for picking up this issue.
Can I ask why this has been flagged as a feature request?  From my reading of the documentation, at https://code.visualstudio.com/docs/setup/network#_authenticated-proxies, Authenticated proxies should work seamlessly within VS Code.  Also, the tool is clearly picking up the username and password as the first stage of running "code tunnel" works seamlessly.  Also, the "connecting to relay" stage is clearly aware of the authentication details as they are displayed in the output of the tool.
This seems more like a bug fix than a feature request.
Cheers


[bug]: pf-button not focusable in Safari

Description of the issue
Keyboard navigation not working for pf-button in Safari.
Impacted component(s)
pf-button and all the components built using pf-button.
Steps to reproduce
Try opening https://patternflyelements.org/components/button/ in Safari and try to navigate to the button using the keyboard.
The button is not focusable.
Note that this is not reproducable in GNOME web, it affect Safari v16.5.2, perhaps other versions
Expected behaviour
The button should be navigable using the keyboard as in Chrome, Firefox and Edge.

potential line of enquiry: is delegatesFocus not being applied to the subclass?

Not sure if this is applicable, but it appears keyboard navigation has to be turned on in safari or at least it needed to be on my end https://www.tempertemper.net/blog/how-to-use-the-keyboard-to-navigate-on-safari.  After turning it on I was able to tab navigate through the buttons on https://patternflyelements.org/components/button/

why doesn't github have a "throwing the desk through the window" response emoji?
@Arathy-s does that solve your problem?

Thank you @bennypowers and @brianferry, enabling the accessibility settings in the Safari browser solved the issue.


Generalized Field events by replacing all subclass Observers with Field.Observer

Generalized Field events by replacing all subclass Observers with a single Field.Observer class. This is more convenient as Blocks become observers of their own fields, and is more compatible with the ChangeEvent class.
Along the way...

FieldAngle is now a floating value, like web Blockly, but it will only serialize with a decimal point if it is not an integer.
FieldAngle no longer supports 360 as an angular value, like web Blockly, and has a constant to determine when to wrap.
FieldNumber will only serialize the decimal point if it isn't an integer, and is will render all decimal digits.
FieldDate.getLocalizedDateString() replaces .getDateString().
Refactored large monolithic test methods for various Field subclasses. Added tests for Observer calls.

This change is

Review status: 0 of 34 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Flow for proposing, reviewing, and approving meta changes

We will need a flow in the guardian admin UI that allows guardians to:

View the existing meta configuration
Propose a change to meta configuration and view the status of the proposal
Approve changes proposed to meta configuration
Reject changes proposed to meta configuration

Blocked by https://github.com/fedimint/fedimint/issues/2791. Needs #184 as a pre-requisite, and ideally we reuse as much of the designs from #183 for editing the fields.

I was thinking of drafting something here, would the easiest be like a json editor that shows a diff but the only thing the guardian actually votes on is Yes/No on the new config in its entirety, not like individual items?

but the only thing the guardian actually votes on is Yes/No on the new config in its entirety, not like individual items?

I think that's how it would work, you vote on a specific new meta field content. That might only be a string or a more complex JSON object, but you don't vote on diffs thereof.

Done and merged with new meta manager


Migrate to Google Analytics 4 (GA4)

This issue is part of a CNCF-wide effort to upgrade project websites to GA4 since Google has deprecated Universal Analytics (UA). For more details, see:

https://github.com/cncf/techdocs/issues/108, including reference to a suggested migration process, which we've used to migrate a few CNCF projects already.

Tasks: prep
I'm noticing that UA GA was added via:

#124

and that despite all the source files still being present, I'm not seeing any evidence of the UA-148359966-1 site tag being used in any of the ep.io pages. Might analytics have been inadvertently removed?
I've raised a separate issue for this:

#274

Tasks: stages 1 & 2
Because the site is currently setup to use the old analytics.js library, we're required to do stages 1 & 2 together.

[ ] Create a GA4 site tag under the CNCF projects account.
The new GA4 stream measurement ID is: GA4-ID-GOES-HERE
[ ] Upgrade website to use gtag.js library
[ ] Do one of (not both) of the following:

[ ] Connect to the GA4 site tag from the UA tag.
[ ] Use the GA4 site tag instead of the UA site tag.

/cc @caniszczyk @nate-double-u

Might analytics have been inadvertently removed?

i have asked in the past about getting access to the analytics as it would be helpful in understanding any issues with the website (eg heavy traffic)
cc @mattklein123

I'd like to request access to the analytics too.

I think I have access to the Analytics and can probably figure out how to give it out. Please ping me on Envoy slack.

Thanks @mattklein123. I just pinged you from the CNCF slack workspace.

As @phlax points out just above this https://github.com/envoyproxy/envoy-website/issues/274#issuecomment-1262918574, there's no GA associated with the docs, since they are generated separately. @phlax's suggestion of using Netlify snippet injection would be a clean and simple solution to get analytics into all of the site pages.

Oh, I remember now why we have moved away from snippet injection for another project. As far as I recall, snippet injection is applied to all builds, not just production builds. Maybe that's configurable? I'll take another / closer look tomorrow.

its also not as configurable - but the alternative is manually injecting the snippet into historical pages and adding the snippet to new docs builds - doable but probs not the easiest way

Oh, snippets are actually nicely configurable. I'll work on something today.
I'm going ahead and creating the GA4 site tag, which we'll need regardless if we ever gain access to the UA property.

/assign @chalin

Production-only snippet injection has been enabled, and I've checked a branch deploy to ensure that it isn't getting any dynamic snippet injection.
The GA4 site tag is processing events:

Whether we ever recover the UA access, the work here is done. Closing.