NIFI-9689: When all FlowFiles in a FlowFile Queue are penalized, do n…

…ot schedule the destination to run. Also expose this fact via the ConnectionStatusSnapshotDTO, as this allows the front-end to render this information to the user in order to avoid confusion when it appears that the Processor has data but does nothing

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

+1 LGTM, thanks for the improvement! Merging to main


Weapon names

Fixed bugs with buttons

Buttons are working great, good to see that the filtering system can finally be implemented with these! In a future merge lets make sure to change the buttons so we can filter by many weapons at once instead of just one


ProgressSpinners with tick strings skips the last frame, panics on one frame

With this spinner configuration we see 1, 2, then 3. 4 is never printed.
let spinner = ProgressBar::new_spinner();
spinner.enable_steady_tick(Duration::from_millis(1000));
spinner.set_style(
    ProgressStyle::with_template("{msg}{spinner}")?.tick_strings(&["1", "2", "3", "4"]),
);

With this configuration we get a panic:
let spinner = ProgressBar::new_spinner();
spinner.enable_steady_tick(Duration::from_millis(1000));
spinner.set_style(ProgressStyle::with_template("{msg}{spinner}")?.tick_strings(&["1"]));

The application panicked (crashed).
Message:  attempt to calculate the remainder with a divisor of zero
Location: /home/grahamc/.cargo/registry/src/github.com-1ecc6299db9ec823/indicatif-0.17.0/src/style.rs:166

For the first issue, could I see the full context?
The second issue looks like an easy fix. Thanks for the report!

The first issue can be replicated with this:
use indicatif::{ProgressBar, ProgressStyle};
use std::time::Duration;

fn main() {
    let spinner = ProgressBar::new_spinner();
    spinner.enable_steady_tick(Duration::from_millis(1000));
    spinner.set_style(
        ProgressStyle::with_template("{msg}{spinner}")
            .unwrap()
            .tick_strings(&["1", "2", "3", "4"]),
    );

    std::thread::sleep_ms(10_000);

    spinner.finish_and_clear();
}

In that case, would it be better to provide a separate function that will set this "finished" state, instead of taking the last of the tick chars/strings as the "finished" state?

In that case, would it be better to provide a separate function that will set this "finished" state, instead of taking the last of the tick chars/strings as the "finished" state?

Maybe. I do agree the current API is a little confusing.

Maybe even as an argument to the finish family of functions... (Though I realize that would be an API break.)

That's the hard part :/

I'll leave the API design to people who are actually good at that (i.e. not me), but maybe finish_char / finish_string (or maybe better: final_*) would be an "OK" design.

I agree that the API is unclear. We could potentially add a new with_tick_strings(&[&str], &str) API and deprecate the old one? I don't think we want to release a semver-incompatible version so soon after 0.17.

Yes please, that seems like a neat API. We ran into this (last tick string not printed) as well and set out to PR a documentation update before finding this issue.


Cache parsed date/time

Thanks for your free app! If you have a huge track and a lot of images to tag, it takes a pretty long time.
One of the things this time is spent on is parsing the dates in the GPX file. As far as I can tell, when loading the file the program stores the date/time as a string. Then when it needs to find the location for an image, it parses all these strings to a date/time object and compares it to the date/time of the image. If you have a huge GPX file this takes quite some time. Now if you have 1000 images, you spend that time 1000 times.
If the program would parse the date/time while loading the GPX file, it would only have to do the parsing once, probably quite a major speedup.
So, specifically, in Gpx.swift, cache the timeFromEpoch field of the Point struct. I don't know enough Swift to know if there is a pattern for caching this kind of thing but I guess there must be.
Again, thanks for your efforts!

How did I miss this?  I don't know if timestamps can cached, but I think your idea about storing timeFromEpoch instead of the timestamps that need constant converting to be worth doing.  Thank you for pointing this out.


DL4J UI: Updates/Gradients tabs on overview page broken

Clicking on Updates/Gradients tabs doesn't actually do anything, the activations graph (default) continue to be shown.
Tabs on the model page work fine.

Turns out the problem is simple: the tabs do work but under some limited circumstances the update won't fire. This has been fixed and will be merged to master soonish.


Incomprehesible sentence

After the pause() method on a media element has been invoked and that media element has a current media session type set to Transient or Transient Solo, then the user agent must run the media session continuation algorithm against all known media sessions, passing in each media session as media session and then, for the original indefinitely paused media session, immediately run the media session release algorithm for media element’s current media session.

:trophy: I believe this wins "Longest sentence in a spec... ever" :trophy: . But I don't think you want that award.
Please break this up. It's really hard to understand.

If only I knew how to spell "sentence"... no wonder I have such a hard time understanding specs :)


Naming improvements for balance algos

The following algos are now callable via boss
$balancealgorithm default
$balancealgorithm auto
$balancealgorithm split_noobs

default will check the config for what it should pick (loser_picks probably).
In the future maybe could rename DefaultBalance to be AutoBalance but I wanted to keep this PR short.
For SPADS I need to adjust so that auto is an option.
auto will pick between split_noobs or loser_picks depending on circumstances
Testing
You can simply call the algos listed above.

When you call "default" the text output will say loser_picks

SPADS changes here: https://github.com/beyond-all-reason/spads_config_bar/pull/162/files

@L-e-x-o-n the SPADS changes have made it through to integration
So if you can test on integration via
!balancealgorithm auto
!balancealgorithm default
!balancealgorithm split_noobs


MINOR: Add --help to DumpLogSegments

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk8-scala2.12/5338/
Test PASSed (JDK 8 and Scala 2.12).

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/kafka-pr-jdk7-scala2.11/5353/
Test PASSed (JDK 7 and Scala 2.11).


LRP: Fix service translation exceptions

This PR fixes cases with the local redirect policy datapath behavior with socket-LB where node-local redirection was being erroneously skipped.
Summary
Extend the local redirect policy spec with a new flag called skipRedirectFromBackend that allow users to skip redirection of traffic from an LRP backend to itself via the LRP frontend for certain use cases. This replaces the previous default logic in the BPF socket-LB datapath involving local redirect services LB that led to unintended error cases.
LRPs with the new flag are processed by the LRP manager, and translated into entries populated in newly introduced maps that enable socket-LB datapath to skip local redirect service translation from certain pods.
Highlights of PR commits
(Check commits description for more details.)

[CRD] Extend LRP CRD spec with the new flag.
[Plugin, openapi, pkg/endpoint] Preparatory commits to get endpoint netns cookies metadata.
[pkg/maps] Define new BPF maps to store the translated LRP state with the new flag.
[pkg/redirectpolicy] Update the LRP manager to process and plumb such user configured policies.
[BPF] Revise BPF datapath to implement the desired LRP behavior for certain traffic
[BPF] Unit tests
[Doc] Document the flag along with requirements.
An e2e test will be added in the cilium-cli connectivity suite as a follow-up once this dependency PR is merged.

Example LRP with the extended spec -

Fixes: https://github.com/cilium/cilium/issues/15195
Fixes: https://github.com/cilium/cilium/issues/20164
Fix LRP error cases where node-local redirection was erroneously skipped. Extend LRP spec in order for users to explicitly skip node-local redirection from LRP selected backend pods.

/test-1.26-net-next

@aditighag I've dropped release-blocker from this PR, it seems significant enough that it needs thorough review, and a compressed timeline will not help to get that. Feature freeze was last friday, and even if we consider that maybe this is fixing a known limitation, it does not look like it's tracking to land in time for v1.14 branching next week. If we really think that this is worthwhile backporting to v1.14 at a later time, we can first get it into a form that we're happy with, merge into main, and then make the call whether a backport makes sense or not. Either way we can get this into an upcoming v1.15 monthly snapshot release.

/ci-ginkgo

/ci-ginkgo

/test

/test

/test

/test

/test

/test

/test

/test

/test

@joamaki / @learnitall 👋 Waiting for your reviews. Trying to batch up updates so that I can rebase and resolve conflicts.

/test

@tommyp1ckles @learnitall Thanks for the reviews. Addressed review comments, PTAL.

/test

Changes look great, thank you! I think there are a couple of the formatting log methods that are still in the PR, and I think I found a typo, but otherwise LGTM!

I think I got them all this time. Thanks!

/test

/test

@joamaki PTAL


Pre-trained models in pytorch?

Hi,
Are you going to release the pre-trained weights for one of the supported models in pytorch?
Thanks!

@salemchen Yes, I will release it in a couple of weeks. Keep an eye on it.


Update readme with new name and python version

Corrected path and names in installation steps of README. Also verified that the project builds fine with python 3.9.6 on MacOS Ventura.

@swarnadhakad @mattsahn Need one approval to get this small PR merged.


docs(Query Filters): Correct/Make More Exact: Query Filter Object Code Snippet Comments

Make comment in the code snippet for removeQueries more exact
correct comment for refetchQueries used for posts query key, to use 'posts' instead of 'post'.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


vms_apis : shutdown vm api doesn't work

API
POST /nodes/{nodeid}/vms/{vmid}/shutdown
request & response

Actual result
grid api resppnse

python client response

The shutdown action wasn't implemented so I added its implementation. However, shuting down a vm that doesn't have a disk and os on it will result in nothing even with my implementation.

error when trying to shutdown vm
ays log
Mon15 14:27] - Job.py              :63  :j.jobcontroller.job.05c64f55c43ce7edf6623dd15b5c5e92 - INFO     - job job: bootstrap.g8os!grid1 (bootstrap) done sucessfuly
[Mon15 14:27] - Job.py              :54  :j.jobcontroller.job.9e03e53a163a30eb3a6944d31259ccc7 - ERROR    - Traceback (most recent call last):
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/vm/111c40417838c44657fe1e3cbc54a613.py", line 335, in shutdown
    raise j.exceptions.RuntimeError("Failed to shutdown vm {}".format(service.name))
