Youtube Music Premium Account - cannot download, even using cookies (getting "Video unavailable")

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.04.26
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[X] I've read bugs section in FAQ

Verbose log
'
youtube-dl --verbose --cookies "cookies.txt" -F https://music.youtube.com/watch?v=tbGe4ekwNIs

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--cookies', 'cookies.txt', '-F', 'https://music.youtube.com/watch?v=tbGe4ekwNIs']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.04.26
[debug] Python version 3.7.3 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] tbGe4ekwNIs: Downloading webpage
This video is not available
ERROR: Video unavailable
This video is not available
Traceback (most recent call last):
File "~/.pyenv/versions/3.7.3/Python.framework/Versions/3.7/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 806, in wrapper
return func(self, *args, **kwargs)
File "/~/.pyenv/versions/3.7.3/Python.framework/Versions/3.7/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 827, in __extract_info
ie_result = ie.extract(url)
File "/~/.pyenv/versions/3.7.3/Python.framework/Versions/3.7/lib/python3.7/site-packages/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/~/.pyenv/versions/3.7.3/Python.framework/Versions/3.7/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py", line 1712, in _real_extract
raise ExtractorError(reason, expected=True)
youtube_dl.utils.ExtractorError: Video unavailable
This video is not available

Description

Using cookies.txt file created by this Firefox extension (included all domains, include youtube.com, music.youtube.com and accounts.google.com).
Youtube Music songs.
Works for "normal" / publicly available YT Music songs.
Does not work for YT Music songs only available to premium users.
Tried using username/password combo as well, didn't work.
Google account has 2FA turned on (update: Tried it again after turning off 2FA - did not work).
Note: The song does work when played using a YT Music premium account (will not work for non-premium accounts).
Update: Also tried using --netrc config or --username and --password - didn't work, while gettingWARNING: Unable to look up account info: HTTP Error 400: Bad Request

Do you have any other examples of YTM "premium only" videos? That one gives me video unavailable in the browser even though I have premium.

Update: Also tried using --netrc config or --username and --password - didn't work, while gettingWARNING: Unable to look up account info: HTTP Error 400: Bad Request

these options don't work for youtube extractor afaik. Have to use cookies.

Very odd, because that song still works for me in the browser.
Here is an entire album that is premium only: https://music.youtube.com/browse/VLPLiYn7g68Qg22y5Y3xpXvUAYBUK94GgBYk
Regarding cookies only working for the youtube extractor - that's good to know, but it's weird that the --cookies option isn't working though.

Very odd, because that song still works for me in the browser.
Here is an entire album that is premium only: https://music.youtube.com/browse/MPREb_OYSfQZ2Pm9g
Regarding cookies only working for the youtube extractor - that's good to know, but it's weird that the --cookies option isn't working though.

