[Roadmap] Make markdown tutorials for core modules

It is important for the users to learn the basic concepts and the core modules of CAMEL. I made a markdown tutorial for TextPrompt with the help of ChatGPT. Here is how I prompt it:
Make a markdown tutorial for the `TextPrompt` class based on its pytest functions:

{the `TextPrompt` class}

{its pytest functions}

ChatGPT generated a draft for the tutorial then I did some cleanup and editing. Although it is not perfect, it greatly accelerated the process. Almost every core modules already have pytest functions implemented. We can use a similar approach to generate tutorials for other modules. Let me know if you want to help out.
Note that: the pytest functions can be found here, after we create the markdown file (*.md), we can put it under docs/get_started and add it to docs/index.rst. Make sure to test if it works as expected before you make it pull request following the instructions of Building Documentation.
Here are some important modules we can work on:

[x] camel/prompts/base.py::TextPrompt
[ ] camel/messages.py
[ ] camel/agents/chat_agent.py
[ ] camel/agents/task_agent.py
[ ] camel/agents/role_playing.py
[ ] camel/agents/critic_agent.py
[ ] camel/generators.py::SystemMessageGenerator
[ ] camel/prompts/ai_society.py::AISocietyPromptTemplateDict

Thanks!

Thanks for starting the project, it really works as magic. However, I think there seem to be more automated prompts when generating tutorial documents. I suggest the following way:
Objective: Create a tutorial about the {TextPrompt} class, including examples based on source code and unit test cases.
Prompts:

Source Code: Examine the source code of the {TextPrompt} class and its unit test cases to understand its implementation and functionality.
Introduction: Write an introduction to the {TextPrompt} class, explaining its purpose.
Creating a {TextPrompt} instance: Explain how to create a {TextPrompt} instance.
Describe the properties of the {TextPrompt} class and provide an example of using them.
Explain the method of the {TextPrompt} class and provide an example of using them.
Conclusion: Summarize the key points of the tutorial and encourage readers to try using the {TextPrompt} class in their projects.

Source Code:
{class TextPrompt(str):
    r"""A class that represents a text prompt. The :obj:`TextPrompt` class
    extends the built-in :obj:`str` class to provide a property for retrieving
    the set of key words in the prompt.

    Attributes:
        key_words (set): A set of strings representing the key words in the
            prompt.
    """

    @property
    def key_words(self) -> Set[str]:
        r"""Returns a set of strings representing the key words in the prompt.
        """
        return get_prompt_template_key_words(self)

    def format(self, *args: Any, **kwargs: Any) -> 'TextPrompt':
        r"""Overrides the built-in :obj:`str.format` method to allow for
        default values in the format string. This is used to allow formatting
        the partial string.

        Args:
            *args (Any): Variable length argument list.
            **kwargs (Any): Arbitrary keyword arguments.

        Returns:
            TextPrompt: A new :obj:`TextPrompt` object with the format string
                replaced with the formatted string.
        """
        default_kwargs = {key: '{' + f'{key}' + '}' for key in self.key_words}
        default_kwargs.update(kwargs)
        return TextPrompt(super().format(*args, **default_kwargs))}

Unit Test Cases:
{def test_return_text_prompt_decorator():

    @return_text_prompt
    def my_function():
        return "Hello, world!"

    result = my_function()
    assert isinstance(result, TextPrompt)
    assert str(result) == "Hello, world!"

def test_return_text_prompt_decorator_with_tuple():

    @return_text_prompt
    def my_function():
        return ("Hello, {name}!", "Welcome, {name}!")

    result = my_function()
    assert isinstance(result, tuple)
    assert all(isinstance(item, TextPrompt) for item in result)
    assert str(result[0]) == "Hello, {name}!"
    assert str(result[1]) == "Welcome, {name}!"

def test_wrap_text_prompt_functions():
    # Example class for testing
    class MyClass:

        def __init__(self):
            pass

        def my_function(self):
            return "Hello, World!"

        def my_other_function(self):
            return "Goodbye, World!"

    # Decorate the class with the wrapper function
    @wrap_text_prompt_functions
    class MyDecoratedClass(MyClass):
        pass

    # Create an instance of the decorated class
    obj = MyDecoratedClass()

    # Check if the functions are wrapped correctly
    assert isinstance(obj.my_function(), TextPrompt)
    assert isinstance(obj.my_other_function(), TextPrompt)

def test_text_prompt_key_words():
    prompt = TextPrompt('Please enter your name and age: {name}, {age}')
    assert prompt.key_words == {'name', 'age'}

    prompt = prompt.format(name='John')
    assert prompt.key_words == {'age'}

    prompt = prompt.format(age=30)
    assert prompt.key_words == set()

def test_text_prompt_format():
    prompt = TextPrompt('Your name and age are: {name}, {age}')

    name, age = 'John', 30
    assert prompt.format(name=name,
                         age=age) == 'Your name and age are: John, 30'

    # Partial formatting
    assert prompt.format(name=name) == 'Your name and age are: John, {age}'

def test_text_prompt_manipulate():
    prompt1 = TextPrompt('Hello, {name}!')
    prompt2 = TextPrompt('Welcome, {name}!')

    prompt3 = prompt1 + ' ' + prompt2
    assert prompt3 == 'Hello, {name}! Welcome, {name}!'
    assert isinstance(prompt3, TextPrompt)
    assert prompt3.key_words == {'name'}

    prompt4 = TextPrompt(' ').join([prompt1, prompt2])
    assert prompt4 == 'Hello, {name}! Welcome, {name}!'
    assert isinstance(prompt4, TextPrompt)
    assert prompt4.key_words == {'name'}

    prompt5 = prompt4.upper()
    assert prompt5 == 'HELLO, {NAME}! WELCOME, {NAME}!'
    assert isinstance(prompt5, TextPrompt)
    assert prompt5.key_words == {'NAME'}

def test_text_prompt_dict():
    prompt_dict = TextPromptDict()
    prompt_dict['test'] = TextPrompt('test')
    assert prompt_dict['test'] == TextPrompt('test')}

Based on these prompts, source code, and unit test cases, create a comprehensive tutorial that explains the {TextPrompt} class and provides examples of its usage.

After a simple try, I found that a lot of labor is still necessary.
BTW, I suppose a more effective way may be to write comments and tutorial documents first, and then complete test cases and code, using ChatGPT for human assistance.
FYI, https://github.com/openai/openai-cookbook/blob/main/examples/Unit_test_writing_using_a_multi-step_prompt.ipynb
https://towardsdatascience.com/streamline-your-documentation-with-gpt-3-5d9f2bbf217c
https://code.visualstudio.com/blogs/2023/03/30/vscode-copilot

just a quick comment: while working on the /docs to make a pull request, i am also testing the wiki feature.


Add --r-version to roo environment init

We might want to pick a specific version out of the ones available, not always the highest

Closed by #51


record edition

Hello dear, thank you for creating this app.
How can we edit a record for correction ?
Thanks

This is indeed an issue. I will add a propper way to do this in the next days.
Right now there is a workaround: you can export the data change the wrong lines (caution when changing the timestamp; you would need to delete the app data) save the file and import it again.

This will take effect in the next release


Fixed typos and grammatical errors present on the README.md file

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # 3862
For my contribution, I made several grammatical and typo corrections to the project’s README.md file. The README.md file is the first look at any project and therefore sets the tone for the whole project. I believe a README.md file that is free from grammatical errors and typos would create a more polished look to the project and would also assist users/contributors that are not very familiar with the English language with an easier time understanding.

Mark the task you have completed ✅

[ x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] My changes generates no new warnings.

Add your screenshots(Optional) 📸
Please note, I did not add a new game, I only made fixes to the README.md file.

Thank you soo much for contributing to our repository 💗

Thank you @pineapplepeachypie ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀


[Power BI] Create an Azure Hybrid Benefit Cost Savings View for Windows VM's.

📝 Scenario
As a FinOps practitioner, I need to monitor and track the cost savings of each Windows VM and the total savings after applying Azure Hybrid Benefit, in order to to evaluate the effectiveness and aggregate financial benefits of Azure Hybrid Benefit on Windows VMs.
💎 Solution
Addition of Key Performance Indicators (KPIs) to Power BI Reports for Azure Hybrid Benefit (AHUB) Analysis:

[ ] Total cost savings per AHUB enabled Windows VM
Formula: #Price Difference with Linux Meter Price * Quantity
Objective: To quantify the total cost savings accrued per Windows VM utilizing Azure Hybrid Benefit over a specific period. This metric aims to provide clear insights into the financial benefits derived from the application of Windows Server Licenses to Windows VMs.
Value: This KPI is crucial for evaluating the financial impact of Azure Hybrid Benefit on Windows VMs. It aids organizations in optimizing the allocation of Windows Server Licenses by highlighting effective usage and identifying potential new candidates for this benefit. Furthermore, it supports transparent reporting on the utilization of AHUB, helping to drive strategic decisions in cloud resource management.

ℹ Additional context
TODO: Add any other context or screenshots about the change request, including alternative solutions you considered and why you ruled them out.
🙋♀ Ask for the community

We could use your help:

Please vote this issue up (👍) to prioritize it.
Leave comments to help us solidify the vision.

### Tasks
- [x] Import pricesheet table
- [x] Create custom column to generate common key between Linux and Windows Hardware Meters
- [x] Create a Common Key based on custom column and other available columns to generate a unique key
- [ ] Calculate Price Difference between Linux and Windows Hardware Meters based on this Common Key
- [ ] Create a separate Dimension Table with the added column showing the price difference
- [ ] Link this new table with the cost details table(FOCUS) in power BI

I will first create these transformations using Fabric notebooks. I will then evaluate if it makes sense to have a version where all transformations are done in Power BI queries. For large customers with a lot of data, this can be taxing on Power BI performance. Any opinion on this? @flanakin

We should probably keep it in Power BI for now. We're also looking at a full-Fabric version of the reports, but I'm hesitant to make that a blocker for adoption. Perhaps we could post a poll to get the community's thoughts. I'm open to whatever direction the community wants to take it.

Let me work on a Power BI version for now. Let us post a poll.

@flanakin,  I have one challenge, the pricesheet I exported is big. Do we have a way a good sample that I can test with, that can be used? Any ideas on how to leverage without making the powerbi file too big. I was thinking of using Azure Data Factory to create a separate pipeline for this, unless there are other plans on parallel tracks related to this.


Feature/bugfix adfs

This is a bugfix for the fact that Microsoft ADFS URL-Encodes SAML data as lowercase, and Python's urllib Url-Encodes as uppercase. This creates a signature verification mismatch and the LogoutRequest fails.
This bugfix passes a parameter (which defaults to False for backward compatibility) along the call of process_slo() for letting the user decide if the URL-Encoding should be processed as lowercase (ADFS_3.0-compatible) or uppercase (default).
This might not fit in the global architecture of onelogin; Feel free to modify in order to make it "production-ready" ;-)

