Getting ValueError: Could not connect to a Chroma server. Are you sure it is running?

Here is the full trace of running docker-compose up --build:
[+] Building 0.6s (10/10) FINISHED                                                                             docker:desktop-linux
 => [application internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 182B                                                                                0.0s
 => [application internal] load metadata for docker.io/library/python:latest                                                   0.5s
 => [application internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [application 1/5] FROM docker.io/library/python:latest@sha256:3966b81808d864099f802080d897cef36c01550472ab3955fdd716d1c66  0.0s
 => [application internal] load build context                                                                                0.0s
 => => transferring context: 2.01kB                                                                                0.0s
 => CACHED [application 2/5] WORKDIR /app                                                                                0.0s
 => CACHED [application 3/5] COPY requirements.txt /app/                                                                       0.0s
 => CACHED [application 4/5] RUN pip install -r requirements.txt                                                               0.0s
 => CACHED [application 5/5] COPY . /app/                                                                                0.0s
 => [application] exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:a13b2923f9121bdb6b777d2436e62a1f3b2f0f6ccc5e74a9e229a276f212a025                                   0.0s
 => => naming to docker.io/library/application                                                                                0.0s
[+] Running 1/1
 ✔ Container application  Created                                                                                0.0s
Attaching to application, chroma-1
chroma-1     | Starting 'uvicorn chromadb.app:app' with args: --workers 1 --host <IP_ADDRESS> --port 8000 --proxy-headers --log-config chromadb/log_config.yml --timeout-keep-alive 30
application  | Traceback (most recent call last):
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
application  |     sock = connection.create_connection(
application  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
application  |     raise err
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
application  |     sock.connect(sa)
application  | ConnectionRefusedError: [Errno 111] Connection refused
application  |
application  | The above exception was the direct cause of the following exception:
application  |
application  | Traceback (most recent call last):
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
application  |     response = self._make_request(
application  |                ^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
application  |     conn.request(
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
application  |     self.endheaders()
application  |   File "/usr/local/lib/python3.12/http/client.py", line 1331, in endheaders
application  |     self._send_output(message_body, encode_chunked=encode_chunked)
application  |   File "/usr/local/lib/python3.12/http/client.py", line 1091, in _send_output
application  |     self.send(msg)
application  |   File "/usr/local/lib/python3.12/http/client.py", line 1035, in send
application  |     self.connect()
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 238, in connect
application  |     self.sock = self._new_conn()
application  |                 ^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
application  |     raise NewConnectionError(
application  | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0xffffa396f440>: Failed to establish a new connection: [Errno 111] Connection refused
application  |
application  | The above exception was the direct cause of the following exception:
application  |
application  | Traceback (most recent call last):
application  |   File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 589, in send
application  |     resp = conn.urlopen(
application  |            ^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
application  |     retries = retries.increment(
application  |               ^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment
application  |     raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
application  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='chroma', port=8000): Max retries exceeded with url: /api/v1/tenants/default_tenant (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xffffa396f440>: Failed to establish a new connection: [Errno 111] Connection refused'))
application  |
application  | During handling of the above exception, another exception occurred:
application  |
application  | Traceback (most recent call last):
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/api/client.py", line 438, in _validate_tenant_database
application  |     self._admin_client.get_tenant(name=tenant)
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/api/client.py", line 486, in get_tenant
application  |     return self._server.get_tenant(name=name)
application  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/telemetry/opentelemetry/__init__.py", line 143, in wrapper
application  |     return f(*args, **kwargs)
application  |            ^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/api/fastapi.py", line 182, in get_tenant
application  |     resp = self._session.get(
application  |            ^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 602, in get
application  |     return self.request("GET", url, **kwargs)
application  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
application  |     resp = self.send(prep, **send_kwargs)
application  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
application  |     r = adapter.send(request, **kwargs)
application  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 622, in send
application  |     raise ConnectionError(e, request=request)
application  | requests.exceptions.ConnectionError: HTTPConnectionPool(host='chroma', port=8000): Max retries exceeded with url: /api/v1/tenants/default_tenant (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xffffa396f440>: Failed to establish a new connection: [Errno 111] Connection refused'))
application  |
application  | During handling of the above exception, another exception occurred:
application  |
application  | Traceback (most recent call last):
application  |   File "/app/chroma_client.py", line 4, in <module>
application  |     chroma_client = chromadb.HttpClient(host="chroma", port = 8000, settings=Settings(allow_reset=True, anonymized_telemetry=False))
application  |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/__init__.py", line 197, in HttpClient
application  |     return ClientCreator(tenant=tenant, database=database, settings=settings)
application  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/api/client.py", line 144, in __init__
application  |     self._validate_tenant_database(tenant=tenant, database=database)
application  |   File "/usr/local/lib/python3.12/site-packages/chromadb/api/client.py", line 440, in _validate_tenant_database
application  |     raise ValueError(
application  | ValueError: Could not connect to a Chroma server. Are you sure it is running?
application exited with code 1
chroma-1     | WARNING:  [21-05-2024 20:29:15] chroma_server_nofile is set to 65535, but this is less than current soft limit of 1048576. chroma_server_nofile will not be set.
chroma-1     | INFO:     [21-05-2024 20:29:15] Anonymized telemetry enabled. See                     https://docs.trychroma.com/telemetry for more information.
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component System
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component OpenTelemetryClient
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component SqliteDB
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component QuotaEnforcer
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component Posthog
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component LocalSegmentManager
chroma-1     | DEBUG:    [21-05-2024 20:29:15] Starting component SegmentAPI
chroma-1     | INFO:     [21-05-2024 20:29:15] Started server process [1]
chroma-1     | INFO:     [21-05-2024 20:29:15] Waiting for application startup.
chroma-1     | INFO:     [21-05-2024 20:29:15] Application startup complete.
chroma-1     | INFO:     [21-05-2024 20:29:15] Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

v View in Docker Desktop   w Enable Watch

Using chromadb==0.4.9 seems to fix this issue.


update cp-web to use new NodeJS SDK

minimally we will need to modify cp-web to leverage the new SDK in order to interact with the new version of membership services but

An update, some of our interns have almost finished this update.  We will be able to pull in their changes in the next few days.

@masterDev1985 @mastersingh24  is there any update on it ?

We have an internal version that is working with private networks, but there are some technical hurdles we want to overcome before we publish the new code.

The updated commercial paper demo has been published.  Closing.


My bot page

Update my bot page for new design that breaks out the different bots into it's own tab

@verabehr I have one question. How can I get a list of my bots from the BE API? Do I get the list of all bots from one API or the list of bots from the different APIs per bot type?
My Suggestion: For example, if I send the bot type as a parameter, I want to get a list of bots of this bot type.
Like this: https://service.palomabot.ai/robots?depositor=0x8F5eBDdcf2bae86D3A4E3C4De427E705d2eBF432&type=momentum
Is it possible? @rootedbox


Revert puppeteer back to previous version ^13.0.0 in order to fix issue with weekly automated benchmarks update

Revert puppeteer back to previous version ^13.0.0 in order to fix issue with weekly automated benchmarks update
Newer versions of puppeteer install chrome to a directory the github action cannot access, causing it to fail while running update_benchmarks.ts.
This effectively undoes commit f1b2d13.
The changes in the PR were made by setting the version of puppeteer in package.json to the previous version, which was working for the github action, then running yarn to update yarn.lock.

Here is the last successful run of the weekly github action "Automated benchmarks update" on pmndrs/detect-gpu:
https://github.com/pmndrs/detect-gpu/actions/runs/5844368677
It uses the code from 48edfee as of Aug. 3, 2023, prior to the change to the puppeteer version in f1b2d13 on Aug. 15, 2023.
Here is the first run that failed:
https://github.com/pmndrs/detect-gpu/actions/runs/5914430388
It uses the code from 636eb88 as of Aug. 15, 2023, subsequent to the change to the puppeteer version in f1b2d13 on Aug. 15, 2023.
Each subsequent run likewise failed, except for one that was somehow manually run about 6 months ago (it is not clear to me why it succeeded but seems likely related to the fact that it was run manually):
https://github.com/pmndrs/detect-gpu/actions/runs/7726943436
Here is the run of the same github action on the fork KellyWalker/detect-gpu
https://github.com/KellyWalker/detect-gpu/actions/runs/9962739737/job/27527192844
The action failed in the end because of a missing token to actually publish changes, but the previously failing "Update" step that runs yarn run update-benchmarks succeeded.

Other potential solutions to fix this issue include:

Update to the latest version of puppeteer that installs chrome to a usable directory, which I think may be 18.2.1
Use the version of puppeteer that caused the github action to break (or even a later one), but add the right configuration to avoid installation of chrome in its default unusable directory. That seems to be possible given some searching around.

It seems like a good idea to get things back to a working state and then potentially make one of the above changes.


Update dnsconfig.js

Miksi ei :D

Preview DNS is giving red light due to some other weird error, but here's the output:
******************** Domain: testausserveri.fi
Done. 0 corrections.


[Feature Request] Option to exclude or include pages based on dataview query

I made this feature request for the necessity that each user has to personalize their workflows. In my personal case, I have some notes, which can be classified as structural notes, that don´t  provide any value. For this reason I'd like to exclude them.
I believe there are other people with the same problem as mine.
If this request doesn't conflict with your long term view than I would like to offer my help.

Thank you for writing, SNW does support the ability to exclude files, just not on a dataview query. It s a cool idea, but could possibly be a performance issue since we are constantly querying already.


Update UserGuide's QuickStart and Client Information section

Description

Includes:

Changes to description of Current Financial Plans, Contact Number and LastMet
Description of duplicate clients and tip for user that clients can have the same fields for various attributes
Update quick start section to ensure user can copy paste the commands to try

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

How to test

Checklist

[ ] I have tested this code
[x] I have updated the documentation

Codecov Report

Merging #203 (aeeda40) into master (eabec19) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #203   +/-   ##
=========================================
  Coverage     67.64%   67.64%
  Complexity      767      767
=========================================
  Files           117      117
  Lines          2695     2695
  Branches        286      286
=========================================
  Hits           1823     1823
  Misses          755      755
  Partials        117      117

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 eabec19...aeeda40. Read the comment docs.

Closed as changes are now in #205


Store beta blockchain state in docker image

TODO:

[DEPENS ON] https://github.com/thenewboston-developers/thenewboston-node/issues/276
Identify where to download the blockchain state from during docker build: docker build argument named BLOCKCHAIN_STATE_NODE_ADDRESS with default value of http://<IP_ADDRESS>:8555/ (for now)
Identify the latest blockchain state to download during build: use download_latest_blockchain_state management command
Download the blockchain state and store it in the docker image: /opt/project/*-arf.msgpack*

some changes: https://github.com/thenewboston-developers/thenewboston-node/pull/279

the download added: https://github.com/thenewboston-developers/thenewboston-node/pull/280

https://github.com/thenewboston-developers/thenewboston-node/pull/282


Speech is not working

IndexHTML.txt
Hi,
I am using the 'Option 3: Cognitive Services speech recognition using API key (cross browser, speech priming support' to connect to speech azure resource. I am able to connect the bot through directline but only text messages are working. Speech is not working. Attached is the html page source.

@SaikatRoyChowdhury, are you still seeing this issue?

@tsuwandy -- yes

@tsuwandy -- no.
Thanks


Fix Bug in add method

Error description:
*/node_modules/parse/lib/node/ParseRelation.js:101
return parent;
^
ReferenceError: parent is not defined

Current coverage is 84.06%

Merging #33 into master will increase coverage by +0.07% as of f08a470

@@            master     #33   diff @@
======================================
  Files           37      37
  Stmts         2743    2743
  Branches         0       0
  Methods          0       0
======================================
+ Hit           2304    2306     +2
  Partial          0       0
+ Missed         439     437     -2

Review entire Coverage Diff as of f08a470

Powered by Codecov. Updated on successful CI builds.

Appreciate the PR, but this was actually already fixed: https://github.com/ParsePlatform/Parse-SDK-JS/blob/master/src/ParseRelation.js#L85


fix: avoid icon rewrite of hh:mm:ss and similar

potential regression: if there is no non-word character around the :icon:, it will no longer rewrite. eg:
my:smile:is bright.
Team:rocket:blasting off again
but github markdown doesn't detect it neither:
my:smile:is bright.

reverted due to #708
see also https://github.com/adobe/helix-pipeline-service/pull/1315
one option could be to treat :x:y as icons, where the string starts with ^ or \s.. but it can wait until @tripodsan is back to discuss 🌴


How to dispatch more than one API call in @asyncConnect

@erikras I came across a scenario where i need to call two API in @asyncConnect.
@asyncConnect([{   deferred: true,   promise: ({store: {dispatch, getState}}) => {     return dispatch(loadHotKey())   } }])
Here i am making request to loadHotKey API , but i also want to call another API lets say XYZ API in @asyncConnect. So can you please let me know what changes i need to make to mine code

App.js includes an example of this. Push the promises to an array and return them with the Promise.all function:
@asyncConnect([{
  promise: ({store: {dispatch, getState}}) => {
    const promises = [];

    if (!isInfoLoaded(getState())) {
      promises.push(dispatch(loadInfo()));
    }
    if (!isAuthLoaded(getState())) {
      promises.push(dispatch(loadAuth()));
    }

    return Promise.all(promises);
  }
}])

Hope this helps.


fix: Allow VisualizerDifferences to work with OEIS sequences

The problem was that VisualizerDifferences was requesting far too many
terms from the sequence, and so ran into trouble when there weren't more
terms available (say if you hadn't loaded that many from the OEIS) and the
unhandled errors terminated the operation of the visualizer.
There is an underlying issue, however, that there is not a graceful
convention for handling unavailable values in a sequence; that deserves
a separate issue.
Resolves #17.

This fixes the problem described in #17. Merging.


Redbiom returning wrong number of artifacts

When searching with Redbiom, the number of artifacts returned can greatly exceed the logical number necessary to access for the sample(s) searched for.
Steps to reproduce:

Go to qiita.ucsd.edu/redbiom
Enter "where anonymized_name == '000065978' "
Result:

Right, that number is showing the total number of artifacts in the study vs. how many have that sample ...

Shouldn't it just show the number of artifacts with the sample? And likely the retrieval of all the artifacts is contributing to #2571 right?

Agree, should be the number of artifacts with that sample

I'm trying to figure out how to solve this and realized that I need some help from @wasade, asking here in case that we need input from others on how to better display the info or where to solve but happy to move to PM.
Anyway, in the specific example @adswafford used, we are basically looking in the sample template for anonymized_name == '000065978', which in praxis it applies to all artifact/samples; however, ideally, we will only return the artifacts where this value exists. Another example for clarity, let's imagine that we have 2 preps, one with stool and another with oral; if we look for fecal in the sample info file both artifacts will be found (cause both have fecal in their sample info file).
Thoughts?

ping @wasade

How can the a sample be both oral and fecal?
Doesn't qiita have mechanisms in place to determine what artifacts a set of
samples exist in? It seems unnecessary to use redbiom for that
On Thu, Aug 23, 2018, 8:33 AM Antonio Gonzalez<EMAIL_ADDRESS>wrote:

ping @wasade https://github.com/wasade
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/biocore/qiita/issues/2569#issuecomment-415461291, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAc8smWjy3FiFfsSEOYI4l-fQceXKXrIks5uTstYgaJpZM4Tgc3-
.

Ha! Just realized that my example can be confusing, sorry! The idea here is that in a study X, with prep A (artifact a) and prep B (artifact b) and a sample with anonymized_name == '000065978' in prep A; if you search for anonymized_name == '000065978', that will return study X but it will not give you that it only exists in prep A (artifact a). Please PM if this doesn't make sense.
Anyway, the point is that I'm not sure if redbiom can actually return the prep or artifact where anonymized_name == '000065978' is found. Obviously, we can recover this info within Qiita but just wondering if better/faster via redbiom as currently qiita will use SQL queries to figure it out.

If you know the context, you can do this. There isn't support if you do not
know the context
On Thu, Aug 23, 2018 at 8:56 AM Antonio Gonzalez<EMAIL_ADDRESS>wrote:

Ha! Just realized that my example can be confusing, sorry! The idea here
is that in a study X, with prep A (artifact a) and prep B (artifact b) and
a sample with anonymized_name == '000065978' in prep A; if you search for
anonymized_name == '000065978', that will return study X but it will not
give you that it only exists in prep A (artifact a). Please PM if this
doesn't make sense.
Anyway, the point is that I'm not sure if redbiom can actually return the
prep or artifact where anonymized_name == '000065978' is found. Obviously,
we can recover this info within Qiita but just wondering if better/faster
via redbiom as currently qiita will use SQL queries to figure it out.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/biocore/qiita/issues/2569#issuecomment-415469380, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAc8si3sT_ZioXvA-HEeO86wi-xvJhFLks5uTtCqgaJpZM4Tgc3-
.


[DOC] Improve the documentation about troubleshooting and worse/best practice of operations

Need to improve the documentation for the below areas including troubleshooting, worse/best practice of operations, etc.

[ ] We need to discourage users from modifying the Longhorn objects (e.g. volume, replica, etc) directly (unless call out explicitly), at least before v1.3. Those are mostly considered as internal states of Longhorn and modifying them might cause Longhorn to malfunction.
[ ] Also, we should call out that downgrade is not supported.
[ ] Users need to understand the architecture of the Longhorn system and the Longhorn engine first. This is the bar that cannot be bypassed. For this part, we can post the latest Longhorn demo as well as the slide on the website.
[ ] Besides, we can write some common issues analysis based on the knowledge we shared. The volume attachment & detachment issue is already there but I don’t think it’s detailed enough.
[ ] And we need to emphasize that editing Longhorn objects or deleting Longhorn components is a dangerous operation.

cc @shuo-wu

Hey team! Please add your planning poker estimate with ZenHub @jenting @PhanLe1010 @shuo-wu @joshimoo

I just wrote a simple debugging guide for a community user. Hope it works:
https://rancher-users.slack.com/archives/CC2UQM49Y/p1644915734107909?thread_ts=1644585341.803259&cid=CC2UQM49Y

Duplicate of https://github.com/longhorn/longhorn/issues/5008.


Messages in trash folder are really deleted

As of now messages are never deleted, just moved to trash folder.
Requirements

Delete action when Trash folder is selected must permanently delete messages
Confirm dialog must be shown when deleting messages from Trash folder (only)


Prepare release

Versions
@safe-global/api-kit: v2.5.3
@safe-global/protocol-kit: v5.0.3
@safe-global/relay-kit: v3.2.3
@safe-global/sdk-starter-kit: 1.0.3

Main changes

#1017

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

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

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
784

Relevant Lines:
961

💛  - Coveralls


[Updated] Add quick and full integration test targets

This commit adds integration test code in two phases:

quick-integration.hcl, for CI builds. Run with make integration
full-integration.sh, for nightly builds. This is triggered by setting
CVG_FULL_INTEGRATION in the environment

We are using docker for testing the same HCL file
against multiple linux OSes. We need vagrant because we need
an environment to test LVM modules, and it's a test of our plugin.
Future Work:

Port blackbox tests to integration tests where appropriate
Set up nightly build machine, and add integration test to wercker
Right now, the docker target creates containers serially. I would like
to add a target where we simulate a cluster with containers. Should we
use docker compose for that? an HCL file? what?

Thanks for this, Sam. We'll probably use this as a basis for integration testing in the future but I'm going to close it for now so we have a clearer view of our open PRs.


[analyzer] data-driven fix for replacedBy for constructor doesn't consider the uris

As discovered in #50358, it seems matching the constructor doesn't consider the uris, which is incorrect.
In other words: the uris below works as a wildcard, without matching its value.
  - title: "Remove 'brightness'"
    date: 2020-12-10
    element:
      uris: [ 'cupertino.dart' ]
      constructor: ''
      inClass: 'CupertinoTextThemeData'
    changes:
      - kind: 'removeParameter'
        name: 'brightness'

The issue was introduced in https://github.com/dart-lang/sdk/commit/8eb8e61e1ee79910322210f8eabb3b67a443855a

https://dart-review.googlesource.com/c/sdk/+/267421

@bwilkerson


Why VS Code should switch to CodeMirror for default text editing abilities.

(Or why Monaco should be re-imeplemented using similar concepts.)
CodeMirror 6 has achieved amazing:
The new version is built on contenteditable, which means, even with all its text manipulation, code folding, auto-completion, etc, it works perfect on mobile.
CodeMirror allows the browser's native text editing mechanics to be in play, which means editing works on all mobile devices with all familiar features (f.e. drag the cursor or select text on mobile and you will see the magnifying glass, the full native experience).
In order to maintain as much backwards compatibility, maybe Monaco could be a wrapper around CodeMirror in order to provide a similar experience and similar APIs as much as possible. There will be breaking changes none-the-less, but it would be totally worth it because this would mean that VS Code could run on any mobile platforms (i.e. with use of touch screens) without issues.
To see what I mean, inspect the elements on the sample editor at https://codemirror.net/6/, and you'll see it uses the contenteditable attribute on the root of the editing area.
And for example, this is what I can do on mobile:

What you see in the screenshot is I am dragging the right edge of the text selection with my finger, and the native magnifying glass appears as expected.
It's the full mobile editing experience.
It seems to be pretty fast. I pasted the example to create 100k lines, and it has no issues at all. I can scroll to any part of the code and edit without any slowdown.
It does virtual scrolling (like Monaco, where it only keeps enough lines in the DOM to ensure smooth scrolling, and adds/removes lines at the top bottom as needed) and despite this, if the cursor goes far off screen, and you begin editing again, the cursor position jumps back into view and the whole thing still remains contenteditable and continues to work as expected. Superb!

@trusktr thanks for your analysis. Our plan is to continue with the monaco editor and to improve the support for mobile, this will be significant less effort than to replace the entire editor implementation.
//CC @alexdima


Fixed #32310 -- Fixed note about reverse accessors for intermediate table for self-referential ManyToManyField.

Ticket https://code.djangoproject.com/ticket/32310

@sanjioh Thanks :+1:

@sanjioh Thanks :+1:


Rate Limiting Configuration Not Working

I have set a envoy as front proxy in my k8s cluster. I'm trying to set rate limiting, but it's not working. I can not find a example which enable rate limiting. I have deployed a rate-limit service, but no traffic sent to it.
Could you help me to figure this out?
Configuration:
apiVersion: v1
kind: ConfigMap
metadata:
  name: qwer-envoyconf
  namespace: ingress
data:
  envoy.yaml: |
    static_resources:
      clusters:
      - name: zipkin
        connect_timeout: 0.25s
        type: strict_dns
        hosts:
        - socket_address:
            address: zipkin.guardian
            port_value: 9411
      - name: ratelimit
        connect_timeout: 0.25s
        type: strict_dns
        hosts:
        - socket_address:
            address: candy.ingress
            port_value: 8081
    dynamic_resources:
      lds_config:
        path: /etc/qwer/xds/lds.yaml
      cds_config:
        path: /etc/qwer/xds/cds.yaml
    admin:
      access_log_path: "/dev/null"
      address:
        socket_address:
          address: <IP_ADDRESS>
          port_value: 15000
    tracing:
      http:
        name: envoy.zipkin
        config:
          collector_cluster: zipkin
          collector_endpoint: "/api/v1/spans"
    rate_limit_service:
      cluster_name: ratelimit

    version_info: "0"
    resources:
    - "@type": type.googleapis.com/envoy.api.v2.Listener
      name: l7bk
      address:
        socket_address:
          address: "<IP_ADDRESS>"
          port_value: 1080
      filter_chains:
      - filters:
        - name: envoy.http_connection_manager
          config:
            server_name: qwer
            codec_type: AUTO
            stat_prefix: l7bk
            use_remote_address: false
            generate_request_id: false
            tracing: {}
            access_log:
            - name: envoy.file_access_log
              config:
                path: /var/log/access.log
            http_filters:
            - name: envoy.cors
              config: {}
            - name: envoy.router
              config: {}
            - name: envoy.rate_limit
              config:
                domain: edge_proxy_per_ip
                stage: 0
            rds:
              route_config_name: qwer
              config_source:
                path: /etc/shentu/xds/rds.yaml

   virtual_hosts:
      - name: api
        domains:
        - "****" // Ignoring this
        require_tls: ALL
        cors:
          allow_origin:
          - "*"
          allow_methods: GET, PUT, DELETE, POST, OPTIONS
          allow_headers: DNT,X-Csrftoken,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
          max_age: "1728000"
          allow_credentials: true
          enabled: true
        rate_limits:
          - actions:
              - remote_address: {}

Please ignore these indentation.
Thanks!

        - name: envoy.cors
          config: {}
        - name: envoy.router
          config: {}
        - name: envoy.rate_limit

Aren't Envoy filters applied in the order of the config?  I believe you
want to make sure that rate_limit filter is hit before you route to your
backends.
cheers,
Alyssa
On Thu, Mar 15, 2018 at 2:20 AM, Weidong Feng<EMAIL_ADDRESS>wrote:

I have set a envoy as front proxy in my k8s cluster. I'm trying to set
rate limiting, but it's not working. I can not find a example which enable
rate limiting. I have deployed a rate-limit service, but no traffic sent to
it.
Could you help me to figure this out?
Configuration:
apiVersion: v1kind: ConfigMapmetadata:
name: qwer-envoyconf
namespace: ingressdata:
envoy.yaml: |    static_resources:      clusters:      - name: zipkin        connect_timeout: 0.25s        type: strict_dns        hosts:        - socket_address:            address: zipkin.guardian            port_value: 9411      - name: ratelimit        connect_timeout: 0.25s        type: strict_dns        hosts:        - socket_address:            address: candy.ingress            port_value: 8081    dynamic_resources:      lds_config:        path: /etc/qwer/xds/lds.yaml      cds_config:        path: /etc/qwer/xds/cds.yaml    admin:      access_log_path: "/dev/null"      address:        socket_address:          address: <IP_ADDRESS>          port_value: 15000    tracing:      http:        name: envoy.zipkin        config:          collector_cluster: zipkin          collector_endpoint: "/api/v1/spans"    rate_limit_service:      cluster_name: ratelimit
version_info: "0"
resources:
- "@type": type.googleapis.com/envoy.api.v2.Listener
  name: l7bk
  address:
    socket_address:
      address: "<IP_ADDRESS>"
      port_value: 1080
  filter_chains:
  - filters:
    - name: envoy.http_connection_manager
      config:
        server_name: qwer
        codec_type: AUTO
        stat_prefix: l7bk
        use_remote_address: false
        generate_request_id: false
        tracing: {}
        access_log:
        - name: envoy.file_access_log
          config:
            path: /var/log/access.log
        http_filters:
        - name: envoy.cors
          config: {}
        - name: envoy.router
          config: {}
        - name: envoy.rate_limit
          config:
            domain: edge_proxy_per_ip
            stage: 0
        rds:
          route_config_name: qwer
          config_source:
            path: /etc/shentu/xds/rds.yaml

virtual_hosts:
- name: api
domains:
- "***" // Ignoring this
require_tls: ALL
cors:
allow_origin:
- ""
allow_methods: GET, PUT, DELETE, POST, OPTIONS
allow_headers: DNT,X-Csrftoken,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type
max_age: "1728000"
allow_credentials: true
enabled: true
rate_limits:
- actions:
- remote_address: {}
Please ignore these indentation.
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/envoyproxy/envoy/issues/2820, or mute the thread
https://github.com/notifications/unsubscribe-auth/ARYFvUXRY8WYVdIKML9EpzIk7UGnlAHNks5teggsgaJpZM4SrnKx
.

Closing as answered. Let us know if you have further questions.


[eas-cli] Change sso flag display

Why
This makes 2 minor changes which are not to display the login -sso flag in the help text and not to list it in the README, as SSO is in beta stage.
How
Added 'hidden' to the sso flag definition, and deleted the remaining mention of it in the README.
Test Plan
Manually tested that easd login --help does not list the sso flag.

/changelog-entry chore Change sso flag display.


Library changed

Things I changed in the library:

added the option to decode the header
Because the kid in our protocol is included in the header of the token, we need to decode the whole token to get the secret and not only the payload. (non-conflicting change)
added the event "unauthorized" emitted to server
For the purposes of keeping logs at the server, I added the "unauthorized" event to be emitted to the server also, and not only to the client.
added a message to server and client when the timeout has passed
Because there was no error message when timeout for authentication has passed, I created one, and I included it to the "unauthorized" events emitted to the server and the client.

The socketio-jwt library hasn't been updated for a while. I have responded to the issues online but I got no response.
Also, it uses an old version of jsonwebtoken (version 5), and probably cannot be updated, as some things are deprecated and not supported in the later version.
With all the changes I made, the library will have to be maintained. However I do believe it's crucial to have all the "unauthorized" messages logged to the server (for example, we can later restrict DoS attacks depending on the IP of the connections). Also, the major change regarding the header decoding, cannot be avoided in our case, as the kid is kept in the header of the token.

see here
https://github.com/auth0/socketio-jwt/compare/master...biobright:master

Auth0 has ceased support/maintenance, but there doesn't seem to be a suitable backup in place, see: https://github.com/auth0-community/socketio-jwt/issues/131#issuecomment-330359981


add hydration capabilities

@bbakerman @johnliucn925 I will add more tests.

@bbakerman good point about the naming: I agree we should aim for some kind of default test schema . That would be great moving forward.


Import from existing crontab instance in same system

Hi
I installed cron tool first in ubuntu 14.04 headless server and scheduled a job. Post which I installed crontab-ui.
I am not able to see the already scheduled job. Does crontab-ui refers to existing crontab file by default or do i need to do something specific to view existing scheduled jobs.
Thanks for your help and a great tool

Unfortunately importing existing crontab is not yet been implemented :(

Feature added @b1a1c21.


Delete data on unlink

The raw user data stored in the local database should be deleted for the account when unlinked. Only delete the data for the corresponding account, not all data.
For gmail, this means deleting all messages (not senders & companies) that have linked accounts email (see ApiEmailMsgModel.account)

Need to remove the sinceEmail from sender model

nullify unsubscribeEmail


fresh install looks extremely different that Marketplace version

Hi, not sure what I am missing here, a fresh install looks extremely different that Marketplace version pictured. Are there instructions available to achieve the Marketplace version?
Thank you

Hey @mcarter960,
Would you be able to elaborate bit more on this? Your site link or some screenshots would be helpful.

Closing this due to inactivity.


cuvs_bench plotting functions

Builds on top of #279, will change from draft after that merge, or we can merge into one single PR if reviewers prefer so.

/merge


Add Clients support

At present, our test containers do not incorporate any client applications, such as producers or consumers. However, there are scenarios where it would be advantageous to instantiate clients within Docker on the localhost. This approach would enable the seamless use of Docker network aliases and obviate the necessity to expose any ports.
I propose that we can add [1] clients. At the start, we can consider just producer and consumer and then we can extend it more to streams etc. The proposed naming conventions are ProducerContainer and ConsumerContainer, which would allow users to specify multiple configurations through environment variables or builder parameters.
Alternative:

I think a better way would be to just use our images (test-container-images) and call producer/consumer scripts as we do for Kafka/ZK.

[1] - https://github.com/strimzi/test-clients

Triaged on 14.11.2024: This makes sense and should be implemented. But we should not use the test-clients, as it can create a cyclic dependency. So we should go with the scripts for producer/consumer.

This approach would enable the seamless use of Docker network aliases and obviate the necessity to expose any ports.

Why do you need a test container when you keep it running for itself?

Using test containers for clients within the Docker network allows these clients to communicate easily with other services (Kafka, Keycloak etc.) using Docker aliases. Even if the test container seems to be "running by itself", it's part of the Docker network where it interacts with other containers So, we very much simplify overall networking.

This approach would enable the seamless use of Docker network aliases and obviate the necessity to expose any ports.

Using test containers for clients within the Docker network allows these clients to communicate easily with other services (Kafka, Keycloak etc.) using Docker aliases. Even if the test container seems to be "running by itself", it's part of the Docker network where it interacts with other containers So, we very much simplify overall networking.

I am not sure if I completely understand but as part of test-client ITs, I didn't have any problems with running clients code outside of testcontainer and connect it to StrimziTestcontainer Kafka cluster.

This approach would enable the seamless use of Docker network aliases and obviate the necessity to expose any ports.

Using test containers for clients within the Docker network allows these clients to communicate easily with other services (Kafka, Keycloak etc.) using Docker aliases. Even if the test container seems to be "running by itself", it's part of the Docker network where it interacts with other containers So, we very much simplify overall networking.

I am not sure if I completely understand but as part of test-client ITs, I didn't have any problems with running clients code outside of testcontainer and connect it to StrimziTestcontainer Kafka cluster.

You’re correct that running client code outside of Docker can work without issues in many scenarios. However, when it comes to more complex setups involving OAuth authentication, running clients inside Docker containers becomes easier to handle.
OAuth often requires that the client and server share the same OAuth issuer URI. This means the client needs to access the OAuth server (e.g., Keycloak) using the same network address that the Kafka broker uses. So for instance when you are running clients outside of Docker, you might need to manipulate your /etc/hosts file to ensure that the hostnames of the authorization server are resolved correctly.

You’re correct that running client code outside of Docker can work without issues in many scenarios. However, when it comes to more complex setups involving OAuth authentication, running clients inside Docker containers becomes easier to handle.

I thought the clients will be just for testing purposes of our test container (like another readiness/health check for the cluster in ITs), but it seems I misunderstood it right? The real reason is to provide client implementation to users that they could use?

I understand your perspective. If you don't see this (mentioned all above) as a benefit I am okay with closing this... :)

I will follow up on https://github.com/strimzi/test-container/pull/113#issuecomment-2483137999 here is this is the primary source of info for the issue. cc @im-konge @mimaison
I think the only suitable and useful solution would be to also implement testcontainer interface as part of test-clients instead reimplementing the clients in strimzi/test-container. As we already have images, we can use them in strimzi/test-container but it will open a window for chicken-egg problem with supported Kafka versions. That's the reason why it should be part of test-clients.
On the other hand, do we really need it? How many known users asked for it? As Lukas mentioned, is super-easy to setup GenericTestContainer (see https://github.com/strimzi/test-clients/blob/main/clients/src/test/java/io/strimzi/integration/KafkaClientWithRegistryIT.java#L48) so I think with clients images it could be something like:
        producer = new GenericContainer<>("quay.io/strimzi-test-clients/test-clients:latest-kafka-3.9.0")
            .withNetwork(Network.SHARED)
            .withExposedPorts(METRICS_EXPORTER_PORT)
            // Mount exporter here
            .withEnvs(Map.of("CLIENT_TYPE", "KafkaProducer",
            "BOOTSTRAP_SERVERS","kafka:9092",
            "TOPIC","my-topic",
            "ADDITIONAL_CONFIG","some-exporter-config=my-value\nsome-another-config=my-value-2"
            ))
            .waitingFor(Wait.forHttp("/metrics-exporter")
                .forStatusCode(200));
        producer.start();

and then just do whatever you want.
Do we really need wrapper around this? I don't think so. And if so, then just provide a class as part of test-clients for next release, nothing else. If we are going to release some maven artifacts as part of test-clients releases anyway, I think it won't harm, but currently you can do exactly what I share within the code snippet.

So I looked at strimzi/test-clients and started using it as @Frawless suggested. I found a small issue that prevents me from adding the reporter to the classpath. I opened https://github.com/strimzi/test-clients/pull/116 to let users customize the classpath.
The last remaining issues are the Admin client and Connect:

For the Admin client it's tricky as in strimzi/test-clients it's only used to run a single command so we don't really have the time to hit the metrics endpoint before it's closed.
What do you recommend for Connect? Would it make sense to add a way to run it in strimzi/test-clients?

Apart from these 2 issues strimzi/test-clients works fine for my use cases, so we may be able to just close this issue.

I opened https://github.com/strimzi/test-clients/pull/116 to let users customize the classpath.

Thanks, I will have a look at it :)

For the Admin client it's tricky as in strimzi/test-clients it's only used to run a single command so we don't really have the time to hit the metrics endpoint before it's closed.

Yeah we implemented the admin-client to be a user-friendly CLI tool that just encapsulates the KafkaAdmin client -> but only in areas that are useful for us in the tests.
So for your use case, what would you need exactly?

What do you recommend for Connect? Would it make sense to add a way to run it in strimzi/test-clients?

What is needed in order to "add a way to run it in strimzi/test-clients"?

Yeah we implemented the admin-client to be a user-friendly CLI tool that just encapsulates the KafkaAdmin client -> but only in areas that are useful for us in the tests.
So for your use case, what would you need exactly?

I'd need to keep the client running long enough so I can query its metrics endpoint. We could have it rerun a command a number of times for example. That would be quite similar to the producer client where we keep it running by making it send MESSAGE_COUNT records.

What is needed in order to "add a way to run it in strimzi/test-clients"?

I'd need an image that starts Kafka Connect. Then my test could start connectors via the Connect REST API, and finally check the metrics.

For context check https://github.com/strimzi/metrics-reporter/pull/67 to see the tests I implemented with strimzi/test-clients.

I'd need to keep the client running long enough so I can query its metrics endpoint. We could have it rerun a command a number of times for example. That would be quite similar to the producer client where we keep it running by making it send MESSAGE_COUNT records.

Okay, I will think about the best way how to cover this in the repo. Maybe we can have some option there to "watch" the Kafka topics or something. That would be maybe useful for some debugging and it can maybe be enough for your use-case. Or for example wait for Kafka topic creation (for your test it will not be created) for some time -> that should be also useful for those using the admin-client.

I'd need an image that starts Kafka Connect. Then my test could start connectors via the Connect REST API, and finally check the metrics.

FMPOV it doesn't suite the purpose of the test-clients repo, which should be for the producer/consumer - both Kafka and HTTP -  and admin/streams clients - in some basic way. I understand how you mean it, but I think it would make the repository something that it should not be. Providing Connect image would be outside of the scope.

FMPOV it doesn't suite the purpose of the test-clients repo, which should be for the producer/consumer - both Kafka and HTTP - and admin/streams clients - in some basic way. I understand how you mean it, but I think it would make the repository something that it should not be. Providing Connect image would be outside of the scope.

Isn't it something that could/should be provided by strimzi/test-container ?

FMPOV it doesn't suite the purpose of the test-clients repo, which should be for the producer/consumer - both Kafka and HTTP - and admin/streams clients - in some basic way. I understand how you mean it, but I think it would make the repository something that it should not be. Providing Connect image would be outside of the scope.

Isn't it something that could/should be provided by strimzi/test-container?

Do you mean to encapsulate KafkaConnect/KMM2 scripts as a container?

Do you mean to encapsulate KafkaConnect/KMM2 scripts as a container?

yes

Do you mean to encapsulate KafkaConnect/KMM2 scripts as a container?

yes

Yeah, I was also thinking about adding KafkaConnect and KMM2 not sure what others think about it.

I opened a PR adding basic Kafka Connect support: https://github.com/strimzi/test-container/pull/117

Triaged on 28/11/2024: agreed on having a proposal about having KafkaConnect support within test-container. @mimaison is going to work on it.

Triaged on 12/12/2024: the proposal was opened by @mimaison so we'll keep this and add the support.


Snakeoil certificate for https is not accepted by Chrome

Issue Type

Bug Report / Support Request
Feature Idea
Documentation Report

Your Environment

Vagrant 2.2.6
VirtualBox 6.0.15r135660
ansible 2.8.10
  config file = None
  configured module search path = ['/Users/daniel.lobo/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location =<EMAIL_ADDRESS>  executable location =<EMAIL_ADDRESS>  python version = 3.7.7 (default, Mar 10 2020, 15:43:33) [Clang 11.0.0 (clang-1<IP_ADDRESS>)]

Your OS

macOS (10.15.4)

Summary

ok using this work around for now:
https://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/

@danlobo02 if you are using Ubuntu as your VM's OS, you can work around the issue on provision with this Ansible task. I believe this is also a duplicate of #2001.

Yeah; I'm going to mark this as a dupe of #2001 — please follow progress for getting this fixed more permanently there.


FwpUClnt.FWPM_FILTER0.filterId is broken

Describe the bug and how to reproduce
I'm enumerating the wfp filters.
The name, description and filterKey are correctly extracted but the filterId is 0 for all filters.
What code is involved
FwpUClnt.FwpmFilterEnum0(engineHandle, filterEnumHandle, 2500, out FwpUClnt.SafeFwpmMem filters, out uint filterslength);
FwpUClnt.FWPM_FILTER0[] filtersArray = filters.ToArray<FwpUClnt.FWPM_FILTER0>(filterslength, true);

foreach (FwpUClnt.FWPM_FILTER0 filter in filtersArray)
{
    Console.WriteLine(filter.displayData.name);
    Console.WriteLine(filter.displayData.description);
    Console.WriteLine(filter.filterId);
    Console.WriteLine(filter.filterKey + Environment.NewLine);
}

Expected behavior
The filterId should be different and not 0 (I confirmed this with another tool).

Thanks. I had a size bug in FWP_VALUE0 causing the problem. It is fixed and can be found in 4.0.3 (soon to be released) or on the AppVeyor repository as pre-release (see readme).
I would strongly encourage the use of the overload for FwpmFilterEnum0 that tucks the array inside a memory manager.
FwpmFilterEnum0(engineHandle, out SafeFwpmArray<FWPM_FILTER0> h);
foreach (FWPM_FILTER0 e in h)
   ...


TINKERPOP-1147 Added serialization support for TraversalExplanation

https://issues.apache.org/jira/browse/TINKERPOP-1147
Covers both gryo and graphson. Gryo uses standard Java serialization as the object graph is mighty deep and building a native kryo serializer would have been a lot. GraphSON serializes to a JSON format which pretty much just allows you to get the data required to build what would have come from TraversalExplanation.toString().  It's mostly just for display purposes. Basically looks like this:
{
	"original": ["GraphStep([],vertex)", "VertexStep(OUT,edge)", "EdgeVertexStep(IN)", "VertexStep(OUT,vertex)"],
	"intermediate": [{
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,edge)", "EdgeVertexStep(IN)", "VertexStep(OUT,vertex)"],
		"strategy": "ConnectiveStrategy",
		"category": "DecorationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,edge)", "EdgeVertexStep(IN)", "VertexStep(OUT,vertex)"],
		"strategy": "IdentityRemovalStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,edge)", "EdgeVertexStep(IN)", "VertexStep(OUT,vertex)"],
		"strategy": "FilterRankingStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "IncidentToAdjacentStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "AdjacentToIncidentStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "MatchPredicateStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["GraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "RangeByIsCountStrategy",
		"category": "OptimizationStrategy"
	}, {
		"traversal": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "TinkerGraphStepStrategy",
		"category": "ProviderOptimizationStrategy"
	}, {
		"traversal": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "ProfileStrategy",
		"category": "FinalizationStrategy"
	}, {
		"traversal": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "EngineDependentStrategy",
		"category": "FinalizationStrategy"
	}, {
		"traversal": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "ComputerVerificationStrategy",
		"category": "VerificationStrategy"
	}, {
		"traversal": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"],
		"strategy": "StandardVerificationStrategy",
		"category": "VerificationStrategy"
	}],
	"final": ["TinkerGraphStep([],vertex)", "VertexStep(OUT,vertex)", "VertexStep(OUT,vertex)"]
}

VOTE +1

Nice. VOTE +1.

I trust Travis, hence I just looked over the code. Looks good.
VOTE: +1


xPackage uninstall with EXE installer fails

xPackage starts msiexec.exe instead of the EXE file with uninstall parameters and therefore replacing an old version with a newer package is not possible.
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] The path extension was .exe
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Package configuration starting
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] The binary is an EXE
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Starting C:\Windows\system32\msiexec.exe
with /x NameOfPackage /quiet /norestart /S
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Starting process
C:\Windows\system32\msiexec.exe with arguments /x NameOfPackage /quiet /norestart /S

The installations is OK.
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] The binary is an EXE
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Starting C:\product_addons\XXX-setup.exe
with /S
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Starting process
C:\product_addons\XXX-setup.exe with arguments /S
VERBOSE: [DESKTOP-RJC225Q]: [[xPackage]XXXsetup] Perform operation 'Invoke CimMethod' with
following parameters, ''methodName' = GetServerFeature,'className' = MSFT_ServerManagerTasks,'namespaceName' =
root\microsoft\windows\servermanager'.

I just ran into this issue but with the built-in MSFT_PackageResource. I was thinking a solution could be to have two new parameters: UninstallPath and UninstallArguments. That would take precedence when Ensure = 'Absent'. Thoughts?

Hi @mbreakey3 . This issue is been assigned since Feb 16. Are you going to change some of the logic here? The reason I ask is that I have met with the same problem, and have discovered some strangeness in the code I am curious about. In MSFT_xPackageResource.psm1, line 317 (version 44a89e8 on 8 Apr):
if (-not ($fileExtension -eq '.msi' -and $Ensure -eq 'Absent'))
Question 1:
I  cannot wrap my head around why the logic is for that If statement. As far as I can see there are four states that are possible:
1: The file is an MSI and the required Ensure is Present = True
2: The file is an MSI and the required Ensure is Absent = False
3: The file is NOT an MSI and the required Ensure is Present = True
4: The file is NOT an MSI and the required Ensure is Absent = True
Is the purpose to say that all exe files must be downloaded if they are being removed or installed and MSI if it is being installed?
In that case there is a flaw in the way the If and ElseIf statement in line 319 and 336 is handling the download. It will only cover state 1 and 3 (not 4  as expected), when the file is downloaded from a Web path. I would suggest to remove "-and $Ensure -eq 'Present' " from line 336 as to not and up with an error on line 429. Should I create a pull request for this, or are you looking at other ways to solve it?

Hi @HansOMartinsen, Yes - the current xPacakge resource is broken for EXE. There's certainly some strange logic in parts of it that don't make sense to me either. I originally was planning on splitting this resource into two resources: MsiPackage and ExePackage since the two types are dealt with very differently and really should be in separate resources. Unfortunately, I was only able to complete MsiPackage (which is now a High Quality resource in PSDscResources) before I was moved over to a different task. I will un-assign myself from this issue, as it is misleading.
Long story short - we know that this resource is broken, we just don't have the bandwidth internally to be able to fix it right now. There's quite a bit of logic that needs to be added/changed to ensure this resource works for EXE packages, but you or anyone else is welcome to open a PR with fixes to the problem.

Thanks for the clear and candid response. I will look into if there are time to look at this from my end.


[Help] Image Discovered but Not Updated

Describe the bug
Not really a bug, more like me missing something. Would appreciate a bit of help.
To Reproduce
These are the logs produced (slightly sanitised):
time="2024-01-09T18:31:48Z" level=debug msg="Processing application blabla"
time="2024-01-09T18:31:48Z" level=debug msg="Considering this image for update" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:31:48Z" level=debug msg="Using version constraint 'latest' when looking for a new tag" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:31:48Z" level=debug msg="ignoring v2 manifest sha256:5b813171a01a329e92b80d78a44c73ebbacf35d3cbb15e7fab93683adbc1adaf. Manifest platform: linux/arm64, requested: linux/arm64" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:31:48Z" level=debug msg="No metadata found for fullstack-backend:latest" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:31:48Z" level=debug msg="target parameters: image-spec= image-name=image.name, image-tag=image.tag" application=blabla image="my-registry:5000/fullstack-backend"
time="2024-01-09T18:31:48Z" level=debug msg="Image 'my-registry:5000/fullstack-backend@dummy' already on latest allowed version" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=dummy registry="my-registry:5000"
time="2024-01-09T18:31:48Z" level=info msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=0 errors=0"
time="2024-01-09T18:33:48Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"

time="2024-01-09T18:33:48Z" level=debug msg="Processing application blabla"
time="2024-01-09T18:33:48Z" level=debug msg="Considering this image for update" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:33:48Z" level=debug msg="Using version constraint 'latest' when looking for a new tag" alias=fullstack-backend application=blablaimage_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:33:48Z" level=debug msg="ignoring v2 manifest sha256:1687db497059f4c7f107ad27bf9b1096460c606e88d06cdc99311be4547f351f. Manifest platform: linux/arm64, requested: linux/arm64" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:33:48Z" level=debug msg="No metadata found for fullstack-backend:latest" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-09T18:33:48Z" level=debug msg="target parameters: image-spec= image-name=image.name, image-tag=image.tag" application=blabla image="my-registry:5000/fullstack-backend"
time="2024-01-09T18:33:48Z" level=debug msg="Image 'my-registry:5000/fullstack-backend@dummy' already on latest allowed version" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=dummy registry="my-registry:5000"
time="2024-01-09T18:33:48Z" level=info msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=0 errors=0"
time="2024-01-09T18:35:48Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"

Note the sha256 part changes when I push a new image using the following commands:
docker build -f /app/repo/projects/fullstack-backend/Dockerfile -t localhost:${REG_PORT}/fullstack-backend:latest /app/repo
docker push localhost:${REG_PORT}/fullstack-backend:latest

Ignore the localhost part, that is translated to the right registry called my-registry, and I can confirm the pods can pull from this private/local registry.
I've also annotated my ArgoCD app:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: blabla
  annotations:
    argocd-image-updater.argoproj.io/image-list: fullstack-backend=my-registry:5000/fullstack-backend:latest
    argocd-image-updater.argoproj.io/update-strategy: digest

And my deployment spec is:
...
    spec:
      containers:
        - name: fullstack-backend
          image: my-registry:5000/fullstack-backend:latest
          imagePullPolicy: Always

When I run the CLI:
root@bd7193133e49:/app# kubectl exec -it argocd-image-updater-5576fcbc57-9bfqd -n argocd -- argocd-image-updater test my-registry:5000/fullstack-backend --registries-conf-path /app/config/registries.conf
DEBU[0000] Creating in-cluster Kubernetes client
INFO[0000] retrieving information about image            image_alias= image_name="my-registry:5000/fullstack-backend" registry_url="my-registry:5000"
DEBU[0000] rate limiting is disabled                     prefix="my-registry:5000" registry="http://<IP_ADDRESS>:5000"
INFO[0000] Loaded 1 registry configurations from /app/config/registries.conf
INFO[0000] Fetching available tags and metadata from registry  application=test image_alias= image_name="my-registry:5000/fullstack-backend" registry_url="my-registry:5000"
INFO[0000] Found 1 tags in registry                      application=test image_alias= image_name="my-registry:5000/fullstack-backend" registry_url="my-registry:5000"
DEBU[0000] could not parse input tag latest as semver: Invalid Semantic Version
INFO[0000] no newer version of image found               application=test image_alias= image_name="my-registry:5000/fullstack-backend" registry_url="my-registry:5000"

It does find it.
I must be doing something wrong but I'm not sure what! Does it have something to do with Invalid Semantic Version? If so, what? Any help would be appreciated. Thank you!
Note: I just want to point to xxx:latest and let it update automagically.
PS: Really neat stuff - k8s newbie.
Update, I went through the docs again and followed the Helm parameters part, changing my helm deployment file to:
    spec:
      containers:
        - name: fullstack-backend
          image: "{{ .Values.backend.image.repository }}/{{ .Values.backend.image.name }}:{{ .Values.backend.image.tag }}"

And my values file has:
backend:
  image:
    repository: my-registry:5000
    name: fullstack-backend
    tag: latest

Still no luck :/

Hi, you need to use alias name on strategy:
    argocd-image-updater.argoproj.io/image-list: fullstack-backend=my-registry:5000/fullstack-backend:latest
    argocd-image-updater.argoproj.io/fullstack-backend.update-strategy: digest

Also read From ArgoCD
Good Day!

Thanks @ML-std, I was following here (https://argocd-image-updater.readthedocs.io/en/stable/configuration/images/#application-wide-defaults) where it says you can do application wide, and I tried with alias earlier. Let me try again.
Update: You can see the SHA changing but it still does not update unfortunately :/

...
time="2024-01-11T11:06:32Z" level=debug msg="ignoring v2 manifest sha256:**7e71f19b73b29ea74b50329def061bce9ad5ee4e94b95bf371c8b9fb5eeb0e07**.  Manifest platform: linux/arm64, requested: linux/arm64" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T11:08:32Z" level=debug msg="No metadata found for fullstack-backend:latest" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T11:08:32Z" level=debug msg="target parameters: image-spec= image-name=image.name, image-tag=image.tag" application=blabla image="my-registry:5000/fullstack-backend"
time="2024-01-11T11:08:32Z" level=debug msg="Image 'my-registry:5000/fullstack-backend@dummy' already on latest allowed version" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=dummy registry="my-registry:5000"
time="2024-01-11T11:08:32Z" level=info msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=0 errors=0"
time="2024-01-11T11:10:32Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"

@sheldontsen-qb  I'm not sure about this, but can you try deleting tag from values.yaml and give it an empty string:
backend:
  image:
    repository: my-registry:5000
    name: fullstack-backend
    tag: ""

ArgoCD may try to override sha with latest, resulting no update.

Hmmm thanks for the response!
Unfortunately no luck.
This is the new values file:
image:
  name: fullstack-backend
  tag: ""

ArgoCD outright complains:
Failed to apply default image tag "my-registry:5000/fullstack-backend:": couldn't parse image reference "my-registry:5000/fullstack-backend:": invalid reference format

have you added your private registery to image-updater config?

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-image-updater-config
    app.kubernetes.io/part-of: argocd-image-updater
  name: argocd-image-updater-config
data:
  #applications_api: argocd
  # The address of Argo CD API endpoint - defaults to argocd-server.argocd
  #argocd.server_addr: <IP_ADDRESS>
  # Whether to use GRPC-web protocol instead of GRPC over HTTP/2
  #argocd.grpc_web: "true"
  # Whether to ignore invalid TLS cert from Argo CD API endpoint
  #argocd.insecure: "true"
  # Whether to use plain text connection (http) instead of TLS (https)
  #argocd.plaintext: "false"
  registries.conf: |
    registries:
    - name: my-registery
      api_url: my-registery-url
      ping: yes
      insecure: yes
      defaultns: library
      default: true
---

then, you can remove localhost:5000 from youe image:

  annotations:
    argocd-image-updater.argoproj.io/image-list: fullstack-backend=fullstack-backend:latest
    argocd-image-updater.argoproj.io/fullstack-backend.update-strategy: digest

you shouldnt remove the tag

Thanks @ML-std!
Yes indeed, I have my private repo added to the configmap:
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-image-updater-config
    app.kubernetes.io/part-of: argocd-image-updater
  name: argocd-image-updater-config
data:
  log.level: debug
  registries.conf: |
    registries:
    - name: my-private-registry
      prefix: my-registry:5000
      api_url: http://<IP_ADDRESS>:5000
      insecure: yes
      defaultns: library
      default: true

I can confirm it is picked up because the logs right after initialisation show that it found an extra registry in the config. So defo works. Also from the logs its quite clear the registry is picked up.
But when I followed your suggestion to change from fullstack-backend=my-registry:5000/fullstack-backend:latest to fullstack-backend=fullstack-backend:latest, argocd image updated no longer detects it:
time="2024-01-11T16:56:27Z" level=debug msg="Image 'fullstack-backend' seems not to be live in this application, skipping" application=blabla
time="2024-01-11T16:56:27Z" level=info msg="Processing results: applications=1 images_considered=0 images_skipped=1 images_updated=0 errors=0"
time="2024-01-11T16:58:27Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"

Reintroducing my-registry:5000 brings us back to where we were:
time="2024-01-11T17:08:27Z" level=debug msg="Considering this image for update" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T17:08:27Z" level=debug msg="Using version constraint 'latest' when looking for a new tag" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T17:08:27Z" level=debug msg="ignoring v2 manifest sha256:1285bcf6d0223da2d37aaad4f15cef35e65733fdd679ab21b7fdac8eed94a35a. Manifest platform: linux/arm64, requested: linux/arm64" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T17:08:27Z" level=debug msg="No metadata found for fullstack-backend:latest" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=latest registry="my-registry:5000"
time="2024-01-11T17:08:27Z" level=debug msg="target parameters: image-spec= image-name=image.name, image-tag=image.tag" application=blabla image="my-registry:5000/fullstack-backend"
time="2024-01-11T17:08:27Z" level=debug msg="Image 'my-registry:5000/fullstack-backend@dummy' already on latest allowed version" alias=fullstack-backend application=blabla image_name=fullstack-backend image_tag=dummy registry="my-registry:5000"
time="2024-01-11T17:08:27Z" level=info msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=0 errors=0"
time="2024-01-11T17:10:27Z" level=info msg="Starting image update cycle, considering 1 annotated application(s) for update"

:/

Hmm, should it be related to registery? It has to detect the registery without you adding it to the image name. In our project, we use Harbor for OCI, and it works perfectly fine. Can it be related to that maybe?

Hmmm, I use registry:2
  my-registry:
    image: registry:2
    ports:
      - ${REG_PORT}:5000
    environment:
      - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/data
    restart: unless-stopped

Which from the docs (https://hub.docker.com/_/registry) seems to be OCI compliant.

I had a similar problem too. Hope this helps some one!
I dug around with this one for quite a while and finally figured it out. On my Mac (running in Kind with registry:2), I also got that same log line containing "ignoring v2 manifest", which is written here.
What is not logged, is the variant of the image and that was in my case "v8" resulting in "linux/arm64/v8".
Adding this to the platforms annotation solved the issue:
argocd-image-updater.argoproj.io/imagealias.platforms: linux/amd64,linux/arm64,linux/arm64/v8

Also, in the documentation, platform-annotation is missing the s (or does it work without?).


Consider adding some Github topics

Consider adding some Github topics: https://github.com/blog/2309-introducing-topics

done! thanks for the suggestion. Any specific topics you feel are missing, just ping me!


activity_participation for CNRM-CM6-1 -- add PAMIP

Hi Paul,
Could you please add  activity PAMIP for CNRM-CM6-1 ?
Do you know how quick the data citation service will be updated afterwards ?
Regards
S

@senesis this change is now in place, please take a peek at CMIP6_source_id.html and let me know of any further tweaks

@senesis there was an indexing issue in the previous version, please review CMIP6_source_id.html, which should now correctly reflect both CNRM-CM6-1 and CNRM-ESM2-1

That looks fine for this attribute. Thanks


EclipseCon conference talks

MP DevRel Branding Resources Community Support
MicroProfiler
Name: Emily Jiang
Twitter ID: @emilyfhjiang
Event
EclipseCon
Schedule
Day: Tuesday/Wednesday this week
Time: 8am and 1pm
Media Description
280 chararters
includes the Twitter ID of the Organizers & the name or Twitter ID of the speaker
If you are @EclipseCon this week, make sure to attend Emily's session @emilyfhjiang on @MicroProfileIO #Telemetry:
Topic: Through the looking glass: Effective observability for cloud native applications
Time:18 Oct 2023 - 16:15 - 16:50
Room:Bürgersaal 2
Design Card (for MicroProfile designer)
Minimal requirements highlight the MicroProfiler & the Organizers
Notes
To help with everything

scheduled


enable license checks in spotless to be more flexible/configurable

Should be able to configure whether spotless uses the SPDX convention for license checks or not.

We should first clarify if this is really needed. I think on the long run, all repos will use the short and simple SPDX convention header.
But if we need it, I would suggest to implement it like this:

Optionally, a repository can contain a file gralde/license-header.txt. If (and only if) that files exists, the content of the files is taken as header. Otherwise, we default to what we have now.

cc @hendrikebbers

There may be cases where an organization wants to use this plugin for consistency across both Heiro contributions and internal codebases that may, or may not, eventually be contributed to Heiro.
Allowing for internal headers that are not SPDX (because those internal codebases are not "open" licensed) as an option makes it easier for those organizations to contribute.
The proposed mechanism appears, to me, to be a good way to enable that flexibility.


chore: Center the Spinner in the loading screen and add Loading message

Also lint issues but that's easy to fix. You forgot to remove some import


Unqualified method events are deprecated. Prefix methods with<EMAIL_ADDRESS>to call methods on the current Ractive instance.

Hi,
it's nice to provide a warning, but it would be even nicer to write "where" this happens. After all, this is a change impacting lots of users/code/plugins.

What does this warning means exactly?
Does it mean that we must prefix<EMAIL_ADDRESS>to all methods inside templates?
So instead:
<button on-click="myMethod()">Call my method</button>
We should now write:
<button on-click="@this.myMethod()">Call my method</button>
Is this the case?

That's correct, because you can now use any valid expression that includes a call in an event handler, not just a simple methodname(...args). For instance, you can call data methods and multiple functions as a comma separated list e.g. <button on-click=".bar.foo(10, ../something), @this.parent.fire('someEvent')">Click Me</button>, which would call foo on the bar object in the current context and then fire a 'someEvent' on the parent instance when the button is clicked.

Ok I understand, It would be great if the '@this' part was optional though, at least for single method calls. To me it seems that -at least in my templates- it will just add additional clutter.
But that's just me...

@this was implemented to tell what's from the data and what's from the instance. Without @this, how would you know which foo is used where?
<button on-click="foo('bar')">{{ foo }}</button>`.

In the older versions this was easy. foo in the event would be a method while foo in the mustache would be something in the data. In the upcoming version, where it appears that both can be used, there must be a way to tell which is which.

there must be a way to tell which is which.

Isn't that already accomplished with the . prefix? Now that I think about, the @this is redundant if you have that, no?
<button on-click=".bar.foo(10, ../something)">Click Me</button> // access method on data model

<button on-click="@this.parent.fire('someEvent')">Click Me</button> // use @this to access parent

<button on-click="fire('someEvent')">Click Me</button> // no dot, assume it's @this

. and this (no @) refers to the current data context. @this (has @) refers to the Ractive instance.
const Component({
  ...
  data: {
    foo: function(){/* Data function. */}
  },
  foo: function(){/* instance method */}
});

Now if I remember correctly, Ractive can "climb" up the data to look for that property if it doesn't exist in the current context. This can lead to ambiguity, especially when no reference was found. To mitigate this, it was recommended to use restricted references (adding .) to prevent this climbing behavior.
Now with both instance and data expressions present, you cannot simply assume foo as @this.foo when it could be foo higher up in the data. You can't also put a . before foo since you might also want that climbing behavior.

see, that's what I told, the this versus @this will be a source of confusion! :wink:


Added missing word to description of -version command

The description for the -version CLI command was missing the word version. This PR changes the description to the following text: Display the current version of the Mattermost platform

Might be conflicted/revised with updated command line documentation
/cc @lfbrock

Thanks for the catch @JeffSchering. As Jason mentioned, this will have merge conflicts with another PR we are submitting for the re-worked command line tools in 3.6. I'm going to close this PR but I'll make sure this mistake is not present in the new docs. Thanks again!


chore: Convert project permissions TestCase to normal test function

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
I'm working through re-writing the TestCase and APITestCase classes into normal test functions. I rewrote the existing classes and replaced with fixtures instead of recreating everything. There are other PRs that are similar to this one.
How did you test this code?
I manually changed the tests one at a time to refactor them as I went then ran the full test suite afterwards.

@matthewelwell I tagged you for this PR since we talked about the removal of the dead code which is part of this PR.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.90%. Comparing base (84ab486) to head (1b1c61d).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3742      +/-   ##
==========================================
+ Coverage   95.89%   95.90%   +0.01%
==========================================
  Files        1102     1102
  Lines       34708    34687      -21
==========================================
- Hits        33283    33268      -15
+ Misses       1425     1419       -6

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


allure serve not work correct in WSL2 as <IP_ADDRESS> can't access with local browser

allure serve not work correct in WSL2 as <IP_ADDRESS> can't access with local browser, details as below:

/dupe #4851 etc

/dupe #4851 etc


Angular 6 is out :)

Hello,
I'm trying to update my application to Angular6, but I have an issue.
Here is what I get when I do a ng update @angular/core
Package "apollo-angular" has an incompatible peer dependency to "rxjs" (requires "^5.0.1", would install "6.1.0").
Could you have a look?
Let me know if you need help :)

Hello @jycouet,
I also have a project with apollo-angular, I just instaled this package in your local project:
npm i -S rxjs-compat
Then do this:
npm i -g rxjs-tslint rxjs-5-to-6-migrate -p src/tsconfig.app.json
And works fine!
This is necessary until the apollo-angular update your code to work with rxjs@6.
Hugs!

WoW, that works soooooooooooooooooo well :)
Thanks 🍾 🤙

Actually, it's going forward and my build is running :)
But I have errors in the browser console:
ERROR TypeError: You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
    at subscribeTo (subscribeTo.js:41)
    at from (from.js:17)
    at new QueryRef (QueryRef.js:6)
    at Apollo.push../node_modules/apollo-angular/Apollo.js.ApolloBase.watchQuery

Do you have another magic trick?
Thx for your help

@plinionaves keep the free hugs goin' man!

Another issue:
Package "apollo-angular-link-http-batch" has an incompatible peer dependency to "@angular/core" (requires "^4.3.0 || ^5.0.0-rc.0",would install "6.0.0")

@jycouet Have you work this out ? Upgrade today, meet the same problem

Hello @jycouet, sorry for the delay...
I'm not sure, but this looks like some code error, you have many watchQueries? I recommend check his, mainly in use of Observable operators.
Tip: can try to search use of "catch" in your code, if you have something like this:
myObservable    .catch(...
Change to this:
myObservable    .pipe(        catchError(err => /* do something */)     )
Do the test.
Hug!

@jycouet this seems to be related to #545 (which also references #580). The workaround that is mentionend there, did fix the invalid object error.

when will #580 get released ?

The milestone states May 12th, though there is still quite a lot open - @kamilkisiela can probably tell best.

😢 we have to disable all apollo apis to let project running, so sad.

#545 worked well for me 👍
Tmp fix is nice, waiting for @kamilkisiela ;)

An update https://github.com/apollographql/apollo-angular/pull/580#issuecomment-387744110

Thank you so much for keeping us posted @kamilkisiela !

You can now yarn add apollo-angular@next, later today I'll release a stable version.


Deployment

Deployment
User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN A prework study guide website,
WHEN I visit the website using the URL,
THEN I can access my website from any browser

I did it!


Upgrade action to py 3.10

Functions support py 3.10 but currently the action breaks due to new syntax in 3.10, such as match statement.
sample error:
Traceback (most recent call last):
  File "/app/index.py", line 55, in <module>
    main(config)
  File "/app/index.py", line 26, in main
    run_checks(config.function, deploy_client)
  File "/app/checks.py", line 20, in run_checks
    _check_handle_args(config.function_folder / config.function_file)
  File "/app/checks.py", line 76, in _check_handle_args
    (node_visitor := HandleVisitor(file_path)).visit(ast.parse(file))
  File "/usr/local/lib/python3.8/ast.py", line 47, in parse
    return compile(source, filename, mode, flags,
  File "<unknown>", line 27
    match project.split("-")[-1]:
          ^
SyntaxError: invalid syntax

Let's just go straight to 3.11? Wdyt @ddonukis ?

Technically, the handler checker should not be using the action's python to validate the function code, since we have multiple supported runtimes from 3.8 to 3.10. 3.11 should be compatible with all those versions though.

I agree, but it's just an AST parse to ensure the handle function has valid arguments. I've added exception handling for SyntaxError so this won't hinder any deployments again.


Invalid options ("#/definitions/SearchOptions")

Issue
When calling the search module without passing queryOptionsOverrides it'll throw an error.
UnhandledPromiseRejectionWarning: InvalidOptionsError: yahooFinance.search called with invalid options.

How to replicate
await yahooFinance2.search('Apple');

Possible solution
I think it's related to this commit.
The data flow is this:

User calls search('Apple') without queryOptionsOverrides
search module calls moduleExec, where query.overrides is undefined
moduleExec calls validateAndCoerceTypes() where it passes an undefined object
validateAndCoerceTypes tries to validate an undefined object

And the issue is in 3), that we are trying to validate the overrides solely. We should validate the DEFAULTS + OVERRIDES.

@gadicc I'll prepare a PR for this. Should be a one line change.

:tada: This issue has been resolved in version 1.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Recently added _feature_version parameter in compile() is not supported yet

Feature

it prints error messages:
TODO: compile() got `_feature_version` but ignored

Python Documentation

Hi!
How and where exactly should the _feature_version be used? I looked at CPython and to my understanding it is used to compute parser flags there.

I didn't investigate what it is. But it is used in https://github.com/python/cpython/blob/3.11/Lib/ast.py#L50-L51
If it is harmless, just safely ignoring without error message will be fine.

yeah, I don't know how much sense it makes to support it. feature_version allows parsing code as previous versions of Python. I think we can ignore it and add a TODO instead (so it doesn't spam the output).


Fix logic for enabling features based on renamed dependencies

When enableFeatures inspects optional dependencies to enable additional features in accordance with https://doc.rust-lang.org/nightly/cargo/reference/features.html#dependency-features , it can incorrectly enable features for the original names of renamed dependencies, and fail to enable features for the new names. For example, diesel has a feature "uuid" which adds uuid < 0.7.0 as a dependency, and a separate feature "uuidv07" which adds uuid >= 0.7.0 renamed as uuidv07. When the "uuidv07" feature is enabled, enableFeatures sees that one of the features enables the dependency uuid, so it also enables the "uuid" feature. However, the relevant dependency was renamed, and the non-renamed uuid < 0.7.0 required by the "uuid" feature isn't present among the dependencies, so the build breaks.  This patch fixes enableFeatures and doesFeatureEnableDependency to correctly handle renamed dependencies.

Thanks for this!

I tested this by hand, thanks!


fix the minimum position bug in mergeutils

The GetIncrementAndComparability function in mergeutils.py gives error message "stuck in infinite loop and exiting error". The error is caused by the min_pos may get from STRs on different chromosomes when samples have different called STRs. Therefore generate an increment list with all FALSE values. Fix it by get the min_pos from the chromosome== min_chrom_index only

Hi Yang,
I ran the pytests and trtools/mergeSTR/tests/test_mergeSTR.py::test_GangSTRRightFile is failing. Can you fix that? (Or confirm that it's an issue with how I'm running it). Also, you put a random 'G'  into the .gitignore file which I think wasn't intended.

Hi Jonathan,
Thanks for reviewing the code.

What error message you got from the  trtools/mergeSTR/tests/test_mergeSTR.py::test_GangSTRRightFile? 2.
I think I might accidentally pressed on keyboard when I editing the .gitignore file. I'll fix that.
Thanks,
Yang


Fecomic source request

Source name
Fecomic
Source link
https://fecomicc.xyz/
Source language
Vietnamese
Other details
18+/nsfw = true
Acknowledgements

[X] I have checked that the extension does not already exist by searching the extension listing and verified it does not appear there.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a meaningful title with the source name.
[X] I will fill out all of the requested information in this form.

Is the site working for you? I have been checking in periodically for the past 2 weeks, but none of the pages load.

When i request this source (it's work) but now i can't read it

I think i need to close this source as not planned (I don't have the respond from website admin and i don't see the translation team to talking about that)


Updates to zipkin 0.18

Relating to sleuth, this is mostly cosmetic with a kafka condition fix.
It might be of interest that GET /api/v1/traces no longer requires
parameters.
https://github.com/openzipkin/zipkin-java/releases/tag/0.18.0

:shipit:


Pac4j: Fix SAML IdP initiated logout

#3871 to master.

Thank you very much for the contribution!


Enable p2p discovery for reth

Is there a reason to disable discovery for reth but not for geth? Would be nice to at least have an option to not disable it

+1


pyasdf problem with numpy > 2.0

Hi - I'm getting an error where pyasdf fails because of a numpy error with np.string_
The error occurrs when I try to open ASDF HDF5 file:
with pyasdf.ASDFDataSet(asdf_file) as ds:
Here is the error message:
AttributeError: np.string_was removed in the NumPy 2.0 release. Usenp.bytes_ instead.
HAs anyone else seen this?
Is there a work around?
Thanks!

I recently created new conda env with python 3.13 which uses numpy > 2.0
I re-created this env with python v 3.12 which installed numpy < 2.0 (1.26) and all is well!
Heads up for future envs with python > 3.12 ...


Fix rich text utils backspace not clearing the block type at the start.

Summary
When backspacing at the start of the first block using rich text utils, the block type should be cleared.
Example of me frantically trying to clear the first block type without this PR by pressing backspace at the beginning of the document:

Followed by an example of me clearing the first block type with this PR:

Test Plan

Pull master.
Open the rich text example.
Create a list.
Put your cursor at the first offset of the first block, backspace to reset the block type, notice that it doesn't work.
Pull this branch.
Open the rich text example.
Create a list.
Put your cursor at the first offset of the first block, backspace to reset the block type, rejoice in joy as the list item disappears.
Celebrate. 🎉

^ Looks like Travis might need a retry?

I'm going to try and resolve the conflicts, ensure CI passes, and merge this.

Woot! Awesome to see this get merged. Thank you!


[BEAM-9926] Docs - show placeholder code snippets if code snippets are unavailable

Fix an issue where if the language setting in the docs is toggled to something like Python, all examples that were only in Java disappeared completely.
Usually, docs would look like this (in Quickstart) with Java on:

With Python on, however, the docs look like this, which is confusing since it seems like the docs are incomplete:

This PR makes the docs look like this on Python:

I used a script (https://gist.github.com/epicfaace/23e8dab04bd290659f2db1feccd57891) to update the docs on the Programming Guide. If we are good with this approach, we could do this for other doc files that require updating as well.
However, although this helps in most cases, in some cases we actually don't want to show placeholder code for unavailable code snippets. For example, in this case the Java doc looks like this:

Current Python docs look like this:

However, with this PR, we have an empty code sample that isn't really relevant, because the sample is only relevant in Java:

I was thinking we might have to manually go and remove the placeholder snippets for snippets that should only show conditionally. Would appreciate feedback / thoughts on this!
 I think it's best to manually add code snippets as in #11790.


Execution on hold until tab is selected/focused

Windows Terminal version
1.12.10983.0
Windows build number
10.0.22621.1
Other Software
No response
Steps to reproduce
I'm opening 12 tabs in the same WT window, like this:
for %%G in (boost wtl openssl asio taocpp-json ctre scnlib nanosvg wil detours lexilla) do (
	wt --maximized -w 1 new-tab --title "%%G" -d "%%G" "%~dp0%%G\update.cmd"
)

Expected Behavior
All tabs/commands should run in parallel, without needing to select the tab first.
Actual Behavior
Under some circumstances (it doesn't happen always, no reliable way to reproduce), the commands only start until the tab is being selected/focused.
This behavior does not happen when wt.exe is called once with all the new-tab commands separated by ;

You know, I do see this from time to time when restoring the Terminal session. Basically, the pane needs to be displayed in the UI tree once to actually get started, so for something that's creating a bunch of tabs/panes all at once, only the one that ends up displayed starts.

We should figure this out.
Thanks!

I'm not sure if it's related, but I also open WT with 4 split panes and another tab. Prior releases used to load immediately and now I almost have WT hanging/not responding for 5 seconds. It used to load just fine, the console would appear a bit after as it connected. Now it seems to try to wait for everything to load in the background (e.g. connecting to servers) before drawing the screen. Is there anyway to go back to the previous behavior? Or figure out this rendering block?

As mentioned in the related #16896 I encountered an unexpected behavior while setting up a local microservices cluster using wt and I wanted to share it here.
While attempting to spin up a local microservices cluster, I encountered unexpected 500 errors. After some investigation, I realized that the issue stemmed from the tab activation behavior in wt. In my setup, I had dockerized the microservices resources in one tab, and in other tabs, I was spinning up individual web servers for the services. However, I noticed that the tab processes were not starting automatically unless I explicitly clicked on them.
This behavior seemed unusual to me, as I assumed that the tab processes should start automatically without requiring manual intervention. Hence, I suspect it might be a bug rather than intended behavior.
I mean, I'm under the assumption the intended behaviour would be spinning up the tab processes in parallel (without any dependencies between them)
That said, this one is pretty annoying cos sometimes you're switching a lot of branches and want to try different versions of the cluster by respawning this multi-tab setup but you forget to click in all tabs (~10) so you end up context switching, etc... 😅

Just for the sake of completeness, the syntax I'm using is slightly different to this thread's reproducer, ie:
run_services.cmd
wt -w %~n0 ^
nt --title="shared" --startingDirectory=%ALIAS_DIR% %COMMAND_SHARED% ; ^
nt --title="svc0:5000" --startingDirectory=%svc0% %COMMAND% ; ^
nt --title="svc1:5001" --startingDirectory=%svc1% %COMMAND% ; ^
nt --title="svc2:5002" --startingDirectory=%svc2% %COMMAND% ; ^
nt --title="svc3:5003" --startingDirectory=%svc3% %COMMAND% ; ^
nt --title="svc4:5005" --startingDirectory=%svc4% %COMMAND% ; ^
nt --title="svc5:5006" --startingDirectory=%svc5% %COMMAND% ; ^
nt --title="svc6:5007" --startingDirectory=%svc6% %COMMAND% ; ^
nt --title="svc7:5009" --startingDirectory=%svc7% %COMMAND%

But I guess we're talking about the same bug as @zadjii-msft already marked it as dup.