Interesting and slightly confusing.
That album doesn't work for me, however if I use a VPN to US it works. So that issue might be regional.
But on the VPN I can play the album & the earlier song both with no premium/account and when I'm on my premium account.
For you, if it was YTM & premium only (i.e. won't play on normal YT) then I would expect the erroneous behaviour you see as yt-dl requests everything as the normal yt web client.
But the same behaviour happens if there is some regional block. :/
There was some discussion here with some people mentioning similar to what you are seeing https://www.reddit.com/r/YoutubeMusic/comments/kuzyun/free_vs_premium_and_unavailable_tracks/
Possibly could be regional block where they deny non-premium users or everyone in some places?
-------- Original Message --------
On 14 May 2021, 21:58, budowski wrote:

Very odd, because that song still works for me in the browser.
Here is an entire album that is premium only: https://music.youtube.com/browse/MPREb_OYSfQZ2Pm9g
Regarding cookies only working for the youtube extractor - that's good to know, but it's weird that the --cookies option isn't working though.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks for the idea! :-D

Yay! Most likely a region block of some sort then.
-------- Original Message --------
On 14 May 2021, 22:32, budowski wrote:

Holy crap, I tried using youtube-dl with a US-based VPN and it worked!!!
Thanks for the idea! :-D
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I have same error with my library on music.youtube.com, I put all cookies and get "video unavailable" message. Just upload your audiobook to music.youtube.com and try to download it - fails!

@axet - did you try running your script with a VPN (US-based)? It worked for me

Nope, my browser works fine, I expect youtube_dl works as well. This is a my uploads to music.youtube.com, I'm pretty sure it is not required a VPN (and I do not have one).

If I were you, I would check this with a VPN (assuming you're getting the same error as I did) - since it did work for me from the browser, but not from youtube-dl. Once I ran the script via the US-based VPN -> it worked!


S0001. Clarify meaning of "cycle counter" and "base cycle counter"

Clarification added to the draft


Exec Info Misses nested Graph Executions

Describe the bug
If you run a graph such as the SearchGraph, the only outputs from the graph_exec_info are from the SearchGraph, but that doesn't include the child SmartScraperGraph instance used by the GraphIteratorNode. Since the GraphIteratorNode is likely using most of the tokens that the model actually needs, this could lead to people massively underestimating how much they're spending on queries/ tokens.
To Reproduce
Here's code to reproduce the issue:
import json
from scrapegraphai.utils import prettify_exec_info
from scrapegraphai.graphs import SearchGraph

graph_config = {
    "llm": {

        "model": "gpt-4o-mini",
    },
    "verbose": True,
    "headless": True,
    "max_results": 5
}

product_name_1 = 'Sony WH1000XM4 Wireless Noise Canceling Over-Ear Headphones - Black'
product_name_2 = 'Sony WH1000XM5 Wireless Noise Canceling Over-Ear Headphones - Black'

search_graph = SearchGraph(
    prompt=f"Are these 2 products the same product? Here are the two products:\nProduct 1: {product_name_1}\nProduct 2: {product_name_2}\nYour output should be exactly 'yes' or 'no'.",
    config=graph_config
)

result = search_graph.run()
print(json.dumps(result, indent=4))

graph_exec_info = search_graph.get_execution_info()
print(prettify_exec_info(graph_exec_info))

** Exec Info output:
node_name  total_tokens  prompt_tokens  completion_tokens  successful_requests  total_cost_USD  exec_time
0  SearchInternet           231            213                 18                    1        0.000043   3.495771
1   GraphIterator             0              0                  0                    0        0.000000   4.696635
2    MergeAnswers           245            236                  9                    1        0.000041   0.364202
3    TOTAL RESULT           476            449                 27                    2        0.000084   8.556608

Expected behavior
I'd expect the GraphIterator to show the tokens that it used instead of 0. Alternatively, it should find all of the subgraphs used during the running of this graph and either print those within this graph_exec_info ie. 0 SearchInternet 1 GraphIterator 2 SmartScraperGraph 3...

Oh you have right, we will add it

Hi, I took the liberty to work on this error.
Context on the Error
As for the Issue title, the error is encountered when graphs executions are nested into the others. For example in SearchGraph, the IteratorNode will call multiple instances of SmartScraperGraph creating a nested graph structure.
What happens at code level is the following.
Every graph during execution will try to catch all the token informations from OpenAi calls using an OpenAi handler with get_openai_callback() as cb:.
We end up having the following structure.
# SearchGraph is executed
with get_openai_callback() as cb1:
    # SearchInternetNode executed
    # Token informations gathered

    # IteratorNode executed
         # SmartScraperGraph executed
         with get_openai_callback() as cb2:
             # OpenAi handler gets passed to CB2. CB1 loses the handler (~paused).

             # All graph executed
             # Token informations gathered by CB2

             # OpenAi handler released

         # CB1 resume and re-obtain the handler.
         # No information about the token is available, has been "consumed" by CB2

Proposed Fix
To fix the error we can create a CustomContextManager that manages exclusive access to the OpenAi handler.

Nested call to get_openai_callback with yield a None object.
Sequential call to get_openai_callback continue to work`

custom_openai_callback.py
import threading
from contextlib import contextmanager
from langchain_community.callbacks import get_openai_callback

class CustomOpenAiCallbackManager:
    _lock = threading.Lock()

    @contextmanager
    def exclusive_get_openai_callback(self):
        if CustomOpenAiCallbackManager._lock.acquire(blocking=False):
            try:
                with get_openai_callback() as cb:
                    yield cb
            finally:
                CustomOpenAiCallbackManager._lock.release()
        else:
            yield None

base_graph.py
self.callback_manager = CustomOpenAiCallbackManager()
[...]

with self.callback_manager.exclusive_get_openai_callback() as cb:
[...]

if cb is not None:
   # update exec_info

Result
        node_name  total_tokens  prompt_tokens  completion_tokens  successful_requests  total_cost_USD  exec_time
0  SearchInternet           170            161                  9                    1        0.000030   3.868281
1   GraphIterator         46841          46456                385                    5        0.007199  10.237838
2    MergeAnswers          1152            825                327                    1        0.000320   3.569431
3    TOTAL RESULT         48163          47442                721                    7        0.007549  17.675550

Solution Downsides
We lose nested graph detailed cost informations, we do not know how the cost inside GraphIterator is divided (5 calls to SmartScraperGraph, that is composed by FetchNode, ParseNode...)
A solution to obtain this kind of detailed information would require more engineering on the CustomOpenAiCallback.
I can work on this in the next days.
I think that for now it is already good to have at least the complete cost of an execution, so I opened a PR for this Issue, see if you like the proposed solution.
#670

hi, please update to the new version


Follow-up: add metrics for gc in mysql datastore

Follow-up for the MySQL Datastore implementation.
In this PR I add the missing garbage collector metrics to the MySQL datastore implementation.
There is one change I made in regard to the gauges, where I added a success Tag so we are able to monitor (outside of the logs) if the garbage collection is successful (The Postgres implementation does not have this additional Tag)

I have read the CLA Document and I hereby sign the CLA


How to use restangular with underscore instead of loadash?

I installed restangular using bower. I already had underscore installed in my project. When I installed restangular, it added loadash as dependency. Can I use underscore instead of loadash as dependency for restangular  as it is mentioned in docs?

Since lodash contains all methods that underscore does, plus more, I don't see why you couldn't drop in lodash instead.

I have a project already running using underscore and ng-resource. I wanted to migrate from ng-resource to restangular but it would be much better if I do not have to change underscore library

lodash is a drop in replacement for underscore on the bright side.

It just uses _ that should be defined in global namespace. Simply load underscore and that should do the trick (although it may not work with newer releases as we might accidentally use a method of Lodash that's not available in Underscore).


at_hash matching should work with or without padding

Hi,
Validation of at_hash expect that the server return an at_hash without padding. However according to oidc spec the at_hash is a base64url and a base64url can contain padding character.
https://en.wikipedia.org/wiki/Base64#Variants_summary_table
Some servers return at_hash with padding characters which cannot be validated by this client.
A simple solution would be to remove trailling equal signs from the at_hash returned from the server

Can you show me where in the spec that is indicated?


Create a right navigation column on blog pages

The blog text should be left justified to make space for a right navigation column.
This column should have a link to the blog post on GitHub #609
And use the H2, H3, H4 to create and text outline and links to anchors.
It should work like GitBook.
https://docs.ockam.io/get-started

PR: https://github.com/build-trust/ockam-website/pull/634


Invalid character entity when using with dastardly

Retrieved 1 reports to process.
Error: Invalid character entity
Column: 779
Char: ;
when using with burp dastardly this error occurred.
normally it works really good when ran. This broke in the last 30 days.

@JonLittleIT can you please provide more details. The screenshot shows a success.
E.g. a full run log, a link to the run. any additional details.

  with:
    report_paths: **/dastardly-report.xml
    require_tests: true
    token: ***
    annotate_only: false
    update_check: false
    check_name: JUnit Test Report
    fail_on_failure: false
    require_passed_tests: false
    include_passed: false
    check_retries: false
    transformers: []
    job_summary: true
    detailed_summary: false
    annotate_notice: false
    follow_symlink: false
    job_name: dastardly
📘 Reading input values
📦 Process test results
  Retrieved 1 reports to process.
  Error: Invalid character entity
  Line: [2](https://github.com/Falconcore-ofc/falconcore.io/actions/runs/6306164331/job/17120833518#step:4:2)2[3](https://github.com/Falconcore-ofc/falconcore.io/actions/runs/6306164331/job/17120833518#step:4:3)8
  Column: [7](https://github.com/Falconcore-ofc/falconcore.io/actions/runs/6306164331/job/17120833518#step:4:7)7[9](https://github.com/Falconcore-ofc/falconcore.io/actions/runs/6306164331/job/17120833518#step:4:9)
  Char: ;

Can you please re-build with Debug logging enabled? (can perhaps help to further limit the area of the problem)
However, based on the logs I assume your junit report contains invalid characters.
So the following most likely seems to fail: https://github.com/mikepenz/action-junit-report/blob/main/src/testParser.ts#L153-L154
Given the version in use 3.8.0, which was released in July and not changed since. It also points towards a change in your test report.

Based on the last screenshot it seems like the dastardly-report.xml has some invalid contents. Is it a file you can share? or which you can look into if it has invalid entries at the defined line and column?

Based on the last details, this does not look like an issue with the action. Please report back if further questions arrise


FINERACT-1895 - Fixing the issue where Fineract doesn't start with spring profile activeMqEnabled

Using correct Listener for ActiveMQ
adding missing property fineract.mode.batch-enabled
Description
Describe the changes made and why they were made.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@galovics @vidakovic The failed checks run successfully in my fork. So above failure looks like random failure due to API call.
https://github.com/hiteshprajapati/fineract/actions/runs/4216892567
https://github.com/hiteshprajapati/fineract/actions/runs/4216892551


Typescript does not account for event bot.on('goal_reached')

The mineflayer bot events addition after doing loadPlugin do not play nicely with typescript types
await new Promise((resolve, reject) => {
                    this.bot.pathfinder.setGoal(new mineflayerPathfinder.goals.GoalXZ(pos.x, pos.z))

                    this.bot.on('goal_reached', (goal: any) => {
                        resolve(goal)
                    })
                })

It tells me Argument of type '"goal_reached"' is not assignable to parameter of type 'keyof BotEvents'.ts(2345)
What can I do?

as an alternative:
import { once } from 'events'
this.bot.pathfinder.setGoal(new mineflayerPathfinder.goals.GoalXZ(pos.x, pos.z))
await once(bot, 'goal_reached')

Uhh, thank you very much, that's even better!

What I actually was looking for:
await this.bot.pathfinder.goto(new mineflayerPathfinder.goals.GoalXZ(pos.x, pos.z))


Refactor server boot code

First round of refactoring, split up server setup code into AvalancheMQ::Launcher.
Separate into more methods, hopefully easier to follow startup code and stack traces.
Should make it easier to test some of this code (separate PR)

Have done some tests locally (with SSL as well), seems to work. There's probably more we can do, but unless it's very weird I'd prefer to merge and do another pass later on.


[Admin] Incorporate Jira into Development

https://ss-e-mall.atlassian.net/jira/software/projects/SS/boards/1


Feature/gradle experimental

Also see:
https://github.com/readium/readium-sdk/pull/224

That's great @clebeaupin ! :)

@JCCR

I successfully debugged into hybrid Java + C++ code, directly from Android Studio, on my hardware Android device (Marshmallow 6.0 API 23 - ARMv7). By the way, I haven't tried the Android emulator on my Windows 10 machine, because of HAXM / HyperV incompatibilities (I don't want to disable the latter for now, and the former is required by Android Studio).

I wrote rudimentary (but functioning) cross-platform Gradle tasks to generate the navigator.epubReadingSystem Git versioning info, thereby making the Windows-incompatible epubReadingSystem.sh shell script unnecessary! :+1:

MakeHeaders.sh is also unnecessary (replaced with Gradle copy tasks, if I understand correctly ... Cyrille can you please confirm?), and the Git symbolic links have been replaced with Gradle copy tasks. Therefore, this is now a fully-functioning cross-platform Android config!! Good bye Eclipse, welcome Android Studio.

@JCCR could you please test at your end to check everything works as expected. I believe @clebeaupin is on Linux (mainly). I'm on Windows 10 (mainly) and I haven't tested on my secondary dev machine yet (OSX).

By the way, this is the crude (but fully functioning) navigator.epubReadingSystem version info Gradle script:
https://github.com/readium/SDKLauncher-Android/blob/feature/gradle-experimental/SDKLauncher-Android/app/build_epubReadingSystem.gradle#L1
It's included from the main app Gradle build config:
https://github.com/readium/SDKLauncher-Android/blob/feature/gradle-experimental/SDKLauncher-Android/app/build.gradle#L97

I confirm that MakeHeaders.sh is useless and replaced by standard gradle copy tasks.
On my side, I have tested this gradle project on linux, windows and OS X. I have debug java and C++ code on Android emulator but also on ARM 7.

We need to figure out if we can switch to Android Studio "standard" and use the gradle project without a lot of refactoring since the Standard and Experimental versions of AS using slightly different syntax.

@rkwright LGTM?

I think do, but would like to review it one more time.  Monday, 17 April?

As agreed on the ReadiumSDK concall, LGTM.


Adding mapping file for MIRO to works json model

What is this PR trying to achieve?
Who is this change for?
Have the following been considered/are they needed?

[ ] Reviewed by @jtweed
[ ] Updated the Swagger documentation

[ ] Deployed new versions

[ ] Run terraform apply.

Checks passed so merging this


mp3 file invalid

The downloaded mp3 files wont play.
when trying to check the file on ubuntu the following is recieved:
'NoneType' object has no attribute 'group'

I got the same issue to

@shlomofan @burf2000  It appears this is a token issue with gTTS: https://github.com/pndurette/gTTS/issues/151
I'll keep checking on it but we might be at the mercy of gTTS-token.

The gtts-cli works on a Ubuntu VM but not via the function. It seems the issue is in the function

I've raised this which should resolve: https://github.com/rorpage/openfaas-text-to-speech/pull/3


The MYCOM Buttler shall provide information about PLA/LAG (important/mandatory)

Details on how to derive this from the Model will be provided soon by Andreas
PLA=Physical Link Aggregation. The AirInterfacse are aggegated on physial level means on L1.
LAG=Link Aggregation Group. The Aggregation is done on Switch Level as LAG

For LAG I'm still checking
For PLA: find here:
Regarding this ,
LAG the Two Air Interface are aggregated at the ETH Port. This is typical with E/// ML TN
If we trace the air-interface’s “client-ltp” , we shall find out the ethernet-interface ,
Air-interface
|-- pure-ethernet-structure/hybrid-microwave-structure
|-- ethernet-container
If both the air-interface points to the same ethernet-container , then , we shall conclude that there is a radio link bonding.


remove IE7 from selector at top of page

yep, I was going to do the others in a separate PR... but I could take care of it altogether. Can look at that tomorrow morning.

However you want it. I thought it would make sense to make this in one PR.
But feel free to merge this one and open another one to get rid of the rest.

yepp- makes sense to do it one PR. The gtie7 mentions in the existing codebase is for ie8 remember (as in, it's greater than ie7).. so it's the gtie7 which are nearly all gone now.
There is still a lot of work to be done on most of the features, but we're working through it bit by bit. :-)


Unable to obtain point cloud results

Why am I unable to obtain the point cloud file when running the test.py file and test_dtu.sh file, regardless of whether the filter method is selected as' normal 'or' gipuma ', in the' ply_local 'folder?

I received the following error while running the test.py file.
Traceback (most recent call last):
File "/environment/miniconda3/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/environment/miniconda3/lib/python3.10/multiprocessing/pool.py", line 48, in mapstar
return list(map(*args))
File "/home/featurize/GC-MVSNet/test.py", line 415, in pcd_filter_worker
filter_depth(pair_folder, scan_folder, out_folder, os.path.join(args.outdir, save_name))
File "/home/featurize/GC-MVSNet/test.py", line 395, in filter_depth
PlyData([el]).write(plyfilename)
File "/environment/miniconda3/lib/python3.10/site-packages/plyfile.py", line 195, in write
(must_close, stream) = _open_stream(stream, 'write')
File "/environment/miniconda3/lib/python3.10/site-packages/plyfile.py", line 1345, in _open_stream
return (True, open(stream, read_or_write[0] + 'b'))
FileNotFoundError: [Errno 2] No such file or directory: './outputs/normal_fusion/mvsnet004_l3.ply'

Resizing globalstate to 18
terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.5.4) ./modules/core/src/merge.dispatch.cpp:129: error: (-215:Assertion failed) mv[i].size == mv[0].size && mv[i].depth() == depth in function 'merge'


Resolve #2721

Adds "fps" after the fps count.

It would make more sense for you to take my fix for #2544 in #2668. We can move that to yours if you would like

I don't know how to directly reference it so here is a screen shot of the fix

Just post on #2668 if you decide to add it to yours and I'll remove it from mine

Nvm I've moved my ping plugin to the FPS plugin


Added a function to create nav's for navbar's

For example the following code

            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
                Toggle navigation

          </button>
          Book Marketer

<?php
echo $this->Html->navbarNav(
    [
        'Books' => [
            [
                'link',
                'Books',
                ['controller' => 'Books', 'action' => 'index'],
                '_options' => ['class' => $this->name == 'Books' ? 'active' : '', 'escape' => false]
            ],
            [
                'link',
                'Tags',
                ['controller' => 'Tags', 'action' => 'index'],
                '_options' => ['class' => $this->name == 'Tags' ? 'active' : '', 'escape' => false]
            ],
            '_options' => [
                'li' => ['class' => ($this->name == 'Books' || $this->name == 'Tags') ? 'active' : ''],
                'link' => ['escape' => false]
            ]
        ],
        $this->Html->tag('p', 'Signed as Mark Otto', ['class' => 'navbar-text'])
    ],
    ['escape' => false]
);
?>

Will produce the next result

allowing to add atributes to the li item, the link and the dropdown.
Maybe it need's some testing and some code review. Tried to be as clean as posible

There were once a specific helper to generate navbar (see https://github.com/Holt59/cakephp-bootstrap3-helpers/blob/master/View/Helper/BootstrapNavbarHelper.php) with lots of feature and working a bit like the FormHelper (you call create, then beginMenu, endMenu etc. until compile and end). I never had the time (and the patience... ) to move it from cakephp 2.0 to cakephp 3.0.
I think navbar are a big deal but having everything in one function doesn't seem right for me, so I will try to upgrade the BootstrapNavbarHelper as soon as possible.

:O Sorry, I never saw it. Maybe the code can be reused, because it doesn't
generate the whole navbar, just the "main menu" (almost same logic as
dropdown), no forms, no brand image, etc.
I'll going to see that cake2 navbar helper. Thanks to notice me.
El 22/07/2015 03:44, "Mikaël Capelle"<EMAIL_ADDRESS>escribió:

There were once a specific helper to generate navbar (see
https://github.com/Holt59/cakephp-bootstrap3-helpers/blob/master/View/Helper/BootstrapNavbarHelper.php)
with lots of feature and working a bit like the FormHelper (you call
create, then beginMenu, endMenu etc. until compile and end). I never had
the time (and the patience... ) to move it from cakephp 2.0 to cakephp 3.0.
I think navbar are a big deal but having everything in one function
doesn't seem right for me, so I will try to upgrade the
BootstrapNavbarHelper as soon as possible.
—
Reply to this email directly or view it on GitHub
https://github.com/Holt59/cakephp3-bootstrap3-helpers/pull/40#issuecomment-123579165
.

I just pushed a commit with a new BootstrapNavbarHelper. The standard functionalities should work fine, but it needs some more testing and tuning. Here is an example on how it works:
echo $this->Navbar->create('Mikael Capelle', array('fixed' => 'top', 'responsive' => 'false', 'inverse' => true)) ;
echo $this->Navbar->beginMenu () ;
    echo $this->Navbar->link('Link', '/', ['class' => 'active']) ;
    echo $this->Navbar->link('Blog', array('controller' => 'pages', 'action' => 'test')) ;
    echo $this->Navbar->beginMenu ('Dropdown') ;
        echo $this->Navbar->link ('Action');
        echo $this->Navbar->link ('Another action') ;
        echo $this->Navbar->link ('Something else here') ;
        echo $this->Navbar->divider () ;
        echo $this->Navbar->link ('Another action') ;
        echo $this->Navbar->divider () ;
        echo $this->Navbar->link ('Another action') ;
    echo $this->Navbar->endMenu () ;
echo $this->Navbar->endMenu () ;
echo $this->Navbar->searchForm () ;
echo $this->Navbar->text('Signed in as Holt59, Log Out');
echo $this->Navbar->link('Profile');
echo $this->Navbar->end() ;

You can have a menu with submenu (the subsubmenus are not working yet), there are some custom stuff like the following ones:

If you call link outside of a menu, it will create a button instead of a link.
If you call the text method with some links inside, the navbar-link class will automatically be added to them

I will work on some feature to automatically add « active » class on menu when I have time.

Cool! Thanks!!
It works and this way is better. However, you made a typo in line 76 (used fixed instead of _fixed)
I'll keep testing.
Also I don't think the auto "active" class is necesary, I think that belongs to the user (?)

Thanks for the typo, it's corrected. Concerning the active class, I don't really like having to specify it manually, I'd rather let the users disable this feature if they want (by setting autoActiveLink to false). I'll update the documentation as soon as possible.


Can't right click the tracker for context options

Hello,
I'm trying to right click the tracer window for the context options where you can set the window position, enable/disable the background and window title etc.
This doesn't seem to work.
This addon: https://github.com/Krappa322/arcdps_healing_stats seems to have this functionality down well, so it seems to be an addon issue not an arc issue.
Any chance this could be resolved?
Kind regards,
John

Yes, the context menu with window options has to be implemented manually in every addon. So this would be a new feature to develop rather than a bug to fix.


brew search tap result error

I just installed linuxbrew onto a new machine, and when I try to install openssh:
% brew install openssh                                                                                :(
Error: No available formula for openssh
==> Searching formulae...
==> Searching taps...
homebrew/x11/openssh
Actually it should be homebrew/dupes/openssh
However when I try to run brew search openssh the result is correct.

see Homebrew/homebrew#43863


Add ccache

Tool name
ccache
Tool license
GPL-3.0
Add or update?

[X] Add
[ ] Update

Desired version
latest
Approximate size
less than 5M
Brief description of tool
Ccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again. Ccache is free software, released under the GNU General Public License version 3 or later. See also the license page.
URL for tool's homepage
https://ccache.dev
Provide a basic test case to validate the tool's functionality.
No response
Virtual environments affected

[X] Ubuntu 18.04
[X] Ubuntu 20.04
[X] Ubuntu 22.04
[X] macOS 10.15
[X] macOS 11
[X] macOS 12
[X] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
less than 30s
Are you willing to submit a PR?
No response

Hi @yujincheng08, thank you for your request. We will take a look and get back to you.

@yujincheng08 there are a few gh actions available to install and use ccache, for example, https://github.com/marketplace/actions/ccache-for-gh-actions
Using actions is a recommended way to install the software in runtime.
I'm going to close the issue. Feel free to contact us if you have any concerns.
Thank you!


Refactor ojd_daps_skills

This PR is a major re-factor of the current ojd_daps_skills library. It does a number of things:

Remove unnecessary files: it removes a bunch of files that are not necessary for the library generally. The plan here is the make a copy of the current dev branch so we don't loose anything from the previous iteration.
Use poetry for dependency management: hopefully, this would sort out some of the really type dependency issues that users are currently having.
Use Pydantic for more enforceable type hints
Moves model training out of this inference repo and into this repo: ojd_daps_language_models This way, we're just pulling the latest models from huggingface hub
Creates configuration managers and uses Pathlib: I've created two Config classes that help in downloaded data from s3 and models from huggingface hub to hopefully avoid the JobNer does not exist drama.

In addition to ensuring that the results are similar to last times, there are additional things outstanding:

we need to add a LICENSE file
the documentation needs to be updated - the docs directory has been removed so needs to be re-added with updated information on how to use the library and updated model performance (which can be found on huggingface)
pytests gh actions need to be updated to also work on a windows system. It is not as simple as simply adding windows-latest to the action.
We will need to do a release and release to pypi once merged. We should also write an issue or communicate something about the changes to the library.

@Jack-Vines I've had a look at this PR and I think I've spotted the code issues that needed changing and changed them. I trained a new NER model and Multiskill model (and uploaded them to huggingface) after realising they were trained on an old (and smaller) version of the training data.
Still to do:

try to investigate quality changes?
Documentation/github actions that India mentions in this PR's description

Deep dive into the results pre and post refactor
I wanted to know if the results changed before and after the refactor. So using the same sample of 1000 OJO job adverts:

I applied the old (current dev) code [with the data downloaded from ojd_daps_skills_data_new i.e. the 20230808 model.
I applied this new code

TL;DR

The original (20230808 on S3) and refactored (the one on huggingface) models are different - they have the same random seeds and training data, but stochasticity/changes may have crept in. This is necessarily a bad thing.
Mapping extracted skills to ESCO seems to be exactly the same before and after the refactor 😄 .
There are more skills extracted in the refactored method than the original.
I haven't got a sense of 'quality' - is the quality of the new results better/worse/the same as before?
Previously we removed duplicate skills in the list of mapped skills for each job advert. In this method I thought about also removing duplicates, but then I thought maybe we should leave them in and the user can decide to remove them. This is important to remember.

Full results
The results are not the same. Generally more skills are extracted from the new method.

Original number of skills: [5, 10, 16] (25%,50%,75% percentiles)
Refactored number of skills: [7, 12, 20]

The "top ESCO skills" extracted are similar, but not the same.

The number of occurrences of each unique ESCO skill are correlated across the 2 methods:

📏 The length of the skills are basically the same. In the original the mean length was 29.4 with a IQR of [14,23,38] in the new version the mean length is 30.8 with [14, 25, 40].
🎉  The matching is the same though. If the same skill entity is extracted from both methods, then they are always matched to the same ESCO skill.
🔬 The models are different. I tested this with the following code:
import os
import spacy

job_ad = "[ Marketing Communications Executive Full Time (Hybrid) Location: Crewe Base Salary: Up to £32k per annum DOE Are you an experienced Marketing Communications Executive looking for a new role with a fantastic company? If so, we have the perfect new role for you! The focus of the role is marketing automations, set up and execution of campaigns via automations, focus  on digital but some direct mail and some social (Facebook). The Role:  Campaign ManagementWrite Briefing DocumentsCollaborate with different teamsAssist with Creating a Brand Marketing CalendarManager Social Media ChannelsSupport in Raising PO'SProduce Monthly NewsletterExecute Email Marketing CampaignsReporting of Campaign Effectiveness You:  Educated to a higher level (Ideally in Marketing)Excellent Communication SkillsExperience Working with StakeholdersPrevious Experience of Email Software (Active Campaigns, Mailchimp, SendInBlue, Capterra etc)Knowledge of Wordpress is an advantage. ]"

## Use the model without any infrastructure around it

ner_model_name = "nestauk/en_skillner"
namespace, ner_name = ner_model_name.split("/")

os.system(f"pip install https://huggingface.co/{namespace}/{ner_name}/resolve/main/{ner_name}-any-py3-none-any.whl")
hf_nlp = spacy.load(ner_name)

doc = hf_nlp(job_ad)
[(ent.text, ent.label_) for ent in doc.ents]
>>> [("Raising PO'SProduce Monthly NewsletterExecute Email", 'SKILL'), ('Educated to a higher level (Ideally in Marketing)Excellent Communication SkillsExperience Working with StakeholdersPrevious Experience of Email Software', 'EXPERIENCE'), ('Active Campaigns', 'SKILL'), ('Mailchimp', 'SKILL'), ('SendInBlue', 'SKILL'), ('Wordpress', 'SKILL')]

## The old way
# After downloaded the `ojd_daps_skills_data_new` folder from the public S3 bucket (confusingly called 'new')
old_nlp = spacy.load("ojd_daps_skills_data_new/outputs/models/ner_model/20230808/")
old_doc = old_nlp(job_ad)
[(ent.text, ent.label_) for ent in old_doc.ents]
>>> [('marketing automations', 'SKILL'), ('direct mail and some social (Facebook)', 'SKILL'), ('NewsletterExecute', 'SKILL'), ('Educated to a higher level', 'EXPERIENCE'), ('Email Software', 'SKILL'), ('Mailchimp', 'SKILL'), ('Capterra etc)Knowledge', 'SKILL')]


add support for prove test arguments

Added support for supplying arguments to tests themselves (not the test runner).  Also added a couple base options

hold on, this has a bug...  let me fix

Merged in the changes from upstream...  Should be good to go now.

Thank you for the PR. Since I'm not familiar with Prove, it's a bit difficult for me to figure out what is the intended behaviour of these changes. Also, test#base#verbose() doesn't exist. Do you think you could add some tests around this?

The main purpose of this modification is to add the ability to supply arguments to the tests themselves.  Prove sends anything after the arisdottle (::) to the tests that it runs.  I use this to supply the tests with verbosity level when also supplying --verbose which is an argument to prove itself.  The main change was due to the fact that test#perl#prove#build_args always supplies the test file name last and the arisdottle MUST be after the file list to prove.
As to there not being a test#base#verbose(), i incorrectly assumed that was just a way of allowing users to specify values in their .vimrc for that parameter.  That said, it can be removed.  My standard use case is open the test I am working on and :TestFile --verbose :: --log trace, so I wasn't even using it anyway.
As to adding tests, sad to say, I don't know how...  I could probably figure it out as soon as i get a second.

Ok, no worries, I'll add the tests. Thanks for the explanation :)

Ok, I cherry-picked your change to master, and fixed some bugs in the implementation and added tests. Thank you!

The version in master does not have the split on :: which was the purpose of this issue/pull request.   I cannot use this plugin as it is currently implemented.  Is there a reason you removed the
  if len(a:args) == 2
    let args = split(a:args[0], '::')

    if test#base#no_colors()
      let args[0] = ['--nocolor'] + args[0]
    endif

    if test#base#verbose()
      let args[0] = ['--verbose']  + args[0]
    endif

    let out_args = [args[0], a:args[1]]
    if len(args[1])
      let out_args = out_args + ['::', args[1]]
    endif
  endif

part?

I'm surprised the test arguments don't work properly, I must have missed something in the implementation. The reason I rewrote your code is because I don't think any code in test#perl#prove#build_args() should depend on the arguments length. For example, if there are any options set up in test#perl#prove#options, the arguments length would automatically be 3, and your code only checked if they're of length 2. Also, I've realized that arguments passed to :Test* commands should be recorded as an array of arguments (and not string), in order to be consistent with other arguments, so test#perl#prove#build_args() can count that all arguments are split as an array, and is able to manipulate it the same regardless of the source of these arguments. In that case the number of arguments would be the number of CLI arguments.
What exactly doesn't work? I already wrote some tests for test arguments with :TestFile.


[Bug]: Fix ConfigTree updation logic

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Inside JSObject/utils.ts , updateJSCollectionInUnEvalTree function code should update variables in configTree but currently, it updates the unEvalTree.
Steps To Reproduce
Internal code
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
1.9.13

Done with JSObject mutation PR.


fix(editor): restore pathways editable traits; fix opacity: 0

Jira
https://app.asana.com/0/1126340469288208/1151276850580121/f
Summary
Restores ability to edit bolt-interactive-pathways props/traits in grapesjs editor.
Details
This was a regression, now the bolt-interactive-pathways element is properly registered.
I also fixed a bug wherein editing the bolt-interactive-pathways props caused it to have opacity: 0.
How to test
Go to editor page, add pathway, edit bolt-interactive-pathways layer, add customImageSrc.

@remydenton Can you merge this, then?

PR was released with v2.13.0


When the PDF zoom in or out, the text will blur, and then become clear。

Can someone help me with this problem?
Thank you.

This is normal adjust constants to improve, Adobe acrobat also does the same.

@1stmetro Hello, thank you for your answer. But this phenomenon occurs in my Android APP, which is a normal phenomenon? Is there a solution?

Even commercial apps are blurry and become clearer after zoom scroll etc. I modified my constants to help with this issue and blocks that don't become clear is that is your problem also.


Create separate operation-specific configs for the object-mapper Batch and Transact operations

Description
Creates new operation-specific config objects for the DynamoDB object-mapper operations.
I'm splitting this into 3 PRs:

Batch and Transact - This PR
Delete/Load/Save - TBD
Query/Scan - TBD

I have a longer analysis in an internal doc, but I'm planning to apply these properties to all operations because they deal with the table itself or the DynamoDB item <-> .NET object transformation:

OverrideTableName
TableNamePrefix
MetadataCachingMode
IsEmptyStringValueEnabled
Conversion
DisableFetchingTableMetadata

Then these are on a case-by-case basis:

BackwardQuery - only when querying
IndexName - only when querying or scanning
ConditionalOperator - only when querying or scanning
QueryFilter - only when querying or scanning
ConsistentRead - when getting items (including querying or scanning)
SkipVersionCheck - when writing or deleting items
IgnoreNullValues - when writing items
RetrieveDateTimeInUtc - when getting items (including querying or scannign)

Motivation and Context
For V4 of the SDK, we're planning to split the shared DynamoDBOperationConfig object into operation-specific configs, since the shared object has grown overtime to include properties that are not relevant for all operations.
DOTNET-7513
Testing
Ran DynamoDBv2 sln tests locally
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[X] My code follows the code style of this project
[X] My change requires a change to the documentation
[X] I have updated the documentation accordingly
[X] I have read the README document
[X] I have added tests to cover my changes
[X] All new and existing tests passed

License

[X] I confirm that this pull request can be released under the Apache 2 license

If we are putting the same 6 properties on all operation configs should those be in a base class? Or does that cause confusion when you get to other operations.

If we are putting the same 6 properties on all operation configs should those be in a base class? Or does that cause confusion when you get to other operations.

I was on the fence about this. Given that we are unwinding an object that became over-shared, I opted to treat it like generated code and keep all the definitions separate. But I am planning to use those 6 for all of our current operations as they're used either at the table level or anytime we convert POCO <-> items.
I suppose that if we did use a base class and added a new operation that didn't use one of the 6, then we can not use the base class.
Any thoughts @96malhar or @philasmar ?

If we are putting the same 6 properties on all operation configs should those be in a base class? Or does that cause confusion when you get to other operations.

I was on the fence about this. Given that we are unwinding an object that became over-shared, I opted to treat it like generated code and keep all the definitions separate. But I am planning to use those 6 for all of our current operations as they're used either at the table level or anytime we convert POCO <-> items.
I suppose that if we did use a base class and added a new operation that didn't use one of the 6, then we can not use the base class.
Any thoughts @96malhar or @philasmar ?

I prefer to use a BaseClass. This is going to become a maintainability issue. We should not add any property to this base class that does not apply to all operations. Any property that is operation-specific should go on the operation-specific config object.

If we are putting the same 6 properties on all operation configs should those be in a base class? Or does that cause confusion when you get to other operations.

I was on the fence about this. Given that we are unwinding an object that became over-shared, I opted to treat it like generated code and keep all the definitions separate. But I am planning to use those 6 for all of our current operations as they're used either at the table level or anytime we convert POCO <-> items.
I suppose that if we did use a base class and added a new operation that didn't use one of the 6, then we can not use the base class.
Any thoughts @96malhar or @philasmar ?

I prefer to use a BaseClass. This is going to become a maintainability issue. We should not add any property to this base class that does not apply to all operations. Any property that is operation-specific should go on the operation-specific config object.

Created https://github.com/aws/aws-sdk-net/pull/3376 to introduce the base class. Once that is merged I'll rebase this on top of it.


Just fix the absolute-path thing and this should be good to go.

@amasad done!

Great! Will do pull it. It'd be nice to add some docs to that as well :) :dancer:

@amasad are those docs fine?

Sorry for the late reply. Just a few nits on the docs

@amasad updated the docs. I actually didn't write those texts, but they're changed the way you wanted now :)


EPM: RMS* and NeutralCurrent attribute value ranges cannot be negative

By definition these parameters cannot be negative, so the constraint ranges should be changed from (-2^62 to 2^62) to (0 to 2^62).

@littlebriars This is an issue for the spec, not the SDK, right?  Is this filed in the wrong place?

By definition these parameters cannot be negative, so the constraint ranges should be changed from (-2^62 to 2^62) to (0 to 2^62).

Whoops: yes.
I have now raised a spec issue: https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/8868
For the test spec, I've already included the fix in https://github.com/CHIP-Specifications/chip-test-plans/pull/3949/, which has just been merged.
For the SDK I noticed this in review of https://github.com/project-chip/connectedhomeip/pull/31616, and suggested it be fixed there, but @jamesharrow is not surprisingly reluctant to include it until there is a spec change too, so suggest we keep this issue open until the SDK is fixed (either in #31616 or if it misses that PR an new PR).


Screen unlock ValueChangeEvent

Request for implementiing value change event that can be observed.
something like
LockScreenUnlocked: ValueChangeEventArgs;
I am trying to implement custom animation on homescreen when screen unlocks but there is no way for me to know when screen gets unlocked.

Good suggestion, added to the TODO.


[FR]: What about sounds ?

If the engine have some sound sub-system or i must use something from outside?
Thank you!

We have some basic audio components for test, you can review samples: https://github.com/Orillusion/orillusion/tree/dev/samples/audio
The Web/HTML audio is strong enough for most cases, so we only add few things on audio system, mainly to cover dynamic position audio. You can send PRs or issues to tell us more features


lint and add ability to loop until URL is valid

Hey @christoga nice work! here I add some new functionality, please check it out :grinning:

[x] add function to loop until get a valid URL
[x] perform go fmt to make sure setup.go follow go's coding standard

More clean code! :+1:

Sure!, do you have a slack anyway?
Gonna invite you to kotzudev, the maintaner of the repository😀 @widnyana

@christoga sure, please invite wid [at] widnyana.web.id to slack :bow:


Changing Python scripts often causes a memory error

Changing e.g. main.py and running the iOS app again will often result in a memory error trying to load the new script. The function transmitRawREPLCode() in Controller.swift is what actually transmits the ^C's. There is only one place it is used (on connect, in the same file).

Never seen the effect of this issue so closing for now


Add specs for GameTemplate and LearningPath that point to CourseTemplate

Add specs for GameTemplate and LearningPath that point to CourseTemplate

@jgan @supersam654 @davetchen @steve-rivera FYI

 Write LearningPath and GameTemplate bundle specs


Special characters are being escaped from the value of the environment variables

Description/Context
We are using dotenv with fastlane for automation app builds, during which we found out that the values of the env variables from .env were bad/incorrect.
Initially, we thought that there's some issue with fastlane, after doing a small POC with dotenv only we were able to reproduce the issue.
Steps to reproduce
Project Structure
├── Gemfile
├── Gemfile.lock
└── demo.rb

Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    dotenv (2.7.6)

PLATFORMS
  x86_64-darwin-20

DEPENDENCIES
  dotenv

BUNDLED WITH
   2.2.22

.env
MY_KEY=ABCD$FFFF;1234#EEEE

demo.rb
require 'dotenv'

Dotenv.load

print("#{ENV['MY_KEY']}\n")
print("#{ENV['MY_KEY'].length}\n")

Run demo.rb
Expected behavior
Expected output is
ABCD$FFFF;1234#EEEE
19

Actual behavior
Output is incorrect and it is escaping not only special character but also few succeeding characters as well.
ABCD;1234
9

After wrapping the value of with " " (Double Quotes). Getting a different output with few character missing
ABCD;1234#EEEE
14

When the value is wrapper inside ' ' (Single Quotes). It is outputting the correct value
ABCD$FFFF;1234#EEEE
19

System configuration
dotenv version: 2.7.6
Rails version: N/A
Ruby version:  ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin20]

The $ is being interpreted as a variable, which is expected behavior. The different behavior between no quotes and double quotes looks like a bug to me though.
See variable substitution in the README:

If a value contains a $ and it is not intended to be a variable, wrap it in single quotes.

The different behavior between no quotes and double quotes looks like a bug to me though.

I just looked closer into this and realize what's going on…For the unquoted value, # is the start of a comment, which explains why #EEEE is disappearing.
So the behavior you are seeing is expected and consistent with shell. Use single quotes around the value and you should be good to go.


Renaming a plugin

Description

Renaming a plugin: https://github.com/jenkinsci/dingtalk-plugin
Submitter checklist for changing permissions

Always

[x] Add link to plugin/component Git repository in description above

For a new permissions file only

[x] Make sure the file is created in permissions/ directory
[x] artifactId (pom.xml) is used for name (permissions YAML file).
[x] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[x] Check that the file is named plugin-${artifactId}.yml for plugins

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

The way you have done this, it create a completely new plugin as far as the update center and so forth is concerned. Both plugins will be able to be installed at the same time, which can cause issues. Please think very carefully about this.

Is it because of the plugin-dingding-notifications.yml file rename to plugin-dingTalk.yml  ?

If i just make changes:
name: "dingding-notifications"
github: "jenkinsci/dingding-notifications-plugin"

name: "dingTalk"
github: "jenkinsci/dingTalk-plugin"

Is it ok?

Hi, I have tested it locally and it doesn't seem to matter.
Let's just do it !

No, the issue is because you are changing the artifactId the plugin. This could cause instability for users, so we try not to do it. Also, we don't allow capital letters in artifactIds, so I won't merge that change. It must be all lower case. @oleg-nenashev can you weigh in here?

Hi, i have restored the path setting. Please check again.

If you just want it updated when people look at the update center and so forth, you just need to update the name tag in the pom.xml.

The plugin name is different with repo name, it's confused and ugly !
I like everything to be the same, not just for users, but for developers and next adopter.

If this change doesn't effect anyone, please merge .
Thank you very much !

Dear administrator, you are the most handsome.
Just do it :kissing_heart:

Most of the people reviewing these are volunteers. You will need to be patient. Telling people they are handsome to get something done will not work.

I'm waiting for a merge to release a new version.
Anyway, thanks for your help. :beers:

@oleg-nenashev Thanks for mention me here. I'm not sure this is a good idea to bring a break changes. IMO if dingtalk is complete different with the current one, I would suggest to create a new one instead of changing it.
I agree with @slide about changing the tag name in pom.xml file if you just want to give it a better name. Further more, name might has a chance to change again for some reasons. Do we need to change it again?

This is not a break change.
The paths property is plugin's unique identifier, and i did't change it.

With the addition of features, the name is no longer applicable, i think that's normal.

Most of the time, people just change the <name></name> in the pom.xml, this is the main user facing thing for the plugin. It is what people see in the update center and so forth. Having internal names change doesn't change anything for users.

These changes don't affect users, i don't know why not?
Unity or chaos, what's your choice?

I'm not sure what you mean by unity or chaos.


update glossary with information from ALTLab dictionary database

Update the glossary and style guide with information from the ALTLab dictionary database. Add quotes / citations / references in support of terms where possible. Make these documents more visible by including a link to them from the README.

Notes on the term lemma

Continuous text consists of 'wordforms' (like permitted or permits), but the headwords in a dictionary are generally 'lemmas' like permit, and this is the object that we usually want to study. A lemmatization program takes as its input the various word-forms and maps them on to the lemma they belong to. (Atkins & Rundell 2008: 88)

headwords = lemmas
lemmatization = linking inflections to lemmas

The canonical form, sometimes called the lemma, is the form chosen to represent a paradigm; most headwords, with the exception of cross-references and names, are canonical forms. (Landau 2001: 98)

The lemma functions as a representative of a linguistic sign; in a dictionary it represents the lexical item described in the individual dictionary entry. (Svensén 2009: 93)

Very occasionally, the dictionary lemma (headword) will be different from the linguistic lemma, namely in instances where the dictionary lemma requires capitalization (e.g. for proper names).

A common synonym of 'lemma' is 'headword'. In this book, the term 'lemma' has been preferred mainly because 'headword' will be somewhat problematic when the lemma consists of a multi-word lexical item. (Svensén 2009: 93 fn. 1)

References

Atkins, B. T. & Michael Rundell. 2008. The Oxford guide to practical lexicography. Oxford University Press.

Landau, Sidney I. 2001. Dictionaries: The art and craft of lexicography. Cambridge University Press.

Svensén, Bo. 2009. A handbook of lexicography: The theory and practice of dictionary-making. Cambridge University Press.

The glossary was created based on an extensive scrutiny of the electronic versions of the Cree dictionaries and glossaries we have at our disposal. Importantly, all these sources have as entries (with a dedicated definition or translation) not just 1) word-forms which are lemmas, but also 2) word-forms which are not lemmas, 3) phrases consisting of multiple word-forms which may not be all lemmas, and 4) morphemes.
Based on this, we decided to call individual items in an electronic dictionary database as a. an entry , and the label/title/key of an entry as b. a head (without word to deal with its nebulous nature). I haven't been entirely satisfied with these terms - e.g. one could use 1) entry for both the dictionary _record (a) and its name/label (b), or 2) record for the entirety (a) that the label entry (b) denotes, or 3) entry for the record (a) and key or label for the denotation (b).
Anyhow, we formulated a year ago the following overview of different types entries and what types of attributes they could take, and these were, or should have been described in our glossary. I've revised it so that I'm using entry for the entire record, and key for the label identifying and signifying the entry, or record. The primary organizing principle and starting point here are the different types of forms which are paired with meanings in the dictionary sources we have. In particular, as far as I know lemma is primarily reserved for individual word-forms (though I have seen some references to phrasal constructions such as verb + preposition pairings) nor sub-word items such as morphemes. On the other hand, the term lexeme has been suggested for any type of form which is listed in a dictionary, but that that would not seem to apply to a non-lemma inflected word-form nor a morpheme.
dictionary
1->n entry

entry
1->1 key
1->1 type: {wordform, lemma, phrase, morpheme}
1->n sense
   1->n definition/translation
   1->1 source
1->n recording
   1->1 speaker
      1:1 community

key/type = wordform
1->1 analysis/inflectional
   1->1 key/lemma

key/type = lemma
1->1 {wordclass, inflectional-category}
1->1 {stem, fststem}
1->n analysis/derivational
   1->n key/morpheme

key/type = phrase
1->n analysis/inflectional
   1:1 key/wordform

key/type = morpheme

I could imagine that the above could be organized primarily based on lemmas, so that inflected word-forms, phrases, and morphemes could all be grouped under lemmas, but that might come with its own complications.
Looking at the various lexicographical sources they seem biased to lemmas being individual word-forms (despite the occasional lip service to multi-word items, e.g. equating headword with lemma), and moreover appear constrained by the printed form and formatting of a dictionary. It would seem to me that a revision/proposal that would more accurately represent how an electronic dictionary/lexical database is organized and what sorts of items/entries it could contain might be worth pursuing.

As references for our established terminology usage anchored in computational linguistic tradition, the glossary in Richard Sproat's Computation and Morphology (1992) is most helpful, in particular for stem. For the meaning of lemma(tization) and lexeme, the examples suggest that the "label" for a lexeme that is derived with lemmatization is the representative form (aka FST-lemma) that has been discussed above.

STEM A (possibly polymorphemic) morphological unit to which an affix attaches. In overburdened, overburden is the stem to which -ed attaches, and burden is the stem to which over- attaches. In some authors' usage (see e.g. Bauer 1983, pp. 20-21), the term base is used as stem is used here, and stem refers only to the base for an inflectional affix; on this definition, overburden would be a stem, but burden would not be (since over- is not an inflectional affix.
LEMMATIZATION The process of computing a normalized form-e.g., a dictionary entry-for a word of text. For example, cats would lemmatize to cat.
LEXEME A "dictionary word." The set of lexemes of a language is given by the set of all word forms of the language after "normalization" for inflectional morphology. Both overburdened and overburdens are forms of the same lexeme, namely overbur den. The words overburden and burden constitute different lexemes, though one is clearly derived from the other. A "dictionary word." The set of lexemes of a language is given by the set of all word forms of the language after "normalization" for inflectional morphology. Both overburdened and overburdens are forms of the same lexeme, namely overburden. The words overburden and burden constitute different lexemes, though one is clearly derived from the other.

Another relevant computational morphology source is Beesley & Karttunen (2003), though they do not mention lemma at all in the index but refer throughout to baseform (multiple occurrences).

By convention, Xerox lexical transducers have lexical (upper-side) strings that consist of BASEFORMS and multicharacter-symbols and tags. The baseform itsef itself is the headword used conventionally when looking up the surface words in a standard printed (or perhaps online) dictionary. (p. 285)

However, the above passage continues by referring to lemma but quite confusingly, apparently corresponding to lexeme as defined by Sproat:

... For example, a Spanish verb lemma consist of perhaps 300 different surface forms, but only the infinitive form, the conventional baseform, appears as headword in dictionaries. (p. 285)

Finally, an online glossary on language technological terminology by Kimmo Koskenniemi (the author of Two-Level Morphology which was the  precursor of Xerox-style finite-state models), has the following definitions, with indications of English translation equivalents.

EN:lemma [FI:lemma] "Lemma is the header used for word-forms which belong together. Lemma is often the baseform of the headword for this set of inflected wordforms. The relatedness may be looser than that of inflected word-forms of the same baseform."
Lemma on yhteen kuuluvien sananmuotojen otsikkona käytetty sana. Lemma on usein sen hakusanan perusmuoto, jonka taivutusmuodosta on kyse. Yhteenkuuluvuus voi olla väljempääkin kuin se, että sananmuodot ovat saman lekseemin taivutusmuotoja. (F. Karlsson 1998: s. 188)
EN:stem (of a word) [FI:vartalo, (sanan vartalo)] "With affixing a stem, one can get either new stems or wordforms (in some inflected form). A stem may consist of one or more morphemes. ..."
Vartalosta saadaan affiksoimalla joko uusia vartaloita tai sananmuotoja (jossakin taivutusmuodossaan). Vartalo voi koostua yhdestä tai useammasta morfeemista. (R. Sproat 1992: Glossary, p. 249.)

_


research injection and possible security concerns surrounding rich text (notification/event page displays)

injection could occur via serial ports by adding the correct number of DELIMETERS to make it through the load fucntions. Since rich text is a QML? HTML? "language" is it dangerous to be able to inject arbitrary rich text into those output boxes?

It is QML and is exclusively used for styling. No thread of damage can be done, thought the user could force our program to style their input text differently by injecting events containing QML through the serial port. At this time it is not worth the resources to address this issue


Add aarch64 R package installation warning

There is an issue when installing the duckdb R package on aarch64 systems. For example, on Apple Silicon this:
docker run --rm -it debian:latest

apt update && apt install -y r-base build-essential
R -e "install.packages('duckdb')"

fails with this error:
database.o: in function `cpp11::._anon_102::get_preserve_list()':
/tmp/Rtmp2GQPNE/R.INSTALL1b663a54c21c/duckdb/src/../inst/include/cpp11/protect.hpp:397:(.text+0x78): relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against symbol `R_NilValue' defined in .bss section in /usr/lib/R/lib/libR.so
/usr/bin/ld: database.o: in function `get_preserve_xptr_addr':
/tmp/Rtmp2GQPNE/R.INSTALL1b663a54c21c/duckdb/src/../inst/include/cpp11/protect.hpp:397: warning: too many GOT entries for -fpic, please recompile with -fPIC
collect2: error: ld returned 1 exit status
make: *** [/usr/share/R/share/make/shlib.mk:10: duckdb.so] Error 1
ERROR: compilation failed for package 'duckdb'

This is because some distro's R installs, including Debian's, override the make CXX flags to -fpic instead of -fPIC which causes compilation failure on aarch64. Here is the relevant duckdb issue: https://github.com/duckdb/duckdb/issues/3049. This is not a fault in duckdb, but rather of R's package installer. Ideally this would be fixed in the distros packages or R, but even if done so that would take a while to roll out.
This PR adds this warning to the R package install page (in a similar way to https://github.com/duckdb/duckdb-web/pull/2757):

On aarch64, if the DuckDB R package does not successfully compile, you may need to change your R environment's make variables.

Thanks, this is a great suggestion! I'll set the link to the https://duckdb.org/docs/dev/building/troubleshooting page but otherwise it's good to go in.


Scale size missing on month energy sensors

hi
Need to add the scalesize for these sensors
add KWH, 0.1), for each sensor
Sensor(67, "Month Grid Energy", KWH, 0.1),
Sensor(66, "Month Load Energy", KWH, 0.1),
Sensor(65, "Month PV Energy", KWH, 0.1),

i do a PR from my fork, but i do not know if i do it well?
I do not see anything here, only on my fork, please confirm if you receving a PR?

#46 thanks!


library dependency with from does not follow redirects

steps
libraryDependencies += "org.jsoup" % "jsoup" % "1.9.1" % Test from "http://jsoup.org/packages/jsoup-1.9.1.jar"

problem
Doesn't work.
expectation
Works.
notes
$ curl -vL http://jsoup.org/packages/jsoup-1.9.1.jar > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying <IP_ADDRESS>...
* Connected to jsoup.org (<IP_ADDRESS>) port 80 (#0)
> GET /packages/jsoup-1.9.1.jar HTTP/1.1
> Host: jsoup.org
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 12 May 2016 16:18:12 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: __cfduid=dba3de5b809a4cd8b907afbbffb4730621463069892; expires=Fri, 12-May-17 16:18:12 GMT; path=/; domain=.jsoup.org; HttpOnly
< Location: https://jsoup.org/packages/jsoup-1.9.1.jar
< Server: cloudflare-nginx
< CF-RAY: 2a1f2f6a7b4701ef-EWR
....

See also http://stackoverflow.com/questions/18208224/force-sbt-to-follow-redirects-for-an-explicit-github-releases-url

I have same problem:
name := "dukascopy repo test"
scalaVersion := "2.11.8"
resolvers += "DC Public" at "http://www.dukascopy.com/client/jforexlib/publicrepo/"
libraryDependencies ++= Seq(
"com.dukascopy.dds2" % "DDS2-jClient-JForex" % "2.45.46",
"com.dukascopy.api" % "JForex-API" % "2.12.40"
)

Looks like it's fixed in https://github.com/sbt/sbt/pull/4845.


Porting flato13 fig9 6

Porting flato13ipcc fig 9-6. Current recipe includes CMIP3 data requiring the merge of ESMValGroup/ESMValCore#269 (Support CMIP3). Documentation included, enjoy the ncl code!
Tasks

[x] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[x] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[x] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[x] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[x] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[x] Please use yamllint to check that your YAML files do not contain mistakes
[x] Update documentation for the recipe to the doc/sphinx/source/recipes folder

Closes #693

Could you please resolve the merge conflict by merging the version2_development branch into this branch?

[ ] Please resolve the conflicts.
[ ] Please open a PR in ESMValCore to address the CMIP3 filename issue, as suggested by @bouweandela above.
[ ] The recipe does not run, since the config-developer.yml information about CMIP3 is missing (see traceback below). I think you need to address this in the core.

Traceback (most recent call last):
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_main.py", line 229, in run
    conf = main(args)
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_main.py", line 157, in main
    process_recipe(recipe_file=recipe, config_user=cfg)
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_main.py", line 203, in process_recipe
    recipe = read_recipe_file(recipe_file, config_user)
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 73, in read_recipe_file
    recipe_file=filename)
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 909, in __init__
    self.tasks = self.initialize_tasks() if initialize_tasks else None
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 1255, in initialize_tasks
    task_name=task_name,
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 880, in _get_preprocessor_task
    name=task_name,
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 738, in _get_single_preprocessor_task
    config_user=config_user,
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_recipe.py", line 664, in _get_preprocessor_products
    config_user['preproc_dir'])
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_data_finder.py", line 249, in get_output_file
    cfg = get_project_config(variable['project'])
  File "/mnt/lustre01/pf/b/b309057/ESMValTool/core/esmvalcore/_config.py", line 171, in get_project_config
    return CFG[project]
KeyError: 'CMIP3'


Support React 0.13.x

I'm trying to upgrade my project to React 0.13.x but formsy fails on the dependecies.
Could you please upgrade the package.json so I can upgrade? I have created a pull request under https://github.com/christianalfoni/formsy-react/pull/62

This is fixed :-)