JSExceptions.RuntimeError: ERROR: Failed to shutdown vm vm2 ((type:runtime.error)
[Mon15 14:27] - RunStep.py          :84  :j.atyourservice                - INFO     - runstep 1: error
[Mon15 14:27] - Run.py              :108 :j.atyourservice                - ERROR    - error during execution of step 1 in run 5209d3f26327a586eaa9639430a0ffa7
Error of job: vm!vm2 (shutdown):
*TRACEBACK*********************************************************************************
Traceback (most recent call last):
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/vm/111c40417838c44657fe1e3cbc54a613.py", line 335, in shutdown
    raise j.exceptions.RuntimeError("Failed to shutdown vm {}".format(service.name))
JSExceptions.RuntimeError: ERROR: Failed to shutdown vm vm2 ((type:runtime.error)

******************************************************************************************

and the status of the vm was halting

Re-open
Branch
Master branch update till 1.1.0-alpha-3
 File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/vm/e65a399f1867cac6b4ad4b83dbd3bcf3.py", line 160, in shutdown
    raise j.exceptions.RuntimeError("Failed to shutdown vm {}".format(service.name))
JSExceptions.RuntimeError: ERROR: Failed to shutdown vm 4043e7f347 ((type:runtime.error)
[Tue23 16:42] - RunStep.py          :84  :j.atyourservice                - INFO     - runstep 1: error
[Tue23 16:42] - Run.py              :108 :j.atyourservice                - ERROR    - error during execution of step 1 in run 8089b3853633973ffb7b599f405cf504
Error of job: vm!4043e7f347 (shutdown):
*TRACEBACK*********************************************************************************
Traceback (most recent call last):
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/vm/e65a399f1867cac6b4ad4b83dbd3bcf3.py", line 160, in shutdown
    raise j.exceptions.RuntimeError("Failed to shutdown vm {}".format(service.name))
JSExceptions.RuntimeError: ERROR: Failed to shutdown vm 4043e7f347 ((type:runtime.error)

******************************************************************************************

@islamTaha12  Which template was used?

@grimpy
ardb://hub.gig.tech:16379/template:ubuntu-1604

Please validate first that the vm got properly booted and then try the shutdown api.

can't verify due to :
https://github.com/zero-os/0-orchestrator/issues/298

That's not true, cause #298 happens but the rescheduling of AYS makes it eventually work (the start of vm that is)

Steps :

after make sure that status of vm is running .
try to shutdown it

Response :
status of vm be halting then error and  ays give this error :

Please prove to me you get a vm running with the os booted

Software Version
e6c8b485e8666e342109bd9748f9b17d594496b2


Issue 43: Implementing Card View for Recently Used Manifest Dropdown

Issue #43
What is done:

The "Recently Used" section displays manifest Uri's in a card view format
Each card contains: Title, Number of Items, and Image.
Cards are response and visually consistent with the application's existing UI

Below is a screenshot of the card view implementation:

*** Had to recreate PR because I forgot to pull down main when I started my old PR.

Great! i see the information is being fetched and rendered in the page, ensure tools are rendering below the card view and move JS code to respective JS file(tools.js). If possible change the UI to look like this rectangular theme as mirador.


METRON-1060: Add performance timing logging to enrichment topology

https://issues.apache.org/jira/browse/METRON-1060
Adds performance logging timers to the enrichment topology. I've made this configurable so that the timers are separate from our standard logging. Any opinions on documenting this, ie should it be added to the enrichment docs? I also noticed some performance logging added to the StellarAdapter class, but we haven't added documentation for the "feature."
 Scroll down to "Change Log Level" and enter the following loggers, level=DEBUG, timeout=5000 sec:

org.apache.metron.enrichment.bolt.GenericEnrichmentBolt$Perf
org.apache.metron.enrichment.bolt.SplitBolt$Perf
org.apache.metron.enrichment.bolt.JoinBolt$Perf

In the enrichment worker log you should see lines similar to the following indicating that performance logging has been enabled:

2017-07-21 20:53:42.673 o.a.s.d.worker [INFO] Adding config for: org.apache.metron.enrichment.bolt.SplitBolt$Perf with level: DEBUG
2017-07-21 20:54:14.747 o.a.s.d.worker [INFO] Adding config for: org.apache.metron.enrichment.bolt.JoinBolt$Perf with level: DEBUG
2017-07-21 20:54:39.914 o.a.s.d.worker [INFO] Adding config for: org.apache.metron.enrichment.bolt.GenericEnrichmentBolt$Perf with level: DEBUG

Check the log output
You should see log entries similar to the following:

2017-07-28 17:22:39.432 o.a.m.e.b.GenericEnrichmentBolt$Perf [DEBUG] markName=enrich,time(ns)=16992,message=key=9e21e859-9da8-40db-89b1-59d1395ceabb, time to run enrichment type=geo
2017-07-28 17:23:28.148 o.a.m.e.b.JoinBolt$Perf [DEBUG] markName=execute,time(ns)=31933,message=key=4502ddc1-25db-4c33-a8d9-af8725ee1a44, elapsed time to run execute
2017-07-28 17:26:57.478 o.a.m.e.b.SplitBolt$Perf [DEBUG] markName=split-message,time(ns)=23744,message=key=0caa19e3-786f-49f7-89bf-8f2900d56d38, elapsed time to split message
2017-07-28 17:29:25.042 o.a.m.e.b.JoinBolt$Perf [DEBUG] markName=join-message,time(ns)=30122,message=key=a35950c1-a473-4172-afc3-61a8172d66fb, elapsed time to join messages
2017-07-28 17:32:14.146 o.a.m.e.b.SplitBolt$Perf [DEBUG] markName=split-message,time(ns)=90933,message=key=4d5c2ac3-aea1-4010-b902-1b9726ee78ac, elapsed time to split message
2017-07-28 17:32:48.825 o.a.m.e.b.SplitBolt$Perf [DEBUG] markName=emit,time(ns)=30827,message=key=4d4d54da-6033-4318-8855-425f017a6c32, elapsed time to run emit
2017-07-28 17:32:50.866 o.a.m.e.b.GenericEnrichmentBolt$Perf [DEBUG] markName=execute,time(ns)=14299,message=key=5cba5c1c-2989-49dc-a1b6-6c561e956725, elapsed time to run execute

Also try changing the global config setting performance.logging.percent.records to something >= 10. The default is to log only 1% of the messages.
Change $METRON_HOME/config/zookeeper/global.json by adding the following key/value.
"performance.logging.percent.records" : 20. Push the changes to Zookeeper and then verify the settings have persisted.
${METRON_HOME}/bin/zk_load_configs.sh -i ${METRON_HOME}/config/zookeeper -m PUSH -z $ZOOKEEPER
${METRON_HOME}/bin/zk_load_configs.sh -m DUMP -z $ZOOKEEPER

Now re-examine your logs again. You should see a much higher frequency of messages being logged. For extra credit, switch the setting back to 1% again and verify that the volume of logging statements has dropped significantly.
That should do it!
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && build_utils/verify_licenses.sh

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Hi @ottobackwards I actually took this advice and have a commit coming your way. I extracted functionality into a PerformanceLogger class that allows you to specify a percentage probability for logging the timing in the global config. A value of 1 logs roughly 1% of statements, 100 will log all statements. I could use some feedback on the approach I took for instantiating the logger - I used a local member variable instead of a static variable. The reason being that the logger maintains a Map<String, Long> of marked times. Since multiple executors may exist within a single worker JVM, it seemed likely that they might trample one another.

Nice, tag me when it is in

@ottobackwards Just submitted. I've updated the testing notes above as well. Note the added documentation in the metron-common README.

+1 -> Love this.  Really great work.  Makes me think that we want to have some kind of topical area of the site-book or developers documentation ( like this would go with testing ) but that is another thing.
Thanks!


RET505 False Positive

Seems like RET505 has come up in issues a few times before, but I seem to be getting false positives as well. Here is a pretty simple example of a code snippet that provokes the error.
def is_even(value: int) -> bool:
    """Check if a value is even."""
    if value % 2 == 0:
        print(f"{value} is even")
        return True
    else:
        print(f"{value} is odd")
        return False

When running ruff with the defaults (no config file) and adding select for RET505 produces the following:
❯ ruff --select=RET505 false_positive.py
false_positive.py:6:5: RET505 Unnecessary `else` after `return` statement
Found 1 error.

❯ ruff --version
ruff 0.0.247

I believe this is actually working as intended -- it wants you to do:
def is_even(value: int) -> bool:
    """Check if a value is even."""
    if value % 2 == 0:
        print(f"{value} is even")
        return True

    print(f"{value} is odd")
    return False

Since that code is equivalent: if the number is even, it'll hit the if, then return at the end of the if block. So the else isn't necessary.

ugh...you're right...lol, it's so simple I looked right past that...that's what I get for validating/submitting an issue before my second cup of coffee...

Haha no it’s all good! These rules can be hard to reason about.


feat(mat-error): provide method for programmatically adding errors

What is the expected behavior?
There should be a way to programmatically give a form-field mat-error 's
What is the current behavior?
There is no way to do so
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-wpvavh?file=app/app.component.ts
What is the use-case or motivation for changing an existing behavior?
In all examples mat-error is used like
<mat-error *ngIf="emailFormControl.hasError('pattern')">
      Please enter a valid email address
    </mat-error>

This is a lot of code to write and a lot of duplication, especially if you want to use the same error more than once, which is very common
You should be able to defined error messages in one place and pipe them into the UI with mat-error

Is there something that blocks using mat-error with ngFor?

Nah you totally can do
    <mat-form-field>
      <input matInput placeholder="Enter your email" [formControl]="email" required>
      <mat-error *ngFor="let error of [1, 2, 3]">{{error}}</mat-error>
    </mat-form-field>

And that will work as expected, but you cant do the same thing from another container/component as in the example I gave.
by extention you could have a FormErrorService which you inject in as a public variable in your component then do:
    <mat-form-field>
      <input matInput placeholder="Enter your email" formControlName="email" required>
      <mat-error *ngFor="let error of errorService.mapErrors(form.get('email'))">{{error}}</mat-error>
    </mat-form-field>

But that might slow down CD on large amount of forms since there's no ref to track the array by.
If I'm missing something that might avoid this then im sure that would be a preferred way

On second thought maybe I'm totally prematurely optimizing this.
If anyone else is looking for a similar situation here's the little service I whipped up
https://stackblitz.com/edit/angular-form-control-errors?file=app/app.component.ts
@Injectable()
export class FormErrorService {
  errorMap: { [key: string]: (c: FormControl, name: string) => string } = {
    'required': (c: FormControl, name: string) => `${name} is required`,
    'email': (c: FormControl, name: string) => `${c.value} is not a valid email`,
    'max': (c: FormControl, name: string) => `${name} must be equal to or less than ${c.errors['max']['max']}`,
  }

  mapErrors(control: FormControl, name: string): string[] {
    return Object.keys(control.errors || {})
      .map(key => this.errorMap[key](control, name));
  }
}


set env CLOUD_PLATFORM in Istio operator manifest

I need on clusters in GCP, set env CLOUD_PLATFORM to the value none (added to istio from version 1.12.x)
I tried adding CLOUD_PLATFORM to the Istio operator manifest in various ways. Only manually adding to configmap istio-sidecar-injector this variable works, but I would prefer it to be added as a code to our operator configuration. Is it possible to get this?
[x ] Installation

https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig proxyMetadata field

  meshConfig:
    defaultConfig:
      proxyMetadata:
        CLOUD_PLATFORM: NONE

works perfectly, thx


Any support for minItems ?

Is there any support planned for minItems attribute?

No not yet. But feel free to create a PR.

I have no time for the moment to work on it. Maybe later.
Now, i know it is not supported.
Thank you for the answer.

Hi @RobWin. Is this still something that needs to be done? If so, I could try implementing it.

Yes, I won't have time to implement it.

Hi @RobWin, @Dichotomia,
I have prepared a PR https://github.com/Swagger2Markup/swagger2markup/pull/341 with this functionality, currently supporting the tag in for operation Parameters.
Could you guys check if I am going in correct direction? I guess I'd be able to implement support for these tags also for object models (I am not sure, but this has to be done on different places than parameters).
I am still a bit lost in the architecture of the solution, so please let me know how to do it better.

@RobWin Can we close this issue then?


Add minimun java version in changes.xml

Following discussion on mailing list, here is PR to indicated mimimum java version everytime it was changed

1.16.0 -> "Requires a minimum of Java 1.8".
1.12 -> "Requires a minimum of Java 1.7".

Codecov Report

Merging #186 (671319c) into master (46efc03) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #186   +/-   ##
=========================================
  Coverage     92.20%   92.20%
  Complexity     1740     1740
=========================================
  Files            67       67
  Lines          4603     4603
  Branches        728      728
=========================================
  Hits           4244     4244
  Misses          244      244
  Partials        115      115

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


feat: Add kmods-installer module

Credits: @C0dePlayer
This is not ideal as it does not support custom kernels & it involves editing Containerfile.
Custom kernels is something that upstream should solve I believe, so it's not a concern we should direct to.
I believe there is no other way but to make users edit Containerfile for those files to be even pulled of.
I would like this to be through the recipe only, so I will put this as a draft until some better ideas come.
2nd part of this work:
https://github.com/ublue-os/startingpoint/pull/212

Hmm, it fails here with these errors:

Error
=== Launching module of type: kmods-installer ===
Installing kmods

Installing: v4l2loopback winesync openrazer openrgb nct6687d gasket gcadapter_oc ryzen-smu xpadneo xone xpad-noone

Enabled rpm-md repositories: copr:copr.fedorainfracloud.org:kylegospo:rom-properties copr:copr.fedorainfracloud.org:szydell:system76 copr:copr.fedorainfracloud.org:fiftydinar:gnome-shell-openweather-toppk copr:copr.fedorainfracloud.org:kylegospo:hl2linux-selinux copr:copr.fedorainfracloud.org:kylegospo:system76-scheduler copr:copr.fedorainfracloud.org:fiftydinar:gnome-shell-extension-middleclickclose-git copr:copr.fedorainfracloud.org:fiftydinar:gnome-randr-rust rpmfusion-nonfree-updates rpmfusion-free rpmfusion-free-updates rpmfusion-nonfree copr:copr.fedorainfracloud.org:ublue-os:akmods updates fedora-cisco-openh264 fedora updates-archive

Importing rpm-md...done

rpm-md repo 'copr:copr.fedorainfracloud.org:kylegospo:rom-properties' (cached); generated: 2023-12-24T05:12:20Z solvables: 27
rpm-md repo 'copr:copr.fedorainfracloud.org:szydell:system76' (cached); generated: 2023-12-17T04:02:26Z solvables: 24
rpm-md repo 'copr:copr.fedorainfracloud.org:fiftydinar:gnome-shell-openweather-toppk' (cached); generated: 2023-11-10T12:13:13Z solvables: 2
rpm-md repo 'copr:copr.fedorainfracloud.org:kylegospo:hl2linux-selinux' (cached); generated: 2023-08-22T22:04:08Z solvables: 6
rpm-md repo 'copr:copr.fedorainfracloud.org:kylegospo:system76-scheduler' (cached); generated: 2023-12-09T09:07:11Z solvables: 4
rpm-md repo 'copr:copr.fedorainfracloud.org:fiftydinar:gnome-shell-extension-middleclickclose-git' (cached); generated: 2023-11-08T17:30:48Z solvables: 2
rpm-md repo 'copr:copr.fedorainfracloud.org:fiftydinar:gnome-randr-rust' (cached); generated: 2023-10-31T17:44:25Z solvables: 4
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2023-12-22T13:50:27Z solvables: 56
rpm-md repo 'rpmfusion-free' (cached); generated: 2023-11-04T16:49:08Z solvables: 445
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2023-12-22T13:27:08Z solvables: 108
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2023-11-04T17:26:32Z solvables: 208
rpm-md repo 'copr:copr.fedorainfracloud.org:ublue-os:akmods' (cached); generated: 2023-12-09T03:59:38Z solvables: 60
rpm-md repo 'updates' (cached); generated: 2023-12-25T01:17:57Z solvables: 16809
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2023-03-14T10:57:01Z solvables: 4
rpm-md repo 'fedora' (cached); generated: 2023-11-01T00:12:39Z solvables: 70825
rpm-md repo 'updates-archive' (cached); generated: 2023-12-25T01:35:16Z solvables: 18828

Resolving dependencies...done
error: Could not depsolve transaction; 3 problems detected:
 Problem 1: conflicting requests
  - nothing provides xpadneo-kmod-common >= 0.9.5 needed by kmod-xpadneo-6.6.7-200.fc39.x86_64-0.9.5-3.20230617git5970c4c.fc39.x86_64 from @commandline
 Problem 2: conflicting requests
  - nothing provides xone-kmod-common >= 0.3 needed by kmod-xone-6.6.7-200.fc39.x86_64-0.3-3.20230517gitbbf0dcc.fc39.x86_64 from @commandline
 Problem 3: conflicting requests
  - package kernel-devel-matched-6.6.7-200.fc39.x86_64 from updates-archive requires kernel-devel = 6.6.7-200.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.8-200.fc39.x86_64 from updates requires kernel-core = 6.6.8-200.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.8-200.fc39.x86_64 from updates-archive requires kernel-core = 6.6.8-200.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.5.6-300.fc39.x86_64 from fedora requires kernel-core = 6.5.6-300.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.5.10-300.fc39.x86_64 from updates-archive requires kernel-core = 6.5.10-300.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.5.11-300.fc39.x86_64 from updates-archive requires kernel-core = 6.5.11-300.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.5.12-300.fc39.x86_64 from updates-archive requires kernel-core = 6.5.12-300.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.5.9-300.fc39.x86_64 from updates-archive requires kernel-core = 6.5.9-300.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.2-201.fc39.x86_64 from updates-archive requires kernel-core = 6.6.2-201.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.3-200.fc39.x86_64 from updates-archive requires kernel-core = 6.6.3-200.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.4-200.fc39.x86_64 from updates-archive requires kernel-core = 6.6.4-200.fc39, but none of the providers can be installed
  - package kernel-devel-matched-6.6.6-200.fc39.x86_64 from updates-archive requires kernel-core = 6.6.6-200.fc39, but none of the providers can be installed
  - cannot install both kernel-devel-6.6.7-200.fc39.x86_64 from updates-archive and kernel-devel-6.6.8-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.8-200.fc39.x86_64 from updates and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.5.6-300.fc39.x86_64 from fedora and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.5.10-300.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.5.11-300.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.5.12-300.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.5.9-300.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.2-201.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.3-200.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.4-200.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.6-200.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
  - cannot install both kernel-core-6.6.8-200.fc39.x86_64 from updates-archive and kernel-core-6.6.7-200.fc39.x86_64 from @System
error building at STEP "RUN chmod +x /tmp/build.sh && /tmp/build.sh &&     rm -rf /tmp/* /var/* && ostree container commit": error while running runtime: exit status 1
time="2023-12-25T20:44:24Z" level=error msg="exit status 1"

Hmm, it fails here with these errors

The akmods repo example installs the akmods with the commands below. Maybe the wildcard is required?
RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-akmods*.rpm
RUN rpm-ostree install /tmp/rpms/kmods/kmod-v4l2loopback*.rpm

I was just looking at if there'd be a way to install the akmods directly using the module without Containerfile changes, and there is a COPR but it doesn't have everything and I'm not sure if it'd just work.
With a compiler-based approach this would be easier. I guess I should work on that sometime...

@xynydev I have great news.
Module actually works!
Those errors I had before seems to be my misconfiguration (I think this module needs to run after rpm-ostree module)
Here's proof it works:
https://github.com/fiftydinar/gidro-os/actions/runs/7473504118/job/20337794147

I added support for Surface & Asus images as I noticed they don't install kernel-devel-matched package.
It auto-detects if the base image is right before installing kmods.
However, it seems that BASE_IMAGE variable is not recognized for some reason, hence it's not working for now.
I'll have to investigate this further.

Installing kernel-devel-matched actually works for all images & it's the more proper way of installing akmods.
I tested surface, asus & main image as a base & module works wonderfully.
This time, it's really ready to merge.


32bit app on 64bit system

Hello.
I build binary executable for 32bit linux, run on 64bit.
Then Im running my own app at @64bit linux pfring_pkthdr.caplen always == 0.
Then I try to start 32bit pfbridge on 64bit linux  kernel just stuck. (no crash, just stop answering: net and console)
64-bit Linux: ubuntu with kernel  4.4.0-34-generic
I think this is a wrong behavior

Sorry.. wrong chat :)


Integrate the WebInspector Profiler

Add TimelinesAgent that would let us profile function calls. Hook console.profile and console.profileEnd to TimelinesAgent methods.
Update inspector frontend to a version that works in Nightly only
Issue #164

run ci

run ci

:+1:

run ci


Please cherry-pick a73ce1c2ac0a951e46dda8aa2d82a8352233031a to 2.16.1

Could you please cherry pick this commit that fixes host flatc build for cross compilation.
https://github.com/tensorflow/tensorflow/commit/a73ce1c2ac0a951e46dda8aa2d82a8352233031a
The commit made a while ago but never made it into 2.16 release for some reason.

Hi @xwin, apologies, but generally speaking we do not cherry-pick this long after release unless it is an exceptionally critical fix. Please go ahead and use/build against nightly for now, thanks.

OK. Thank you for the response.


Additional logLevel for customLogger

Closes # .
Pre-review checklist

[x] All code has been formatted using our config (make format)
[ ] Any new API features or modification of existing behavior is covered as defined in our test plan
[ ] The changelog has been updated under the ## Unreleased header, using the appropriate sub-headings (### Added, ### Removed, ### Fixed), and the links to the appropriate issues/PRs have been included

this change doesn't need to be noted in the Changelog, I guess?

this change doesn't need to be noted in the Changelog, I guess?

It changes a type of a public function, so it must be mentioned

@klntsky I'm struggling with this issue. does what I've done to here make sense in any way? I don't see where the filtering for the customLogger should be implemented


test: add option to save testscript work dir

What version/commit of govim are you using?
Latest master, dea863fefc545e66b7f3a57e0485a81395e6bdbc
What did you do?
Run the test suite.
What did you expect to see?
Logfiles are written to /tmp/go-test-scriptNNNNNNNNNN/ by the testscript framework that is forked by @rogpeppe to https://github.com/rogpeppe/go-internal/blob/master/testscript/testscript.go
The origin (and the fork) has a flag named -testwork, and in the origin that can be used to keep the work dir:
https://github.com/golang/go/blob/25a2b98f7a1454aac0d7d3072f74613ac0446630/src/cmd/go/script_test.go#L53-L55
In the fork the persistence decision has been moved to testscript parameters:
https://github.com/rogpeppe/go-internal/blob/master/testscript/testscript.go#L169-L177
When govim run the tests it nevers sets this parameter to true.
What did you see instead?
Work dir always removed, even when starting with -testwork.

I don't know the reason behind moving the persistence decision, maybe this should be fixed in https://github.com/rogpeppe/go-internal?
Otherwise we could add an env var, GOVIM_TESTSCRIPT_KEEPWORKDIR so it is possible to keep them.

Forgot to talk to Roger about this in London, raised https://github.com/rogpeppe/go-internal/issues/78

This is definitely a bug. The flag is actually  defined, but is not used properly. Looks like I made a half-arsed job of translating that bit. Given that we export the parameter currently, I'd suggest that we keep the directory around if either the flag or the parameter are set.

Sounds good @rogpeppe. @leitzler did you want to raise a PR over at go-internal?

Oh, forgot about this. Raised https://github.com/rogpeppe/go-internal/pull/80


Implement OpenID Provider

PyPI offers the ability to be an OpenID provider, we need to add this feature to Warehouse or deprecate it from PyPI itself.

I do not think that https://www.djangopackages.com/ uses it, the login there is github only currently I think. Maybe @pydanny can tell us if it is needed for adding packages. If somehow possible I would rather not have this functionality in warehouse -- OpenID is a pain as is already, beeing a provider doesn't make it easier :D

I agree, I might be able to figure out from the database where people are using the service at, let me see...

Ok, so looking at things, PyPI doesn't record anything when a user logs into a site using PyPI as their OpenID provider unless when they log in they select "Always Allow". Looking at the database, there are a total of 201 (user, site) combinations stored in the "Always Allow" table, with 65 "unique" sites ("unique" because some of these are duplicates but with a different protocol or so).
That list looks like:
                            trust_root                             | count
-------------------------------------------------------------------+-------
 https://pypi.python.org/pypi?:action=openid_return                |    50
 https://testpypi.python.org/pypi?:action=openid_return            |    41
 http://pypi.python.org/pypi?:action=openid_return                 |    11
 http://stackoverflow.com/users/authenticate/                      |     7
 http://testpypi.python.org/pypi?:action=openid_return             |     5
 https://crate.io/                                                 |     4
 http://wiki.python.org/moin/                                      |     4
 https://wiki.python.org/moin/                                     |     4
 https://stackoverflow.com/users/authenticate/                     |     3
 https://stackexchange.com/users/authenticate/                     |     3
 https://crate.io/openid/                                          |     3
 http://stackexchange.com/users/authenticate/                      |     2
 https://careers.stackoverflow.com/users/authenticate/             |     2
 https://uberspace.de/                                             |     2
 https://sourceforge.net                                           |     2
 https://people.djangoproject.com/                                 |     2
 https://www.facebook.com/                                         |     2
 https://bitbucket.org/                                            |     2
 https://unix.stackexchange.com/users/authenticate/                |     2
 https://superuser.com/users/authenticate/                         |     2
 http://area51.stackexchange.com/users/authenticate/               |     2
 https://serverfault.com/users/authenticate/                       |     2
 https://us.pycon.org/                                             |     2
 http://localhost:8081/?returned=1                                 |     1
 https://netizen.status.net/                                       |     1
 https://us.pycon.org/2012/openid/                                 |     1
 https://*.janrain.com/                                            |     1
 https://identi.ca/                                                |     1
 http://bugs.python.org/?@action=openid_return                     |     1
 http://www.ehcp.net/                                              |     1
 https://makabra.org/                                              |     1
 http://wiki.creativecommons.org                                   |     1
 http://disqus.com                                                 |     1
 http://bitbucket.org/                                             |     1
 http://freecode.com/                                              |     1
 https://phpmydirectory-demo.rpxnow.com/                           |     1
 http://physics.stackexchange.com/users/authenticate/              |     1
 https://signin.openid.net/                                        |     1
 https://gitorious.org                                             |     1
 https://www.typepad.com/                                          |     1
 http://localhost:8000?openidreturn                                |     1
 http://careers.stackoverflow.com/users/authenticate/              |     1
 http://www.opensource.org/                                        |     1
 http://meta.stackoverflow.com/users/authenticate/                 |     1
 https://www.openstreetmap.org                                     |     1
 https://consumeraffairs.rpxnow.com/                               |     1
 http://localhost.localdomain:8000/?returned=1                     |     1
 http://<IP_ADDRESS>/                                            |     1
 https://www.blogger.com                                           |     1
 http://yuilibrary.com/forum/                                      |     1
 https://trac.nginx.org                                            |     1
 https://bugs.openmw.org                                           |     1
 http://rosalind.info/                                             |     1
 http://ikiwiki.info/ikiwiki.cgi                                   |     1
 http://localhost:8000/openid/                                     |     1
 http://*.branchable.com/                                          |     1
 https://gitorious.org/                                            |     1
 http://*.ubuntuusers.de                                           |     1
 https://codegolf.stackexchange.com/users/authenticate/            |     1
 http://localhost:8001/                                            |     1
 http://www.bb.itu.edu.tr                                          |     1
 http://bettercodes.org/wp-load.php?action=bc_oauth&service=openid |     1
 http://serverfault.com/users/authenticate/                        |     1
 http://localhost:8000/?returned=1                                 |     1
 https://*.branchable.com/                                         |     1
(65 rows)

That means that 114 (or 56% of all of the saved sites) are for PyPI, TestPyPI, or the now gone crate.io and nothing else has any serious use. I suppose it's possible that there's a huge number of people using this without selecting the "Allow Allow" box... but I don't think it's likely that it's going to have a huge disparity in terms of users.
Personally I think we could safely deprecate support for this and just never implement it in Warehouse.

Django Packages does not support OpenID. There was never any real demand for it.

Closing this, Warehouse will not implement an OpenID Provider.


[stronghold] v1 - Illegal non-contiguous size

I'm trying to use the stronghold plugin but for some reason an error shows up in the console when trying to initialize it.
I'm using SvelteKit.
main.rs
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

use argon2::{
    password_hash::{rand_core::OsRng, SaltString},
    Argon2, PasswordHasher,
};

fn main() {
    tauri::Builder::default()
        .plugin(
            tauri_plugin_stronghold::Builder::new(|password| {
                let salt = SaltString::generate(&mut OsRng);
                let argon2 = Argon2::default();
                argon2
                    .hash_password(password.as_bytes(), &salt)
                    .unwrap()
                    .to_string()
                    .as_bytes()
                    .to_vec()
            })
            .build(),
        )
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

+page.svelte
<script lang="ts">
	import { Stronghold } from 'tauri-plugin-stronghold-api';

	let strongholdPath = '~/data.stronghold';
	let password = 'Password123';
	Stronghold.load(strongholdPath, password)
		.then((r) => console.log(r))
		.catch((e) => console.error(e));
</script>

When run I get Illegal non-contiguous size error in the console.
I'm using:
tauri = { version = "1.5.2", features = [] }
tauri-plugin-stronghold = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" }
argon2 = "0.5.2"

"@sveltejs/kit": "^1.20.4",
"tauri-plugin-stronghold-api": "https://github.com/tauri-apps/tauri-plugin-stronghold#v1"

I get the same thing.. Tried using Argon2, Bcrypt and plain strings.. Always the same error.. Think there's an incompatibility between the plugin and the underlying Stronghold package.

Same here. Anyone got a solution to this?

Same thing here, is someone looking into this?


Slow agent bootstrap

We're using agent-github-action in our self-hosted GHA cluster. Unfortunately, it takes almost 1 minute to fully start.
2023-09-05T07:56:31.4512830Z [command]/usr/local/bin/docker run -d --name datadog-agent -e DD_API_KEY=*** -e DD_INSIDE_CI=true -e DD_HOSTNAME=none -e DD_SITE=datadoghq.eu -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true -p 8125:8125/udp -p 8126:8126/tcp gcr.io/datadoghq/agent
2023-09-05T07:56:31.4977848Z Unable to find image 'gcr.io/datadoghq/agent:latest' locally
2023-09-05T07:56:33.7689746Z latest: Pulling from datadoghq/agent
2023-09-05T07:56:34.3919450Z d491b25ceb2a: Pulling fs layer
2023-09-05T07:56:44.4859788Z d491b25ceb2a: Verifying Checksum
2023-09-05T07:56:44.4860414Z d491b25ceb2a: Download complete
2023-09-05T07:56:52.5672008Z d491b25ceb2a: Pull complete
2023-09-05T07:56:52.6208398Z Digest: sha256:afbd9997ccde78a4d951431208808e08fdba6b700d21e548106698d2a79bf82f
2023-09-05T07:56:52.6387803Z Status: Downloaded newer image for gcr.io/datadoghq/agent:latest
2023-09-05T07:56:53.4736411Z 3416dce2b4bcf14013b823df8afc06c1470eb8f8a70e1f072103940d250349a5
2023-09-05T07:56:53.9390275Z checking agent health
2023-09-05T07:56:53.9403944Z [command]/usr/local/bin/docker exec -t datadog-agent agent health
2023-09-05T07:56:54.1557262Z Error: unable to read authentication token file: open /etc/datadog-agent/auth_token: no such file or directory
2023-09-05T07:56:54.1732500Z the agent is not ready waiting 5 seconds
2023-09-05T07:56:59.1780820Z checking agent health
2023-09-05T07:56:59.1790839Z [command]/usr/local/bin/docker exec -t datadog-agent agent health
2023-09-05T07:56:59.4002224Z Agent health: FAIL
2023-09-05T07:56:59.4002790Z === 2 healthy components ===
2023-09-05T07:56:59.4006811Z healthcheck, healthcheck
2023-09-05T07:56:59.4007358Z === 8 unhealthy components ===
2023-09-05T07:56:59.4008190Z ad-servicelistening, aggregator, dogstatsd-main, forwarder, tagger-store, tagger-workloadmeta, workloadmeta-puller, workloadmeta-store
2023-09-05T07:56:59.4008751Z Error: found 8 unhealthy components
2023-09-05T07:56:59.4268485Z the agent is not ready waiting 10 seconds
2023-09-05T07:57:09.4336927Z checking agent health
2023-09-05T07:57:09.4346085Z [command]/usr/local/bin/docker exec -t datadog-agent agent health
2023-09-05T07:57:09.6627276Z Agent health: FAIL
2023-09-05T07:57:09.6627995Z === 13 healthy components ===
2023-09-05T07:57:09.6629513Z ad-servicelistening, aggregator, dogstatsd-main, healthcheck, healthcheck, metadata-agent_checks, metadata-host, metadata-inventories, metadata-resources, tagger-store, tagger-workloadmeta, workloadmeta-puller, workloadmeta-store
2023-09-05T07:57:09.6631963Z === 1 unhealthy components ===
2023-09-05T07:57:09.6632365Z forwarder
2023-09-05T07:57:09.6632846Z Error: found 1 unhealthy components
2023-09-05T07:57:09.6799906Z the agent is not ready waiting 15 seconds
2023-09-05T07:57:24.6857143Z checking agent health
2023-09-05T07:57:24.6867204Z [command]/usr/local/bin/docker exec -t datadog-agent agent health
2023-09-05T07:57:24.8949334Z Agent health: PASS
2023-09-05T07:57:24.8950001Z === 14 healthy components ===
2023-09-05T07:57:24.8951549Z ad-servicelistening, aggregator, dogstatsd-main, forwarder, healthcheck, healthcheck, metadata-agent_checks, metadata-host, metadata-inventories, metadata-resources, tagger-store, tagger-workloadmeta, workloadmeta-puller, workloadmeta-store
2023-09-05T07:57:24.9089773Z Agent started

This is a significant amount of time, especially when you're enabling this feature to optimize your test suite. The last thing you want is to sacrifice 1 minute of your feedback loop just to bootstrap a GitHub Action.
Initially, I suspected that the slowness was due to pulling the large gcr.io/datadoghq/agent Docker image. However, upon reviewing the logs, it's clear that most of the time is actually spent booting the agent.
Are these times expected?

hey @gtrias, thanks for the report. What is the language of your datadog library? Most of the languages already support agentless, which is the recommended approach for cloud CI providers (such as github actions). Example in https://docs.datadoghq.com/continuous_integration/tests/javascript/?tab=cloudciprovideragentless.

hey @gtrias, thanks for the report. What is the language of your datadog library? Most of the languages already support agentless, which is the recommended approach for cloud CI providers (such as github actions). Example in https://docs.datadoghq.com/continuous_integration/tests/javascript/?tab=cloudciprovideragentless.

In our workflow definition can co-exist several languages. We use the same workflow to test backend and frontend that are ruby and javascript.
For the JavaScript part, I'm already using the agentless. But I didn't find how to do the same with ruby. Is there any?

ruby's agentless mode is not currently supported but will be soon. I'll let you know when that is shipped. At that point we'll deprecate this action and exclusively recommend agentless for github actions.

Thanks a lot! I'm looking forward for this to happen <3
Aside from that this, would be an alternative solution to have an agent always running in our kubernetes infra and make use of it from our workflows? I mean, would be a problem sharing the same agent for all the running workflows.

yeah, that'd be a good alternative. Many users of CI Visibility opt for that option 👍

@gtrias agentless mode for Ruby is released in ddtrace v1.15, feel free to use it and get rid of agent setup:
https://github.com/DataDog/dd-trace-rb/releases/tag/v1.15.0


Automated cherry pick of #11689

Cherry pick of #11689 on release-7.6.
/cc  @mylonsuren
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: 9adc0381f689e851413e10c19ad3818a67e0bc70


Magic login

config:
EMAIL_SERVER_HOST="localhost"
EMAIL_SERVER_PORT="1025"
EMAIL_SERVER_SECURE="false"
EMAIL_FROM="noreply@localhost"
MAGIC_LINK_SECRET="secret"
EMAIL_SERVER_USER="user"
EMAIL_SERVER_PASS="password"

Closing as this was merged via #486. However it would be good to check whether here are no further changes.


[Apps] Break out page sections, repeated code into distinct components

This change:

Updates app group page to filterable, collapsible groups

Can you remove the App Groups header when there aren't any App Groups?


hope to support tab in ps aux | grep xxx

In bash, I have an abc file for example. I only need to enter ps aux | grep a and enter a tab, it can be ps aux | grep abc automatically.
But this doesnot wrok in oh-my-zsh. I hope it can be supported by oh-my-zsh,  it used so often to me. Thanks.

➜  yxw git:(master) ✗ ps aux | grep yxw root     18017  0.7  0.2<PHONE_NUMBER>2 ?        SNl  Apr17   6:28 ./yxw root     23905  0.0  0.0 105368   908 pts/0    S+   10:44   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn yxw ➜  yxw git:(master) ✗ ps aux | grep string yxw Binary file yxw matches ➜  yxw git:(master) ✗ ps aux | grep file yxw Binary file yxw matches

@mcornella So what should I do to get the result of ps aux | grep xxx ? Do I need to backspace and delete the param string every time?

You're using grep in a way that was never intended. You can't get completion there because grep is not expecting a filename. I'm afraid you're gonna have to type the filename by hand 🤷♂


Create tasklist_completed.yml

Add workflow to ensure that task lists are completed before merging pull requests.

[ ] Test if this works?

Adding a task

[ ] dummy task

[ ] Testing another comment


Guide to development of a website that supports multi-language using php

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title Use keyword research to gain your article higher ranking.
Guide to development of a website that supports multi-language using php.
Introduction paragraph (2-3 paragraphs):
A website with multi-language support attracts visitors from all around the world.
It displays its content in a variety of languages depending on the user's preference.
There are numerous countries in the world that do not speak English.
Readers from the region may choose to read articles written in their native tongue.
You can expand your website's readership by supporting these languages.
More than 50 languages can be found on multilingual websites.
The choice of the language that supports your website is based on different factors.
It depends mainly on the information you write to and the audience to.
The following controls or features are provided on a website with multi-lingual support.
A content language menu or input.
By default the reader loads content.
To allow default language settings if the language of the reader is not supported.
Switching of dynamic and static content according to the chosen language.
Page URLs convert based on the language selected.
In this Article, we'll use PHP to develop a web page that supports multiple languages.
It displays both static and dynamic information. The database provides the dynamic material.
Key takeaways:
1.why a website needs multiple language support?
2.ways to add multi language support to a website.
3.about this example
4.PHP example files created to enable multi-language support
5.database scripts
6.how to make a web page HTML for multi-language support
7.how to switch the content language in PHP
8.multi-language PHP example demo
9.PHP example output of  a multilingual web page supporting two languages.
References:
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion. @Techwiz254
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Thanks for the clarification. Topic approved. Let's ensure that it adds value to the community. Thanks


Support shorthand class creation syntax

For classes with a single constructor that takes in a few values.
class User {
  final String firstName;
  final String lastName;

  User({@required this.firstName, @required this.lastName});
}

It would be much cleaner and concise to simply allow a "primary constructor":
class User({@required this.firstName, @required this.lastName}) {
  final String firstName;
  final String lastName;
}

Duplicating constructor and class declaration seems a little clunky. When we have more fields,
this duplication is further known and wish we could take it a step further to allow:
class User({@required final String firstName, @required final String lastName});

Less duplication in code will lead to nice details in our widgets for flutter like from this:
class AppDetails extends StatefulWidget {
  final String url;
  final String jobName;

  AppDetails({@required this.url, @required this.jobName});

  @override
  AppDetailsState createState()  => new AppDetailsState(this.url, initialJobName: jobName);
}

class AppDetailsState extends State<AppDetails> {
  String selectedJobName;
  final String jobUrl;

  AppDetailsState(this.jobUrl, {@required String initialJobName}) {
    this.selectedJobName = initialJobName;
  }

  // state implementation below

}

to this:
class AppDetails({@required final String url, @required final String jobName})
 extends StatefulWidget {
  @override
  AppDetailsState createState() => new AppDetailsState(this.url, initialJobName: jobName);
}

class AppDetailsState(final String jobUrl, {@required String initialJobName})
 extends State<AppDetails> {

  // state implementation below

from 17 lines of boilerplate to 8.

cc @munificent @lrhn

I'm unable to find other requests for the same thing (which surprises me, except that I can never find anything using GitHub search).
What we are asking for here is a shorter syntax to write a simple class, without having to repeat the field names (or even class name) in a constructor.

@lrhn perhaps #10551, #10374

Is there something similar to inline classes in Dart?

No, we don't have that currently. The main property of an inline class (corresponding to Haskell newtype) is that it is a zero cost wrapper, in the sense that it is a new type which is distinct from (and not assignable to) the type of the wrapped value, but the run-time representation is just that wrapped value. One example of work in this direction is https://github.com/dart-lang/language/blob/master/working/static wrapper types/feature-specification.md.

Thanks @eernstg for the info. Excited for the above feature to be added in Dart.

Moving this issue to the language repo, it would be a language mechanism.


Update build command

It is enough to use one command for installing jid.

@syohex Thanks! Nice catch ;)


Add OSGi Support

The bnd maven plugin produce OSGi manifest so it can run in an OSGi enviroment.

Nice. I must admit I know next to nothing about how OSGi works, or why someone would want to deploy the dumbster as a service. But if a few lines in the MANIFEST.MF file help to make it work where it otherwise wouldn't, that's cool.

Can you confirm that it works with this manifest? Then I'd create a 1.7.1 release for it.

Yes, I replace the dumbster 1.6 embedded into an OSGi bundle and replace it with this new build placed in the repository (virgo server) with the releted import.

hmm, with this chageset mvn clean package generates a nice jar file, but mvn gpg:sign-and-deploy-file uploads a .bundle file. I'll have to check what this is and why.

I got the maven plugins configured to do what they should and released version 1.7.1 with OSGi manifest.


Prevent NULL dereference in tablet_tool handler

In case a tool was removed, but not yet destroyed by the client, the
tool_client's tool can be NULL. We have to check that as well in the
set_cursor handler to prevent using inert resources
Should fix https://github.com/swaywm/wlroots/issues/1536#issuecomment-463971534
This probably only ever happens with tablets that don't track unique tools (or maybe on unplug?), so I can't test this well.
@wsinnema please test this for me, I can't reproduce it with my hardware.

It works for me

Thanks!


Unicode encoding issues and sorted sets

I'm using a sorted set to order some keys and running into some issues
I am using encodeURIComponent / decodeURIComponent to prevent mangling of keys - something like:
zadd<string>(this.zKey, { score: 0, member: encodeURIComponent(key) })

Then I use zrange to get the ordered keys. The problem is that the encoding changes the lexical order of the keys. For example, if I put these keys in:
[ '', '\t', '🐄', '12', '2', 'a', 'a🐄', 'b', 'd', 'e', 'f', 'ff', '~']

The correct lexical ordering should be:
[ '', '\t', '12', '2', 'a', 'a🐄', 'b', 'd', 'e', 'f', 'ff', '~', '🐄']

But if I encode the keys, the order is:
[ '', '\t', '🐄', '12', '2', 'a', 'a🐄', 'b', 'd', 'e', 'f', 'ff', '~']

If I don't encode the values, the keys get mangled:
[ '', '\t', '12', '2', 'a', 'a=\x04', 'b', 'd', 'e', 'f', 'ff', '~', '=\x04']

I have confirmed that this does not happen when using a real @upstash redis instance.

Thanks for reporting! Have you been able to replicate this behaviour by just directly running the commands in Redis via redis-cli?
SRH aims to be "transparent" in the sense that it shouldn't have any say in modifying the results, but it does do some base64 encoding on the HTTP layer when talking to Upstash's Redis SDK.
So I want to isolate the problem to SRH and ensure this isn't the underlying Redis instance (as Upstash isn't actual Redis, it's their own implementation, so there are subtle differences)

@hiett I'll try it directly with redis cli and let you know the results

@hiett I used the redis cli and I am seeing the same behavior so it doesn't look like SRH is actually the problem. I am using redis:6-bullseye - I'll try updating and retry the test (I think I ran into a docker-related issue with new versions)

@kldavis4 Okay - this makes sense. Try the latest Redis (Upstash technically targets 6.2, but some of their command behaviour is that of 7), but regardless I think this is a Redis issue. There are a number of commands across the board that are slightly different in Upstash as the Redis.io specs for commands can be very vague. So it might be that Upstash have not implemented it exactly how Redis operates, but at the same time the Redis.io docs might be so vague it's not clear about what to do in this edge case

I think you're right in that in the end - you shouldn't have to encode the values. I doubt @upstash/redis is at fault here for doing anything under the hood, as that would likely do the exact same to SRH. It has no idea that it is running against SRH rather than Upstash's server.
I think this is likely something under the hood for how Upstash's redis implementation works? Detecting its uri encoded would be a little weird though, and is definitely out of the domain of what Redis would normally do?


Update developer guide

The current developer guide is for the original address book, not our product.
Let's update the developer guide with the target user profile, value proposition, user stories, use cases, NFRs, and glossary for our dengue hotspot tracker.

LGTM


Adds --server parameter for deploying configuration YAML.

This is for https://github.com/GoogleCloudPlatform/app-maven-plugin/issues/231.
This adds the DefaultDeployConfiguration#server parameter to DefaultDeployProjectConfigurationConfiguration.
Will need to release a new version after this is pushed to be used in app-maven-plugin.

FYI this feature is primarily for users who are able to run their own appengine clusters (for QA for example)

Also, as a side note, the fix for the Kokoro checks running will be up tomorrow.


Configure Certificate Rotation for the Kubelet

Please, add the time that kubelet take in consideration to rotate the certificate  that is 70% to 90% is between 3.6 months before and 1.2 months before expiration.

Please, add the time that kubelet take in consideration to rotate the certificate that is 70% to 90% is between 3.6 months before and 1.2 months before expiration.

This is not clear. Please elaborate? The certificate expiration is not controlled by kubelet. It is determined by the certificate itself.

"Kubernetes 1.8 contains kubelet certificate rotation, a beta feature that will automatically generate a new key and request a new certificate from the Kubernetes API as the current certificate approaches expiration. Once the new certificate is available, it will be used for authenticating connections to the Kubernetes API."
How much time in advance the certificate rotates before it expires??

@felixPG is this PR the one that answers your question?

yes!! thanks so much @tengqm


Add parameter in CU "Document-Mailing".EmailHtmlFromStream

Hi,
In CU 260 "Document-Mailing" we have 2 functions which work with streams: EmailFileFromStream and EmailHtmlFromStream. First one is sending attachment from stream, second is sending email body from stream.
But we DO NOT have option to create email with both attachment and body.
Could you please add new or update existing function to enable this?
This is my suggestion:
`[External] EmailFileAndHtmlFromStream(AttachementStream : InStream;AttachmentName : Text;MailInStream : InStream;ToEmailAddress : Text[250];Subject : Text;HideDialog : Boolean;ReportUsage : Integer) : Boolean
TempFileName := FileManagement.ServerTempFileName('');
TempFile.CREATE(TempFileName);
TempFile.CREATEOUTSTREAM(OutStream);
COPYSTREAM(OutStream,AttachementStream);
TempFile.CLOSE;
BodyFileName := FileManagement.InstreamExportToServerFile(MailInStream,'html');
EXIT(EmailFileInternal(
TempEmailItem,
COPYSTR(TempFileName,1,MAXSTRLEN(TempEmailItem."Attachment File Path")),
COPYSTR(AttachmentName,1,MAXSTRLEN(TempEmailItem."Attachment Name")),
COPYSTR(BodyFileName,1,MAXSTRLEN(TempEmailItem."Body File Path")),
COPYSTR(Subject,1,MAXSTRLEN(TempEmailItem.Subject)),
COPYSTR(ToEmailAddress,1,MAXSTRLEN(TempEmailItem."Send to")),
'',
'',
HideDialog,
ReportUsage,
FALSE));
`
If you have any other way to achieve same result, please share.
Regards,
Radovan

Please add PostedDocNo as a parameter, to be able to get document and do additional stuff later:


Consider relaxing engine requirement

Hi, thanks for this package! Does this package strictly require Node 8.4, or would you consider relaxing the engine requirement? async/await support was added in Node 7.6.0 (hover over 7.10.1 at top here to see).
It's even possible to use async/await even in Node 6 if you use transpilation—though typically packages don't transpile their dependencies, so, since this package internally uses async/await, supporting the latter would require this package transpile itself before publishing. We would be glad to add support for that if you would consider it. In our own packages we are readying for the upgrade to Node 8 by transpiling pre-publish and switching between the transpiled and untranspiled versions at runtime, using a shim like
// index.js
// This file was created by a script of ours that we would be glad to publish.
// We have an automatic way of removing the shim when transpilation is no longer required too.
const semver = require('semver');

let main;
if (semver.lt(process.version, '7.6.0')) {
  main = require('./dist/node/index.js');
} else {
  main = require('./src/node/index.js');
}
module.exports = main;

Relaxed the engine requirement to node.js >=6 by removing all async/await code from non test files. Test files however will use async and await so travis will not test this project against node 6 and 7 currently. If you could help running the tests on node 6 and 7 by only transpiling the tests that would be great 👍

Wow thanks for the speedy fix @saintedlama and especially for rewriting bulk execution to not use async/await, I'm bowled over! We'll look into adding Node 6 and 7 support for the tests. I'll file a separate issue for that though and close this.


Request for Dockerfile

Hey @larskuenkel, I was going through your repository and tried to set them up working on a Linux VM. But honestly installing sigpyproc, Tempo2 and SKA-TestVectorGenerationPipeline is very frustrating. It'd be much easier if there was a Dockerfile  provided. That would make reproducibility and benchmarking much easier.

Hey @SauravMaheshkar, thanks for the interest in the repository. I agree that installing the needed software can be very frustrating. I will have a look if I can supply a usable Dockerfile.

@larskuenkel based on the Dockerfile provided in the SKA-TestVectorGenerationPipeline repository I modified it a bit to support PyTorch with a few extensions. The full size of the image is 7.49GB. Maybe this could work ??
If this sounds, what do you think are the next steps to get it tested ?

Adapting that Dockerfile from that repository sounds like a good idea. I used v1.0 of SKA-TestVectorGenerationPipeline because he changed things around later which made it less convenient for my purposes. So ones would have to grab the v1.0 release or the v1.1 branch.
Following the steps in the README.md are a good next step, so downloading the example observations I put there and creating some simulated pulsars. I used the notebooks to create my simulated data and so one might rework those into scripts if one prefers to work with those.
I can have a look if the Dockerfile works for me or whats needs to be changed but I will only able to do in the new year.

@larskuenkel Sounds good. Do you think I should also add support for Jupyter Notebooks ? As in instead of connecting to a bash terminal maybe the docker image would just open a Jupyter notebook environment with the data already installed ?? That way running and reproducing the experiments would be as simple as just executing cells ?

I only did use notebooks for the data creation and the (optional) visual inspection. Since depending on the setup using notebooks may be less accessible than using command line commands I think doing it via the notebooks may not be easiest thing. Curently I think for the data creation one has to adapt the existing notebook by entering the path to the SKA-TestVectorGenerationPipeline and point it towards a filterbank file that wil be used as template for the observations.
I suspect converting the notebooks to scripts that can be executed after the the Docker has been opened and those download the real files and create simulated files should be the most convenient.

@larskuenkel any thoughts on the Dockerfile ?

Hey, I a first look at the docker file. I am not very well versed with docker files so this is taking a while.
For me with your file it fails building because of RUN pip3 install --no-cache-dir --update wheel pip where it does not know --update. Did you mean --upgrade? With that change it built successfully but I have not tried using it.
It might be a good idea to use the Dockerfile from Presto as a base since that is useful for further analysis anyway: https://github.com/scottransom/presto/blob/master/Dockerfile
I will have a go at adding the sigproc install and my version of SKA-TestVectorGenerationPipeline to their Dockerfile and see if I can make an easily executable tutorial on monday.
(One thing to note is that the original version of the SKA-TestVectorGenerationPipeline that I use for my purposes is not Python3 compatible so I used my fork at https://github.com/larskuenkel/SKA-TestVectorGenerationPipeline ).

Hey @larskuenkel 👋  were you able to spin something up ?

Ah yes. I moved the creation to another Python library and now you only really need to install the Python dependencies. I think in the current version there is also a simple Dockerfile which might work but I think I can remove parts of it.
You can test by performing the tutorial as outlined in the Readme.

Thanks this look way cleaner and slick now. Although there's a slight correction to the README.md, in the Tutorial section the 3rd script is bash and not python.

Added the mentioned changes in #5

Closing the issue as it's resolved.


[🐛 BUG] - can't build on windows

Describe the bug
the repo will not build out of the box on windows
To Reproduce

be on windows
git clone, yarn install, ctrl+shift+b
get this error

• writing effective config  file=dist\builder-effective-config.yaml
  ⨯ Build for macOS is supported only on macOS, please see https://electron.build/multi-platform-build
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `electron-builder -mwl -p never`
npm ERR! Exit status 1

Expected behavior
compiled & built desktop app
G Desktop Suite:

latest

Platform:

OS: Windows
Version: most recent insiders build (20H2?)

turns out i can't build it on macosx either, with a different error:
⨯ /Volumes/samsung/G-Desktop-Suite/node_modules/app-builder-bin/mac/app-builder exited with code

ERR_ELECTRON_BUILDER_CANNOT_EXECUTE  stackTrace=
Error: /Volumes/samsung/G-Desktop-Suite/node_modules/app-builder-bin/mac/app-builder exited with code

ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
at ChildProcess.<anonymous> (/Volumes/samsung/G-Desktop-Suite/node_modules/builder-util/src/util.ts:243:14)
at Object.onceWrapper (events.js:422:26)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1021:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `electron-builder -mwl -p never`
npm ERR! Exit status 1


Tensor and Target size mismatch

When I try to train on one-channel images, there are dimension mismatches in the initialization of the forward function when using a 32x32 image custom dataset. I get the following error in line 39 of the model:
The expanded size of the tensor (4) must match the existing size (12) at non-singleton dimension 1.  Target sizes: [1, 4, 1, 1].  Tensor sizes: [1, 12, 1, 1]
When trying to train on MNIST, there is an error when squeezing the input in line 273 of the model. I get the following error message:
RuntimeError: shape '[32, 4, 3, 2, 3, 2]' is invalid for input of size 6272

When training on MNIST, setting n_block=2 is fine, but any block number higher than 2 would cause the error.


Move private-blogging into an internal app

refs #6589
This PR moves all of the private blogging code into an internal app, making use of the existing app infrastructure, as well as a few hooks I put in. It also adds an 'internal-apps' section to config, so that as more are added they can be loaded easily without any database modification.
TODO:

[x] Move code into app folder
[x] Remove hardcoded '/private/' strings
[x] Move tests into app folder & rework Grunt to run them
[ ] optimize middleware (see here)
[x] fix configuration conflict

@halfdan @jaswilli Noted, and makes sense, thanks :smile:

This is looking good :+1:
This is up for debate, but I think that the setupRoutes() function should probably be called inside the routes file, and not inside the middleware file?
That felt a little awkward to me when I was reading it. I think each thing that can be extended (helpers, filters, middleware, routes) should each look after themselves.
I know that adds a seemingly unnecessary point where things are included, but I think it makes sense to keep that duplication as an intention to refactor?

@ErisDS I did that, and also moved the actual mounting of the frontend routes to the routes/frontend.js file. Since I had to pass the global express app to it, I thought I might as well.

Sorry for the delay, I have given this a thorough read through & test. It's all 100% working which is great :+1:  and there's tonnes of food for thought in here.
I think the pattern being used for the router can be further improved. Passing the global app around is something we actively worked to remove and I think it's possible to make a few more modifications that will prevent this from being necessary.
There is already an example of doing routing in a secondary location with channels - from there the code in frontend.js is router.use(channels.router()); - nothing needs to be passed in :)
I think it makes sense to refactor the private blogging router to mount its routes at the private route, and return itself. This means you no longer need access to the global express app.
As a halfway house, it would be possible to pass setupRoutes the top-level router, rather than the global express app.
I think this is a super exciting move, I started reading through all the requires in the various files inside of /apps/private-blogging/lib/ to see what things we need a solution for and I've got some interesting thoughts on what we can do next. :grin: :grin:


Tiaoma readme typo. Should I edit it inplace or publish a new version?

Description
https://github.com/typst/packages/tree/main/packages/preview/tiaoma/0.2.0#example I just realized I forget to update the version number in readme of tiaoma 0.2.0: the code block in readme still remains 0.1.0.
Should I edit it inplace? Or I need 0.2.1 to fix this?

You can edit the README in place. It counts as a minor fix since it does not affect the functionality or the code of the package. (A bug fix for instance wouldn't be allowed since users could already have a cached faulty version.)


AudioPlayer.getCurrentTime() does not seem to compensate for whenTime

Describe the bug
It seems that getCurrentTime() does not compensate for the at:whenTime parameter.
To Reproduce
First:
Set whenTime to +2 seconds:
whenTime = AVAudioTime.now() + 2
Then play:
audioPlayer.play(from: playbackStartTime, to: playbackEndTime, at: whenTime)
The getCurrentTime() is now offset by 2 seconds.
Expected behavior
I would expect getCurrentTime() to report the actual time position within the audiofile
Details (please complete the following information):

Type: Mac
OS: macOS 12.2
AudioKit Version 5.3.2 and latest develop branch

Hmm, seems related to the failing test in #2692. I'll take a look at it this week.

Hi,
Any news here, something I can do to help?
Thanks

Hi, my apologies -- I completely forgot.
I know the player's time is based off this:
https://developer.apple.com/documentation/avfaudio/avaudioplayernode/1390449-playertime
which is set whenever getCurrentTime() is called.
What I don't know is if this playerTime returns the actual position of the playhead or the time since the node has been playing. If the second case is true, the behavior you expected will never be observed since playerTime is always set to 0.0, regardless of the position of the player when it starts.
Does that make sense, and is it what you observe to happen? Please let me know. Thanks.

I'm also going to open this up for anyone else to look at, as I have final exams and projects coming up in school for the next 3 weeks.

Thanks,
Yeah, that is kind of what I see: it seems that the "when" time is not compensated for, so if I set the "when" time to 2 seconds, getCurrentTime() is off by 2 seconds.
I'm trying to do a multi-track player, and I need to set the "when" time because I'm starting an array of players.
If I don't set the when time to, say 30ms, the players are not started simultaneously and the timing between the tracks is unstable.
Perhaps an array of AudioPlayers is not at all the way to do a multi track player (?).

Thanks, Yeah, that is kind of what I see: it seems that the "when" time is not compensated for, so if I set the "when" time to 2 seconds, getCurrentTime() is off by 2 seconds.
I'm trying to do a multi-track player, and I need to set the "when" time because I'm starting an array of players. If I don't set the when time to, say 30ms, the players are not started simultaneously and the timing between the tracks is unstable.
Perhaps an array of AudioPlayers is not at all the way to do a multi track player (?).

I see, I'd like to play around with the AVFoundation API a bit when I get a chance to understand the playerTime() function. It may need to be set during seek or when the play head location is changed with that "when" parameter.
As I mentioned, these last three weeks are a bit chaotic for me with finals, but if you're able to figure it out before me, I invite you to by all means.
As far as multi-track players go, arrays are one way to build one. Another way would be to sum the audio from each of the tracks into one track and play it.

Thanks!
I'll be patient and see what you find out. I'm afraid it's a bit over my head :-)

Thanks!
I'll be patient and see what you find out. I'm afraid it's a bit over my head :-)

You're welcome, I'm happy to help 🙂! Some of it is still over my head as well to be honest.

My apologies this took me so long. School is finally over, so I had a look at it. Please let me know if these changes make it work for you :) !


Depth problem

Hi, i try to render decal but sometime there is depth problem, transparency block behind object :
https://pasteboard.co/HaPnhKY.png
render decal:
            effect.Parameters["Projection"].SetValue(camera.projection);
            effect.Parameters["View"].SetValue(camera.view);
            effect.Parameters["World"].SetValue(transform);

            effect.Parameters["Texture"].SetValue(_tex);
            effect.Parameters["DiffuseColor"].SetValue(Color.White);

            foreach (EffectPass pass in effect.CurrentTechnique.Passes)
            {
                pass.Apply();
                device.SetTexture(0, _tex);
                device.SetDepthStencilState(DepthStencilState.DepthRead);
                device.SetRasterizerState(RasterizerState.CullClockwise);
                device.SetSamplerState(0, SamplerState.PointClamp);
                device.SetGeometryStream(_geometryStream);
                device.DrawPrimitives(PrimitiveType.TriangleList, 0, 2);
            }

render model:
   var texture = model.material.texture;
            effect.Parameters["Projection"].SetValue(camera.projection);
            effect.Parameters["View"].SetValue(camera.view);
            effect.Parameters["World"].SetValue(_transform);

            effect.Parameters["Texture"].SetValue(texture);
            effect.Parameters["DiffuseColor"].SetValue(Color.White);

            foreach (var pass in effect.CurrentTechnique.Passes)
            {
                pass.Apply();

                device.SetTexture(0, texture);

                device.SetDepthStencilState(DepthStencilState.DepthRead);
                device.SetRasterizerState(RasterizerState.CullClockwise);
                device.SetSamplerState(0, SamplerState.PointClamp);
                device.SetGeometryStream(model.stream);

                device.DrawPrimitives(PrimitiveType.TriangleList, 0, model.buffer.VertexCount / 3);
            }

Do you have idea what is going on ? i'm stuck on this

A couple of thoughts:

How are you creating your projection matrix? What values are you using for zNear and zFar?
Try increasing the resolution of the default depth buffer. You can do this by setting the value of BackBufferDepthSize on OpenGLUltravioletConfiguration during context initialization. The default is 16; try 24.

        public float near = 0.1f;
        public float far  = 10000;

            var aspect = viewportWidth / viewportHeight;
            projection = Matrix.CreatePerspectiveFieldOfView(fieldOfView * Mathf.DEG_TO_RAD, aspect, near, far);
            view       = Matrix.CreateLookAt(position, position + direction, up);
            combined = projection * view;

i tried changing BackBufferDepthSize to 24 but it is still creating this sissue

Try pushing your zNear a bit higher and your zFar a bit closer -- having a very small zNear can severely limit the precision of your depth buffer.
If that doesn't work, I'll find some time in the near future to try to reproduce this locally.

I tried 1 - 100 but it still same problem
It looks like it follow the draw order from the list

I'll look into it and get back to you.

Ok ty! also is there a way to disable shader optimisation ?  for testing quickly i can have unused uniforms, and it crash because they are optimized out, is annoying

ok ty! also is there a way to disable shader optimisation ? for testing quick i have sometime unused uniform in vertex shader and it crash it is annoying
Unhandled Exception: System.InvalidOperationException: The expected effect parameter 'Time' does not have a corresponding shader uniform. Has it been optimized out?

You might try adding #pragma optimize(off) to your GLSL, but I'm not sure it's guaranteed to work on all drivers. It's not something Ultraviolet has any control over.

 Is the blue stuff all one model, or multiple models? Are all of the 2D decals being rendered at once, and the 3D models rendered at once? What do your shaders look like?
It looks like you need to implement alpha testing in your fragment shader, i.e. something like
uniform float ThresholdAlpha;

// ...

if (color.a < ThresholdAlpha)
    discard;

IT WORKS!!!! TY !!!!!!!
i spend lot of time and solution was easy x) TY TY!!!
#version 140

uniform sampler2D Texture;

in  vec4 vColor;
in  vec2 vTextureCoordinate;

out vec4 fColor;

void main()
{

    fColor = texture(Texture, vTextureCoordinate) * vColor;

    if (fColor.a < 0.5)
        discard;
}

Glad to hear it.


Cloud Skills Challenge Cant enroll

Describe the bug
A clear and concise description of what the bug is.
Please provide a valid Microsoft Learn ID
https://docs.microsoft.com/en-us/users/moneymasternow/
To Reproduce
Steps to reproduce the behavior:

Go to '...' https://www.microsoft.com/en-us/learncloudchallenge

Click on '....' Microsoft Learn profile ID *

Scroll down to '....'

See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari] Edge + Chrome
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6] Pixel XL
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari] Chrome
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Is my formatting wrong?
https://docs.microsoft.com/en-us/users/moneymasternow/  link opens says valid?

