updating config.yml

@gleckler1  The latest update fixed the problem.
https://app.circleci.com/pipelines/github/PCMDI/pcmdi_metrics?branch=646_pjp_circlefailing
It should be safe to merge.

@lee1043  Thanks to Lina, this is good to go.   Can you merge with master?

Thanks @gleckler1 and @muryanto1. The branch is now merged to master.


Cannot complete Power from Beyond quest

Quest: Power from Beyond (Skink). The quest marker did not appear on my ui to show me the location of the planet. I did end up finding the planet but the "space anomaly" landing location does not appear on the planet in the starmap. I tried landing on the planet randomly and the objective updated to 'locate the temple with the scanner' but there is no distortion nor temple at any landing site I make, if it's even possible to find it that way.

Game Version
<IP_ADDRESS>
Language
English (EN)
New Game
No
Reproduction Steps
Hard to pinpoint the start of the bug as the quests activate once you enter the system. In this case the Cheyenne System. Though I'm not sure I had the correct amount of artifacts at the time to technically start that mission, but activated anyway. That could be the cause?

Fix: https://www.nexusmods.com/starfield/mods/6206

Duplicate of #214

Fix does not resolve the issue. This issue should not be closed.


Update

Hey! I was wondering if I could update this repo to the latest version of discord.js and quick.db for you! This has helped me with my project that I am working on, and updating this wouldnt be a problem to me... Let me know!

Yea bro, feel free, would be awesome.
Thanks ya legend

When will this be done?


Generate Documentation files

This should remove the warnings generated by NugetPackageVerifier.

@ryanbrandenburg,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

Thanks @ryanbrandenburg!


Welcome Template general tidyup

Fix help text on editing welcome templates to better reflect what is possible

Deprecate $signature parameter; we can actually just use ~~~~ now as there is no bot managing this
Deprecate $username parameter; this was in the help text as the creator's username, but in the code as the request username. Legacy used the creator's username, so this now points to the creator.
Add two new unambiguous parameters to resolve any use of the above behaviour

Centralise the templating code for the welcome templates
Move the hard-coding of the section name into the WelcomeTemplate dataobject, in preparation for making this editable later
Move WikiText parsing code into MediaWikiHelper to take advantage of authenticated API requests to properly inject the viewer's real signature. This removes the WikiTextHelper class entirely.
Various HTML titles in Welcome Template Management
Combine edit and add Smarty templates for Welcome Templates
Show the actual code placed on the page in the main table on wide screens; show it on the "View" page for all screens.

This, combined with some data changes I've already done in Production through the UI, should get us into a much better state to enable welcoming via OAuth.
Fixes #588

I hacked in a new jobqueue task into my dev instance to test this, with an owner-only OAuth consumer. It's not a true test, as it's not using the same jobqueue task that welcoming actually would, but it tested the same fundamental code paths. See https://en.wikipedia.org/w/index.php?title=User_talk:Stwalkerster/sandbox&action=history for the edits made.

Codecov Report

Merging #650 (28c0b88) into master (7bd3faa) will decrease coverage by 0.11%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             master    #650      +/-   ##
===========================================
- Coverage      5.18%   5.07%   -0.12%
+ Complexity     2349    2348       -1
===========================================
  Files           173     172       -1
  Lines         11621   11636      +15
===========================================
- Hits            603     590      -13
- Misses        11018   11046      +28

Impacted Files
Coverage Δ
Complexity Δ

includes/ApplicationBase.php
10.41% <ø> (+0.21%)
10.00 <0.00> (ø)

includes/Background/Task/WelcomeUserTask.php
0.00% <0.00%> (ø)
7.00 <0.00> (ø)

includes/DataObjects/WelcomeTemplate.php
0.00% <0.00%> (ø)
20.00 <2.00> (+2.00)

includes/Helpers/MediaWikiHelper.php
0.00% <0.00%> (ø)
28.00 <1.00> (+1.00)

includes/Pages/PageWelcomeTemplateManagement.php
0.00% <0.00%> (ø)
21.00 <0.00> (ø)