LW-FY24-Q4: Delete button is enabled and not working for the newly added reference

The issue reported in LEAN-3562 is that the delete button is enabled when adding a new reference, even though it hasn't been saved yet, and the citation count is not updated for newly added references after saving. The count should be set to one after clicking "Save."
To address the first issue, I am disabling the delete button using the method "isNewItem" that Determine if the newly added citation is a new item by checking if it has properties beyond just 'id' and 'type'. For the second issue, I am checking if the citation count is undefined and then setting the citation count to one in the citation count map. It's important to note that there's no need to go further into setting the citation count, as this check is only for newly added (unsaved) citations.

@asouqi  a clean up ticket created LEAN-3562-v0 to check the updating state issue


Dead link to ECMA specification

The link to https://visualstudio.microsoft.com/license-terms/ecma-c-common-language-infrastructure-standards/ returns 404.

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

ID: c41cd795-9320-ab3c-b2d6-0184fc0985d2
Version Independent ID: 93459fb6-e4db-8a74-79af-3bc3e606fcbb
Content: Common Language Runtime (CLR) overview - .NET
Content Source: docs/standard/clr.md
Product: dotnet-fundamentals
GitHub Login: @gewarren
Microsoft Alias: gewarren

Thanks for reporting this @JeremyGrosser
I've opened PR #35110 to fix it.