@socialprincess "Please email the support alias provided on your challenge page. Please include the URL of your challenge and your Docs profile username. Note: If your challenge has winners and prizes, please refer to your challenge official rules." at https://docs.microsoft.com/en-us/learn/support/troubleshooting


Feat/ROE-2559: Add additional keys to resource mapper

Adds keys to save has_sold_land filter, is_secure_register filter and who_is_registering option
JIRA ticket:
https://companieshouse.atlassian.net/browse/ROE-2559

Please add a JIRA ticket reference to the GitHub description.

Please update the existing tests to reflect/check the new fields that have been added and mapped.

Closing this PR due to misalignment of tickets numbers


Fix Zen-mode background colour.

The old selector of ‘.editor-color’ in Atom 0.177.0 now returns []. Which is probably causing this:

Updating it to ‘atom-text-editor’ seems to fix this:

This has been fixed in 0.11


Celostats&Celo-blockchain: Proxied nodes are not able to reconnect to celostats

Expected Behavior
If the connection celostats<-->proxy<-->validator is closed for any reason, celostats should be able to reconnect again.
Current Behavior
The proxied validators are not able to reconnect to celostats if the connection is lost for any reason.
There is not any log difference between the non-proxy node (able to reconnect) and the proxied node.

fixed by unlocking the etherbase account on the proxy