includes/Tasks/TaskBase.php
0.00% <ø> (ø)
22.00 <0.00> (-2.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 7bd3faa...28c0b88. Read the comment docs.


Another attempt to have macOS users enable QGIS

Hopefully fixes #1195
I made a kind of mix between @nickbearman feedback and Garth's one in the mailing-list pointed by @agiudiceandrea i.e.
move the opening information above the button (hopefully people read that before they click) and focus only on what they have to do (notarization issues is QGIS burden...)

@DelazJ, I think another issue now is that the message will result not translated in most languages.

Yes but that is the "issue" whenever we adjust strings. Let's hope translators will take it quickly. Or if you feel like mentioning this in the qgis-tr list...
Moreover, if an issue now, this will probably be the permanent issue with the next "not-to-be-translated" website (assuming I understood correctly the orientation)

Thanks for updating the instructions, just translated them to German.

this will probably be the permanent issue with the next "not-to-be-translated" website (assuming I understood correctly the orientation)

Hmm, came along this ticket because a QGIS user contacted our user group regarding installation problems on Mac.
If the next website will not be translated, I'm afraid there will be many requests like these...

Another related issue report: https://github.com/qgis/QGIS/issues/55663.

the next "not-to-be-translated" website

According to https://docs.google.com/document/d/1eRPFRLGFcOtJzpxJz8Jk2UTPXJIrCRz2GCiJ0LfiBYY

the new website will be in english only with an in-tandem investigation into using browser built in translation tools if possible

so there's a chance that there will be some translation also with the new website.

https://github.com/qgis/QGIS/issues/56149


Document SOLO.predict() return values better.

The documentation reads:

soft (bool (default: True)) – Return probabilities instead of class label

However, the return values are not probabilities -- they range from -30 to 30 in my case. How should I interpret these?

It's indeed the logits on a per cell level. You can transform them with scipy.special.softmax(x, axis=1) to probabilities. @martinkim0 Can you fix the documentation?

softmax or idxmax?
https://github.com/scverse/scvi-tools/blob/95f2e1d2fa921c6433a04e257d844280ba0c25e5/scvi/external/solo/_model.py#L427-L430

@alexlenail Thanks for bringing this up! I'll take a look

I raised this issue because I got this strange result: the cells with the very smallest values of doublet and largest values of singlet appear to also be doublets, by careful inspection. i.e. my cells appear to most likely be doublets if they are extreme values on either side of the distribution SOLO returns. This suggests the possibility of a deep issue in this implementation of SOLO. Is this the original implementation?

This is not the original implementation. You can find the original one here: https://github.com/calico/solo

the cells with the very smallest values of doublet and largest values of singlet appear to also be doublets, by careful inspection. i.e. my cells appear to most likely be doublets if they are extreme values on either side of the distribution SOLO returns

I need to look into this more since I didn't implement SOLO in the codebase, but from my intuition this is the desired behavior. Since the SOLO classifier will output two logits (one for singlets and one for doublets), we expect cells predicted to be doublets to have large values for one logit (the doublet one) and small values for the other logit (the singlet one).
Is this what you were referring to or another issue? Feel free to share any plots/data if possible, and I can look into this on my end.

hi @martinkim0
Alas it's worse than that. The cells which have the highest values of doublet (e.g. 10) and the lowest values of doublet (e.g. -30) appear to be the credible doublets.

Is the original SOLO doing better or is this a problem with SOLO? I myself found scrublet to perform better in some datasets (it's very much dataset dependent in my hands). You should see smooth values in cellular neighborhoods (similar cells should have values close to each other).


Dashboard: replays

Feature request
We would like to display replays in the dashboard, and all associated data.
This involves instrumenting replays to record all data, e.g. segmentations, prompts.
Probably the easiest way to do this is at the adapter level. This may also involve calling record from replay.
Motivation

Partial outcome verification (i.e. not just the final state)
Visibility during debugging + development

As a developer, I would like to add this to replay code:
self.replay_log.capture({"segmentation": segmentation})

And have this appear in the dashboard along with e.g. line number, date/time, commit hash

ChatGPT:
To automatically instrument the execution of replay.py and ensure that all relevant inferences are stored to the database efficiently and systematically, you can utilize Python's decorators and context managers to capture relevant data points during the execution of specific functions or methods. This approach would allow you to encapsulate the logging logic separately from the business logic, making your code cleaner and less error-prone.
Using Decorators
A decorator can be applied to functions where you need to capture the execution details. This approach is useful for functions or methods where important data transformations or decisions are made, such as segmentation results or action decisions.
Example Decorator
Here's a simple decorator that could be used to log the input and output of a method, which can then be pushed to your database:
from functools import wraps
from openadapt.db import crud  # Assuming CRUD operations are defined here for database interactions

def log_inference(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        # Log input details
        input_details = {
            "function": func.__name__,
            "input_args": args,
            "input_kwargs": kwargs
        }
        crud.create_log_entry(input_details)  # Assuming this function logs to the database

        result = func(*args, **kwargs)

        # Log output details
        output_details = {
            "function": func.__name__,
            "output": result
        }
        crud.create_log_entry(output_details)  # Assuming this function logs to the database

        return result
    return wrapper

# Usage
@log_inference
def get_window_segmentation(action_event):
    # Implementation details...
    pass

Using Context Managers
A context manager can be used for capturing a block of operations, especially where multiple operations need to be logged together, or you need to ensure resources are correctly managed, such as database sessions.
Example Context Manager
Here's an example of a context manager that could be used to encapsulate a database session or transaction for logging:
from contextlib import contextmanager
from sqlalchemy.orm import Session
from openadapt.db import engine  # Assuming an SQLAlchemy engine is configured

@contextmanager
def logging_context(description: str):
    session = Session(bind=engine)
    try:
        yield
        session.commit()  # Commit at the end of the block
    except Exception as e:
        session.rollback()  # Ensure rollback if there's an error
        raise
    finally:
        session.close()

# Usage in your replay.py
with logging_context("Replaying strategy execution"):
    strategy.run()
    # Additional operations can be performed here, and all will be wrapped in a single transaction

Integration into Web Dashboard
For displaying these logs in a web dashboard:

Database Schema: Ensure your database schema includes tables to store logs with sufficient metadata (timestamps, function names, input/output data).
API Endpoints: Create API endpoints to query these logs based on different parameters (date range, function name, etc.).
Frontend Visualization: Use these APIs to fetch log data in your dashboard and use libraries like D3.js or Chart.js to visualize the logs as needed.

This approach ensures your application's core functionality is decoupled from the logging logic, provides a systematic way to capture all necessary data for debugging or analysis, and prepares your infrastructure for future scalability.

ChatGPT:
Yes, you can extend the cache.py module to handle automatic logging and association with a replay session by utilizing a more integrated caching and logging strategy. This approach allows you to seamlessly capture function inputs, outputs, and execution metadata, and associate them with the specific replay session without altering the function code outside of applying a decorator.
Here’s a proposed approach:
Extended Cache Decorator

Modify the Cache Decorator: Extend the caching decorator to optionally log function calls, their results, and link these logs with a replay session. This requires passing additional parameters such as replay_id and a flag to enable logging.

Database Interaction: Integrate database logging directly within the decorator. This might involve creating a simplified interface for logging that doesn't depend on session management being exposed outside of the logging function.

Configuration: Allow the configuration to specify whether logging is enabled and provide the necessary parameters for database connection or ORM session management.

Here's an example of how you might extend your existing cache decorator:
from openadapt.db import crud  # Assume this module handles all database operations

def cache(
    dir_path: str | None = None,
    enabled: bool | None = None,
    verbosity: int | None = None,
    log_enabled: bool = False,  # New flag to enable logging
    replay_id: int | None = None,  # Optional replay_id if logging is linked to a replay
    **cache_kwargs: str | int | bool,
) -> Callable[[Callable], Callable]:
    cache_dir_path = default(dir_path, config.CACHE_DIR_PATH)
    cache_enabled = default(enabled, config.CACHE_ENABLED)
    cache_verbosity = default(verbosity, config.CACHE_VERBOSITY)

    def decorator(fn: Callable) -> Callable:
        @wraps(fn)
        def wrapper(*args: Any, **kwargs: Any) -> Any:
            if cache_enabled:
                memory = Memory(cache_dir_path, verbose=cache_verbosity)
                nonlocal fn
                fn = memory.cache(fn, **cache_kwargs)

            start_time = time.time()
            result = fn(*args, **kwargs)
            duration = time.time() - start_time

            if log_enabled:
                log_entry = {
                    "function_name": fn.__name__,
                    "input_args": args,
                    "input_kwargs": kwargs,
                    "output": result,
                    "execution_time": duration,
                    "replay_id": replay_id
                }
                # Assuming `log_function_call` abstracts the DB logging
                crud.log_function_call(log_entry)

            return result

        return wrapper

    return decorator

Integration Points

Database Schema: Make sure your schema includes a table for function logs that can store arguments, outputs, execution time, and an optional link to a replay ID.
Execution: When you decorate a function that you wish to log, provide the log_enabled and replay_id parameters to the decorator.

Considerations

Performance: Logging and caching can impact performance. Ensure this is acceptable for your use case, or provide mechanisms to enable/disable logging dynamically.
Error Handling: Robust error handling within the decorator will be crucial, especially in production environments to avoid crashing the primary application logic due to logging failures.

By extending the caching system in this way, you integrate detailed execution tracing that can be invaluable for debugging and performance analysis, while keeping the implementation clean and centralized.

ChatGPT:
To handle the replay ID automatically and ensure it's used seamlessly throughout the execution of python -m openadapt.replay without the developer needing to set it manually, you can use a context manager or a global state management approach. The goal is to manage the lifecycle of a replay session, creating a new entry in the database at the start and capturing the replay_id for use during the session. Here’s how you can achieve this:
Approach 1: Using a Context Manager
Create a context manager that initializes a replay session and stores the replay_id. This replay_id is then accessible during the execution of the replay.
from contextlib import contextmanager
from openadapt.db import crud, Session  # Assuming CRUD operations and session handling

@contextmanager
def replay_session(strategy_name, **kwargs):
    session = Session()  # Create a new database session
    try:
        # Create and commit a new replay record
        new_replay = Replay(
            timestamp=datetime.utcnow().timestamp(),
            strategy_name=strategy_name,
            strategy_args=json.dumps(kwargs)
        )
        session.add(new_replay)
        session.commit()

        yield new_replay.id  # This is the replay_id

    except Exception as e:
        session.rollback()
        raise e
    finally:
        session.close()

# Usage in replay module
def execute_replay(strategy_name, **kwargs):
    with replay_session(strategy_name, **kwargs) as replay_id:
        # Here replay_id is automatically managed and can be passed to other functions
        run_strategy(strategy_name, replay_id=replay_id, **kwargs)

def run_strategy(strategy_name, replay_id, **kwargs):
    strategy = get_strategy(strategy_name, replay_id=replay_id, **kwargs)
    strategy.run()

Approach 2: Global State Management
Another approach is to manage the replay_id using a global state that is accessible throughout the execution context. This can be done using a global configuration or state object.
# global_state.py
class GlobalState:
    replay_id = None

# replay.py
from openadapt.global_state import GlobalState
from openadapt.db import crud

def start_replay(strategy_name, **kwargs):
    # Create a new replay record
    new_replay = Replay(
        timestamp=datetime.utcnow().timestamp(),
        strategy_name=strategy_name,
        strategy_args=json.dumps(kwargs)
    )
    crud.session.add(new_replay)
    crud.session.commit()

    # Store the replay_id globally
    GlobalState.replay_id = new_replay.id

    # Run the strategy
    run_strategy(strategy_name)

def run_strategy(strategy_name):
    strategy = get_strategy(strategy_name)
    strategy.run()

Integrated Logging and Caching with Automatic Replay ID Handling
For the decorators (logging and caching), you can modify them to fetch the replay_id from the global state or the context manager, depending on the approach used:
from openadapt.global_state import GlobalState

def log_execution(fn):
    @wraps(fn)
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = fn(*args, **kwargs)
        duration = time.time() - start_time

        log_entry = {
            "replay_id": GlobalState.replay_id,
            "function_name": fn.__name__,
            "input_args": args,
            "input_kwargs": kwargs,
            "output": result,
            "execution_time": duration
        }
        crud.log_function_call(log_entry)

        return result
    return wrapper

By using these approaches, the replay ID is handled automatically, eliminating the need for manual setting by the developer, and ensuring that all associated actions are properly linked to the replay session. This approach keeps the execution and logging processes clean and streamlined.

Let's also implement basic functionality for displaying in the dashboard.


"Open ended generation" data cannot be uploaded

[Enter feedback here]
the open ended part does not work
I copied below to a jsonl file, and upload to https://oai.azure.com/ file management. It is failed on uploading, with error prompt:
"Validation of jsonl file failed: No valid json line found in file. Each line's json may only contain two properties: ("context" or "prompt") and "completion"."
{"prompt":"", "completion":" "}
{"prompt":"", "completion":" "}

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

ID: 8397466f-7caa-4b50-5c6a-4eca27bf6948
Version Independent ID: d410cf8a-b950-a037-f8aa-e900fd1e91a4
Content: How to prepare a dataset for custom model training - Azure OpenAI Service
Content Source: articles/cognitive-services/openai/how-to/prepare-dataset.md
Service: cognitive-services
Sub-service: openai
GitHub Login: @ChrisHMSFT
Microsoft Alias: chrhoder

@baoyingwang
Thanks for your feedback! We will investigate and update as appropriate.

@baoyingwang Try renaming the attached file to *.jsonl and check if it goes through? I would suggest to use the OpenAI data preparation tool to validate the JSONL file before uploading them in the portal.
validation5_prepared.jsonl.txt

@baoyingwang
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request). Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
[Teams Q&A forum] (https://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html) for technical questions about the configuration and administration of Microsoft Teams on Windows.
[Microsoft Teams Community forum] (https://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1

@baoyingwang
We are going to close this thread  but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

I'm also seeing the same issue.
An error occurs if the prompt is blank.
Validation of jsonl file failed: No valid json line found in file. Each line's json may only contain two properties: ("context" or "prompt") and "completion".
So currently open-ended learning doesn't work.

I'm also seeing the same issue. An error occurs if the prompt is blank. Validation of jsonl file failed: No valid json line found in file. Each line's json may only contain two properties: ("context" or "prompt") and "completion".  So currently open-ended learning doesn't work.

Same problem here.


Updating from VSTest 1.* to 2.* reverts testassemblies setting to default.

Environment
On-Prem TFS 2017 Version 15.117.26714.0
Issue Description
When I update the VSTest task from version 1.* to 2.* using the dropdown in the build editor. It will copy most settings to the 2.* version of the task but the value of testAssembly is not copied. This seems to be caused by the fact that the testAssembly input paramater has been renamed to testAssemblyVer2.

This causes assemblies to be scanned for tests that would not have been selected otherwise. We have also seen the VSTest step go yellow because it then cannot find tests that satisfy the filters in one more assemblies.

@sanderaernouts sorry for the delay here.
This is by design. the format of test assemblies specified in vstest v1 task and v2 task has changed and we cant migrate those automatically. Vstest v2 task uses minimatch pattern. You need to specify the sources manually for it to work.

Closing the issue


Anchor generator

Hi,
May I know how did you get these values? Any source link?
Following code is from https://github.com/poodarchu/Det3D/blob/master/GETTING_STARTED.md
  anchor_generators=[
dict(
    type="anchor_generator_range",
    sizes=[1.97, 4.63, 1.74],
    anchor_ranges=[-50.4, -50.4, -0.95, 50.4, 50.4, -0.95],
    rotations=[0, 1.57],
    velocities=[0, 0],
    matched_threshold=0.6,
    unmatched_threshold=0.45,
    class_name="car",
),
dict(
    type="anchor_generator_range",
    sizes=[2.51, 6.93, 2.84],
    anchor_ranges=[-50.4, -50.4, -0.40, 50.4, 50.4, -0.40],
    rotations=[0, 1.57],
    velocities=[0, 0],
    matched_threshold=0.55,
    unmatched_threshold=0.4,
    class_name="truck",
),
...

Thanks,
Jing

statistics

May I know which branch of statistics are you referring to? May you give me a little bit for information?
Thank you very much for time and clarification,
Jing

You can count the length, width, and height of different types of objects.


Does not work in EAP, with an error that it requires version 202 or lower

Let me know if there is any other information I can pass on. Would love to get this working.

Also there is one newer EAP, I'll get that version for you.

This is the newest version.

pluginUntilBuild = 202.* to 203.* would allow EAP builds to utilize it as well.
https://github.com/inxilpro/IntellijAlpine/blob/b68c4e55a169f180a5f39d2b148372832bfea52d/gradle.properties#L8


Integrate NuDB

This brings NuDB up to the latest version

I'm duplicating the errors reported by travis and ci:
src/test/nodestore/import_test.cpp:358:28: error: unknown type name 'nodeobject_codec'
        using codec_type = nodeobject_codec;
                           ^

I can't find nodeobject_codec anywhere so I'm at a loss to suggest the correct fix.

nodeobject_code is under ripple::NodeStore

nodeobject_codec is removed in this PR. The problem is that import_test.cpp has rocksdb stuff which isn't compiled on Windows.

Cherry-pick this to fix gcc/clang errors: https://github.com/HowardHinnant/rippled/commits/nudb

I added Howard's commit

👍

CMakeLists.txt needs to be updated. You can cherry pick this to get the needed changes: https://github.com/seelabs/rippled/commit/c361e30afa849cb2366c0530fca3da5c362becb5
:+1: after that.

@seelabs Thank you, I have added the CMake changes

Current coverage is 64.16% (diff: 100%)

Merging #1858 into develop will decrease coverage by 0.57%

@@            develop      #1858   diff @@
==========================================
  Files           704        683     -21
  Lines         50790      48947   -1843
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          32884      31408   -1476
+ Misses        17906      17539    -367
  Partials          0          0

Powered by Codecov. Last update 231a5ae...8a403a6

Merged as commits 79159ffd87bf86e92ab5af6fffd5cc93c205a630, bd93ecbd6bf0d1fa605c764f94751c3aed2f39d8 and 3b639afac2352e441f3dbf28b6a70b65cdf89552


harmonize RU/s, avoid using RUs and thus misunderstandings

The interchangeable use of RU/s and RUs is IMHO quite confusing sometimes (especially if both terms are used within a single table/paragraph).
Please use always “RU/s” when the “s” carries the meaning “per second”.
Not every time it is crystal clear, if RUs is indeed “request units per second” or if it is just “request units”.

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

ID: e00a0946-e2b2-9a5f-f823-fb1ab1a662ef
Version Independent ID: 33e279f8-b757-048a-005b-b85392f9dfa2
Content: Service quotas and default limits - Azure Cosmos DB
Content Source: articles/cosmos-db/concepts-limits.md
Service: cosmos-db
GitHub Login: @seesharprun
Microsoft Alias: sidandrews

Hi @pstueck ,
Thanks for sharing this feedback. We will look into this and update as appropriate.
Hi @seesharprun,
Could you please look into this, thanks.

I agree wholeheartedly that we should consistently use RU/s for "request units per second" and spell out "request units" instead of using the confusing RUs. I'll add a work item to our backlog to update this article.


Automated cherry pick of #6621: host storage misc fix:

Cherry pick of #6621 on release/3.2.
#6621: host storage misc fix:

Codecov Report

Merging #6623 into release/3.2 will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@               Coverage Diff               @@
##           release/3.2    #6623      +/-   ##
===============================================
- Coverage         7.03%    7.03%   -0.01%
===============================================
  Files              650      650
  Lines           111812   111846      +34
===============================================
- Hits              7869     7867       -2
- Misses          103334   103369      +35
- Partials           609      610       +1

Flag
Coverage Δ

#aFlag
7.03% <0.00%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

pkg/baremetal/tasks/ipmiprobe.go
0.00% <0.00%> (ø)

pkg/cloudcommon/policy/resources.go
0.00% <ø> (ø)

pkg/cloudprovider/objectstore.go
2.48% <0.00%> (-0.01%)
:arrow_down:

pkg/compute/models/buckets.go
1.17% <0.00%> (ø)

pkg/compute/models/skus.go
1.16% <0.00%> (-0.01%)
:arrow_down:

pkg/compute/models/storages.go
0.91% <0.00%> (-0.03%)
:arrow_down:

pkg/hostman/hostinfo/hostinfo.go
0.00% <0.00%> (ø)

pkg/appsrv/response.go
66.17% <0.00%> (-2.95%)
: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 7f7ce94...0359208. Read the comment docs.


Samsung speaker volume causing significant disruptions to the users.

Describe the bug
The bug that is being reported is related to the use of Agora's Flutter SDK (version 6.2.0) on Samsung devices. When users receive a video call, the volume fluctuates, often decreasing to the point where the user is unable to hear anything. Interestingly, the issue sometimes resolves itself if the user turns off their Bluetooth, regardless of whether they are connected to a Bluetooth device or not.
To Reproduce
Steps to reproduce the behavior:
Receive a video call on a Samsung device using the app.
Observe that the volume fluctuates dramatically during the call.
Disable Bluetooth on the device.
Note that sometimes the issue resolves itself upon doing so.
Expected behavior
The expected behavior is for the audio volume to remain consistent throughout the duration of a video call. Turning Bluetooth on or off should not have any impact on the audio performance during a video call.
Screenshots
https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK/assets/74277257/10308eff-2731-4275-aba4-89e2d1d61ab0
Desktop (please complete the following information):
Not applicable, as the issue pertains to Samsung smartphone devices.
Smartphone (please complete the following information):
Device: Samsung Devices (more specific model information needed)
OS: (This would require more specific OS version information. As the error pertains to multiple Samsung devices, a range may be applicable here.)
Browser: Not applicable (as this is an issue with the app, not a browser-based application)
Agora Flutter SDK Version: 6.2.0
Additional context
This issue is causing significant disruption for our users, leading to multiple complaints. The peculiar behavior where turning off Bluetooth sometimes resolves the issue suggests there may be an underlying conflict between the audio management in the Agora Flutter SDK and Samsung's Bluetooth/audio management systems. Further investigation is needed.

@OmarHamed553
I think it's better to raise a ticket to Agora support for further investigation.

@littleGnAl How to raise a ticket to Agora support ?

Please try https://agora-ticket.agora.io/

I have same problem, please inform us

I just noticed that it happens only if the Bluetooth is on and it's paired to a device (watch, etc..) once you unpair the device and leave the Bluetooth ON there's no issue this is frustrating for users and should be fixed!

I opened a ticket and their suggestion was to change the audio scenario toAudioScenarioType.audioScenarioGameStreaming which doesn't make sense and also the issue wasn't resolved

I think you can keep asking the agora support for this issue, they're more professional to investigate it.


benchmarking using cassandra-stress

Elasticsearch version:
5.5.0
Plugins installed: []
JVM version:
1.8.0_152
OS version:
CentOS 7
Description of the problem including expected versus actual behavior:
I need to benchmark existing installation and cluster, I tried run /usr/share/cassandra/tools/bin/cassandra-stress from elassandra rpm packages got an error.
Steps to reproduce:

Execute /usr/share/cassandra/tools/bin/cassandra-stress from cwd
Error message Error: Could not find or load main class org.apache.cassandra.stress.Stress appeared

Is there any documentation/advice how to benchmark elassandra cluster?
Many thanks.

This also seems to be the case for the default strapdata/elassandra docker images

Fixed with a62d0494b5332f97eee7ecb26359daf8c0bf64c3

I am using docker image version: elassandra-<IP_ADDRESS>. When I try to run command ./cassandra-stress -h from the /tools/bin directory I get an
Error: Could not find or load main class org.apache.cassandra.stress.Stress.
I am executing this from inside the pod after
kubectl exec -it elassandra-0 bash


docs: add isFetched docs

I would like to get some support around documenting isFetched variable.
Is isFetched true when the request either succeed or failed?

@tannerlinsley you may know the answer to my question 🤷🏻

Is isFetched true when the request either succeed or failed?

I think it is. I took a quick look at the tests: https://github.com/tannerlinsley/react-query/blob/7535383eba20fcfb0e476dbf199823d1423cd7e1/src/react/tests/useQuery.test.tsx#L103
it seems that isFetched is false initially, and then transitions to true for successful queries and for erroneous queries alike, but it will stay false during retries.
it also looks like it is true if we successfully prefetch the query, which seems to be the difference to isFetchedAfterMount, which is only true after you have also mounted an observer.

@TkDodo I guess the current wording is fine, just that we need to be clear on what being fetched means in this context (across this package btw, since that is what is not clear to me until now I guess)

:tada: This PR is included in version 2.26.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.2.0-beta.32 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.26.4 :tada:
The release is available on:

npm package (@release-2.x dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Study how to create VMs inside the ACA container

There are two possible options:

OVS creates a port through the namespace to simulate the VM
Start a new docker or LXD container inside the ACA LXD container
Considering that the VM of the latter scheme may be too bloated, we give priority to the first scheme

james, can you share some of the things you've done on this piece?

You can refer to the code in our Merak project: https://github.com/futurewei-cloud/merak/blob/main/src/interface_create.py

You can refer to the code in our Merak project: https://github.com/futurewei-cloud/merak/blob/main/src/interface_create.py

I can't open this site, probably because I don't have permission for this, if I can't put the repo public, can you send me this file separately

ok, I post the code here, but remember that it just a PoC code.
#!/usr/bin/env python3
import subprocess
import requests
import json
import socket
import uuid
from argparse import ArgumentParser
from syslog import syslog
from time import sleep

def run_cmd(cmd):
    result = subprocess.Popen(
        cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    text = result.stdout.read().decode()
    returncode = result.returncode
    return (returncode, text)

def create_virtual_instance(namespace, ip, mac, prefix, outer_veth, inner_veth, bridge, tap, gateway):
    """
    Creates a veth pair.
    """

    script = (f''' bash -c '\
ovs-vsctl add-port br-int {tap} -- set Interface {tap} type=internal && \
ip netns add {namespace} && \
ip link add {inner_veth} type veth peer name {outer_veth} && \
ip link set {inner_veth} netns {namespace} && \
ip netns exec {namespace} ip addr add {ip}/{prefix} dev {inner_veth} && \
ip netns exec {namespace} ip link set dev {inner_veth} up && \
ip netns exec {namespace} sysctl -w net.ipv4.tcp_mtu_probing=2 && \
ip link set dev {outer_veth} up && \
ip netns exec {namespace} ifconfig lo up &&  \
ip netns exec {namespace} ifconfig {inner_veth} hw ether {mac} && \
ip netns exec {namespace} route add default gw {gateway} && \
ip link add name {bridge} type bridge && \
ip link set {outer_veth} master {bridge} && \
ip link set {tap} master {bridge} && \
ip link set dev {bridge} up && \
ip link set dev {tap} up' ''')

    return_code, text = run_cmd(script)
    print(text)
    print(return_code)

def main():
    parser = ArgumentParser()
    description = "Parser for reading multiple subnets from command line arguments. Will use the first subnet if nothing is given"
    parser = ArgumentParser(description=description)
    cmd = "/root/alcor-control-agent/build/bin/AlcorControlAgent -d -a <IP_ADDRESS> -p 30014 > /dev/null 2>&1 &"
    text, returncode = run_cmd(cmd)
    print(text)
    print(returncode)
    syslog("ACA started")
    hostname = socket.gethostname()
    host_ip = socket.gethostbyname(hostname)
    syslog("Hostname is {} at IP {}".format(hostname, host_ip))
    address = "<IP_ADDRESS>"
    project_id = "123456789"
    port_name = "merak_port"
    inner_veth_name = "inner-" + uuid.uuid4().hex[-5:]
    outer_veth_name = "outer-" + uuid.uuid4().hex[-5:]
    netns = "ns-" + uuid.uuid4().hex[-5:]
    bridge_name = "br0-" + uuid.uuid4().hex[-5:]
    main_interface_name = "eth0"
    headers = {'Content-Type': 'application/json'}
    sm_port = "30002"
    pm_port = "30006"
    vpm_port = "30001"
    sgm_port = "30008"
    nmm_port = "30007"
    ncm_port = "30007"
    get_network_endpoint = "http://{}:{}/project/{}/subnets/".format(
        address, sm_port, project_id)
    create_port_endpoint = "http://{}:{}/project/{}/ports".format(
        address, pm_port, project_id)
    get_sg_endpoint = "http://{}:{}/project/{}/security-groups".format(
        address, sgm_port, project_id)
    create_node_endpoint = "http://{}:{}/nodes".format(
        address, nmm_port)
    create_node_ncm_endpoint = "http://{}:{}/ncms".format(
        address, ncm_port)
    cmd = 'ip addr show ' + \
        "eth0" + \
        ' | grep "link/ether\\b" | awk \'{print $2}\' | cut -d/ -f1'
    r = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    host_mac = r.stdout.read().decode().strip()
    # # Step 0:
    # # query for vpc a vpc
    #
    # get_vpc_endpoint = "http://{}:{}/project/{}/vpcs".format(
    #     address, vpm_port, project_id)
    # response = requests.get(get_vpc_endpoint)
    # while not response.ok:
    #     sleep(5)
    #     response = requests.get(get_vpc_endpoint)
    # vpc_id = response.json()["vpcs"][0]["id"]

    # Step 1:
    # Query Alcor about the network for the VM
    # Get tenant ID, and Network ID from response
    # Use the first subnet if no subnet is given

###############REGISTER NODE NCM###############
#     node_body = {
#         "ncm_info": {
#             "cap": 1,
#             "id": "ncm_id_1",
#             "uri": "ncm_uri_1"
#         }
#     }
#     syslog("###############REGISTER NCM NODE###############")
#     response = requests.post(create_node_ncm_endpoint,
#                              headers=headers,
#                              verify=False,
#                              data=json.dumps(node_body))
#     syslog("create_node_ncm response {}".format(response.text))
#     while not response.ok:
#         sleep(5)
#         syslog("create_node response {}".format(response.text))
#         response = requests.get(create_node_ncm_endpoint)
#     ncm_id = "ncm_id_1"
#     ncm_uri = "ncm_uri_1"
# ###############REGISTER NODE###############
#     node_body = {
#         "host_info": {
#             "host_dvr_mac": "string",
#             "local_ip": host_ip,
#             "mac_address": host_mac,
#             "ncm_id": ncm_id,
#             "ncm_uri": ncm_uri,
#             "node_id": hostname,
#             "node_name": hostname,
#             "server_port": 0,
#             "veth": "eth0"
#         }
#     }
#     syslog("###############REGISTER NODE###############")
#     response = requests.post(create_node_endpoint,
#                              headers=headers,
#                              verify=False,
#                              data=json.dumps(node_body))
#     syslog("create_node response {}".format(response.text))
#     while not response.ok:
#         sleep(5)
#         syslog("create_node response {}".format(response.text))
#         response = requests.get(create_node_endpoint)

###############GET SECURITY GROUP###############
    syslog("###############GET SECURITY GROUP###############")
    response = requests.get(get_sg_endpoint)
    syslog("get_sg response {}".format(response.text))
    while not response.ok:
        sleep(5)
        syslog("get_sg_endpoint response {}".format(response.text))
        response = requests.get(get_sg_endpoint)
    json_response = response.json()
    sg_id = json_response["security_groups"][0]["id"]
    tenant_id = json_response["security_groups"][0]["tenant_id"]

###############GET SUBNET###############

    syslog("###############GET SUBNET###############")
    response = requests.get(get_network_endpoint)
    syslog("get_subnet response {}".format(response.text))
    while not response.ok:
        sleep(5)
        syslog("get_subnet response {}".format(response.text))
        response = requests.get(get_network_endpoint)
    json_response = response.json()
    network_id = json_response["subnets"][0]["network_id"]
    # tenant_id = json_response["subnets"][0]["tenant_id"]
    prefix = json_response["subnets"][0]["cidr"].split("/")[1]
    subnet_id = json_response["subnets"][0]["id"]
    subnet_ip = json_response["subnets"][0]["cidr"].split("/")[0]

    i = 0
    parser.add_argument("-s", "--subnets", action="store", dest="subnets",
                        type=str, nargs="*", default=[subnet_id],
                        help="Examples: -s subnet1, subnet2, subnet3")
    opts = parser.parse_args()

    for subnet in opts.subnets:
        print("Creating VM in subnet: {}".format(subnet))

        response = requests.get(get_network_endpoint + subnet)
        while not response.ok:
            sleep(5)
            syslog("get_subnet response {}".format(response.text))
            response = requests.get(get_network_endpoint + subnet)
        json_response = response.json()
        gateway = json_response["subnet"]["gateway_ip"]
    ###############CREATE MINIMAL PORT###############
        create_minimal_port_body = {
            "port": {
                "admin_state_up": True,
                "device_id": netns,
                "network_id": network_id,
                "security_groups": [
                    sg_id
                ],
                "fixed_ips": [
                    {
                        "subnet_id": subnet
                    }
                ],
                "tenant_id": tenant_id
            }
        }
        syslog("###############CREATE MINIMAL PORT###############")
        response = requests.post(create_port_endpoint,
                                 headers=headers,
                                 verify=False,
                                 data=json.dumps(create_minimal_port_body))
        syslog("create_port response {}".format(response.text))
        while not response.ok:
            sleep(5)
            syslog("create_port response {}".format(response.text))
            response = requests.post(create_port_endpoint,
                                     headers=headers,
                                     verify=False,
                                     data=json.dumps(create_minimal_port_body))
        json_response = response.json()
        ip = json_response["port"]["fixed_ips"][0]["ip_address"]
        mac = json_response["port"]["mac_address"]
        tap_name = "tap" + json_response["port"]["id"][:11]
        port_id = json_response["port"]["id"]

    ###############CREATE VM###############
        netns += str(i)
        outer_veth_name += str(i)
        inner_veth_name += str(i)
        bridge_name += str(i)
        syslog("###############CREATE VM###############")
        create_virtual_instance(
            netns, ip, mac, prefix, outer_veth_name, inner_veth_name, bridge_name, tap_name, gateway)
    ###############UPDATE PORT###############
        update_port_body = {
            "port": {
                "project_id": project_id,
                "id": port_id,
                "name": port_name,
                "description": "",
                "network_id": network_id,
                "tenant_id": tenant_id,
                "admin_state_up": True,
                "veth_name": inner_veth_name,
                "device_id": hostname,
                "device_owner": "compute:nova",
                "fast_path": True,
                "binding:host_id": hostname
            }
        }
        syslog("###############UPDATE PORT###############")
        update_port_endpoint = "http://{}:{}/project/{}/ports/{}".format(
            address, pm_port, project_id, port_id)
        response = requests.put(update_port_endpoint, headers=headers, verify=False,
                                data=json.dumps(update_port_body))
        syslog("update_port response {}".format(response.text))
        while not response.ok:
            sleep(5)
            syslog("update_port response {}".format(response.text))
            response = requests.put(update_port_endpoint, headers=headers, verify=False,
                                    data=json.dumps(update_port_body))

        i += 1

main()

root@namevm:~# python3 aca_vm.py
None
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 144, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 83, in create_connection
raise err
File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 601, in urlopen
chunked=chunked)
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 357, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3.6/http/client.py", line 1285, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1331, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1280, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.6/http/client.py", line 1046, in _send_output
self.send(msg)
File "/usr/lib/python3.6/http/client.py", line 984, in send
self.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 169, in connect
conn = self._new_conn()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 153, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f1819aad6a0>: Failed to establish a new connection: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 440, in send
timeout=timeout
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='<IP_ADDRESS>', port=30008): Max retries exceeded with url: /project/123456789/security-groups (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1819aad6a0>: Failed to establish a new connection: [Errno 110] Connection timed out',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "aca_vm.py", line 271, in
main()
File "aca_vm.py", line 153, in main
response = requests.get(get_sg_endpoint)
File "/usr/lib/python3/dist-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 520, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 630, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 508, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=30008): Max retries exceeded with url: /project/123456789/security-groups (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f1819aad6a0>: Failed to establish a new connection: [Errno 110] Connection timed out',))

You can not just run the code, you need to modify the code according to your environment.

I can't open this site either， james
------------------ 原始邮件 ------------------
发件人: "James C.J @.>;
发送时间: 2022年5月5日(星期四) 凌晨3:00
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [futurewei-cloud/Distrinet] Study how to create VMs inside the ACA container (Issue #37)
You can refer to the code in our Merak project: https://github.com/futurewei-cloud/merak/blob/main/src/interface_create.py
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were assigned.Message ID: @.***>

Sorry, I was wrong
------------------ 原始邮件 ------------------
发件人: "James C.J @.>;
发送时间: 2022年5月5日(星期四) 凌晨3:00
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [futurewei-cloud/Distrinet] Study how to create VMs inside the ACA container (Issue #37)
You can refer to the code in our Merak project: https://github.com/futurewei-cloud/merak/blob/main/src/interface_create.py
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were assigned.Message ID: @.***>

The file is already post here. (interface_create.py)


Obsolete field and the command line compiler

If I have an extension depending on a tablefield which is marked as Obsolete (Pending), I get that as a Problem in VS Code. However the command line compiler alc is creating the .app file anyway.
For SourceControl Integration, it would be good, if it'd fail also with the command line compiler.

Hi @janhofmann24, using a field with ' Pending' state only results in a warning in VS Code and not in an error, so you should be able to create the .app file anyway (except if you have some ruleset or analyzers that are reporting an error for it).
The alc compiler from command line and VS Code should be returning the same errors and warnings. However, you need to verify that both have the same settings in order to get the same result. You can know more about the alc compiler by running alc.exe -help.

@janhofmann24, I am still not sure I understand what the issue is here.
When using a table field which has the property Obsolete set to:

Pending a Warning diagnostic is generated in the compiler and the .app can still be created,
Obsolete an Error diagnostic is generated in the compiler and the .app can no longer be created as it is an error to use an obsolete field.

You can see it in VS Code here:

Microsoft (R) AL Compiler version <IP_ADDRESS>
Copyright (C) Microsoft Corporation. All rights reserved

c:\Users\qutreson\Documents\AL\EmptyPage\obsolete.al(29,37): warning AL0432: Field 'PendingField' is marked for removal. Reason: Not needed anymore, so will be removed.
c:\Users\qutreson\Documents\AL\EmptyPage\obsolete.al(31,37): error AL0433: Field 'RemovedField' is removed. Reason: Not needed anymore, so is removed.
Error: The package could not be created.

I get similar results when using it in PS:
alc.exe -Project:"C:\Users\qutreson\Documents\AL\Project1" -PackageCachePath:"C:\Users\qutreson\Documents\AL\Project1\.alpackages"

Microsoft (R) AL Compiler version <IP_ADDRESS>
Copyright (C) Microsoft Corporation. All rights reserved

C:\Users\qutreson\Documents\AL\EmptyPage\obsolete.al(29,37): warning AL0432: Field 'PendingField' is marked for removal. Reason: Not needed anymore, so will be removed.
C:\Users\qutreson\Documents\AL\EmptyPage\obsolete.al(31,37): error AL0433: Field 'RemovedField' is removed. Reason: Not needed anymore, so is removed.

Even if the alc.exe does not explicitly tell in the console log if the creation of the package succeeded or not, the .app package does not get created in both cases as there is an error in the project.


[aarch64] Implement caching for ACL fixed format kernel based primitives

Hi @yanbing-j , @XiaobingSuper , can you please review and merge this PR. This is required for PyTorch 2.2 release.

I have raised this https://github.com/intel/ideep/pull/261 on ideep_pytorch branch to get included in PyTorch 2.2 release.


feat: Introduce scale-in in recovery.

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR attempts to replace the original migration scheme by generating an offline scale-in scheme during recovery. This is just a preliminary version, and will be optimized later.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

The diff is really hard to review as it does not link scale.rs to scale_controller.rs. 🥵 Is there any way to fix this?

generating an offline scale-in scheme during recovery

Can we elaborate more on this? Do you mean we won't get stuck if there's no enough parallel units, but a auto scaling-in will be triggered after timeout?


Add a @_borrowed attribute to force the use of an opaque read accessor

This is strawman syntax pending a proposal; I pitched some ideas here:
https://forums.swift.org/t/value-ownership-when-reading-from-a-storage-declaration/15076

@swift-ci Please smoke test

@swift-ci Please smoke test Linux

I don't really believe this patch broke random LLDB tests, but I don't know what else to do here.

@swift-ci Please smoke test.


Fix error on release

Codecov Report
Patch and project coverage have no change.

Comparison is base (00c28d9) 89.08% compared to head (d5c134a) 89.08%.

:exclamation: Current head d5c134a differs from pull request most recent head f8ebb24. Consider uploading reports for the commit f8ebb24 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #272   +/-   ##
=======================================
  Coverage   89.08%   89.08%
=======================================
  Files          31       31
  Lines        2373     2373
=======================================
  Hits         2114     2114
  Misses        259      259

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add description for SEO.

@CamSoper -  You are down as the author for this article. This is for 1657400.
Please have a look at the description I added here. I haven't worked in this repo before, just FYI.

Docs Build status updates of commit 925c9bc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/dotnet-sdk-azure-concepts.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


AnalyzeSpark: analysis is inefficient

For standard (non-sequence) data: implementation requires 2 passes of the data (2 aggregate operations):
https://github.com/deeplearning4j/DataVec/blob/master/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java#L147-L148
https://github.com/deeplearning4j/DataVec/blob/master/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java#L243-L245
This really should be combined into one. It's not so bad if the data fits in memory, but can t
For sequences: current implementation requires 3 passes of the data (two for standard analysis, one for sequence lengths):
https://github.com/deeplearning4j/DataVec/blob/master/datavec-spark/src/main/java/org/datavec/spark/transform/AnalyzeSpark.java#L98-L102
Also, the caching behaviour in AnalyzeSpark maybe be undesirable - for example, the user might instead to persist to memory and disk... or not persist at all. We shouldn't be hard-coding caching like that. Once we fix the above issues, we shouldn't be need caching at all.

Other than the sequence improvement (3 -> 2 passes) on reflection this might not be simple to improve.
Notably, the histogram calculation first requires minimum and maximum values, to work out the locations for the bins. This of course is calculated in the first aggregation/analysis step.
Online algorithms (some approximate) do exist for this problem - see for example http://www.mathcs.emory.edu/~cheung/papers/StreamDB/Histogram/2005-Guha-Histogram.pdf

This is a first step towards help on the histogram side.

https://github.com/deeplearning4j/deeplearning4j/issues/5198


[v7] Table state is lost when data is updated

When i am updating data, then table state is reset to initial, is this the expected behavior or i am missing something.
Can be replicated at - https://codesandbox.io/s/trigger-change-in-data-causing-state-reset-mlxzt
Steps :-

Sort any Column, current state is rendered
Then use update data btn to update data
SortBy state of table is lost, ideally it should preserve user's state.

This is expected behaviour.
See autoResetRowState:
https://github.com/tannerlinsley/react-table/blob/7dc9b8516543e72410e5dc5ed6ebc10c198df45b/docs/api/useRowState.md

Cool, thanks for it...just cross checking without seeing docs...does this autoReset exists for all features/plugins..

Cool, thanks a ton for that.


MFEM tests throw strange errors

This happens about a dozen times.

I am running the devlop branch version of VisIt with qt6 and vtk9.

Looks like the same I saw with rendering/pixeldata. See my comments in issue 19037

Should I close this then?

No, I think its good to have separate bug ticket than just comments in that one which attempts to address a lot of different issues. I just wanted to note that a different test was causing similar errors.

This also happens with the X Ray Image Query tests.
An engineering user reported that this is happening during their regular workflow.

These issues seem more prevalent to me on the SCF.

This may help: https://discourse.vtk.org/t/texture-buffer-size-error/8484

Need to update Mesa, they fixed this issue two years ago.


Is this project still maintained?

Hey there,
we would really like to use the confluence integration, but I saw that the latest release is from 2022 and the last commit is also a few months old.
So I wonder if this plugin is still maintained.
And to what Mattermost and Confluence (Data Center) versions is it compatible at the moment? I saw "min_server_version": "5.26.0", but what is the max_server_version at the moment?
Best regards!

It's best to consider this project unmaintained. Still, I'm curious if you encounter any issues while deploying the plugin.

That's too bad, thanks for your reply! I haven't deployed the plugin yet. At first, I wanted to make sure that this project is still actively maintained


Updated to 0.6.1

Aligned to pypi 0.6.0 version
Fix some Python3 compatability issue.

🐍 👍

@bennylope can you please release version 0.6.1 on https://pypi.org/project/django-quagga ?

@bennylope is the new release planned already? Thanks

New release would be useful :)

Yes it would be great for pip use. Thanks

Wow, I appreciate the enthusiasm! I had to actually sit down to run do the hard work of adding a new tag and typing a single command to issue the release, but I finally found time. It's up on PyPI. Cheers 🍻

Thanks for your work, I really appreciate your contributions to the open source world. Cheers 🍻

Also, thanks again for the update, it's a hugehelp. I never bothered updating the AUTHORS file but I'd encourage you to add your name.


fix(abort): multiple times abort is work in react

fix #141

:tada: This PR is included in version 2.9.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add zaps to cleanmymac 3.8.1,1493201482

After making all changes to the cask:

[x] brew cask audit --download cleanmymac is error-free.
[x] brew cask style --fix cleanmymac reports no offenses.
[x] The commit message includes the cask’s name and version.

Aren't these the same zaps as the ones on lines 63 and 64?

Wow. I totally missed that. For some reason it didn't zap on my machine and
I noticed these and decided to add them.
Good catch. I'll drop the pull request.
בתאריך יום ו׳, 19 במאי 2017 ב-21:07 מאת numbermaniac <
<EMAIL_ADDRESS>
Aren't these the same zaps as the ones on lines 63 and 64?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/caskroom/homebrew-cask/pull/34399#issuecomment-302841116,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AP6uVvTfUUrcJdrkp2ZZxDAbP118kmrEks5r7jy9gaJpZM4NgfLj
.


////////CONTRIBOARD TESTING, 24.7.2015////////
Contriboard (SUT) versions:
Client version v1.2.100
API version v0.4.38
IMG version v0.1.10
Testing environment:
Heli (1 kpl iPad iOS 8.3 (12F69) Flowdock -> Apple web-view)
////////CONTRIBOARD TESTING, 24.7.2015////////

Can we get a screenshot?

If the vertical area of the browser is small, minimap will be left behind the toolbar but the minimap cursor stays on top of the toolbar.

z-index of minimap cursor and left side menu changed to fix this issue.
Minimap was also changed to right hand corner to better accommodate  devices with small screens.
Changes done in commit: https://github.com/N4SJAMK/teamboard-client-react/commit/7d4a1d6864e46f3f0f77c8aed0a95d7f17c9130e
Client version: v.1.2.104

Seems to be fixed!
Client version	v1.2.114
API version	v0.4.41
IMG version	v0.1.10


Add exceptions

This is an additional PR on top of #5 to add exception handling, to catch scenario's of no token, and no device list

i sometimes see flatlines, no errors in the log. When i check the readings in the SEMS app they are not flat, do you maybe have an idea where this is coming from?

Flatlines are coming from SEMS app.
After a while they are corrected but too late for Domiticz which got data already.
Sometime it needs more then one hour to be adjusted in SEMS.
Le February 10, 2020 à 8:26 PM djoenez<EMAIL_ADDRESS>> a écrit:

i sometimes see flatlines, no errors in the log. When i check the readings in the SEMS app they are not flat, do you maybe have an idea where this is coming from?

[image] https://user-images.githubusercontent.com/47869328/74153525-1c3aec00-4c11-11ea-9721-73170b03d749.png

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/dylian94/domoticz-GoodWeSEMS/pull/9?email_source=notifications&email_token=AM7NSVRD4LUWCPCLX7RZPTLRCFIW5A5CNFSM4KK5CY42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELIPWCA#issuecomment-584121096 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AM7NSVWSG6JJPOMIOJV5P7TRCFIW5ANCNFSM4KK5CY4Q .

That last commit fixes issue #10


Remove tracking of connection addresses in server-side connection management

This is yet another attempt to resolve the issue described in #260.
#275 removed the connection protocol altogether. However, I believe that could actually have detrimental affects in preventing clients that are connected to followers from progressing for a brief time (less than the keep alive interval) after connecting to a new server. Part of this protocol is still useful. So, this PR preserves the ConnectRequest portion of the protocol - which associates a client's ID with a connection - but still removes AcceptRequest and ConnectEntry and still relies only on the Connection to indicate when the client disconnects from the server. I believe this should still resolve the problems described in #260 but should hopefully reduce the time it takes for the client to continue to progress after switching servers.

Changes Unknown when pulling 385acda85ba293f1aba7bca4256072bdead1b83e on remove-connection-addresses into ** on master**.

This implementation does seem more stable for me thus far

me too, I'm still testing, but so far so good

@jhall11 what do you think?

After running a test that sets up a cluster, then continually kills node1, waits a bit, restarts that container, and reconnects node 1 to the cluster, We have seen UnknownSessionException occur when the node tries to reconnect. This occurred on the 153rd iteration of this test, so it is not very easy to replicate.
We are running ONOS on top of this pull request with the latest atomix snapshot.
I have yet to sort through the logs, but here they are if you want to take a look: https://drive.google.com/file/d/0BwORWZ1M_qo_TkpUVWV1dTNPeGM/view?usp=sharing

Thanks! I'll take a look at them...

@jhall11 can you tell me a bit more about the setup?
What you're describing is a three node cluster, right? You kill one node and eventually restart it? But during that period, clients are still presumably connected to the two other nodes? However, you periodically see UnknownSessionException in the logs (which I see mostly on <IP_ADDRESS>). And it seems like this is happening in OnosCopycatClient's retry mechanism, which I'm assuming Madan implemented because he knew Copycat's ordering guarantees prevent it from retrying queries itself and leave that to the user. Just want to make sure that's all right.
I can see two possibilities here. First is that the CopycatClient is for some reason not attempting to register a new session. Second is that there's some issue with the session registration logic in this PR that causes it to not be properly persisted in the cluster even after the client registers a new session. What we should expect to see is just one UnknownSessionException if any and see the client/cluster work out that problem themselves. But for some reason either the client isn't attempting to create a new session or it does attempt to create a new session and the cluster is losing it.

It looks to me like it's the former - the client isn't attempting to register a new session when it learns its session was expired by the cluster.

I think I understand the issue, but it's going to take some time to fix and probably belongs in a separate PR

So, here's the problem. The DefaultCopycatClient just doesn't seem to be proactively expiring/recreating sessions in response to command/query failures. It only seems to do so when it learns its session was lost via KeepAliveResponse. This allows OnosCopycatClient queries to be retried 5 times and failed without the client attempting to recreate its session. Essentially, queries will fail until the client tries a keep-alive again, which is certainly not the behavior we want. But this will have to be addressed in another PR (I'll fork this branch).


Input shape RuntimeError

I am getting the following error when i'm trying to train
RuntimeError: shape '[1, 125584, 32]' is invalid for input of size 8037376
It is coming from this method
tgt2 = self.multihead_attn(query=self.with_pos_embed(tgt, query_pos),                                    key=self.with_pos_embed(memory, pos),                                    value=memory, attn_mask=memory_mask,                                    key_padding_mask=memory_key_padding_mask)[0]
in src/models/transformer/deformable_transformer.py
Any idea why?

I have met the similar error with you, after I modified the get_ref_imgs function in vid_multi.py, the error is gone. In my view, it's the self.frame_seg_len[idx] out of idex, I hope this can help you.

May I ask how you modified it?

May I ask how you modified it?


[Pluralsight] multiple subtitles download (fix #13990)

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

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

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
This pull request solves https://github.com/ytdl-org/youtube-dl/issues/13990 issue, so it enables downloading multiple subtitles on pluralsight by running:
$ youtube-dl PLURALSIGHT_COURSE_URL -u "USERNAME" -p "PASSWORD" --write-sub --sub-lang en,es

Also to retrieve all available subtitles by running:
$ youtube-dl PLURALSIGHT_COURSE_URL -u "USERNAME" -p "PASSWORD" --all-subs

@dstftw Not very happy of enabling --all-subs on this, since most of listed subtitles are not available and going through all of them one by one could easily lead to get banned


AppVeyor builds for Python 2.7 keep timing out

Description of issue or feature request:
Since recently AppVeyor Python 2.7 builds always fail by exceeding the maximum build execution time, i.e. 60 minutes. While time outs have happened in the past, they occurred more randomly and and also on different Python versions.
NOTE:
Our TUF AppVeyor GitHub apps integration was recently changed from OAuth to GitHub App. In the course of doing so the corresponding organizational account was changed too. While this is unlikely to be related to the issue new builds need to be accessed under https://ci.appveyor.com/project/theupdateframework/tuf. Past builds can still be found under https://ci.appveyor.com/project/securesystemslab/tuf-j90sw/history.
Current behavior:
AppVeyor builds on Python 2.7 always fail due to timeouts
Expected behavior:
AppVeyor should normally not time out on Python 2.7

Might be worth to check out windows support on Travis, to see if it's mature enough yet to replace AppVeyor.

Or maybe use Azure?
On Tue, Oct 29, 2019 at 5:17 AM lukpueh<EMAIL_ADDRESS>wrote:

Might be worth to check out windows support on Travis
https://docs.travis-ci.com/user/reference/windows/, to see if it's
mature enough yet to replace AppVeyor.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/theupdateframework/tuf/issues/940?email_source=notifications&email_token=AH4ZEEMZ44ITI6NJGQFFWATQQ75TFA5CNFSM4JCIRBVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECPY2GY#issuecomment-547327259,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH4ZEEJTH6BBJSIYE3E54BTQQ75TFANCNFSM4JCIRBVA
.

While troubleshooting failing tests on AppVeyor for the in-toto repo a few days ago, I read up on Travis CI Windows/Python support. It still seems quite beta.  I too very briefly looked into alternatives, and concluded that we should at least try to solve this issue on AppVeyor before we setup anything new.
@joshuagl has created a new ticket for this issue at https://github.com/theupdateframework/tuf/issues/965, which provides more details. Closing here...


Use the original key in reply messages when using ReplyingKafkaTemplate and SendTo

Expected Behavior
Response messages in addition to the kafka_correlationId Header should have the same keys as their corresponding request messages when constructing the Request-Reply semantics on top of ReplyingKafkaTemplate and SendTo.

Current Behavior
The response messages have no keys (null)

Context
When one sends a message/request it's only natural to expect that the response message have same key as the original message (request). Such an explicit formalization can allow engineers to reason about the workload. Also it might come in handy when there are different consumers listening the reply topic.

Here is a brief example of what this issue is about
Sender:
void sender(ReplyingKafkaTemplate<String, String, String> template) {
    final ProducerRecord<String, String> record = new ProducerRecord<>(
            "mytopic",
            "key",
            "value"
    );

    var replay = template.sendAndReceive(record, responseTimeout);

    // THIS ASSERTION FAILS
    assert "key".equals(replay.get().key()) : "The response should have the same key";
}

Listener:
@SendTo
@Listener(topics="mytopic")
String listen(String value) {
    return "Hello, " + value;
}

If you run this snippet, you will get the assertion error, because the key of the replying message is null.

This makes sense.
Feel free to contribute the fix: https://github.com/spring-projects/spring-kafka/blob/main/CONTRIBUTING.adoc
Thanks

I am taking a look at this issue. It's straightforward with a single return record, as in the example above. I wonder what the semantics are if the return type is a batch or a collection. In the case of a collection, the framework may not detect what keys to provide, and it is up to the application to provide the keys by wrapping them in a Message. What do you think?


implement memory freeing for uring probe function

liburing now supports freeing memory allocated for usage with the feature discovery functionality.
I would be happy to provide the uring-sys implementation which I have in a private branch, but liburing would have to be updated to include at least:
https://github.com/axboe/liburing/commit/caec7386bc1ecf399ce0da315ce48062d7c70642

Yea as I mentioned in #22, I'd like to pin to release commits of liburing. Fixing a bug I'd consider, but for new features I want to wait until axboe makes a release of liburing.


NEON SIMD code.

In tests on my pi3b+, a release build of my ghostscript integration
takes 2 minutes 27 seconds to render a PDF and OCR it with the
vanilla sources. With this NEON coded added the time drops to 37
seconds.
I have not tested the configure/Makefile changes as I'm not using
them.

In tests which I had run some time ago (for different architectures, also neon), the compiler generated code was similar fast (or even faster) than hand optimized code. Could you please try -c dotproduct=native? That requires the right compiler flags for src/arch/dotproduct.cpp.

In tests which I had run some time ago (for different architectures, also neon), the compiler generated code was similar fast (or even faster) than hand optimized code.

With autotools, the native code uses -O3, while the the optimized uses -O2. Not a
fair comparison.

The 'native' code extends to the "DotProduct" function. I haven't coded that, because it's not called in my runs.
I've coded the "IntSimdMatrix" function, which has no "native" equivalent.

Also see @robinwatts msg at  https://groups.google.com/d/msgid/tesseract-ocr/0e4552a1-a0d3-4a38-8881-0972bdf3185b%40googlegroups.com.

Presumably, there is a good reason why the existing code uses doubles rather than floats?

https://github.com/tesseract-ocr/tesseract/issues/943#issuecomment-303239929
Read the section that start with

DotProduct:
Float vs double:

@noahmetzger and @stweil have some code that uses float instead of double for x86.

It looks to me like the discussion in that thread predates the existence of intsimdmatrix.
The argument given for using doubles there was that it's bad to do SIGMA(float*float) as the inaccuracies mount up. When we are using intsimdmatrix (matrixdotvector), we are doing all the multiplication and additions in the integer domain. We only convert to double at the end when we divide/bias/scale.
Thus, while that discussion is interesting, it seems to an ignorant reader such as myself, that circumstances may have moved on. A significant part of the stated reason for using doubles has now been removed, so maybe the decision could/should be revisited?
It's entirely possible that there are still good reasons for using doubles in preference to floats, but it's not clear to me what they are.
Possibly, it might be worth using doubles on some architectures, and floats on others?

Updated with NEON detection for Android (untested) and Linux (tested on my pi).

I tested the patch on ODROID-HC1.
Build:
./configure '--disable-openmp' '--disable-shared' 'CXXFLAGS=-Wall -Wextra -Wpedantic -g -O2 -fno-math-errno -march=native -mtune=native -mcpu=native'
make

Test:
time -p tesseract test/testing/8087_054.3G.tif 8087_054.3G.tif-neon

The time was reduced from 30 s to 17 s by using NEON, but the OCR result was slightly different:
--- 8087_054.3G.tif-native.txt	2020-05-16 09:22:40.560168947 +0200
+++ 8087_054.3G.tif-neon.txt	2020-05-16 09:29:03.007051399 +0200
@@ -1,10 +1,10 @@

-aN
+oe

-datecline
+dateline

 “This is Greater Serbia,” yet they didn’t take the city.
 On returning to the region in March I visited the
@@ -64,7 +64,7 @@
 of Dubrovnik’s inhabitants, he depends on Red Cross
 food parcels to survive. Once a month, any person in

-545 TRAVEL&LEISURE SEPTEMBER 1993
+545 TRAVELG&LEISURE SEPTEMBER 1993

Maybe this comes from small differences in the dot product calculation. Ideally the OCR should not depend on the hardware used.

You're right, it shouldn't change the result. I've spotted a silly mistake. I'll retest and get a new version up.

Updated version.
In the original version, due to a misplacement of a bracket, I was doing the division by INT8_MAX before the cast to double. Fixed here.
I also tweaked the code so that the loads happen as loads of q registers rather than d registers, and added some __restricts.
This tests out for me - I hope it solves the problems you were seeing. If not, I will look again. Thanks!

Rebased to current master.

@robinwatts, I am currently rather busy, but will have a look on the latest version and test it later this week.

No problem, no hurry. I appreciate all your time and efforts! Thanks.

@noahmetzger and @stweil have some code that uses float instead of double for x86.

https://github.com/noahmetzger/tesseract/commits/floatModeRecognition
https://github.com/noahmetzger/tesseract/commits/trainingFloat
https://github.com/stweil/tesseract/commits/dp-float
https://github.com/stweil/tesseract/commits/floatModeRecognition

I've done all the suggested changes, with the exception of adding the #ifdef ARM_NEON guards, because they are not in keeping with the rest of the code.
If they are really necessary, I'll add them, but it seems slightly odd to treat NEON as different to the x86 SIMD variants.

@robinwatts, I tested with commit https://github.com/stweil/tesseract/commit/c5b96260bc025c8e1ffa43ef7e07b427e150d964 on top of your pull request. Would it be okay for you to merge with that commit?

As I said on the other PR, it wouldn't be the way I'd do it personally, but it's more your code than mine. I'll go along with whatever you think.

Unfortunately the new NEON code causes a heap buffer overflow which has to be fixed of course. See PR #2974 for details.

I have a fix up for review here:
https://github.com/tesseract-ocr/tesseract/pull/2991

IMO, the term HAVE_NEON and the other HAVE_* are misleading.
A possible replacement: COMPILER_SUPPORTS_NEON.

The HAVE_ prefix is quite common for autoconf macros, therefore I'd stick to that. But maybe we could use defines like HAVE_CFLAG_NEON or HAVE_NEON_CODE.

If we still use HAVE_, I prefer the HAVE_CFLAG_NEON option (or HAVE_NEON_CFLAG).

Both variants are fine for me. @egorpugin, @zdenop, @Shreeshrii, any preferences?
We would update the other similar macros (HAVE_AVX, ...) then, too.

I'm fine for any consistent variant.

How about we:
a) Fix the current NEON code. (See https://github.com/tesseract-ocr/tesseract/pull/2991)
b) Fix the neon runtime detection mechanism so oss-fuzz works again. (See https://github.com/tesseract-ocr/tesseract/pull/2992)
c) Then do a followup commit to change all the flags as people like them?

robinwatts, agreed.

After we get that lot in, plus the AVX2 acceleration (See #2974) I have a series of changes to accelerate all the different intsimdmatrix implementations by allowing the biasing/scaling to be done in SIMD too.

I have no preference.


Too Many Requests: retry after

o.d.tdlib.utils.AuthorizationRequestHandler| Receive an error: Error {
code = 429
message = "Too Many Requests: retry after 142"
}
when auth firth account, it tip me this error.
how to deal it?

You have exceeded limits. Just wait 142 seconds then retry

auth some account need wait some minutes?

Reference in new

how to remove this limit

Limits can't be removed, just wait for 142 then try again.


access: approvers

Hi,. Please consider me for approvers access. See https://go.dev/wiki/GerritAccess
Some of my changes<EMAIL_ADDRESS>and reviewing<EMAIL_ADDRESS>

@gopherbot add NeedsDecision

cc @golang/release

Hi @hickford,
Thank you for contributing to the Go project. We've discussed this request on the team, and agreed to grant you this access. I've added your Gerrit account to the approvers group now.
Please be familiar with the rules for voting and submitting changes as described at https://go.dev/wiki/GerritAccess#approving-cls-approvers. If you're unsure or have any questions, please don't hesitate to ask us.
Thank you again for your help.


Feat/cv save local paths

Please do not create a pull request without creating an issue first.
Changes need to be discussed before proceeding, pull requests submitted without linked issues may be rejected.
Please provide enough information so that others can review your pull request. You can skip this if you're fixing a typo – it happens.

[ ] I have added tests to tests to cover my changes.
[ ] I have updated docs/, if necessary.
[ ] I have updated the README.md, if necessary.

What existing issue does this pull request close?
Put closes #issue-number in this pull request's description to auto-close the issue that this fixes.
How are these changes tested?
This pull request includes automated tests for the code it touches and those tests are described below. If no tests are included, reasons why must be provided below.
These changes are tested with [...]
Demonstration
Demonstrate your contribution.
For example, what are the exact commands you ran and their output, related screenshots, screen-recordings, test runs, anything that can showcase.
Provide additional context.
Provide as much relevant context as you like.

Codecov Report

Merging #704 (5fa2058) into main (9b8af36) will decrease coverage by 0.41%.
The diff coverage is 95.72%.

@@            Coverage Diff             @@
##             main     #704      +/-   ##
==========================================
- Coverage   89.63%   89.23%   -0.41%
==========================================
  Files         166      167       +1
  Lines       13272    13431     +159
==========================================
+ Hits        11897    11985      +88
- Misses       1375     1446      +71

Impacted Files
Coverage Δ

dataquality/core/log.py
95.31% <ø> (-0.21%)
:arrow_down:

...ataquality/loggers/data_logger/text_multi_label.py
94.59% <ø> (ø)

dataquality/utils/ultralytics.py
55.92% <0.00%> (ø)

...quality/loggers/data_logger/text_classification.py
91.58% <76.92%> (-0.69%)
:arrow_down:

dataquality/utils/hf_images.py
94.44% <80.00%> (+7.48%)
:arrow_up:

tests/test_utils/mock_data.py
92.85% <86.36%> (-7.15%)
:arrow_down:

...uality/loggers/data_logger/image_classification.py
87.23% <95.55%> (+13.90%)
:arrow_up:

...ataquality/loggers/data_logger/base_data_logger.py
89.06% <100.00%> (+0.07%)
:arrow_up:

tests/integrations/fastai/test_cv_fai.py
100.00% <100.00%> (ø)

tests/loggers/test_image_classification.py
100.00% <100.00%> (ø)

... and 1 more

... and 18 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Migrate to v4 of @salesforce/core

sfpowerscripts currently utilizes v3 version of @salesforce/core and associated packages. sfpowerscripts should be migrated to use v4 of the packages along with updates to other libraries such as packaging, apex-node etc

This has been completed


Question - Can we copy/backup our rclone config?

Hi,
As I want to mount the configs from a Docker container, can you tell me where they are ?
Are they embed directly within the app (/go/bin/rclone)
Thank you!

Fund the answer
/root/.rclone.conf
confirm this: cat .rclone.conf

rclone -v tells you the default location of the config. You can also use --config.

rclone -h I meant!

rclone -h does not produce config location

is this an issue if I don't have this CONF file?
root@NL:~# rclone -v
2017/04/13 21:39:39 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults

rclone -h does not produce config location

ofc it does
      --config string                     Config file. (default "/Users/oskar.stark/.config/rclone/rclone.conf")

Well, on Linux with rclone v 1.36 it does not.

My rclone v1.36 installation on linux does.
sjurtf@cornsnake:~$ rclone -V
rclone v1.36

sjurtf@cornsnake:~$ rclone -h | grep "Config file"
      --config string                     Config file. (default "/home/sjurtf/.config/rclone/rclone.conf")

sjurtf@cornsnake:~$ uname -a
Linux cornsnake 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux

For people landing here from search results, the current command is rclone config file


create a "package"?

hey team, supabase ceo 👋
Would you like to turn this into a database package for our upcoming Launch Week? Creating a package would allow users to simply run something like:
select dbdev.install("pointsource-rbac");

create extension "rbac";

the "dbdev" command  would pull the package from here: https://database.dev/
Here are some docs on how to convert this into a package: https://supabase.github.io/dbdev/publish-extension/
And you can see some of my own examples here: https://github.com/kiwicopple/pg-extensions/
Let me know if you need help!

Absolutely! I'd love to do this. I left some questions here last time: https://github.com/point-source/supabase-tenant-rbac/issues/2
Help would be appreciated

ah I'm sorry @point-source - I didn't realise I created 2 issues 😓 . closing this - let's move to the other


Support for win32 using the websocket binding

Hi,
as an alternative to https://github.com/sandeepmistry/noble/issues/84, why not allowing to install on windows and use the websocket client binding? It may be useful for testing and remote sensors.
Changes should be small:
In package.json, add "win32"
"os": [
    "darwin",
    "linux",
    "win32"
  ],

In lib/noble.js, detect "win32" platform and use the websocket binding
if (process.env.NOBLE_WEBSOCKET || process.title === 'browser' || platform === 'win32') {
  bindings = require('./websocket/bindings');

I can provide the PR if you agree.

@loghorn great submission, I hope it will be accepted soon!

As per #202, closing this request for now.


How to register credentials for premium video download?

Hello,
I'm unable to download any Premium course while I have an active subscription.
I mean where should I enter my credentials?
In the demo you provided as a gif, you are downloading the react hooks course which is a premium course.
Where did you register your credentials?
Thank you.

It is not implemented, If you have a Premium account, you can just download the video on the courshunters website itself. This app was initially created to help people to download free videos.
If you want to download premium videos, please check this
https://github.com/alekseylovchikov/ch-download
Thanks


[Semantic API] listenerTypes() potentially adds null to the list

The listenerTypes() method in the service symbol will add null elements to the list if it encounters unexpected internal types. I think we may need to consider skipping such null elements.

@DamithaSenevirathne is working on this


Another day, another mongodb try

Nice job man!

Thanks I did need multiple tries that it finally works. They changed quite a lot in their API 😀.


Update terminal environment variable precedence to be in line with currently xfail-ing tests

We want environment variable resolution to behave as described in this miro board.
This behavior is described in test cases written in tests/meltano/core/test_environment_variables.pywhich which currently have xfail=True. Behavior should be updated so that these tests pass. The relevant test cases will have a comment referencing this issue.
Related:

Exploratory issue:

https://github.com/meltano/meltano/issues/3100
https://github.com/meltano/meltano/pull/5938

Also found:

https://github.com/meltano/meltano/issues/5983

Xfail (expected-to-fail) tests to fix:  https://github.com/meltano/meltano/commit/17ce6c65d2ea3f4b5851528ec15de45e22843be8

@cjohnhanson - Thanks for logging this.
Can you say a bit more of the currently observed behavior you seeing re: terminal environment variable precedence?
For instance, does it appear that terminal context is having highest-level resolution priority instead of the (proposed) lowest?

@aaronsteers what's the weight on this and is this something that can be done for 2.0?

@aaronsteers

For instance, does it appear that terminal context is having highest-level resolution priority instead of the (proposed) lowest?
^That's exactly right. Terminal context takes precedence over everything else. If its priority is correct, I believe that all 6 of these tests would start passing.

@tayloramurphy I would weight this at an 8, it definitely requires some exploration but I believe the current behavior is the result of several different parts of the code, there's no single "precedence order" set that we could just change.

@aaronsteers (CC @kgpayne--you might have also come to this conclusion or otherwise have some insight here)
After banging my head against this for a long time, I think I've come to the embarrassing conclusion that current behavior is in line with the spec and I misinterpreted the precedence order when writing these tests.
Basically, the currently failing tests fail because they have environment variables that are set at the terminal or active environment level and in the plugin- and/or environment-plugin level. I interpreted the precedence order in the spec to indicate that the plugin- or environment-plugin level value should "win", but these tests fail because the values from the terminal or active environment context are "winning" and taking precedence over the plugin- and environment-plugin level values. My mistake in these tests is that the environment variables being tested are also valid settings for the mock plugin. This means that the values set for them are resolved into the plugin settings/config and then those resolved settings are mapped to environment variables, which take precedence over the plugin- and environment-plugin level envs.
The key takeaway here is that environment variables in terminal or active environment contexts will always take precedence over plugin or environment-plugin values for those same variables if those env variables in question are valid keys for a plugin setting. My reading of the spec was that plugin or environment-plugin should "win" over terminal or active environment context, but I think this was incorrect and the existing behavior is actually correct.
I think I particularly owe @kgpayne a mea culpa for potentially sending him down an unnecessary rabbit hole in trying to resolve this issue.
I'm going to update the tests to reflect my new reading of the spec and then we can finally close out this issue. FYI @tayloramurphy if you have any additional thoughts on this.

The key takeaway here is that environment variables in terminal or active environment contexts will always take precedence over plugin or environment-plugin values for those same variables if those env variables in question are valid keys for a plugin setting. My reading of the spec was that plugin or environment-plugin should "win" over terminal or active environment context, but I think this was incorrect and the existing behavior is actually correct.

@cjohnhanson I might need some example meltano.ymls + terminal contexts to understand what you're saying here. Or maybe even having one of the new integration tests would be really helpful in understanding. I'm trying to match what I said in https://github.com/meltano/meltano/issues/6386#issuecomment-1195887590 with what you're saying in your comment and I'm confusing myself.

@tayloramurphy  here's an example that I think demonstrates this pretty well:
If we have this meltano.yml:
version: 1
default_environment: dev
project_id: example
plugins:
  utilities:
  - name: ls
    namespace: ls
    executable: ls
    settings:
    - name: from
      kind: string
      value: "root-level plugin-level setting"
environments:
- name: dev
  config:
    plugins:
      utilities:
      - name: ls
      config:
        from: "active environments plugin-level config"

and we run:
meltano invoke --print-var LS_FROM ls

then we'll get:
LS_FROM=active environment plugin-level config

Which is correct behavior.
BUT if we run:
LS_FROM="terminal context" meltano invoke --print-var LS_FROM ls
then we'll get:
LS_FROM="terminal context"

My initial reading of the spec was that this behavior is incorrect because active-environment plugin-level config should take higher precedence over terminal context. But I think that reading is incorrect and this behavior is actually what we want. Because during plugin settings value resolution, environment variables in the terminal context take precedence over plugin-level config, meaning that the from setting for the ls plugin gets its value from the terminal environment and then maps that setting onto the LS_FROM environment variable in the plugin invocation context. So the LS_FROM environment variable in the invocation context in this case isn't coming directly from the terminal context, it's coming from the plugin's settings value resolution, which has the highest priority.
Does that make sense? Basically, environment variables get mapped to settings values, and then settings values get mapped back to environment variables.

@cjohnhanson I think I realize the gap. This whole time I thought you were talking about environment variable precedence with regard to the env at all levels.
In your example I think yes, what you've described is right. Where I was getting stuck is if a user were to specify env containing LS_FROM: something anywhere in their meltano.yml then I would expect that to take precedence over what's in the terminal context according to the inheritnance order we discussed in https://github.com/meltano/meltano/issues/6386#issuecomment-1195887590
@aaronsteers if you could check both our logic here and as a third party to make sure we've reconciled the confusion I'd appreciate it!

@tayloramurphy yes exactly, I failed to disambiguate "environment variables" from "plugin settings" since I think in practice it should be rare to pass to plugins environment variables which are not also configuration settings (or maybe it's not rare and I'm further displaying my ignorance here 😅). The existing unit tests do test for "environment variable precedence with regard to the env at all levels" and that precedence behavior works as expected.