Added optional boolean to that allows only positive phase values to be included in the channel arrays

Hey, this is a great package so thank you for sharing.
This is a change that I require as I'm rendering a waveform that only needs positive values.
Every odd key in the arrays returned by getWaveformData() has a negative value so this change is an alternative to filtering the arrays by even keys only.

Hello, Bradley.
I greatly appreciate your pull request.
Currently thinking about it.
I guess, it is only coincidence that your odds are negative. It will depend on scale and resolution.
I will work the issue out.
Maybe we just need to invert negative values to have only positives and not have drops-outs.
See the picture:

Your solution (top) works like half-wave rectifier, and proposed (bolttom) will be working like full-wave rectifier.
What do you think?

Feature done. See the docs for help.
@bradley-varol
Thanks for participating and discussing!


Customize the GitHub structure and remove the outdated linter

Only a few minor changes have been made. The linter has been removed. This was still running on Python 3.8 and is therefore EOL anyway.
Funding has been removed as it is not displayed because the account does not support funding. The Dependabot config has been changed from daily to weekly to save resources. The yml file was then moved to the correct folder.

In the readme, the dependencies were still imported from an old ```clients`` folder. The last commit changes this. The dependencies are now imported from the root folder as intended.

There are obviously major problems with the Dependabot after the changeover from GitHub.


OpenSearchCon 2023 post-event blog

Describe the blog post your would like to write
The blog recaps OpenSearchCon 2023 and provides an OV of event specifics.
What is the title of the blog post?
OpenSearchCon 2023 post-event blog
Who are the authors?
Marketing @jhmcintyre
What is the proposed posting date?
10/6/23

thanks @pajuric for letting me know it's approved.
Put this together https://github.com/opensearch-project/project-website/pull/2328 - we'll get it published today

Are you good with me closing out this blog issue since the blog is now live?

Yes, thank you.

Closing this out.


Fix: DocumentTemplate property of ContentTypes would not be set on initial deployment

Setting DocumentTemplate does not work currently for initial deployment in the current implementation due to the content type not being updated after setting the documenttemplate property. This PR fixes that issue.
Note: in the current implementation (pre this PR) running a template twice or more on a site will update the DocumentTemplate property, this is due to the UpdateContentType handling things correctly.
I.E. to test this fix you need to try on a fresh site collection

Hi Ole, looks good. thx for this.


JavaScript

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

Examined changed code and redirected the merge branch.


Allow Linux users to build Android even if Python 2 is their default Python

After this commit, users who have the python executable as Python 2 can do simply:
cd android/
./build-all.py
./build.py

Previously, the following would fail:
python3 build-all.py

since build-all.py did subcalls to python build.py.
Remove install-all.py as it is redundant with build-all.py -deploy,
instead of fixing it as well.
Introduce argparse since we are separating argument parsing out of
the main() function.
Tested in Ubuntu 16.04, behaviour should be unchanged for Windows.
Fix #297.

Thx for your effort, this is really appreciated. I'll take a look at these changes this weekend and merge them into the repository if everything works over here.


bump build

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

update/address-build-failure

@conda-forge-admin, please rerender


Language Server startup is slow

@DonJayamanne commented on Wed Dec 12 2018
Starting Language Server has been observed to take over 5s.

@DonJayamanne commented on Thu Dec 27 2018
Delay is in serverReady
The while statement takes 3 seconds on Mac and 2 seconds on Windows.
I.e. LS is slow.
https://github.com/Microsoft/vscode-python/blob/4f190993af8e131d969abefdf0b0c50f0de4ea2b/src/client/activation/languageServer/languageServer.ts#L189-L198

This is for IntelliCode.  They need server to be ready before the extension loads. Technically we could use then rather than await but although measured startup time would improve, time between app start and intellisense available will not change. But it is the latter that matters.

This can be redesigned in such a way so only IC waits for the startup but again, availability of the editor features will not improve, only measure time in the typescript. In fact, what matter is time between file is opened and the completion is available. Process startup time is just a fraction and is not something we can fix.


check bounds before normalizing

caught a panic here on a bad input. why don't wejust to lower all (or at least "bc1", "zs1") addresses?

nice catch. LGTM. we can't lower all cryptocurrency addresses because base58 encoded addresses (and i assume they flow through this method given the way it's written) are case sensitive.


Allow extra arguments to bazel info beyond compilation mode

I use a config that also specifies the platform suffix.
This does the trick, but I expect some discussion on how to best accommodate this use case.

Sounds good, thank you.


how to Reduce Size   in android

I use  netty 4.1.16 and found  the netty-all-4.1.16.Final.jar files is 3.8M .I want to Reduce the netty Size  ,so  i use those jar files .but  i don't know which is necessary .What documents can I refer to? thks.

the code below works for me.
compile 'io.netty:netty-buffer:4.1.13.Final' compile 'io.netty:netty-codec:4.1.13.Final' compile 'io.netty:netty-common:4.1.13.Final' compile 'io.netty:netty-handler:4.1.13.Final' compile 'io.netty:netty-resolver:4.1.13.Final' compile 'io.netty:netty-transport:4.1.13.Final'

Use only the modules those that you need. Do not use netty-all.

get it  ,thks @su1216


Implement the DynamicalSystem class

This PR introduces the DynamicalSystem class. The idea is really similar to the one implemented in iDynTree::optimalcontrol. However, differently from the iDynTree implementation, I add the support to non-linear systems whose state space does not belong to Rⁿ. This can be done by concatenating matrices, vectors (in general classes) using std::tuple<>.
As @traversaro commented in https://github.com/dic-iit/bipedal-locomotion-framework/pull/46#issuecomment-632015393, I try to give a detailed explanation of the PR.
This PR introduces two main concepts the dynamical system and the integrator. As @S-Dafarra suggested in https://github.com/dic-iit/bipedal-locomotion-framework/pull/16#discussion_r393013646 these two classes will be required to implement the simulator.
DynamicalSystem
A dynamical system is a system in which a mathematical function describes the time dependence of a state subjected to certain inputs in a geometrical space. In general, the state of the dynamical system may belong to different spaces. The simplest example is the set of the real vectors (Rⁿ ), however other dynamical systems may be described by using different kinds of sets. For instance, if we want to consider the dynamics of a rotation matrix we cannot rely on vectors since an element of the state space belongs to SO(3). Another complex system is a floating base robot.
As we know the dynamics of this kind of system can be described by:

M ( q ) d ν / d t +  h(q, ν) = Bτ + ∑Jᵀ F

where ν is a triplet containing the base linear and angular velocity and the joints velocity. q is a triplet containing the joint positions, base position, and a rotation matrix.
In this case, the state space is much more complex than a simple Rⁿ.
In light of the previous considerations, I decided to add the possibility to define dynamical systems whose state belongs to different state spaces. So I defined the DynamiacalSystem as a template class where the templates parameters are:

State: this type must be and std::tuple containing the list of vector/matrices (in general classes) that are used to represent the state space;
StateDerivative: this type must be and std::tuple containing the list of vector/matrices (in general classes) that are used to represent the state space derivative;
Input: this type must be and std::tuple containing the list of vector/matrices (in general classes) that are used to represent the input space.

The DynamicalSystem class is virtual and it contains a pure virtual method called dynamics that has to be implemented in a custom Dynamical system.
LinearTimeInvariantSystem
I also implemented the LinearTimeInvariantSystem class that inherits from the DynamicalSystem.
A Linear time-invariant system describes a model driven by the following dynamical equation:

d x / d t = A x + B u

where x and u belongs to a vectorial space. In this case the custom types are:
using StateType = std::tuple< iDynTree::VectorDynSize >
using StateDerivativeType = std::tuple< iDynTree::VectorDynSize >
using InputType = std::tuple< iDynTree::VectorDynSize >

FloatingBaseDynamicalSystem
The FloatingBaseDynamicalSystem inherits from a generic DynamicalSystem and it describes a system driven by:

M ( q ) d ν / d t +  h(q, ν) = Bτ + ∑Jᵀ F

Here the:

DynamicalSystem::StateType is described by an std::tuple containing:

iDynTree::Vector6: the base velocity expressed in mixed representation;
iDynTree::VectorDynsize: the joint velocities [in rad/s];
iDynTree::Position: position of the base w.r.t. the inertial frame
iDynTree::Rotation: rotation matrix IRb. Matrix that transform a vector whose coordinates are expressed in the base frame in the inertial frame;
iDynTree::VectorDynsize: the joint positions [in rad].

DynamicalSystem::StateDerivativeType is described by an std::tuple containing:

iDynTree::Vector6: the base acceleration expressed in mixed representation;
iDynTree::VectorDynsize: the joint accelerations [in rad/s^2];
iDynTree::Vector3: base velocity w.r.t. the inertial frame;
iDynTree::Matrix3x3: rate of change of the rotation matrix IR˙b. whose coordinates are expressed in the base frame in the inertial frame;
iDynTree::VectorDynsize: the joint velocities [in rad/s].

DynamicalSystem::InputType is described by an std::tuple containing:

iDynTree::VectorDynsize: the joint torques [in Nm];
std::vector<ContactWrench>: List of contact wrenches.

Here you can file the DynamicalSystem inherit graph generated using Doxygen.

Integrator
The integrator is a class that takes a dynamic system and computes the integral. To be compatible with every kind of dynamical system, it is a template class whose template parameter is a DynamicalSystem. The Integrator is also a virtual class since we can have different kinds of integrators (fixed steps/variable steps). The user has to implement the integrate function in the derived class.
For the time being, I only implemented the ForwardEuler integrator. It should be enough to implement the first draft of the simulator (see here #16).
Here you can file the Integrator inherit graph generated using Doxygen.

@traversaro @S-Dafarra @MiladShafiee @Giulero

I did not checked in detail the proposal, but in some cases heavily use compile time polymorphism may prevent the easy reuse and introspection of the code at runtime. For this reason, it may be useful for review to:

Specify the intended use of this interface. Just integration of a single system, or other uses such as combination of multiple system in a bigger diagram, or planning/optimal control? Having a single use case is perfectly fine (it typically simplifies a lot the design problem) but it should clearly stated.
Provide at least a sketch of how a generic piece of code will interface with the DynamicalSystem, for example a simple forward-euler "integrator".

As an historic example (even if in their case the design goals were probably different) back in 2015 Drake started moving a lot of their "system" code to use compile time polymorphism, in particular to represent interconnection of primitive systems, see this PR and related issue for an example:

https://github.com/RobotLocomotion/drake/pull/1512/files
https://github.com/RobotLocomotion/drake/issues/1522

However then in 2016 when TRI started working on Drake, for their design goal the compile time polymorphism abstraction was not flexible enough (at least for their goals, that may be different from yours), and they started working on "System 2.0" using traditional composition and compile time polymorphism, that is what is still the System abstraction of Drake nowadays. For an example, the first PR introducing the "System 2.0" is:

https://github.com/RobotLocomotion/drake/pull/2308

To c

The bipedal-locomotin-framework is already full of classes that runs synchronously with the fixed time step of the controller and have inputs, state and outputs, that are basically discrete dynamical systems, so it could make sense to call the class that in this PR is DynamicalSystem as ContinuousDynamicalSystem .

Following @traversaro suggestion https://github.com/dic-iit/bipedal-locomotion-framework/pull/46#issuecomment-632015393, I improved the description of the PR in the first comment: https://github.com/dic-iit/bipedal-locomotion-framework/pull/46#issue-420998933.

Thanks a lot, with the additional comments it make much more sense. In general I am a bit dubious of the flexibility of an highly templated interface, but we will discover if it is working or not just by using it.

Ah, you are probably are already aware of this, but if you represent $SO(3)$ with a $\mathbb{R}^{3\times3}$, if the underlying integrator works on $\mathbb{R}^{3\times3}$, then it is possible that the numerical integration error drives the state $\mathbb{R}^{3\times3}$ outside of the constraint $R R^T = 1$. Within the proposed infrastructure you can deal with this by adding a stabilization term in the dynamics.

@S-Dafarra the PR is now ready to be reviewed. As soon as we merge it I will open another PR for the simulator

@S-dafarra I'm ready for the second part of the review

@S-Dafarra let me know if you have other comments, otherwise, I will merge the PR.


EntryStream.of(V[]) for primitive arrays

Disclaimer: I'm not a user of this library (yet). But I was wondering if there's a way to stream the indices and values of a primitive int array as an EntryStream<Integer, Integer>, and it doesn't seem to be possible currently. Is that accurate? Would it make sense to add primitive overloads? Or how about a more generic method to convert any StreamEx<T> to EntryStream<Integer, T> using indices?

I'm reluctant to add many methods which do implicit boxing, but some of them exist, so your problem could be solved in two steps:
static EntryStream<Integer, Integer> ofIntArray(int[] array) {
    return IntStreamEx.ofIndices(array).mapToEntry(idx -> idx, idx -> array[idx]);
}

You can add such method to your utility class and use it if you often need such operation.
To add indices to any existing stream you can use this method:
static <T> EntryStream<Integer, T> zipWithIndices(Stream<T> stream) {
    return IntStreamEx.ints().boxed().zipWith(stream);
}

Some people find it more convenient to create a function instead:
static <T> Function<Stream<T>, EntryStream<Integer, T>> zipWithIndices() {
    return stream -> IntStreamEx.ints().boxed().zipWith(stream);
}

This way you can utilize chain method:
StreamEx.of("foo", "bar", "baz").chain(zipWithIndices());


fast index switch

fix: reduce API latencies by removing unneeded storage lock
fix: remove coarse grained index lock

Fixes #484

@ctron Yes, actually that is a stale comment. I replaced the RefCell because it wasn't on the "hot" path anyway.


Drop completed TODO

How to categorize this PR?

/area dev-productivity
/kind cleanup
What this PR does / why we need it:
Drop gardener-apiserver handling for removing forbidden finalizers on creation.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/hold until https://github.com/gardener/gardener/pull/8510 is merged.
Release note:

NONE

/unhold
as #8510 was merged

/retest-requried

/retest-required

/retest-required


Support download/editing of objects

Is your feature request related to a problem? Please describe.
I am trying to consume objects that are stored in object storage. For example, my bucket contains notebooks, markdown files, HTML files, compressed archives, etc that I'm trying to view/edit in JupyterLab. Currently the S3 browser appears to only support this for notebooks.
Describe the solution you'd like
An approach that mimics the functionality in the file browser:

Download:

navigate in s3 browser to the bucker/object of interest
right click => Download

Browse/edit:

navigate in s3 browser to the bucker/object of interest
double click or right click > Open
Describe alternatives you've considered

Additional context
Add any other context or screenshots about the feature request here.

Would be very helpful to be able to navigate to a CSV file on S3 and edit/save it.

Maybe as first step, if the UI can allow people to download a file, or upload a file, it will be great.
At the moment, when I try to right click a file in s3 and select download, it gives error like:
Sorry
This feature is not yet implemented.
Thanks


[BUG] Parameter private_ssh_port not used in aws_lb_target_group

I think I have hit a bug. The private ssh port setting is not working.
To make it work I have made changes to the following resources.
change the public_ssh_port to private_ssh_port in:

resource "aws_lb_target_group" "bastion_lb_target_group"
In the user_data of resource "aws_launch_template" "bastion_launch_template"
resource "aws_security_group_rule" "ingress_bastion"

Thank you for bringing this issue to my attention. I appreciate your feedback and investigation into the problem. It appears that there is a bug related to the private SSH port setting in the module.
To address this issue, I have made changes to the resources aws_lb_target_group.bastion_lb_target_group, the user_data of aws_launch_template.bastion_launch_template, and aws_security_group_rule.ingress_bastion. These changes seem to resolve the problem.
I encourage you to create a pull request (PR) with your changes so that the module maintainers can review and incorporate them into the codebase. By contributing your solution, you can help improve the module for other users as well.
Thank you for your contribution and for using the module. I value your input and appreciate your effort in improving its functionality.


Custom echo commands

The ability to define custom commands in the config that respond with a set string would be nice, for example in the config:
custom_commands = [
    "source" = "Find my source here: https://github.com/godwhoa/oodle",
    "site" = "some other string"
]

Which would then work in IRC like so:
exezin: .source
oodle: Find my source here: https://github.com/godwhoa/oodle

Implemented. Configuration looks like this:
[custom_commands]
".source" = "Find my source here: https://github.com/godwhoa/oodle"
".site" = "some other string"


make keyProvider config async.

Currently, if keyProvider is a function, it is synchronized. I think it will be great if keyProvider is a function which returns a promise. (i.e, for user interaction)

You can use async/await to resolve the promise. I'm not sure if it works with keyProvider but it works with signProvider for sure.

In the implementation, the return value is sent through Promose.resolve(keyProvider(...)).then(.. .. This means you can return a Promise and it will wait or you can return a value directly and that will work too.

Wait, I spoke too soon .. that works with signProvider but not keyProvider.  I'll have a look.

published<EMAIL_ADDRESS>


Update and rename python.py to python2.py

As Python 2 is not the default python verion on most of the modern operating systems, I guess it makes sense to add the version in shebang.

Python 2.x going under the shebang python2 is not common enough.


vscodium: <IP_ADDRESS>10 -> <IP_ADDRESS>33

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vscodium is: Open source source code editor developed by Microsoft for Windows,
Linux and macOS (VS Code without MS branding/telemetry/licensing)
meta.homepage for vscodium is: https://github.com/VSCodium/vscodium
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found <IP_ADDRESS>33 with grep in /nix/store/afs67d584pr8df8pgkhldmgbymafzmwp-vscodium-<IP_ADDRESS>33
found <IP_ADDRESS>33 in filename of file in /nix/store/afs67d584pr8df8pgkhldmgbymafzmwp-vscodium-<IP_ADDRESS>33

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
vscodium
vscodium-fhs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/afs67d584pr8df8pgkhldmgbymafzmwp-vscodium-<IP_ADDRESS>33 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vscodium https://github.com/r-ryantm/nixpkgs/archive/535b05bc2dcce4368d8217eb62f13e038a8a10c6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/afs67d584pr8df8pgkhldmgbymafzmwp-vscodium-<IP_ADDRESS>33
ls -la /nix/store/afs67d584pr8df8pgkhldmgbymafzmwp-vscodium-<IP_ADDRESS>33/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

vscodium
vscodium-fhs

Maintainer pings
cc @Synthetica9 @turion @bobby285271 for testing.

@ofborg test vscodium.xorg

:sweat_smile: The test failure is not that interesting

https://github.com/microsoft/vscode/pull/168231

@ofborg test vscodium.xorg

Sorry I am doing bad QA this time

#214666


Add cronjob to testing resources.

The Kubernetes team is working on adding new metrics for all Kubernetes workloads, including cronjob. As a first step in that process, this PR adds a cronjob workload that will be used in the local dev environment.
Testing Plan

Run local dev environment: make local-env-start
Observe cronjob running every 1 minute
Test that e2e testing completes successfully

This PR is failing due to a detected vulnerability with the golang.org/x/net library. It looks like this PR should bump the version and fix the issue: https://github.com/newrelic/nri-kubernetes/pull/606