Fixed equations not rendering due to insecure http (#10)

@scmanjarrez , it is working also with http. Why doesn't it work for you? What's your setting?

@scmanjarrez , it is working also with http. Why doesn't it work for you? What's your setting?

I'm using firefox (108.0.1), equations are not rendered with http

Chrome seems to render the equations using http


A more powerful Mapper than can restrict function application to only part of the datapipe items?

We often have datapipes that return tuples (img, target) where we just want to call transformations on the img, but not the target.  Sometimes it's the opposite: I want to apply a function to the target, and not to the img.
This usually forces us to write wrappers that "passthrough" either the img or the target. For example:

def decode_img_only(data):  # boilerplate wrapper
    img, target = data
    img = decode(img)
    return img, data

def resize_img_only(data):  # boilerplate wrapper
    img, target = data
    img = resize(img)
    return img, data

def add_label_noise(data):  # boilerplate wrapper
    img, target = data
    target = make_noisy_label(target)
    return img, data

dp = ...
dp = dp.map(decode_img_only).map(resize_img_only).map(add_label_noise)

Perhaps a more convenient way of doing this would be to implement something similar to WebDataset's map_dict and map_tuple? This would avoid all the boilerplate wrappers. For example we could imagine the code above to simply be:
dp = ...
dp = dp.map_tuple(decode, None).map(resize, None).map(None, make_noisy_label)
# or even
dp = dp.map_tuple(decode, None).map(resize, make_noisy_label)

# if the datapipes was returning a dict with "img" and "target" keys this could also be

dp = dp.map_dict("img"=decode).map_dict("img"=decode).map_dict("target"=make_noisy_label)

I even think it might be possible to implement all of map_dict() and map_tuple() functionalities withing the .map() function:

1 arg == current map()
1+ arg == map_tuple()
keyword arg == map_dict()

CC @pmeier and @msaroufim  to whom this might be of interest

The argument input_col should allow you to do that with map.
dp = IterableWrapper([("a", 1), ("b", 2)]).map(fn=lambda char: char + char, input_col=0)
print(list(dp))  # [('aa', 1), ('bb', 2)]

dp = IterableWrapper([("a", 1), ("b", 2)]).map(fn=lambda i: i + 10, input_col=1)
print(list(dp))  # [('a', 11), ('b', 12)]

Thanks @NivekT , I missed that.
Maybe it's a matter of personal preference but I tend to find something like
map_dict("img"=decode, "target"=make_noisy_label)
more natural than
map(decode, input_col="img").map(make_noisy_label, input_col="target")
and similarly on tuples. I think what unsettles me is the use of  "col"  which isn't common in the vision domain. There are no columns in the dict, or in the tuple. Perhaps this comes from compatibility concerns with torcharrow?

I even think it might be possible to implement all of map_dict() and map_tuple() functionalities withing the .map() function:

I understand this isn't possible now due to the existence of the other parameters  (map_tuple() and map_dict() should still be doable though, should we want to?)

Adding map_tuple and map_dict should be easy. It will mostly just be wrappers around the existing map implementation (i.e. passing key of dict to input_col and idx of tuple to input_col).
It is a tradeoff between the cost adding more DataPipes and names for the benefit of slightly more visibility and perhaps more intuitive naming. I would lean towards adding more examples and tutorial to expose users to what map can do instead. Users and others should definitely weight in to let us know what you prefer.
cc: @VitalyFedyunin @ejguan

It feels like we're slowly reinventing https://github.com/more-itertools/more-itertools
Ideally I think we should try to leverage the same API as itertools so users could do something like from torchdata import itertools and use those well known APIs. Feels similar to compatibility discussion between PyTorch and numpy https://github.com/pytorch/pytorch/issues/50344

@msaroufim  I think the API/functionality discussed here is different from itertools, but nonetheless I see your point. I just opened #756 to discuss.


Added an about widget similar to V1 in V2

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I am mindful of the project scope

Proposal
Unable to load block: about in content/_index.md
Motivation and context
I think sometimes the  style of wideget of about in V1 is more practical.

I'd also like to keep the style of the about widget of v1. For the moment I'm doing:
sections:
  - block: v1/about
    id: about
    Params:
      author: admin

in my _index.md in order to have it back. But sadly this looses the title. An equivalent in version 2 would be greatly appreciated (I think I might be able to do the PR if necessary)

Thanks a lot for the commit! And sorry I didn't answer I had a couple of very busy weeks 😅