Hi @m6a-UdS,
nice you solved the issue, PR fails pep8 check
pep8 tests/src/OneLogin/saml2_tests/*.py demo-flask/*.py demo-django/*.py src/onelogin/saml2/*.py --config=tests/pep8.rc

what do you think if instead your approach that modifies a lot of methods, we extend the request_data['get_data'] to support the lowercase_urlencoding parameter?
We will be able to process that parameter at the get_encoded_parameter method. What do you think?
In the ·django demo for example we only need something like:
def prepare_django_request(request):
    # If server is behind proxys or balancers use the HTTP_X_FORWARDED fields
    result = {
        'https': 'on' if request.is_secure() else 'off',
        'http_host': request.META['HTTP_HOST'],
        'script_name': request.META['PATH_INFO'],
        'server_port': request.META['SERVER_PORT'],
        'get_data': request.GET.copy(),
        'post_data': request.POST.copy(),
        'query_string': request.META['QUERY_STRING'],
        'lowercase_urlencoding': true,
    }
    return result

and at utils.py
 @staticmethod
    def get_encoded_parameter(get_data, name, default=None):
        """Return an url encoded get parameter value
        Prefer to extract the original encoded value directly from query_string since url
        encoding is not canonical. The encoding used by ADFS 3.0 is not compatible with
        python's quote_plus (ADFS produces lower case hex numbers and quote_plus produces
        upper case hex numbers)
        """
        lowercase_urlencoding = get_data.get('lowercase_urlencoding', False)

        if name not in get_data:
            return OneLogin_Saml2_Utils.case_sensitive_urlencode(default, lowercase_urlencoding)
        if 'query_string' in get_data:
            return OneLogin_Saml2_Utils.extract_raw_query_parameter(get_data['query_string'], name)
        return OneLogin_Saml2_Utils.case_sensitive_urlencode(get_data[name], lowercase_urlencoding)

BTW, I read in rfc3986
URI producers and normalizers should use uppercase hexadecimal digits for all percent-encodings.

so let's keep uppercase as default as you already set.

I agree :-)

But it still fails the check... ?

Execute
pep8 tests/src/OneLogin/saml2_tests/*.py demo-flask/*.py demo-django/*.py src/onelogin/saml2/*.py --config=tests/pep8.rc

Actually, I don't think lowercase_urlencoding is accessible this way, because in utils, get_data is actually request.GET.copy(). I will have to get it from in logout_response.is_valid(). Another commit will be coming about that...

request.GET.copy()?   I see at auth that self.__request_data is used at

logout_request.is_valid
logout_response.is_valid

It is true, but get_encoded_parameter gets called with content of the GET parameters as first argument.

ohh true

I tested this pull request and it works great in my environment (flask app + adfs).
I'm wondering when are you planning to merge this pull request and release a new version?

I will merge and do a new release this week.


Upgrade to Node 20 version

With GitHub Actions transitioning from Node 16 to 20, some applications using this module receive warnings. For us, Panda, our statistics application GitHub workflows show the following warnings:

This PR tries to update Node and some packages to bear this problem.

One thing more was pending, and I just updated the release workflow. This was using 'JasonEtco/build-and-tag-action@v1', which relies on Node 16. I forked the code and released a version with Node 20. The action now uses the new repository.


Update filter script and csv

it looks like you did not have the ITK review module on when you build ITK.

Nice update to the python script for Python 3. Merging into next and master.


Copy Nodes GridFunction in trimmer mini app [trimmer-nodes-dev]

This PR addresses issue #2177 following suggestions from @kmittal2 and @psocratis.

@sebastiangrimberg , I'd appreciate it if you could test the modified trimmer with your meshes to make sure it works as expected.

@mlstowell Looks to work perfectly fine to me, thanks!

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...


Update Gulp version number

Replace next with 4.0.0, now live on NPM.

Done https://github.com/cferdinandi/gulp-boilerplate/releases/tag/v2.2.0


Fix 118

Refer to this link for build results (access rights to CI server needed):
http://guh.guru:8080/job/guh-webinterface-pull-request/76/


Async Recursive URL loader

Description: This PR improves the function of recursive_url_loader, such as limiting the depth of the access, and customizable extractors(from the raw webpage to the text of the Document object), so that users can use other tools to extract the webpage. This PR also includes the document and test for the new loader.
Old PR closed due to project structure change. #7756
Because socket requests are not allowed, the old unit test was removed.
Issue: N/A
Dependencies: asyncio, aiohttp
Tag maintainer: @rlancemartin
Twitter handle: @ Zend_Nihility

@proximal-phalanx can we add back the test to this PR?

@hinthornw here is updated PR.
@eyurtsev in case you want to have a look, too.
i just merged master, and ran ntbk.
i asked @proximal-phalanx to add back test from earlier PR (https://github.com/langchain-ai/langchain/pull/7756).

@hinthornw I have modified the code according to your review of the new commit.
The test is also added, but the test on GitHub prevents the usage of the socket(requests and other network IO libraries) so I'm not sure if it works here. The test is successful if run on the local machine with pytest.
I have tested it on other websites myself and it works fine.

Thanks!

Have you checked that this works on a number of different examples?

@proximal-phalanx you have test case and the two examples in the notebook; any additional examples that you've looked at?

@proximal-phalanx pls run make format to fix lint errors.

Thanks! I can test some additional links tonight and merge if all is well.

@proximal-phalanx pls run make format to fix lint errors.

Fixed, it was a comment that was too long., lint on my machine didn't detect it, somehow.

@proximal-phalanx you have test case and the two examples in the notebook; any additional examples that you've looked at?

I have also tried this on cpp reference, https://en.cppreference.com/w/, npm documentation, https://docs.npmjs.com/, the register news, https://www.theregister.com, world health organization, https://www.who.int, all working as expected.

Btw, not really sure why the core test failed? There is not even a single prompt to tell me where the error happened, it just said plainly error. If something could go wrong in the test, it could be the usage of network io.

Btw, not really sure why the core test failed? There is not even a single prompt to tell me where the error happened, it just said plainly error. If something could go wrong in the test, it could be the usage of network io.

Interesting. I can't reproduce the test failure if I run it in a notebook:
url = "https://docs.python.org/3.9/"
loader = RecursiveUrlLoader(
    url=url, extractor=lambda _: "placeholder", use_async=True, max_depth=1
)
docs = loader.load()
len(docs)

Does return 24 as expected by the test.
Problem is probably --disable-socket option when we run tests:
poetry run pytest --disable-socket --allow-unix-socket tests/unit_tests/

This option will disable all socket connections during the test, which would prevent the RecursiveUrlLoader from making HTTP requests to load the URLs.

The test appears to pass if we remove --disable-socket:
poetry run pytest --allow-unix-socket tests/unit_tests/

But there are other issues, so it need some deeper attention:
4.61s call     tests/unit_tests/retrievers/test_tfidf.py::test_from_texts
4.01s call     tests/unit_tests/llms/test_openai.py::test_openai_async_retries
4.01s call     tests/unit_tests/llms/test_openai.py::test_openai_retries
3.09s call     tests/unit_tests/document_loaders/test_recursive_url_loader.py::test_sync_recursive_url_loader
1.88s call     tests/unit_tests/vectorstores/test_sklearn.py::test_sklearn
============================================================ short test summary info =============================================================
FAILED tests/unit_tests/test_pytest_config.py::test_socket_disabled - Failed: DID NOT RAISE <class 'pytest_socket.SocketBlockedError'>
============================================ 1 failed, 1023 passed, 85 skipped, 40 warnings in 33.80s ============================================
(llama) rlm@Rs-MacBook-Pro langchain % poetry run pytest --allow-unix-socket tests/unit_tests/

IMO, we get this in w/o the test to un-break the loader.
Then, I'll discuss w/ @baskaryan about how we can modify tests to enable socket connections.

The test appears to pass if we remove --disable-socket:
poetry run pytest --allow-unix-socket tests/unit_tests/

But there are other issues, so it need some deeper attention:
4.61s call     tests/unit_tests/retrievers/test_tfidf.py::test_from_texts
4.01s call     tests/unit_tests/llms/test_openai.py::test_openai_async_retries
4.01s call     tests/unit_tests/llms/test_openai.py::test_openai_retries
3.09s call     tests/unit_tests/document_loaders/test_recursive_url_loader.py::test_sync_recursive_url_loader
1.88s call     tests/unit_tests/vectorstores/test_sklearn.py::test_sklearn
============================================================ short test summary info =============================================================
FAILED tests/unit_tests/test_pytest_config.py::test_socket_disabled - Failed: DID NOT RAISE <class 'pytest_socket.SocketBlockedError'>
============================================ 1 failed, 1023 passed, 85 skipped, 40 warnings in 33.80s ============================================
(llama) rlm@Rs-MacBook-Pro langchain % poetry run pytest --allow-unix-socket tests/unit_tests/

IMO, we get this in w/o the test to un-break the loader.
Then, I'll discuss w/ @baskaryan about how we can modify tests to enable socket connections.

@proximal-phalanx can you please open a separate PR w/ the test?
I'll then discuss w/ @baskaryan.
In the meantime, im going to get get this in (assuming tests pass, which looks like they will).
url testing includes:

https://js.langchain.com/docs/modules/memory/integrations/
https://docs.python.org/3.9/
cpp reference
https://en.cppreference.com/w/
npm documentation
https://docs.npmjs.com/
the register news
https://www.theregister.com/
world health organization
https://www.who.int/

@ai-ashok @hinthornw pls use and report any issues. of course, features like this are tricky due to large surface area of potential problems from different urls, but at least we'll have a test to catch regressions. as for what caused the recent regression, the only obvious PR that i see is from @rysloan4 https://github.com/langchain-ai/langchain/pull/8582 but it was a small change. in any case, @rysloan4 pls test this too and let us know if any issues.

@proximal-phalanx can you please open a separate PR w/ the test?
PR is here #8813
If the network io is impossible, we could just copy-paste the HTML into the test, and use _get_child_link_sync(or async), whose parameter is the raw HTML string, to test it. Though this won't be able to test the whole loader.

ugh, gcc error is non-obvious.
need to look at this tmrw w/ fresh eyes, so can't merge now.
@baskaryan or @hinthornw may have ideas. error reproduces (seen in twice after re-starting all tests).
https://github.com/langchain-ai/langchain/actions/runs/5774935624/job/15652621439?pr=8502

gcc error is non-obvious.
need to look at this tmrw w/ fresh eyes, so can't merge now.
@baskaryan or @hinthornw may have ideas. error reproduces (seen three times after re-starting all tests and pushing a fmt change).
https://github.com/langchain-ai/langchain/actions/runs/5774935624/job/15652621439?pr=8502

Seeing if this is resolved by merging master.

@proximal-phalanx can you please merge master? Should pass now. I'm away from computer now but can approve / merge from mobile once we merge master.

@proximal-phalanx can you please merge master? Should pass now. I'm away from computer now but can approve / merge from mobile once we merge master.

Done and tests now pass! Im merging now cc @ai-ashok @hinthornw @rysloan4


XRechnung importer

Just another importer to import an XRechnung in xml

fundamentally OK but maybe somewhen we should maybe call it CIIimporter instead.
And maybe also ZUGFeRDInvoiceImporter -> CIIInvoiceImporter https://www.mustangproject.org/invoice-class/?lang=de#reading


build stapel without docker

Run in container without docker host
ENV:
WERF_BUILDAH_FOR_STAPEL_ENABLED: 1
WERF_BUILDAH_MODE: auto
$ werf converge
... Error: unable to create docker cli: unable to resolve docker endpoint: open /docker-certs/client/ca.pem: no such file or directory
$ werf version
v1.2.95

Did you use official image with builtin werf as suggested in the docs https://werf.io/documentation/v1.2/advanced/ci_cd/run_in_container/use_gitlab_ci_cd_with_kubernetes_executor.html?

No, I used self-build image with gitlab-runner executor docker.

Can you try to use one of the official images, e. g. registry.werf.io/werf/werf:1.2? Full list of available images here: https://werf.io/documentation/v1.2/advanced/ci_cd/run_in_container/how_it_works.html#available-werf-images
If you want to customize the image you can use one of our images as a base image and build your own on top of ours.

Hi, @sasokol!
We haven't encountered similar issues, and we couldn't reproduce the problem. To help us investigate further, please provide more context about the issue, including the image you're using and any specific configurations. This additional information will be valuable for diagnosing and resolving the problem.


Stability of http://www.citrusframework.org/

I noticed stability issue of page http://www.citrusframework.org/.
I could not for example grab latest documentation, if there is issue with capacity maybe you could consider github.io to serve the page?

We obviously have had some server issues that are fixed now. Thanks! Operations team is positive that performance is improved.


Add DIYsplay to the Arduino Library Registry

@ArduinoBot New release v0.1.3

@ArduinoBot New release v0.1.3

Hello @MangoBox and @DIYODEmag. After the initial addition of the library, the indexer job periodically checks each of the libraries in the index and picks up any new release/tag that meets the requirements listed here:
https://github.com/arduino/library-registry/blob/main/FAQ.md#what-are-the-requirements-for-publishing-new-releases-of-libraries-already-in-the-library-manager-list
This means there is no need to take any additional action to add new releases of your library to Library Manager. They will be added automagically!
The automated system here only operates on open pull requests. Since your submission was already accepted and the pull request merged, the bot completely ignores this pull request thread.
It does take a little time for the indexer job to run, and then some additional time after that for the update to propagate through the CDN and the local cache. But it will get there. We give a conservative estimate of availability within one day's time.
You can monitor the indexing of the library releases by checking the library's dedicated indexer logs web page:
https://github.com/arduino/library-registry/blob/main/FAQ.md#user-content-can-i-check-on-library-releases-being-added-to-library-manager

Thanks for letting me know @per1234 :)


use 16 colors instead of 256

more compatibility (watch)

Codecov Report

Merging #8 (5961f3b) into master (5eee1d4) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master       #8   +/-   ##
=======================================
  Coverage   95.62%   95.62%
=======================================
  Files           2        2
  Lines         297      297
=======================================
  Hits          284      284
  Misses         13       13

Impacted Files
Coverage Δ

pgtree/pgtree.py
94.34% <100.00%> (ø)

Continue to review full report at Codecov.

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


Send notification status information to the server

Summary
When a mobile device sets the notification blocked, there are two different behaviors that we have seen happening.

Android: The notification seems to reach the app, and gets acked, but is never shown
iOS: The notification seems to reach ok the APNs, but never acked

Specially to count for the gap that phones that don't allow notification may create in our metrics, specially on iOS, we added these changes.
We mainly stop tracking the notification count if the session is marked as "ignore acks".
This PR handles notifying the server about these changes.
Ticket Link
Fix https://mattermost.atlassian.net/browse/MM-59096
Related PRs
Server: https://github.com/mattermost/mattermost/pull/27570
Release Note
Improve metrics around notifications

@marianunez Do we want to continue with this approach?

@marianunez Do we want to continue with this approach?

As discussed offline, we still want to continue with this approach of pushing up additional data from the device that can help us understand and reduce gaps on notifications delivery rate if this doesn't affect either actual notification delivery or performance on the app.

@devinbinnie @enahum Friendly reminder on this review

Cherry pick is scheduled.


[mt6785] TypeError: unhashable type: 'SysFS'

Hello, I have a bricked Redmi Note 8 Pro with Helio G90 chip (begonia), I'm currently on Fireiso liveCD and I've downloaded the two .zip packages from MTK-bypass : bypass_utility-1.4.1 & exploits_collection-1.5.
When I launch the following command :
[root@sysresccd ~/Downloads/bypass_utility-1.4.1]# ./main.py -c default_config.json5 -p mt6785_payload.bin
I get this error message :
[2021-02-19 07:26:35.072777] Waiting for device
Traceback (most recent call last):
  File "./main.py", line 213, in <module>
    main()
  File "./main.py", line 42, in main
    device = Device().find()
  File "/root/Downloads/bypass_utility-1.4.1/src/device.py", line 28, in find
    new = self.serial_ports()
  File "/root/Downloads/bypass_utility-1.4.1/src/device.py", line 69, in serial_ports
    result.add(port)
TypeError: unhashable type: 'SysFS'

Can you help me please ? Thank you.

I've just uploaded an updated version of FireISO you can give that a try.
Alternatively, there are prebuilt kernels available for debian, ubuntu and arch linux here
Or try using it on windows.

It worked well ! Very nice, thank you. :+1:
SCREENSHOT : https://i.imgur.com/opV612e.png

@francis675 @chaosmaster - I tried it on both, maybe the Linux one is too hard to use and maybe I have done it wrong but in Windows, I am facing a bluescreen error, checked on Windows 10 and 11.
Any suggestions? my device is dead


AngularJs repository pattern on StyleGuide

I would like to thank for this styleguide... it is amazing and help me to write clean and maintainable code.
My Data Services (Handle communication with the server) now growing up and reach to unmanageable state, and I get confused to use the repository pattern as shown on http://www.pluralsight.com/courses/build-apps-angular-breeze-part2,
opinion  and additional Style guide for the repository patter ?

the repo pattern is good, but i dont think its appropriate for this style guide as it expands far beyond angular


Disable failing test caused by pylance change

For https://github.com/microsoft/vscode-jupyter/issues/8842
Pylance seems to have changed what they return for pandas.read_csv. It causes this test to fail.
Disabling the line that checks this.

Codecov Report

Merging #8843 (dd41573) into main (62356af) will increase coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff          @@
##            main   #8843   +/-   ##
=====================================
  Coverage     71%     71%
=====================================
  Files        382     382
  Lines      24695   24695
  Branches    3805    3805
=====================================
+ Hits       17671   17753   +82
+ Misses      5498    5403   -95
- Partials    1526    1539   +13

Impacted Files
Coverage Δ

src/client/datascience/baseJupyterSession.ts
75% <0%> (-1%)
:arrow_down:

...atascience/interactive-window/interactiveWindow.ts
69% <0%> (-1%)
:arrow_down:

src/client/datascience/dataScienceSurveyBanner.ts
75% <0%> (ø)

...t/datascience/notebook/vscodeNotebookController.ts
80% <0%> (+<1%)
:arrow_up:

src/client/datascience/commands/commandRegistry.ts
40% <0%> (+<1%)
:arrow_up:

...datascience/jupyter/liveshare/hostJupyterServer.ts
75% <0%> (+<1%)
:arrow_up:

src/client/datascience/jupyterDebugService.ts
17% <0%> (+1%)
:arrow_up:

...client/datascience/commands/activeEditorContext.ts
94% <0%> (+1%)
:arrow_up:

src/client/common/process/pythonDaemonPool.ts
76% <0%> (+1%)
:arrow_up:

...ent/datascience/progress/kernelProgressReporter.ts
74% <0%> (+2%)
:arrow_up:

... and 22 more


link_to_add_association generating duplicates issue

Hi. I have cocoon working well on a form if i refresh the page. However, I get duplicates for the link_to_add_association for every page i have clicked on since the last refresh.
For example. If i go to a the products/new action by entering the url in a browser, the link_to_add_association works beautifully and generates one partial. But if i go to the products/index page and click on the the new_product_path link the  link_to_add_association will generate 2 partials. If i click on the product_path link 10 times then click on the new_product_path the link_to_add_association will create 10 partials.
I am using rails 4 with turbolinks, foundation and simple form. Here is the code I am using
class Image < ActiveRecord::Base
belongs_to :imageable, polymorphic: true
mount_uploader :image, ImageUploader     #carrier wave
end
class Product < ActiveRecord::Base
has_many :images, :as => :imageable
accepts_nested_attributes_for :images, :reject_if => :all_blank, :allow_destroy => true
end
class ProductsController < ApplicationController
...
def product_model_params
params.require(:product).permit(:name, images_attributes: [:id, :image, :_destroy])
end
#_form.html.erb
<%= simple_form_for @product do |f| %>
<%= f.input :name %>
<%= f.simple_fields_for :images do |image| %>
<%= render 'image_fields', :f => image %>
<% end %>
<%= link_to_add_association 'add image', f, :images  %>
<%= f.button :submit %>
<% end %>
// _image_fields.html.erb
<%= image_tag(f.object.image.url(:thumb)) if f.object.image?   %>
<%= f.input :image, :as => :file  %>
<%= link_to_remove_association "remove image", f %>
Any guidance would be highly appreciated

I am experiencing a similar duplication problem.
For a completely unrelated reason, I have removed Turbolinks completely from my app.
I am experiencing this link_to_add_assoiciation duplication of my cocoon view only in development and not in staging or production for all my cocoon views.
My javascript include tag Is in the head only.  Cocoon is loaded once only.
I have executed rake assets:clean and assets:precompile tasks.
I'm running Rails 4.2.0, Ruby 2.2.0, and Foundation 4.
I'd appreciate any suggestions on where to look.  As I said, this issue is only in development.

Only in development? Not using turbolinks? Define "similar" then :)

My question exactly.  Why development?  It had worked fine previously.
It made no sense until I started poking around the public assets folder. I removed several files I thought might be suspect and that resolved the issue.
Thanks for the gem, by the way.  Nice work.
Sorry to bother you on this, but I was frustrated.

Tips for the future: do not do rake assets:precompile in development, because I have noticed weird effects with that too. And to really clean the assets, you have to do rake assets:clobber (clean leaves the last three compilations and deletes the older ones).


Update information.py so it's a bit cleaner

Hello! I was looking a bit around, and I stumbled over the information.py cog. I found a couple of things that I thought could be improved a slight bit, and went ahead and gave it a shot. If there are any further changes you would like me to make for this PR, please let me know and I will go ahead and do so :grin:
Here’s a list of changes that I made:

Improved imports a slight bit
Instead of checking if every role name is @everyone or not, I simply use ctx.guild.roles[1:] instead, which skips the @everyone role. This was used in a couple of places, so it should generally be cleaner.
When using the !role command, if the user parsed in a role that didn’t exist/couldn’t be converted, the bot would send a message and continue to the next role that the user entered. If the user entered 5 wrong roles, the bot would send 5 messages- and it could become spammy. Instead, all messages are parsed first, and if there were any roles that couldn’t be converted, the bot lets the user know in 1 message.
I use the .__class__ attribute in a dict in order to get the text, voice and category channel count, instead of having a variable for each and if statements for each.
Cleaned up the status checking a bit
Reformatted strings so it’s consistent with other parts of the bot

Thank you for giving this PR a read! I look forward to hearing your feedback. :smile:

Hello, thanks for the contribution!
A couple general requests before we open this up to a broader review:

Please ensure that your fork is kept up to date with the latest changes to the upstream repository. This will help avoid merge conflicts (like we have here currently) and ensure that you have the most up-to-date functionality. GitHub has some guides to assist with this if you're not familiar with the process.
Related to the above point, please make sure that you're working with a branch on your fork that isn't master. Once you start committing directly to your fork's master branch it makes it really difficult to synchronize yourself with any changes upstream.
Keep in mind that the git history is for everyone's future benefit, including yours!

Try to keep commits as narrowly focused as possible. Commits that span broad areas of the code are difficult to review & keep isolated in the history.
Commit messages should be descriptive and provide insight into when and why things were done for future maintainers of the project. You can check out How to Write a Git Commit Message for a nice read on the topic.

And some more specific top-level reads:

The import changes make a lot of modifications to the file with seemingly little gain. Without a better justification for the changes it would be better if they were left as-is.
Same as above but for changing the block text from textwrap.dedent() to implicitly joined f-strings. Consistency with the rest of the bot probably isn't super critical here, and the joined f-string version arguably looks worse.
The simplification to the channel & role counting is promising but can probably use some more work. Given that channels & roles have accessible enumerations, collections.Counter may provide a more straightforward approach than the current refactor. While relying on __class__ seems to work fine, it seems more fragile than it needs to be.

Hi - Thank you for the feedback, and apologies for the issues and commit-spam. I do admit I'm not the most experienced with git, so I apologize for the forking mistake and commit spam that has happened. Would you like this PR to be re-created so the commit history is not as messy?
As to your code requests:

The import changes make a lot of modifications to the file with seemingly little gain. Without a better justification for the changes it would be better if they were left as-is.
Is this regarding all of it, or just the constants? My justfifaction for some of it is:

It seemed cleaner for me to import Union with the rest that were imported separately, rather than import all of typing, just to use Union.
Same as above, but for the discord import; I believe only discord.Message was used, and I thought it would be cleaner and better in general to import Message separately with everything else if that was the case.

I can understand and do agree the change of constants being unnecessary, though. Would you like the constants to be reverted, or all of the import changes (e.g. the two ones I mentioned above)?

Same as above but for changing the block text from textwrap.dedent() to implicitly joined f-strings. Consistency with the rest of the bot probably isn't super critical here, and the joined f-string version arguably looks worse.

This has been reverted, apologies.

The simplification to the channel & status counting is promising but can probably use some more work. Given that channels & statuses have related enumerations, collections.Counter may provide a more straightforward approach than the current refactor. While relying on class seems to work fine, it seems more fragile than it needs to be.

I'm not sure if I completely understand this. I've never worked with Counter before, but I gave the documentation a look and tried using it. I believe I've done what you've requested, but I'm not sure if you are saying that using __class__ is a bad idea and should be changed to something else. If so, is there anything specific that you propose?

No worries, it's all a learning experience. If you wouldn't mind, let's start from scratch & on a new branch so your master is clean and in sync with our repo and we don't have all the unnecessary commits. Then we can dive into everything else.
Regarding the failing test, it's an issue with how we're mocking a member list for the test:
https://github.com/python-discord/bot/blob/ca0ee4a4a41789e9c1349f2768352cb09f610746/tests/bot/cogs/test_information.py#L127-L131
With the old logic in the information cog, using strings rather than discord.py's Status enum was sufficient, but since our logic is changing then the tests will need to be adjusted as well. It would be appropriate to do this as part of this PR.

Awesome, I will create a new PR once it is ready. Thank you for the valuable feedback so far. :)


Using the module/nomodule pattern with legacy plugin

Firstly, thanks for this project - it has been a massive help getting a project I'm working on to use Vite.
I'm struggling with one part, which is trying to use the @vitejs/plugin-legacy plugin, and the module/nomodule pattern for loading modern JS.
I've set up the <head> of my base.html to use the following tags:
{% vite_hmr_client %}
{% vite_asset 'assets/scripts/main.js' %}
{% vite_asset "vite/legacy-polyfills" %}
{% vite_asset "assets/scripts/main-legacy.js" %}

Which adds all the relevant tags to the output HTML:
<link rel="stylesheet" href="/static/assets/main.js.d1db5761.css">
<script type="module" async="" defer="" src="/static/assets/vendor.f0e51446.js"></script>
<script type="module" async="" defer="" src="/static/assets/main.js.d4eb80fe.js"></script>
<script type="module" async="" defer="" src="/static/assets/polyfills-legacy.f77aab1e.js"></script>
<script type="module" async="" defer="" src="/static/assets/main.js-legacy.312d2a60.js"></script>

I want to be able to remove the type attribute from the legacy JS files, and instead add nomodule, however when I try to add this in my template, I get an error.
base.html:
{% vite_asset "vite/legacy-polyfills" scripts_attrs={'nomodule', ''} %}

Error in console:
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '{'nomodule',' from '{'nomodule','

Am I doing something wrong here?

Hi and thanks !
You can't use directly a dictionary value into a Django template. You need to have a context variable on your view like so :
In your Python code :
def my_view(request):
    scripts_attrs_legacy = {'nomodule': ''}

    return render(request, 'my_template.html', {
        'scripts_attrs_legacy': scripts_attrs_legacy
    })

And in your HTML template :
{% vite_asset "vite/legacy-polyfills" scripts_attrs=scripts_attrs_legacy %}

Maybe you can use a middleware to add this context variable to all views : https://www.valentinog.com/blog/django-middleware/

Brilliant thanks, that all makes sense. I'm a front-end developer so just assumed you could add that dictionary straight into the template.
I'll close the issue 👍


Review use of Symbol#companionXxx

See https://github.com/scala/scala/pull/4861.

@retronym your advice would be very much appreciated here ...
shapeless includes uses of Symbol#companion and Type#companion where the .info of the result is typically what's wanted ... are these problematic?
shapeless also uses this version of companionSymbolOf cargo culted from macro paradise when constructing trees referring to companions ... is this still valid and does it address the issues you fixed in https://github.com/scala/scala/pull/4861?

The naive way to lookup companion's is someClassSymbol.owner.info.decl(someSymbol.name.toTermName). That's what Symbol#companionXxx does.
However, this only works for classes enclosed in classes (including the "package class" or a package or the "module class" of an object. For classes enclosed in a method (aka a "local symbol"), the owner will be the method, but someMethod.info gives you the signature of the method which clearly doesn't expose anything from within the method body.
During typechecking, however, we can use Namers.companionSymbolOf(someClass) to to the right thing. It will walk out the chain of enclosing typer Contexts, and get to the one representing typechecking the body of the method. That context contains the scope for the method body.
This will only work if you are looking up the companionship during typechecking of that method. That's the only spot that local symbols can be referred to anyway.

Thanks. Do the same considerations apply to Symbol#companion and Type#companion and to patchedCompanionSymbolOf in macro paradise?

Looks like they try to look up the companion in the scopes of enclosing typer contexts, as is done by Namers#companionSymbolOf.
I'd suggest writing some tests to convince yourself its working, though.

We have a ton of tests of various forms of nesting because bugs there were seen in the wild quite regularly. The patchedCompanionSymbolOf implementation was borrowed from macro paradise to deal with them, I think at your suggestion?

:smile:

@milessabin I added patchedCompanionSymbolOf, for Default to work for classes enclosed in a method. It's tested here. If @retronym suggests a better way to do that, he's highly probably right :-)

Sounds like you've got it covered. You'd need to downcast to call the version in Namers, but maybe that's better than copy/paste.

@alexarchambault ahh ... my mistake :-)
I did try that using companionSymbolOf from Namers as a substitute for patchedCompanionSymbolOf but that resulted in a lot of failing tests ... clearly the two aren't completely equivalent, at least not in this context.

I think I'm going to declare victory on this one ... if anyone thinks differently, please reopen :-)


failed to initialize terrascan. error : failed to install policies

terrascan version: v1.4.0
Operating System: Ubuntu 18.04 LTS

Description
Running terrascan init or terrascan scan yields the following output:
2021-03-14T11:00:42.987+0100    error   cli/init.go:42  failed to initialize terrascan. error : failed to install policies to '/home/christophetd/.terrascan'. error: 'rename /tmp/terrascan-522112316 /home/christophetd/.terrascan: invalid cross-device link'

What I Did

Creating /home/christophetd/.terrascan manually did not fix the issue. It actually seems terrascan init removes it.
Manually cloning https://github.com/accurics/terrascan.git to ~/.terrascan seems to fix the issue

Thanks for reporting. We are working on improvements for the init command.

@christophetd hey. did you run this inside a container ? if yes, mind sharing the oci image or the Dockerfile  ?

@christophetd could you please mention the exact steps to replicate? I tested terrascan init inside an ubuntu:18.04 container. It seemed to work fine.

I've the same issue.
That work only into containers.
I've tried to compile and I got the same error.
tested into:

Debian 10
Fedora 33
Fedora 32

I ran it on my main machine, not inside a container. I posted the exact commands I ran


wrong release number in CMakeLists.txt

https://github.com/martinmoene/span-lite/blob/34118d2df7976f635c8fd35b5959f86cb52ba93c/CMakeLists.txt#L14
the release pointing to this tree is named 0.6.0, but in the CMakelists.txt it is still called 0.5.0

@flexferrum See / run script/update-version.py
Projects need release etc. process descriptions...

Updated to 0.6.0 in 42af78105e4cc145ee00dac18a9aba866461c340


[FFI][CYTHON] Release GIL when calling into long running functions

Unlike ctypes, Cython by default do not release GIL when
calling into C API functions. This causes problems when the
function is long running. As the particular calling thread will
block other python threads by holding the GIL.
This PR explicitly releases GIL when calling into possible
long running functions. It fixes the timeout issue in
PopenPool which previously relied on another python thread
for timeout.
This PR is covered by a regression test-case by changing time.sleep to sleep
in FFI, which previously will indefinitely block the popen tests.

Fixes https://github.com/apache/tvm/pull/11434


add navigation

I added a navigation to our app. Closes #192
Maybe we should adjust the title based on the current page?!! I don't think it's necessary.
Unfortunately there are two a11y issues with the current navigation approach. I linked the corresponding GH issues in the TODOs. I think we should for now still go forward with this. I'll create an issue to fix this after it.
1 with MDC: https://github.com/material-components/material-components-web/issues/4704
1 with RMWC: https://github.com/jamesmfriedman/rmwc/issues/459
TODO:
unfocus menu button after it is closed (solution to one of the issues)

I'll investigate if I can solve these with the Menu component.

Hey @maracuja-juice,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 1fc984d0-e63f-11ea-aa37-f5f007553843


Use correct URL for ONNX export

When I click on the link, it leads to a 404. Now, it points to the right place

Thanks @mathemusician for fixing!


iOS8 SPDY CFReadStreamHasBytesAvailable crash？？

AFNetworking Version: 3.1.0

I'm getting a lot of crash reports on iOS 8 with this stack trace:
#5 Thread
SIGSEGV
SEGV_ACCERR

0 CoreFoundation    CFReadStreamHasBytesAvailable + 28
1 CFNetwork SPDYStream::requestBodyStreamRead() + 32
2 CFNetwork SPDYStream::requestBodyStreamRead() + 32
3 CFNetwork RunloopBlockContext::_invoke_block(void const*, void*) + 76
4 CoreFoundation    CFArrayApplyFunction + 68
5 CFNetwork RunloopBlockContext::perform() + 136
6 CFNetwork MultiplexerSource::perform() + 312
7 CFNetwork MultiplexerSource::_perform(void*) + 68
8 CoreFoundation    ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
9 CoreFoundation    ___CFRunLoopDoSources0 + 264
10 CoreFoundation   ___CFRunLoopRun + 712
11 CoreFoundation   CFRunLoopRunSpecific + 396
12 CFNetwork    +[NSURLConnection(Loader) _resourceLoadLoop:] + 440
13 Foundation   ___NSThread__main__ + 1072
14 libsystem_pthread.dylib  __pthread_body + 164
15 libsystem_pthread.dylib  __pthread_body

We know that NSURLSession goes with SPDY protocol on iOS8，http2.0 protocol on iOS9+，so this bug only shows on iOS8. We app record user's page operations, and we found this crash happens when UIApplication DidEnterBackground.
Maybe it's apple's spdy bug on iOS8?
Do you have any ideas?
Thanks.
http://stackoverflow.com/questions/42689080/ios8-spdy-cfreadstreamhasbytesavailable-crash

Yes, this seems like a bug on iOS 8. Please file a report with Apple.


Fallback for detecting java projects

Fixes https://issues.redhat.com/browse/MTA-3668

@aufi agreed. Maybe we can do that as a follow-up to get past the blocker? Since this is only for Java projects that do not have any .java files.


Coverity issue seen with CID: 178236

Static code scan issues seen in File: /drivers/ieee802154/ieee802154_mcr20a.c
Category: Memory - corruptions
Function: _mcr20a_read_burst
Component: Drivers
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

already taken into account in the commit 114d671e24e47fe0c56f319d368ff07642d2e13c

@jfischer-phytec-iot , I left a comment on your PR that it doesn't actually fix this bug. The length test is an "off-by-one" problem and needs to have ">=" instead of ">". I have a PR to fix this as well: #4575 which did a similar change but also fixed the condition test.

@dleach02 yes, I have overlooked it, since you have already opened a PR, please pick
114d671 to your PR and add a commit that fixes this issue, thx

I think Coverity makes a mistake here, I will leave it open until someone confirms.

sounds good. I've been told that Coverity is run manually about once a week so lets see what the next report posts.

this one already fixed


No Value Detected dominates packages graph on the dashboard

Description
When looking at the dashboard on initial load, the 'Package Types' bar graph is dominated by No Value Detected.
In the context of packages, it does not make sense to list all the files where a package has been found.
I believe this bar graph should be based on total # of package types as opposed to total # of files. If there is only a single package type (as is the case above), then there would only be a single bar on the graph, at some normalized height.
System configuration
Operating System: MacOS
AboutCode Manager Version: 2.0.1 release
ScanCode Toolkit Version: latest develop
For example, plain tarball packages are barely visible:

I've set No Value Detected to be hidden (de-selected) by default. If one wants to see the No Value Detected breakdown, it can be shown by selecting the value in the legend.


Solving little errors while reading the book

This is a fix of little errors and warnings i had with Python 3.6.2 and NumPy 1.13.1

Hello @AlexanderKunkel! Thanks for submitting the PR.

In the file code/optional-py-scripts/ch03.py, following are the PEP8 issues :

Line 111:1: E305 expected 2 blank lines after class or function definition, found 1
Line 133:1: E305 expected 2 blank lines after class or function definition, found 1
Line 164:1: E305 expected 2 blank lines after class or function definition, found 1
Line 334:1: E305 expected 2 blank lines after class or function definition, found 1

In the file code/optional-py-scripts/ch05.py, following are the PEP8 issues :

Line 178:1: E305 expected 2 blank lines after class or function definition, found 1
Line 600:1: E305 expected 2 blank lines after class or function definition, found 1

Thanks a lot! While I've updated all the Jupyter Notebooks, I totally forgot about the scripts versions!


fix bugs in warm start process

Pull Request Test Coverage Report for Build 163

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

Totals

Change from base Build 161:
0.0%

Covered Lines:
1687

Relevant Lines:
1970

💛  - Coveralls

Hi Meng? I haven't checked if this works. It might be a better idea to reverse before this merge.


German user can't installed extensions due to localized paths

From email:
Hi Dear VS-Code team
I Can't install extensions: e.g.
extension: Bootstrap 4, Font awesome von Ashok Koyi:
Error (german):
Fehler beim Installieren von "thekalinga.bootstrap4-vscode". à Error during the installation  "thekalinga.bootstrap4-vscode".
VS-Code tells me that he can't rename C:\Users\m-o\.vscode-insiders\extensions\something...
My Windows is in german so the path is different: not C:\User: I have C:\Benutzer:
C:\BENUTZER\m-o\.vscode-insiders\extensions

not sure if this is the error, but it seems that I can't install any extensions at the moment.
Thanks Marco

More info requested from user.

More info from user:

@auchenberg May I know if the user has Defender enabled?  And does it work if Defender is disabled?

Emailed the customer and added you on the thread @sandy081

User re-installed and stuff works. Closing for now.


Update to 1.21.3

Update that mod for the version 1.21.3, and you can add the function equippableSlot ( released in 1.21.2 ) on the command /edit? Please :)

on it 👍. meanwhile you can use /edit component


Use of nested dataframes

Is there any reason why the nested dataframe for input time series was selected?  It seems like a  clumsy way to deal with a time series especially in light of the fact that pretty much every other package expects data in tabular format so adds an extra step or two.  That said this is a great collection of tools.

Closing this as I’ve just seen the explanation elsewhere on here.  I still think a long format is better and more intuitive but it is what it is.  Current format will dissuade adopters I feel

Thanks for your feedback, I agree the data container is not perfect at the moment, but long format isn't a good solution either for the purpose of modelling and evaluating machine learning techniques. You can find some more details on why we choose the nested format in our wiki entry. We're only in the process of considering alternative data representations, so it may change in the future.

hi, I'll reopen this as its a valid discussion.
Nested series allows us to model multivariate unequal length series, and this is important for classification and regression. However, for tasks like forecasting I see no reason why they should not also handle different data structures. So in Java I would use method overriding, fit(OurDS x) and fit(AnArray x), but obviously this doesnt work in a language without typing. Switching is needed internally. That's a developers problem, and open to debate.
But this begs the question, is the data structure also a problem for the user? For the user, my approach would be to encapsulate, so the user has no need to see the data structure. So we can load from long format or  our own .ts or arff etc and the nested pandas approach would not really be apparent. I dont think we have done enough to make this seemless, but I also realize now that this is not the standard use case for most python/data science people, who seem to like interactive/enhanced spreadsheet use more than the batch mode I tend to employ.
It seems to me the data structure is most confusing for forecasting, where you usually start with a single series, and using an n x m matrix of series seems daft. One solution may be to use a different underlying core representation for forecasting and classification/regression, with easy methods for converting from one to another.  The reduction methods then just return an appropriate data structure. This if I want to reduce simple forecasting to regression, I take a single series argument and return a one column matrix of series, panel forecasting might return a multiple column matrix?

One solution may be to use a different underlying core representation for forecasting and classification/regression

Yes, that's also a point I made in the discussions (that you didn't join :-( because you were busy).
The native function signatures should be using the most natural data representation for the task, rather than all tasks using the same data representation which implies strangeness for forecasting (on-cell-nested-data-frames).
This specific instance has already been changed though by @mloning .

ah, I'm late to the party again! So I think we can close this issue again, as you seem to have it in hand and I am diving in without doing my prep :)

I guess it will remain a recurring issue until we solve the data container question conclusively

PS: by default, you're invited to all the parties.


fix(tracing): extend Parity tracing VmExecutedOperation

Convert VmExecutedOperation::push from Option<> to Vec<> as per ethers-rs and erigon implementation
Closes #3883

I am also looking into VMOperation and members op and idx.
Ethers-rs has only op and it as an enum of OpCodes, while erigon has both op and idx.
I wanted to fix this in one PR, but can make another if you like.

Ok, adding the op and idx is work for another time, apperently vmTrace is being deprecated on Alchemy and other providers, so seems like there is not much use for this anyway.

@pistomat If it's work for another time, would you mind creating a new issue for that with a description of what is needed?


⚠ SceneTime has degraded performance

In 06480cd, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2801 ms

Resolved: SceneTime performance has improved in f081bf4 after 21 minutes.


refactor(flake): clean up the flake

Add a cargo feature named system which causes dependencies to use system versions of static libraries instead of compiling their own, which is particularly important to Nix (previously the Nix derivation would patch Cargo.toml to enable the corresponding libffi feature).
Separate the package derivation from the flake itself.
Properly clean source for the derivation, so changing files that are not used for building would not make Nix think everything needs to be rebuilt.
Remove rust-overlay dependency. It is great, but unnecessary here, as Uiua does not need bleeding-edge toolchain versions or specific components and targets. It would make sense to use it if the website was built with Nix as well.
Use flake-parts instead of flake-utils as it doesn't have design flaws flake-utils has and fits Nix better.
Remove input overrides from crane as crane doesn't have any inputs anymore.
Generally clean up Nix code, as there was some suspicious things like calling an ad hoc constructed function ((path: _type: ...) path type).
Build dependencies separately from the main derivation to improve incremental compilation.

This also revealed a couple of suspicious things like the tests depending on the website favicon and one of the tests actually trying to write some file, so I decided to disable it when building with Nix (format::generate_format_cfg_docs).

I don't know nix. Can you please explain what this changes?

Sorry, forgot to write the description. Updated.


Add more detail on how fields are populated for GDAP users

Suggesting to add more detail: On table User the  field Authentication Email gets populated with the delegated admins company name, followed by Technician. And the contact email field will be populated with a unique ID in the following format [User123456<EMAIL_ADDRESS>Reason for this suggestion: This is quite unusual design and we experienced unexpected runtime issues with our first GDAP instances because of conflicting app code. One does expect an email adress in a field called "whatever email"...  so some clarification what to expect is probably a good idea.

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

ID: 66412cff-bccf-0553-ad97-7bb9ea6c63a9
Version Independent ID: 6d046b65-1832-bf77-6eec-3d8350f4d83e
Content: Delegated admin access to Business Central online - Business Central
Content Source: dev-itpro/administration/delegated-admin.md
Service: dynamics365-business-central
GitHub Login: @edupont04
Microsoft Alias: edupont

Hello Tobias,
If you find that GDAP causes problems in the product, please reach out to the usual support channels. GDAP as a concept is explained here: https://docs.microsoft.com/partner-center/gdap-introduction
If a partner switches to GDAP, then users from their company are still shown in the Users list in BC, but not with their actual names and email addresses. That is helpful for GDPR reasons, not least.
Our current wording in the BC article says the following:
"GDAP users are listed with user names in the following format<EMAIL_ADDRESS>They might have a user name that reflects the partner's company name, and the email address is not the person's actual email address. This way, the GDAP user accounts do not reveal personal information. If you need to find out who the person behind such a pseudonym is, you'll have to reach out to the company that this user works or worked for."
That wording covers the experience (I've highlighted the existing words that I believe you're looking for). We've also added tips for how the partner can maintain a list internally of who has ever worked with which customer, though we prefer to leave best practices to you guys, since you obviously all have different best practices already.
Closing the Issue.


STAR-617-2: Changes from DSEDB - DO NOT MERGE

Looks good, just one nit there is bad indentation here in the conflict resolution:
https://github.com/datastax/cassandra/blob/415f64d034f637f6686c6d7d73c753e9ecf16de1/update-history/STAR-617-2/33-48104fc268 STAR-247: TrieIndex SSTable format implementation#L283


Fix the connection string to use a more generic one

The connection is specific to each person. Why you want to add this change?

@thiennn Because any new developer comes in and wants to contribute to it should change this according to their machine setting and SQL server connection string. Like I have 2 instances of LocalDB installed with 1 is MSSQL 2016 Enterprise. The default instance is SQLExpress 2008 which is installed by default with Visual Studio and is generally available to most of the PCs.


Ability to run Backstop on every commit

[x] Set up Git LFS
[ ] Add committed test data (small sample of events) for localhost
[ ] Commit some reference
[ ] Switch test to run on localhost rather than staging/prod
[ ] Make target to run backstop-test
[ ] Make target to run backstop-approve
[ ] Run backstop-test in ci

Couple of commands that may be useful for test data:
COPY (SELECT ...) TO STDOUT CSV

psql -d postgres -U postgres -d testing -c "COPY stud_test FROM 'https://cdn.educba.com/stud_test.csv' DELIMITER ',';"
select * from stud_test;


Registration feedback

Impliments the feedback from Gareth:

Form section labels, lowercase d for details: ‘Personal details’ and ‘Login details’
We have a different treatment for error messaging (see attached file in case you aren’t aware)
The bullet list with password hints could be moved closer to the field to give it a stronger association
Check box would need a white background for AA compliancy

Some things aren't quite right with the error handling on this. I'm not seeing any error messages on the email field prior to the password field passing the rules, and I'm also not seeing any errors on the password field indicating that it's not passing the rules. The list of rules are also hidden unless the password field is empty, or matches the rules. I've also noticed an issue with duplicate account error message:

Good spot Rob, I've brought the weco TextInput across and converted in into a typescipt one for use here so we can nest react nodes in the messaging.

Some things aren't quite right with the error handling on this. I'm not seeing any error messages on the email field prior to the password field passing the rules, and I'm also not seeing any errors on the password field indicating that it's not passing the rules. The list of rules are also hidden unless the password field is empty, or matches the rules. I've also noticed an issue with duplicate account error message:

Good spot Rob, I've brought the weco TextInput across and converted in into a typescipt one for use here so we can nest react nodes in the messaging.


Checkpointing models during training

It seems the Keras ModelCheckpoint call back doesn't work with TFDF. Is there an alternate way to create checkpoints during training? I am training on a data set with tens of millions of samples and it takes several hours to train. I want to save the progress so that it doesn't need to retrain from scratch in case training crashes.

hi @sibyjackgrove , you are right about the ModelCheckpoint callback not working. Right now TF-DF doesn't support check-pointing -- it works differently than back-propagation based algorithms, so it would be different.
We are working on a distributed version, that will likely support that -- and work faster for large datasets.
I'm marking the issue as an "enhancement" to keep in our track list.

@janpfeifer Thank you for the update.

Hi @sibyjackgrove, I'm working with a dataset of a little over 42gb as well. And I've been looking for a way to train them in batches maybe in a training loop with tfdf. Since ModelCheckpoint is not supported, that means I can't train the model in batches right? And my dataset is so big it my RAM couldn't read the whole set in 1 dataframe so I really need to train them in batches. For your model, do you just train them all at once?

hi @ThaiTLy, indeed that will be hard to train, since the DF algorithms requires to preload the whole dataset into memory -- it's not gradient descent, it trains differently from NN, so also no checkpoints.
There is work going on to distribute that, in which case a 42gb dataset should be trained fine (in multiple machines though).
One straight forward alternative in such cases would be split the dataset, train separate TFDF models and then ensemble (just average) them using Keras/TensorFlow -- it is pretty simple, I wrote an example of ensembling models for #48 :
https://colab.research.google.com/drive/17LEDCwsf1-x2cBKz0J43SES8EDeiy-AB?usp=sharing
The difference would be that one would train each model on a subset of the data, probably using a larger model type (GBDT or RandomForest), and simply average the results (as opposed to adding a layer on top).

Hi @sibyjackgrove, I'm working with a dataset of a little over 42gb as well. And I've been looking for a way to train them in batches maybe in a training loop with tfdf. Since ModelCheckpoint is not supported, that means I can't train the model in batches right? And my dataset is so big it my RAM couldn't read the whole set in 1 dataframe so I really need to train them in batches. For your model, do you just train them all at once?

@ThaiTLy ModelCheckpoint is not required for training in batches. It is more to recover from crashes that may occur during training. For my problem, I had a dataset of about 45 GB. Fortunately, I was using a compute node with more than 200 GB of memory.
One potential way is to use tf.data.experimental.make_csv_dataset to create a tf dataset that streams the data from disk. I have used it and know it works. But I don't know if the full dataset is still loaded into RAM during training.
initial_batch_size= 64
train_ds= tf.data.experimental.make_csv_dataset(file_pattern=file_path,batch_size=initial_batch_size,column_names =new_column_names,
                                                        select_columns=csv_feature_columns,label_name="label",
                                                        shuffle=False,num_epochs=1,prefetch_buffer_size=initial_batch_size*10,
                                                        num_parallel_reads=2,ignore_errors=True)
with sys_pipes():
    model.fit(train_ds)

Hi @sibyjackgrove,
Yggdrasil DF supports training checkpoints. However, the logic is not linked into the TensorFlow Decision Forests wrapper (yet). Until this is done, training checkpoint can be configured directly using the advanced_arguments.
Here is an example:
# Every 10 seconds, create a checkpoint in "/tmp/training_cache"
adv_args = tfdf.keras.AdvancedArguments(
    yggdrasil_deployment_config = tfdf.keras.core.YggdrasilDeploymentConfig(
        try_resume_training = True,
        resume_training_snapshot_interval_seconds = 10,
        cache_path="/tmp/training_cache",
    )
)

# A very long training :)
model = tfdf.keras.GradientBoostedTreesModel(advanced_arguments=adv_args,
                                             num_trees=100000,
                                             early_stopping="NONE")

with sys_pipes():
  model.fit(train_ds)

If you run the example above, after ~10 seconds, you will see Create a snapshot of the model at iteration ..... If you stop the training (e.g. kill -9 the colab instance or simply press on the "stop" button) and resume it, you should see the following lines Resume the GBT training from tree.....

@achoum Thanks! I tried this out and it works nicely. A very useful feature. @ThaiTLy Maybe you can use this as well.


Slide manual annotation

Is it possible to manually annotate with region contours and save annotations on slides using HistomicsTK?
If not, is this a planned feature and what is the timeline?
Sorry if I missed this in the documentation.

Manual annotations are going to be added soon -- probably within a few weeks.

Thank you very much - I look forward to this feature!

We just need to finalize the annotation format.. we've been kicking it
around for a long time in an ad hoc fashion... But now want to make sure we
are properly validating it all.. will let you know when we get a wip up..
On Oct 19, 2016 6:23 PM, "Andrey Fedorov"<EMAIL_ADDRESS>wrote:

Thank you very much - I look forward to this feature!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DigitalSlideArchive/HistomicsTK/issues/215#issuecomment-254958541,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AArhzr1-3I8uFBTM4J1tRK_9a8Qiwep8ks5q1phVgaJpZM4KRCc4
.

Manual annotations are going to be added soon -- probably within a few weeks.

Hey guys, is there an updated timeline for this topic? The comment above is from Oct 2016.

Added in PR #296.


CircleImageView OutOfMemoryError

Caused by java.lang.OutOfMemoryError
Failed to allocate a 252016 byte allocation with 137008 free bytes and 133KB until OOM
dalvik.system.VMRuntime.newNonMovableArray (VMRuntime.java)
android.widget.ImageView. (ImageView.java:145)
de.hdodenhof.circleimageview.CircleImageView. (CircleImageView.java:89)
de.hdodenhof.circleimageview.CircleImageView. (CircleImageView.java:85)

use android:hardwareAccelerated="false" , android:largeHeap="true" in your android manifest file.
This is image shape library not image loading so you should use this library with any image loader library like glide, picasso, coil, universal image loader etc.. to load big images.

@HarinG10|s answer is on point!


3241 - Network-Configuration-File preparation

(C - me)
(S - jedo)
Channel = continent (csr.names.L - eu)
Issuer = region (csr.names.O - alps)
Owner = organisation (csr.names.OU - worb)
Issuer needs to define an Organisation to use its CA (may be EXT)


What does this actually scale off of?

I literally have no idea what is causing the mobs to scale, and it would be helpful to have a bit more explanation than simply "time and distance". Does it scale with the LevelZ mod if present? It's not too farfetched an assumption given they are both developed by the same guy. Having played with this mod, I have noticed the mobs becoming stronger, but I don't know what is actually causing the difficulty increase.

There is an open issue for more info about this mod config :)
It can scale with levelz if levelz compat is enabled (disabled by default), I think only the latest versions.
By default mobs will get stronger over time, I think half an hour about 10% and max by default is double than vanilla.
By distance just means if you go further away from spawn point, each 300 blocks increase the strength by 10% (default)


Support starting standalone server in Docker image

Also remove unused class

@dailidong @CalvinKirs now users can use a single command to start the DolphinScheduler
docker run -it --rm -p 12345:12345 docker.io/apache/dolphinscheduler:1.3.6-SNAPSHOT standalone-server

And open http://localhost:12345/dolphinscheduler

Codecov Report

Merging #6102 (6946f87) into dev (dc85e1a) will increase coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #6102      +/-   ##
============================================
+ Coverage     46.36%   46.42%   +0.05%
+ Complexity     3733     3731       -2
============================================
  Files           608      607       -1
  Lines         25062    25013      -49
  Branches       2866     2862       -4
============================================
- Hits          11621    11612       -9
+ Misses        12295    12256      -39
+ Partials       1146     1145       -1

Impacted Files
Coverage Δ

...r/plugin/registry/zookeeper/ZookeeperRegistry.java
39.00% <0.00%> (-5.68%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.35% <0.00%> (-1.70%)
:arrow_down:

Continue to review full report at Codecov.

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


Problem with loading models and vae

Global Models Cache:
Ckpt:
[1] taureal (ids: None)
Vae:
[1] vae-ft-mse-840000-ema-pruned.vae (ids: None)
Traceback (most recent call last):
File "E:\ComfyUI\workflow_api.py", line 166, in
main()
File "E:\ComfyUI\workflow_api.py", line 137, in main
ksampler_efficient_48 = ksampler_efficient.sample(
File "E:\ComfyUI\custom_nodes\efficiency-nodes-comfyui\efficiency_nodes.py", line 693, in sample
globals_cleanup(prompt)
File "E:\ComfyUI\custom_nodes\efficiency-nodes-comfyui\tsc_utils.py", line 209, in globals_cleanup
id_array = [id for id in tup[-1] if str(id) in prompt.keys()]
File "E:\ComfyUI\custom_nodes\efficiency-nodes-comfyui\tsc_utils.py", line 209, in
id_array = [id for id in tup[-1] if str(id) in prompt.keys()]
AttributeError: 'NoneType' object has no attribute 'keys'
OS: Windows

This is hard to troubleshoot without the workflow_api.py file and knowledge of the custom node

I have encountered the same error. By any chance this is related to the "extra model paths" configuration in comfyui?

I discovered the problem being that the generate model name doesnt correct parse ''. Check if your model name (path) contains backlash. For example if you see
 checkpointloadersimple_1 = checkpointloadersimple.load_checkpoint(
            ckpt_name="SDXL\something.safetensors"
        )

change it to
 checkpointloadersimple_1 = checkpointloadersimple.load_checkpoint(
            ckpt_name="SDXL\\something.safetensors"
        )

see if such solves your problem

If that's the issue, I did fix that bug on my fork.


Delete Jar/UDF uploaded with transforms

Delete Jar/UDF uploaded with transforms when you want to delete a transform. Default is to delete.

This issue was moved to datafibers-community/df_data_service#4


EVM verifier of original proof failed but works for aggregated proof

I made a range proof circuit and wanted to generate an EVM verifier for it but failed with out-of-gas when I tried to run the generated smart contract. But if I generated a aggregated proof from the original proof and generated the EVM verifier for the aggregated proof it works as expected. To reproduce this failure, please use https://github.com/DCMMC/halo2-scaffold/tree/zk-range-proof and run cargo run --example range. The code for generating EVM verifier for the original proof is https://github.com/DCMMC/halo2-scaffold/blob/zk-range-proof/src/scaffold.rs#L323-L332. And the failed verification is https://github.com/DCMMC/halo2-scaffold/blob/zk-range-proof/src/scaffold.rs#L395-L397. But the verification of the aggregated proof is success, see https://github.com/DCMMC/halo2-scaffold/blob/zk-range-proof/src/scaffold.rs#L432-L433. Is the EVM verifier generator only supports AggregationCircuit?

This is expected behavior - the code for the EVM verifier for the original proof probably exceeds the EVM contract bytecode size. The size of the EVM verifier increases with the number of columns in your circuit. Generally if you have >8 columns the bytecode will be too large. What the AggregationCircuit does is verify the original circuit into a circuit with <=6 columns, so the EVM bytecode is small enough to create.

Got it. Thanks you a lot!


:rocket: Enable docker build and push Github actions

Closes #13

Seems like the problem of the first job was the Dockerfile path ...


Filename Encoding Fix

Updated file rename to exclude characters that could potentially have been causing parsing issues in the library / file view.

Incorrect into/from request. Closing and making a new one.


python310Packages.pyskyqremote: 0.3.24 -> 0.3.25

Changelog: https://github.com/RogerSelwyn/skyq_remote/releases/tag/0.3.25
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 224399 run on x86_64-linux 1

4 packages built:

python310Packages.pyskyqremote
python310Packages.pyskyqremote.dist
python311Packages.pyskyqremote
python311Packages.pyskyqremote.dist


Typescript errors ts(1485) and ts(1361) on Stage and Layer with v1.0.0-next

Hi,
I am trying the v1.0.0-next release of svelte-konva with svelte 5. Everything is working fine, but I get two typescript errors with the code below.
For Stage and Layer in the import statement I get: 'Stage' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled.ts(1485)
For Stage and Layer on the html elements I get: 'Stage' cannot be used as a value because it was imported using 'import type'.ts(1361)
<script lang="ts">
   import { Stage, Layer, Rect } from 'svelte-konva';

   let myX = $state(100);
   let myY = $state(100);

</script>

<Stage width={window.innerWidth} height={window.innerHeight}>
   <Layer>
   	<Rect x={myX} y={myY} width={400} height={200} fill="blue" draggable />
   </Layer>
</Stage>

Regards
drWindstrom

Hi @drWindstrom
Thanks for the report. I can reproduce this and will have a detailed look at this once I find time. With svelte-konva v1, the generated declaration file structure has somewhat changed compared to v0, which is still on my todo list to investigate.

Should be fixed with v1.0.0-next.2. If not, please reopen.

@TeyKey1 After update to v1.0.0-next.2 errors on Stageand Layer disappears, which is fantastic. Would you give us some feedback how to use typed bind:this={transformRef}? Because now neither let transformRef: Transform or let transformRef: typeof Transform does not working. This happens for any other objects as well. It would be nice to have a type on refs


Use correct metric type in OTLP exporter

Description:
Fix to report the correct metric types in the OTLP exporter. Currently Gauge is being reported as Sum.
Link to tracking Issue: None
Testing:
Checked using the otlp log exporter

Metric #0
Descriptor:
     -> Name: http.client.duration.average
     -> Description:
     -> Unit: us
     -> DataType: Gauge
NumberDataPoints #0
Data point attributes:
     -> source.process.name: Str(kubelite)
     -> source.resolution_type: Str(PROCESS)
     -> dest.container.name: Str(coredns)
     -> source.workload.name: Str(snap.microk8s.daemon-kubelite)
     -> dest.image_version: Str(1.10.1)
     -> dest.namespace.name: Str(kube-system)
     -> dest.process.name: Str(coredns)
     -> dest.resolution_type: Str(K8S_CONTAINER)
     -> dest.workload.name: Str(coredns)
     -> dest.workload.uid: Str(0485c36b-283e-496e-af47-1a69545cd887)
     -> source.namespace.name: Str((unknown))
StartTimestamp: 2024-01-17 22:32:57.823206508 +0000 UTC
Timestamp: 2024-01-17 22:33:27.823206508 +0000 UTC
Value: 0.000177

Documentation: None

Thanks. @yonch with this patch we have all the fixes we are targeting for our release. Can you please cut a release tag?

👍 v0.10.2 is in progress in Github Actions: https://github.com/open-telemetry/opentelemetry-network/actions/runs/7575777545

Thanks


Use unitless line height

Hi - I like the idea of mvp.css. Thanks for the work so far!
I tried using it on a test site and found a problem with the default line-heights so I thought I would let you know.
Essentially the 150% height doesn't work consistently for all font sizes. If you change the font size to something larger the line height does not scale relative to the font. If you use unitless font sizes you will get the same effect but the text will not overlap.
Swapping from 150% to 1.5 achieves the same effect but makes the text readable everywhere.
No worries if you're not interested. Just thought I'd let you know in case.

@BinaryMoon - Thanks! I did a small cursory test and couldn't tell the different between line-height: 150% and line-height: 1.5 when modifying body font sizes. However, I'll updated it to 1.5 in the next release as they look equivalent on my end and sounds like might help in your use case.


Change how we download Keys?

see https://github.com/raspiblitz/raspiblitz/pull/3754/#issuecomment-1508119608

Joininbox has the improved method implemented already:
https://github.com/openoms/joininbox/blob/a596e25ce03adfe48cf465fc01c4757167452ac1/scripts/_functions.bitcoincore.sh#L9-L92
Basically:
# Receive signer keys
curl -s "https://api.github.com/repos/bitcoin-core/guix.sigs/contents/builder-keys" |
    jq -r '.[].download_url' | while read url; do curl -s "$url" | gpg --import; done

# verify the manifest
gpg --verify SHA256SUMS.asc


Ensure value editors work properly for all styles

It turns out in some styles, especially SVG, display: none is set in wrong cases in CSS (look for .value-editor or .editor-enabled/.editor-disabled).

Also search for foreignobject

Brother for #385


Now that we have "ceph-salt update [--reboot]" we should remove package update and reboot steps from "ceph-salt apply"

Currently, in the default case, "ceph-salt apply" will

update all packages on each node/minion (including the master node)
reboot all nodes except the master
continue on its way

This is a recipe for trouble, because:

the minions might not all come back from reboot
the master will have "processes using deleted files" (potentially lots of them, depending on how out-of-date the system was)

Both of these conditions (minions not returning from reboot and processes using deleted files) can cause the deployment to fail in difficult-to-debug ways.
Now that we have the ceph-salt update [--reboot] feature as a separate command, IMO it would make sense to:

rip out the software update and node reboot parts of "ceph-salt apply" (provision.sls)
document that the user is supposed to complete the following steps before running "ceph-salt apply":
a. run ceph-salt update --reboot and also manually reboot the Salt Master node
b. check that all systems are up-to-date (salt \* cmd.run zypper -n up shows "Nothing to do")
c. check that all minions are responding, i.e.: salt \* test.ping shows all minions (that are expected to be present) have returned from reboot and have rejoined the Salt cluster

Related downstream bug: https://bugzilla.suse.com/show_bug.cgi?id=1175537

Another possible pitfall:
minions might be running (started), but not enabled, when ceph-salt apply is triggered. If ceph-salt apply then reboots the minion node, it will come back but salt-minion.service will not be active.

blueshark-1:~ # ceph-salt update --reboot
Checking if ceph-salt.update formula is available...
Syncing minions with the master...
Checking if there is an existing Ceph cluster...
Ceph cluster is not deployed yet, please apply the config to bootstrap a new Ceph cluster first: "ceph-salt apply"

As currently implemented, ceph-salt update refuses to work if run before ceph-salt apply. But this could be reworked...


Lag between CMS and app content update

There is considerable lag between the CMS and the app. It appears there is no way to update content without first deleting and then reinstalling the app. This issue has been reported by visitor services.

The app checks for updates on every fresh launch. (Meaning the app is not running in the background when launched. iOS and Android keep apps in the background in order to have app launch faster the next time they are used.) Force quitting the App and then reloading it should be enough to check if new data is needed.

Sorry Ruben that is not the case. This is a problem.

I will investigate, but a quick double checking of the code shows me that this is the case. See:
https://github.com/CMP-Studio/cmoa-app-ios/blob/master/International/CIWelcomeViewController.m#L147.
Please provide device specs your seeing this issue on as well as the OS and browser your using when updating the CMS.

The devices would be difficult to track as the recent round of complaints are coming from Members.
My tests:
Two different iPhone 6 models with 10.2.1 software.
Chrome: Version 55.0.2883.95 (64-bit).

I'm not able to reproduce this issue. Once again the needs to be force quit for the app to resync.
I pushed some work to resync the app upon every launch, and I tested it on a very simple general case of viewing an artwork that in the sync doesn't exist anymore. But I cannot guarantee that it will work in all cases as the app was only designed to sync at startup.
I unfortunately don't have anymore time to work on this issue so if that sounds like an acceptable gamble to you then I'll push an update, but release that if it causes crashes I wont fix it just pull it out and we will be back to only syncing on every fresh start.


Cancel waiting threads if signal disconnects all connections

Closes #163
This also fixes a potential for FireDeferred to invoke disconnected handlers in scenarios in which a handler disconnects another handler.

Due to potentially breaking changes, this is a major version bump.
For example:
local s = Signal.new()

task.spawn(function()
	print("Wait...")
	local res = s:Wait()
	print("Got res:", res)
end)

s:DisconnectAll()
s:Fire(32)

Previous Behavior
Before this change, DisconnectAll (and also Destroy) would not cancel out threads waiting via the Wait method. Thus, the above code would successfully print "Got res: 32" when the signal is fired, even though DisconnectAll was called.
New Behavior
This PR would prevent the "Got res: 32" output, because DisconnectAll cancels the waiting thread.

Another behavior change is regarding FireDeferred, which will now cancel its scheduled events if the signal is disconnected before the tasks are fired.
local s = Signal.new()

s:Connect(function(n) print(n) end)

s:FireDeferred(10)
s:DisconnectAll()

Previous Behavior
The connection will still pick up the deferred event, and print 10.
New Behavior
The deferred firing will be cancelled, and nothing will be outputted.


Sticker minimum size

Is there a way to configure the sticker minimum size?

what do you mean by 'as a module"


Right click on a container, sprite or graphics, does not fire any events.

If I define an event handler for a Pixi element (DisplayObject: container, sprite, graphics), and on the 'mousedown' event (or any other events),
the handler get's fired when clicking with the left click of the mouse,
and it gets fired when clicking with the middle click of the mouse,
but when clicking with the right click nothing happens,
and the browser context-menu comes up that says save image as, copy image, etc, etc.
So basically there is no right-click in a PIXI App, is there?
I read from here that by doing this:
document.querySelector('body > canvas').addEventListener('mousedown', function(e) { console.log('native', e.button, e); }, false);
stage.mousedown = function(e) { console.log('stage', e.originalEvent.button, e.originalEvent); };

You should get the following result:
// left-click:
stage 0 MouseEvent
native 0 MouseEvent

// right-click:
stage 2 MouseEvent
native 2 MouseEvent

But I get this:
// left-click:
stage 0 MouseEvent
native 0 MouseEvent
// right-click:
native 2 MouseEvent

anyways the following does not work either:
var renderer = PIXI.autoDetectRenderer(window.innerWidth, window.innerHeight, {backgroundColor : 0x1099bb});
document.body.appendChild(renderer.view);
var stage = new PIXI.Container();
stage.interactive = true;
stage.hitArea = new PIXI.Rectangle( 0, 0, 100000, 100000 );
stage
	.on('mousedown', down)
	.on('touchstart', down)
	.on('mouseup', up)
	.on('mouseupoutside', up)
	.on('touchend', up)
	.on('touchendoutside', up);
animate();
function animate() {
    requestAnimationFrame(animate);
    renderer.render(stage);
}
function down(e) { console.log(e); }
function up() { console.log(e); }

stage.hitArea = new PIXI.Rectangle( -100000, -100000, 100000, 100000 );

should be
stage.hitArea = new PIXI.Rectangle(0, 0, 100000, 100000 );

That's right, I forgot to put my multiplication in.
I meant it like this:
new PIXI.Rectangle( -100000, -100000, 100000 * 100, 100000 * 100 );
Basically I meant a massive huge big hitArea.
Still no event fires when right-clicking.

Is this in dev or a current release? I believe that right clicks should work the same as left clicks, but in dev we just did a major refactor of the InteractionManager and it is possible that some stuff got lost.

Just tested it with v4.3.4 dev and release.
nothing fires when right-clicking. (only left and middle click)

Are you able to supply a pen that displays this issue you're having against the latest dev build?

Hmm, in http://pixijs.github.io/examples/?v=dev#/basics/click.js if I change the mousedown event that it is listening for to rightdown or rightup, it all seems to be working as intended - mousedown/mouseup for left clicks, rightdown/rightup for right clicks.

Yeah! It seems 'pointerdown' event does not have this problem.
I tried to test all the events
change lines 40 through 62 to test different events.

The way the system is designed is that mousedown, mouseup, mouseupoutside, and click are all for left clicks, and that rightdown, rightup, rightupoutside, and rightclick` are all for right clicks.

@andrewstart Having some issues getting the events to work properly when using a wacom (intuos 3).
Pointerevents seem fine, using rightup, mouseup, etc dont seems to trigger..
Application tested and working using touchpad/trackpad/mouse.
Normally using pointerevents would be good enough, but since I need to use rightdown/up specifically this is a bit of a hassle. Or am I missing something?

In the event data from a pointerdown event, you can look at
e.data.originalEvent.button to see which buttons were pressed.
(In fact, that's what PIXI does internally to say whether something was a right click or not; looks to see if button === 2. I think in the future we should deprecate the separate right click versions... I think devs should look at the event data and decide what to make of it themselves!)

Good one, gonna test that, thnx

See also: https://www.w3.org/Submission/pointer-events/#chorded-button-interactions

@themoonrat @andrewstart Works like a charm when using just pointerevents + switching manually.
Thanks guys!


[APB-3322][AO] add cached DES proxy endpoint to resolve mtdItId given nino

This PR adds an endpoint to convert a NINO into MTDITID, symmetric to the existing one MTDITID to NINO. It is needed by agent-client-management-helpdesk-frontend.

Do you mean cache hit chart? If so, YES
wt., 26 mar 2019, 12:30 użytkownik John Revill<EMAIL_ADDRESS>napisał:

@johnrevill commented on this pull request.
In app/uk/gov/hmrc/agentservicesaccount/connectors/DesConnector.scala
https://github.com/hmrc/agent-services-account/pull/41#discussion_r269077149
:

@@ -126,6 +133,14 @@ class DesConnector @Inject()(
getWithDesHeaders[NinoBusinessDetails]("GetRegistrationBusinessDetailsByMtdbsa", url).map(_.nino)
}

def getMtdIdFor(nino: Nino)(implicit hc: HeaderCarrier, ec: ExecutionContext): Future[MtdItId] =
clientMtdItIdCache(nino.value) {

 val url =

   new URL(baseUrl, s"/registration/business-details/nino/${UriEncoding.encodePathSegment(nino.value, "UTF-8")}")

 getWithDesHeaders[MtdItIdBusinessDetails]("GetRegistrationBusinessDetailsByNino", url).map(_.mtdbsa)

Is this one to add to the service's grafana dashboard?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hmrc/agent-services-account/pull/41#pullrequestreview-218859099,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPUL0GUUM79YrRrY77j6Uh2vgMKAG0xks5vahLWgaJpZM4cLTwD
.


1password CLI and GUI packages have clashing pnames

Describe the bug
1password CLI and GUI packages have clashing names. This causes that during an upgrade, the GUI one replaces the CLI one.
Steps To Reproduce
Steps to reproduce the behavior:

install nixos._1password
nix-env -u
nixos._1password gets replaced by nixos._1password-gui

Expected behavior
No conflict.
Additional context
https://github.com/NixOS/nixpkgs/blob/0f316e4d72daed659233817ffe52bf08e081b5de/pkgs/applications/misc/1password/default.nix#L4
https://github.com/NixOS/nixpkgs/blob/0f316e4d72daed659233817ffe52bf08e081b5de/pkgs/applications/misc/1password-gui/default.nix#L35
Notify maintainers
@joelburget @marsam
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I)

       at «string»:1:25:

            1| {...}@args: with import <nixpkgs> args; (pkgs.runCommandCC or pkgs.runCommand) "shell" { buildInputs = [ (nix-info) ]; } ""
             |                         ^
(use '--show-trace' to show detailed location information)

Nice, thanks